Product
Product (produkt – instancja) to zasób reprezentujący konkretną instancję pozycji z katalogu: partia, numer seryjny, data ważności itd. Zawiera referencję do ProductDefinition (definicja w katalogu) oraz opcjonalne identifier[] i attribute[] (Attribute) z danymi instancji (numer partii, numer seryjny, data ważności, data produkcji). W DocumentPosition valueReference może wskazywać na Product (gdy pozycja dotyczy konkretnej partii/serii) lub na ProductDefinition (gdy wystarczy pozycja katalogu). Wzorowany na UBL 2.3 (ItemInstance), SAP (Batch, Serial Number przy Material), FHIR (Medication – batch, expiry).
Rozszerza DomainResource.
1. Zakres i zastosowanie
Product = „która dokładnie” instancja definicji: ta partia, ten numer seryjny, z tą datą ważności. Gdy w obrocie nie ma partii/serii (np. usługa, wiele towarów bez śledzenia), w dokumentach referuje się bezpośrednio ProductDefinition.
- Z referencją do instancji: PZ/WZ z partią, seria w reklamacji, data ważności na fakturze – valueReference → Product (productDefinition + batch/serial/expiry w atrybutach).
- Bez instancji: zamówienie lub faktura „po katalogu” – valueReference → ProductDefinition.
2. Zawartość (struktura)
Oprócz elementów DomainResource (id, meta, text, comment, category, status, type, contained, attribute):
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| productDefinition | 1..1 | Reference(ProductDefinition) | Definicja produktu w katalogu (wzorzec) |
| identifier | 0..* | Identifier | Identyfikatory instancji (numer partii, numer seryjny, kod śledzenia – rodzaj w type) |
| attribute | 0..* | Attribute | Cechy instancji: batch-number, serial-number, expiry-date, production-date, location itd.; struktura w Attribute |
Uwaga: Atrybuty instancji używają tej samej struktury Attribute co ProductDefinition; code odróżnia rodzaj (system https://api-erp.kamsoft.pl/ns/product-attribute-type). Daty – valueString (ISO 8601) lub valueCodeableConcept; w rozszerzeniu możliwe valueDate.
3. Zgodność z systemami wzorcowymi
| System | Odpowiednik | Uwagi |
|---|---|---|
| UBL 2.3 | ItemInstance, LotNumber, SerialID | Batch/serial przy Item; Product = instancja Item |
| SAP | Batch (Charge), Serial Number | Material + Batch/Serial; ProductDefinition = Material, Product = Batch/Serial |
| FHIR | Medication (batch, expirationDate) | Definicja vs egzemplarz z batch/expiry |
4. Odniesienia
- DomainResource, ProductDefinition, Attribute (attribute[]), Document, DocumentPosition (valueReference → Product lub ProductDefinition)
- Identifier, CodeableConcept, Reference