Przejdź do treści

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