Przejdź do treści

Meta

Meta to typ danych z metadanymi zasobu – informacjami o wersji, dacie ostatniej modyfikacji, profilu lub kontekście dodania. Wzorowany na FHIR Meta: metadane są utrzymywane przez infrastrukturę (serwer) i zwykle tylko do odczytu (readOnly) w odpowiedzi; w żądaniu tworzenia podaje się co najwyżej profile, gdy zasób ma kilka profili.


1. Zakres i zastosowanie

Meta jest używane w DomainResource (pole meta 0..1) do:

  • lastModified – data/czas ostatniej modyfikacji zasobu (odpowiednik FHIR lastUpdated); przydatne do synchronizacji, cache i conditional GET.
  • added – opcjonalnie: data lub identyfikator „dodania” po stronie systemu (np. dokument przychodzący zarejestrowany w FK).
  • versionId – opcjonalnie: identyfikator wersji zasobu (jeśli system obsługuje wersjonowanie).
  • profile – profil(e), do których zasób się stosuje – lista adresów kanonicznych (napisów), po jednym na profil.
  • tag – opcjonalnie: tagi przypisane do zasobu.
  • warning – opcjonalnie: ostrzeżenia przypisane do zasobu (np. kod unreconciled ze słownika resource-warning).

Pola Meta są zwykle uzupełniane przez serwer; klient w odpowiedzi GET otrzymuje np. meta.lastModified, meta.profile.


2. Zawartość (struktura)

Nazwa Kard. Typ Opis
lastModified 0..1 dateTime Data/czas ostatniej modyfikacji zasobu (readOnly)
added 0..1 string Data lub identyfikator dodania (np. dokument w FK) – readOnly
versionId 0..1 string Identyfikator wersji zasobu (gdy obsługiwane wersjonowanie)
profile 0..* canonical Adres kanoniczny profilu – napis z adresem StructureDefinition, np. https://api-erp.kamsoft.pl/ns/StructureDefinition/WarehouseAttachment. Inny kształt wartości (np. obiekt) nie jest przyjmowany
tag 0..* Coding Tagi przypisane do tego zasobu
warning 0..* Coding Ostrzeżenia przypisane do tego zasobu

Przykład deklaracji profilu:

{
  "meta": {
    "profile": ["https://api-erp.kamsoft.pl/ns/StructureDefinition/Contractor"]
  }
}

W minimalnym wariancie wystarczą lastModified i opcjonalnie added; versionId i profile przy wersjonowaniu i deklaracji profilu zasobu.


3. Zasoby osadzone (contained)

Zasoby w contained nie powinny mieć własnego meta.versionId ani meta.lastModified – nie mają niezależnej wersji w systemie (zob. DomainResource).


4. Odniesienia