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/draft-logical-model and changes regularly. See the Directory of published versions

Logical Model: Generic Product

Official URL: http://smart.who.int/pcmt/StructureDefinition/GenericProductModel Version: 0.1.0
Draft as of 2025-01-28 Computable Name: GenericProductModel

Generic Product

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraintsdoco
.. GenericProductModel 0..* Base Generic Product
Instances of this logical model can be the target of a Reference
... identifier 0..* Identifier Identifier for the generic product
... status 1..1 code Product status
... productName 1..* BackboneElement The product Name(s)
ele-1: All FHIR elements must have a @value or children
.... @id 0..1 id Unique id for inter-element referencing
.... extension 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
.... modifierExtension ?!Σ 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
.... nameType 1..1 code The type of name e.g. 'official' or 'user-friendly'
.... name 1..1 string The name of the product
... classification 0..* CodeableConcept A categorization or classification of the product e.g. ATC or others
... dosageForm 0..1 CodeableConcept The physical form of the medication
... routeOfAdministration 0..* CodeableConcept The route of administration of the medication

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Base

NameFlagsCard.TypeDescription & Constraintsdoco
.. GenericProductModel 0..* Base Generic Product
Instances of this logical model can be the target of a Reference
... identifier 0..* Identifier Identifier for the generic product
... status 1..1 code Product status
... productName 1..* BackboneElement The product Name(s)
.... nameType 1..1 code The type of name e.g. 'official' or 'user-friendly'
.... name 1..1 string The name of the product
... classification 0..* CodeableConcept A categorization or classification of the product e.g. ATC or others
... dosageForm 0..1 CodeableConcept The physical form of the medication
... routeOfAdministration 0..* CodeableConcept The route of administration of the medication

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. GenericProductModel 0..* Base Generic Product
Instances of this logical model can be the target of a Reference
... identifier 0..* Identifier Identifier for the generic product
... status 1..1 code Product status
... productName 1..* BackboneElement The product Name(s)
.... @id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... nameType 1..1 code The type of name e.g. 'official' or 'user-friendly'
.... name 1..1 string The name of the product
... classification 0..* CodeableConcept A categorization or classification of the product e.g. ATC or others
... dosageForm 0..1 CodeableConcept The physical form of the medication
... routeOfAdministration 0..* CodeableConcept The route of administration of the medication

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Base

Summary

Mandatory: 0 element(4 nested mandatory elements)

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. GenericProductModel 0..* Base Generic Product
Instances of this logical model can be the target of a Reference
... identifier 0..* Identifier Identifier for the generic product
... status 1..1 code Product status
... productName 1..* BackboneElement The product Name(s)
ele-1: All FHIR elements must have a @value or children
.... @id 0..1 id Unique id for inter-element referencing
.... extension 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
.... modifierExtension ?!Σ 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
.... nameType 1..1 code The type of name e.g. 'official' or 'user-friendly'
.... name 1..1 string The name of the product
... classification 0..* CodeableConcept A categorization or classification of the product e.g. ATC or others
... dosageForm 0..1 CodeableConcept The physical form of the medication
... routeOfAdministration 0..* CodeableConcept The route of administration of the medication

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from Base

NameFlagsCard.TypeDescription & Constraintsdoco
.. GenericProductModel 0..* Base Generic Product
Instances of this logical model can be the target of a Reference
... identifier 0..* Identifier Identifier for the generic product
... status 1..1 code Product status
... productName 1..* BackboneElement The product Name(s)
.... nameType 1..1 code The type of name e.g. 'official' or 'user-friendly'
.... name 1..1 string The name of the product
... classification 0..* CodeableConcept A categorization or classification of the product e.g. ATC or others
... dosageForm 0..1 CodeableConcept The physical form of the medication
... routeOfAdministration 0..* CodeableConcept The route of administration of the medication

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. GenericProductModel 0..* Base Generic Product
Instances of this logical model can be the target of a Reference
... identifier 0..* Identifier Identifier for the generic product
... status 1..1 code Product status
... productName 1..* BackboneElement The product Name(s)
.... @id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... nameType 1..1 code The type of name e.g. 'official' or 'user-friendly'
.... name 1..1 string The name of the product
... classification 0..* CodeableConcept A categorization or classification of the product e.g. ATC or others
... dosageForm 0..1 CodeableConcept The physical form of the medication
... routeOfAdministration 0..* CodeableConcept The route of administration of the medication

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Base

Summary

Mandatory: 0 element(4 nested mandatory elements)

 

Other representations of profile: CSV, Excel