Reference
Reference (referencja) to typ danych oznaczający odniesienie do innego zasobu – np. do Party, PartyRole, dokumentu, umowy. Wzorowany na FHIR Reference: relacje między zasobami są jednokierunkowe (źródło → cel); odwrotna relacja nie jest przechowywana w zasobie docelowym.
1. Zakres i zastosowanie
Referencja pozwala łączyć zasoby bez kopiowania ich treści:
- reference – odniesienie literalne (URL względny lub bezwzględny, np.
Party/123,https://api.example.com/Party/123). Używane, gdy cel ma stałą tożsamość w systemie. - identifier – odniesienie logiczne (Identifier): typ + wartość (np. NIP, id wewnętrzne), gdy nie znamy literalnego URL lub zasób nie jest jeszcze zapisany.
- display – tekst do wyświetlania (np. nazwa kontrahenta), pomocny przy prezentacji lub gdy nie ma rozwiązywania referencji.
Reguła: przynajmniej jedno z pól reference, identifier, display musi być ustawione (chyba że referencja jest uzupełniona przez rozszerzenie).
2. Zawartość (struktura)
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| reference | 0..1 | string | Odniesienie literalne – URL względny (np. Party/abc) lub bezwzględny |
| type | 0..1 | uri | Typ zasobu docelowego (np. Party, PartyRole) – ułatwia walidację i rozwiązywanie |
| identifier | 0..1 | Identifier | Odniesienie logiczne, gdy brak literalnego URL (np. identyfikator biznesowy) |
| display | 0..1 | string | Tekst do wyświetlania (np. nazwa strony) |
3. Zasoby osadzone (contained)
Jeśli zasób docelowy nie ma niezależnej tożsamości w wymianie, zamiast referencji do zewnętrznego zasobu można użyć zasobu osadzonego w polu contained zasobu nadrzędnego (zob. DomainResource). Wtedy w Reference podaje się odniesienie lokalne, np. #contained-id – wskazujące na jeden z zasobów w contained.
4. Odniesienia
- FHIR R5 – References
- DomainResource (contained), Party, PartyRole, Identifier