Przejdź do treści

DomainResource

Model DomainResource (zasób domenowy) jest podstawą obiektów platformy wymiany danych dla systemów klasy ERP (FK, ESM, CRM, WMS). Należy do standardu Kamsoft.FAIR (Fast Adaptive Interoperable Resources). Wzorowany na FHIR DomainResource, w uproszczonej postaci w tym przewodniku.


1. Zakres i zastosowanie

DomainResource to typ bazowy zasobu — nie występuje samodzielnie w API; specjalizują go zasoby domenowe opisane w tym przewodniku. Wspólny rdzeń (w JSON przyjęta jest konwencja camelCase):

  • id — identyfikator logiczny,
  • meta — metadane (np. lastModified),
  • owner — lista Reference(Party) (właściciele zasobu),
  • comment — komentarz,
  • category — klasyfikacje (CodeableConcept),
  • status — status zasobu,
  • type — typ zasobu (CodeableConcept),
  • contained — zasoby osadzone w payloadzie nadrzędnym; reguły w §3,
  • attributeAttribute (cechy rozszerzające).

Zasoby pochodne dodają własne pola specyficzne dla domeny.


2. Zawartość (struktura)

Nazwa Kard. Typ Opis
id 0..1 string Identyfikator logiczny zasobu
resourceType 0..1 string Opcjonalnie w payloadzie API (konwencja FAIR/REST)
meta 0..1 Meta Metadane
owner 0..* Reference(Party) Właściciele zasobu
comment 0..1 string Komentarz
category 0..* CodeableConcept Kategorie
status 0..1 CodeableConcept Status
type 0..1 CodeableConcept Typ zasobu
contained 0..* object Zasoby osadzone w payloadzie nadrzędnym — patrz §3
attribute 0..* Attribute Atrybuty rozszerzające

3. Zasoby osadzone (contained)

Pole contained przenosi zasoby w kontekście nadrzędnym, gdy nie występują jako samodzielna wiadomość w wymianie. Wzorzec jak w FHIR contained resources.

Kiedy używać

Sytuacja Opis
Dane towarzyszą nadrzędnemu zasobowi Elementy przesyłane w jednym payloadzie wraz z zasobem głównym
Referencja lokalna zamiast osobnego GET Reference z reference: "#<id>" wskazuje element w tablicy contained

Dozwolone typy osadzonych zasobów i ewentualne ograniczenia pól określa profil zasobu nadrzędnego (dokumentacja konkretnego typu).

Reguły elementu w contained

Element Wymaganie
resourceType Tak — typ zasobu zgodny z profilem nadrzędnym
id Tak — identyfikator lokalny w ramach nadrzędnego zasobu (do referencji #id)
identifier Nie — identyfikatory biznesowe należą do zasobu nadrzędnego
meta.versionId / meta.lastModified Nie — brak niezależnej wersji (Meta)
Pola wiązania z nadrzędnym Nie — kontekst wynika z zasobu rodzica; pola referencyjne do rodzica nie występują w elemencie osadzonym

Referencja do osadzonego zasobu: Reference z reference = #<id> (np. #embedded-1).


4. Odniesienia