ProductPricing
ProductPricing (cennik produktu) to struktura reprezentująca zbiór cen jednego produktu w danym kontekście (sprzedaż, zakup, kanał): tablica price[], gdzie każdy element łączy type (rodzaj ceny) i amount (Money).
Dwa sposoby wymiany:
| Sposób | Gdzie | Pola charakterystyczne |
|---|---|---|
| Osadzony (domyślny) | contained w ProductDefinition lub Product | Lokalne id; bez identifier i product |
| Samodzielny | Osobny zasób (np. w Bundle) | product → produkt; opcjonalnie identifier |
DocumentPosition i Invoice niosą cenę transakcyjną na dokumencie. Wzorowany na SAP (warunki cenowe), Dynamics (Price/discount), FHIR (MedicationKnowledge.cost).
Rozszerza DomainResource — w trybie osadzonym obowiązują reguły contained.
1. Zakres i zastosowanie
ProductPricing = „ile kosztuje ten produkt”: wiele wpisów w price[] (cena netto, promocja, próg ilościowy).
- ProductDefinition / Product — nadrzędny zasób; ceny w contained[] (typowy przypadek).
- DocumentPosition — cena na dokumencie; referencja do produktu (np.
ProductDefinition/pd-001#pp-retail). - Bundle — wiele samodzielnych
ProductPricing(cennik wieloproduktowy).
2. Zawartość (struktura)
Pola wspólne (osadzony i samodzielny):
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| id | 1..1 | string | Identyfikator logiczny (lokalny w contained; globalny gdy zasób samodzielny) |
| resourceType | 1..1 | string | ProductPricing |
| status | 1..1 | CodeableConcept | Status zestawu (system status) |
| context | 0..1 | CodeableConcept | Kontekst (product-pricing-context) |
| period | 0..1 | Period | Domyślny okres ważności cen |
| applicability | 0..* | CodeableConcept | Segment (grupa klientów, region, kanał) |
| price | 1..* | Price (sekcja 3) | Lista cen (type + amount) |
Pola tylko zasób samodzielny:
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| identifier | 0..* | Identifier | Identyfikator wpisu cenowego w rejestrze |
| product | 1..1 | Reference(ProductDefinition | Product) | Produkt, którego dotyczą ceny |
W contained pola identifier i product nie występują — produkt nadrzędny jest kontekstem; identyfikatory katalogowe są na ProductDefinition / Product.
Waluta
Waluta każdej pozycji jest w price[].amount — Money (value + currency, ISO 4217).
3. Price (zagnieżdżony typ)
Price to element tablicy price[] (Value Object: type + amount).
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| type | 1..1 | CodeableConcept | Rodzaj ceny (price-type) |
| amount | 1..1 | Money | Kwota (value + currency) |
| minQuantity | 0..1 | Quantity | Próg ilościowy |
| period | 0..1 | Period | Okres ważności tej ceny |
| status | 0..1 | CodeableConcept | Status pozycji |
4. Cennik wieloproduktowy — Bundle
Wiele produktów = wiele samodzielnych ProductPricing (z product i opcjonalnie identifier) w Bundle. Metadane zestawu — na Bundle (identifier, comment).
5. Przykłady
- ProductPricing-Examples — ceny w contained produktu, zasób samodzielny, Bundle.
6. Odniesienia
- DomainResource (contained), ProductDefinition, Product, Bundle
- Money, Period, Reference