SMART Product Catalog
0.1.0 - ci-build
SMART Product Catalog, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-pcmt/tree/3/merge and changes regularly. See the Directory of published versions
| Official URL: http://smart.who.int/pcmt/StructureDefinition/TradeProductModel | Version: 0.1.0 | |||
| Draft as of 2025-01-30 | Computable Name: TradeProductModel | |||
A Trade Product represents a physical item or set of items. A trade product represents something that can be held in inventory, ordered, exchanged, dispensed or other utilized within the health system, clinical and supply chain workflows.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints![]() |
|---|---|---|---|---|
![]() |
0..* | Base | TradeProduct Instances of this logical model can be the target of a Reference | |
![]() ![]() |
0..* | Identifier | Identifier for the trade product | |
![]() ![]() |
1..* | BackboneElement | The name of the trade product ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() |
1..1 | code | The type of name e.g. 'official' or 'user-friendly' Binding: Name Type for a Trade Product (extensible) | |
![]() ![]() ![]() |
1..1 | string | The name of the trade product | |
![]() ![]() |
0..1 | string | The description of the product | |
![]() ![]() |
0..* | CodeableConcept | A categorization or classification of the product e.g. ICDS-11, ATC, WHODrug or others | |
![]() ![]() |
1..1 | code | Product status Binding: Status for a Trade Product (extensible) | |
![]() ![]() |
1..1 | Reference(mCSD Organization) | Manufacturer | |
![]() ![]() |
1..1 | CodeableConcept | The country of origin | |
![]() ![]() |
0..1 | SimpleQuantity | The shelf life of the trade product in days | |
![]() ![]() |
1..1 | CodeableConcept | The unit in which the generic product is used / counted | |
![]() ![]() |
0..1 | CodeableConcept | The physical form of the medication | |
![]() ![]() |
0..* | CodeableConcept | The route of administration of the medication | |
![]() ![]() |
0..1 | SimpleQuantity | The number of doses in this package | |
![]() ![]() |
0..1 | SimpleQuantity | The strength of the product e.g. 500 mg | |
![]() ![]() |
0..* | BackboneElement | Association(s) between a trade product and referenced trade products. Such relationships could be for packaging, representing duplicates/semantic equivalencies between Trade Products, etc ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() |
1..1 | Reference(TradeProduct) | The generic product characteristics | |
![]() ![]() ![]() |
1..* | Coding | Relationship Binding: Trade Product Relationships (extensible) | |
![]() ![]() ![]() |
1..1 | Quantity | how many units of use of the generic product are in the trade product | |
Documentation for this format | ||||
| Path | Conformance | ValueSet | URI |
| TradeProductModel.tradeProductName.nameType | extensible | nameType (a valid code from http://hl7.org/fhir/ValueSet/device-nametype)http://smart.who.int/pcmt/ValueSet/nameTypefrom this IG | |
| TradeProductModel.status | extensible | status (a valid code from Trade Product and Regulatory Status)http://smart.who.int/pcmt/ValueSet/statusfrom this IG | |
| TradeProductModel.associatedTradeProduct.relationship | extensible | tradeProductRelationship (a valid code from Trade Product Relationship)http://smart.who.int/pcmt/ValueSet/tradeProductRelationshipfrom this IG |
| Id | Grade | Path(s) | Details | Requirements |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
This structure is derived from Base
| Name | Flags | Card. | Type | Description & Constraints![]() |
|---|---|---|---|---|
![]() |
0..* | Base | TradeProduct Instances of this logical model can be the target of a Reference | |
![]() ![]() |
0..* | Identifier | Identifier for the trade product | |
![]() ![]() |
1..* | BackboneElement | The name of the trade product | |
![]() ![]() ![]() |
1..1 | code | The type of name e.g. 'official' or 'user-friendly' Binding: Name Type for a Trade Product (extensible) | |
![]() ![]() ![]() |
1..1 | string | The name of the trade product | |
![]() ![]() |
0..1 | string | The description of the product | |
![]() ![]() |
0..* | CodeableConcept | A categorization or classification of the product e.g. ICDS-11, ATC, WHODrug or others | |
![]() ![]() |
1..1 | code | Product status Binding: Status for a Trade Product (extensible) | |
![]() ![]() |
1..1 | Reference(mCSD Organization) | Manufacturer | |
![]() ![]() |
1..1 | CodeableConcept | The country of origin | |
![]() ![]() |
0..1 | SimpleQuantity | The shelf life of the trade product in days | |
![]() ![]() |
1..1 | CodeableConcept | The unit in which the generic product is used / counted | |
![]() ![]() |
0..1 | CodeableConcept | The physical form of the medication | |
![]() ![]() |
0..* | CodeableConcept | The route of administration of the medication | |
![]() ![]() |
0..1 | SimpleQuantity | The number of doses in this package | |
![]() ![]() |
0..1 | SimpleQuantity | The strength of the product e.g. 500 mg | |
![]() ![]() |
0..* | BackboneElement | Association(s) between a trade product and referenced trade products. Such relationships could be for packaging, representing duplicates/semantic equivalencies between Trade Products, etc | |
![]() ![]() ![]() |
1..1 | Reference(TradeProduct) | The generic product characteristics | |
![]() ![]() ![]() |
1..* | Coding | Relationship Binding: Trade Product Relationships (extensible) | |
![]() ![]() ![]() |
1..1 | Quantity | how many units of use of the generic product are in the trade product | |
Documentation for this format | ||||
| Path | Conformance | ValueSet | URI |
| TradeProductModel.tradeProductName.nameType | extensible | nameType (a valid code from http://hl7.org/fhir/ValueSet/device-nametype)http://smart.who.int/pcmt/ValueSet/nameTypefrom this IG | |
| TradeProductModel.status | extensible | status (a valid code from Trade Product and Regulatory Status)http://smart.who.int/pcmt/ValueSet/statusfrom this IG | |
| TradeProductModel.associatedTradeProduct.relationship | extensible | tradeProductRelationship (a valid code from Trade Product Relationship)http://smart.who.int/pcmt/ValueSet/tradeProductRelationshipfrom this IG |
| Name | Flags | Card. | Type | Description & Constraints![]() |
|---|---|---|---|---|
![]() |
0..* | Base | TradeProduct Instances of this logical model can be the target of a Reference | |
![]() ![]() |
0..* | Identifier | Identifier for the trade product | |
![]() ![]() |
1..* | BackboneElement | The name of the trade product | |
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | code | The type of name e.g. 'official' or 'user-friendly' Binding: Name Type for a Trade Product (extensible) | |
![]() ![]() ![]() |
1..1 | string | The name of the trade product | |
![]() ![]() |
0..1 | string | The description of the product | |
![]() ![]() |
0..* | CodeableConcept | A categorization or classification of the product e.g. ICDS-11, ATC, WHODrug or others | |
![]() ![]() |
1..1 | code | Product status Binding: Status for a Trade Product (extensible) | |
![]() ![]() |
1..1 | Reference(mCSD Organization) | Manufacturer | |
![]() ![]() |
1..1 | CodeableConcept | The country of origin | |
![]() ![]() |
0..1 | SimpleQuantity | The shelf life of the trade product in days | |
![]() ![]() |
1..1 | CodeableConcept | The unit in which the generic product is used / counted | |
![]() ![]() |
0..1 | CodeableConcept | The physical form of the medication | |
![]() ![]() |
0..* | CodeableConcept | The route of administration of the medication | |
![]() ![]() |
0..1 | SimpleQuantity | The number of doses in this package | |
![]() ![]() |
0..1 | SimpleQuantity | The strength of the product e.g. 500 mg | |
![]() ![]() |
0..* | BackboneElement | Association(s) between a trade product and referenced trade products. Such relationships could be for packaging, representing duplicates/semantic equivalencies between Trade Products, etc | |
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | Reference(TradeProduct) | The generic product characteristics | |
![]() ![]() ![]() |
1..* | Coding | Relationship Binding: Trade Product Relationships (extensible) | |
![]() ![]() ![]() |
1..1 | Quantity | how many units of use of the generic product are in the trade product | |
Documentation for this format | ||||
| Path | Conformance | ValueSet | URI |
| TradeProductModel.tradeProductName.nameType | extensible | nameType (a valid code from http://hl7.org/fhir/ValueSet/device-nametype)http://smart.who.int/pcmt/ValueSet/nameTypefrom this IG | |
| TradeProductModel.status | extensible | status (a valid code from Trade Product and Regulatory Status)http://smart.who.int/pcmt/ValueSet/statusfrom this IG | |
| TradeProductModel.associatedTradeProduct.relationship | extensible | tradeProductRelationship (a valid code from Trade Product Relationship)http://smart.who.int/pcmt/ValueSet/tradeProductRelationshipfrom this IG |
| Id | Grade | Path(s) | Details | Requirements |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
This structure is derived from Base
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints![]() |
|---|---|---|---|---|
![]() |
0..* | Base | TradeProduct Instances of this logical model can be the target of a Reference | |
![]() ![]() |
0..* | Identifier | Identifier for the trade product | |
![]() ![]() |
1..* | BackboneElement | The name of the trade product ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() |
1..1 | code | The type of name e.g. 'official' or 'user-friendly' Binding: Name Type for a Trade Product (extensible) | |
![]() ![]() ![]() |
1..1 | string | The name of the trade product | |
![]() ![]() |
0..1 | string | The description of the product | |
![]() ![]() |
0..* | CodeableConcept | A categorization or classification of the product e.g. ICDS-11, ATC, WHODrug or others | |
![]() ![]() |
1..1 | code | Product status Binding: Status for a Trade Product (extensible) | |
![]() ![]() |
1..1 | Reference(mCSD Organization) | Manufacturer | |
![]() ![]() |
1..1 | CodeableConcept | The country of origin | |
![]() ![]() |
0..1 | SimpleQuantity | The shelf life of the trade product in days | |
![]() ![]() |
1..1 | CodeableConcept | The unit in which the generic product is used / counted | |
![]() ![]() |
0..1 | CodeableConcept | The physical form of the medication | |
![]() ![]() |
0..* | CodeableConcept | The route of administration of the medication | |
![]() ![]() |
0..1 | SimpleQuantity | The number of doses in this package | |
![]() ![]() |
0..1 | SimpleQuantity | The strength of the product e.g. 500 mg | |
![]() ![]() |
0..* | BackboneElement | Association(s) between a trade product and referenced trade products. Such relationships could be for packaging, representing duplicates/semantic equivalencies between Trade Products, etc ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() |
1..1 | Reference(TradeProduct) | The generic product characteristics | |
![]() ![]() ![]() |
1..* | Coding | Relationship Binding: Trade Product Relationships (extensible) | |
![]() ![]() ![]() |
1..1 | Quantity | how many units of use of the generic product are in the trade product | |
Documentation for this format | ||||
| Path | Conformance | ValueSet | URI |
| TradeProductModel.tradeProductName.nameType | extensible | nameType (a valid code from http://hl7.org/fhir/ValueSet/device-nametype)http://smart.who.int/pcmt/ValueSet/nameTypefrom this IG | |
| TradeProductModel.status | extensible | status (a valid code from Trade Product and Regulatory Status)http://smart.who.int/pcmt/ValueSet/statusfrom this IG | |
| TradeProductModel.associatedTradeProduct.relationship | extensible | tradeProductRelationship (a valid code from Trade Product Relationship)http://smart.who.int/pcmt/ValueSet/tradeProductRelationshipfrom this IG |
| Id | Grade | Path(s) | Details | Requirements |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
Differential View
This structure is derived from Base
| Name | Flags | Card. | Type | Description & Constraints![]() |
|---|---|---|---|---|
![]() |
0..* | Base | TradeProduct Instances of this logical model can be the target of a Reference | |
![]() ![]() |
0..* | Identifier | Identifier for the trade product | |
![]() ![]() |
1..* | BackboneElement | The name of the trade product | |
![]() ![]() ![]() |
1..1 | code | The type of name e.g. 'official' or 'user-friendly' Binding: Name Type for a Trade Product (extensible) | |
![]() ![]() ![]() |
1..1 | string | The name of the trade product | |
![]() ![]() |
0..1 | string | The description of the product | |
![]() ![]() |
0..* | CodeableConcept | A categorization or classification of the product e.g. ICDS-11, ATC, WHODrug or others | |
![]() ![]() |
1..1 | code | Product status Binding: Status for a Trade Product (extensible) | |
![]() ![]() |
1..1 | Reference(mCSD Organization) | Manufacturer | |
![]() ![]() |
1..1 | CodeableConcept | The country of origin | |
![]() ![]() |
0..1 | SimpleQuantity | The shelf life of the trade product in days | |
![]() ![]() |
1..1 | CodeableConcept | The unit in which the generic product is used / counted | |
![]() ![]() |
0..1 | CodeableConcept | The physical form of the medication | |
![]() ![]() |
0..* | CodeableConcept | The route of administration of the medication | |
![]() ![]() |
0..1 | SimpleQuantity | The number of doses in this package | |
![]() ![]() |
0..1 | SimpleQuantity | The strength of the product e.g. 500 mg | |
![]() ![]() |
0..* | BackboneElement | Association(s) between a trade product and referenced trade products. Such relationships could be for packaging, representing duplicates/semantic equivalencies between Trade Products, etc | |
![]() ![]() ![]() |
1..1 | Reference(TradeProduct) | The generic product characteristics | |
![]() ![]() ![]() |
1..* | Coding | Relationship Binding: Trade Product Relationships (extensible) | |
![]() ![]() ![]() |
1..1 | Quantity | how many units of use of the generic product are in the trade product | |
Documentation for this format | ||||
| Path | Conformance | ValueSet | URI |
| TradeProductModel.tradeProductName.nameType | extensible | nameType (a valid code from http://hl7.org/fhir/ValueSet/device-nametype)http://smart.who.int/pcmt/ValueSet/nameTypefrom this IG | |
| TradeProductModel.status | extensible | status (a valid code from Trade Product and Regulatory Status)http://smart.who.int/pcmt/ValueSet/statusfrom this IG | |
| TradeProductModel.associatedTradeProduct.relationship | extensible | tradeProductRelationship (a valid code from Trade Product Relationship)http://smart.who.int/pcmt/ValueSet/tradeProductRelationshipfrom this IG |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints![]() |
|---|---|---|---|---|
![]() |
0..* | Base | TradeProduct Instances of this logical model can be the target of a Reference | |
![]() ![]() |
0..* | Identifier | Identifier for the trade product | |
![]() ![]() |
1..* | BackboneElement | The name of the trade product | |
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | code | The type of name e.g. 'official' or 'user-friendly' Binding: Name Type for a Trade Product (extensible) | |
![]() ![]() ![]() |
1..1 | string | The name of the trade product | |
![]() ![]() |
0..1 | string | The description of the product | |
![]() ![]() |
0..* | CodeableConcept | A categorization or classification of the product e.g. ICDS-11, ATC, WHODrug or others | |
![]() ![]() |
1..1 | code | Product status Binding: Status for a Trade Product (extensible) | |
![]() ![]() |
1..1 | Reference(mCSD Organization) | Manufacturer | |
![]() ![]() |
1..1 | CodeableConcept | The country of origin | |
![]() ![]() |
0..1 | SimpleQuantity | The shelf life of the trade product in days | |
![]() ![]() |
1..1 | CodeableConcept | The unit in which the generic product is used / counted | |
![]() ![]() |
0..1 | CodeableConcept | The physical form of the medication | |
![]() ![]() |
0..* | CodeableConcept | The route of administration of the medication | |
![]() ![]() |
0..1 | SimpleQuantity | The number of doses in this package | |
![]() ![]() |
0..1 | SimpleQuantity | The strength of the product e.g. 500 mg | |
![]() ![]() |
0..* | BackboneElement | Association(s) between a trade product and referenced trade products. Such relationships could be for packaging, representing duplicates/semantic equivalencies between Trade Products, etc | |
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | Reference(TradeProduct) | The generic product characteristics | |
![]() ![]() ![]() |
1..* | Coding | Relationship Binding: Trade Product Relationships (extensible) | |
![]() ![]() ![]() |
1..1 | Quantity | how many units of use of the generic product are in the trade product | |
Documentation for this format | ||||
| Path | Conformance | ValueSet | URI |
| TradeProductModel.tradeProductName.nameType | extensible | nameType (a valid code from http://hl7.org/fhir/ValueSet/device-nametype)http://smart.who.int/pcmt/ValueSet/nameTypefrom this IG | |
| TradeProductModel.status | extensible | status (a valid code from Trade Product and Regulatory Status)http://smart.who.int/pcmt/ValueSet/statusfrom this IG | |
| TradeProductModel.associatedTradeProduct.relationship | extensible | tradeProductRelationship (a valid code from Trade Product Relationship)http://smart.who.int/pcmt/ValueSet/tradeProductRelationshipfrom this IG |
| Id | Grade | Path(s) | Details | Requirements |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
This structure is derived from Base