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
unreconciledze 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:
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).