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

Logical Model: Product - Detailed Descriptions

Draft as of 2025-03-06

Definitions for the Product logical model.

Guidance on how to interpret the contents of this table can be found here

0. Product
Definition

A Product represents a physical item or set of items which can be held in inventory, ordered, exchanged, dispensed or other utilized within the health system, clinical and supply chain workflows.

ShortProduct
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. Product.identifier
Definition

Identifier for the product (e.g. SKUs, GTINs)

ShortIdentifier for the product (e.g. SKUs, GTINs)
NoteThis is a business identifier, not a resource identifier (see discussion)
Control0..*
TypeIdentifier
4. Product.name
Definition

The name of the product

ShortThe name of the product
Control1..*
TypeBackboneElement
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
6. Product.name.id
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

ShortUnique id for inter-element referencing
Control0..1
Typestring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
8. Product.name.extension
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on Product.name.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 10. Product.name.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    12. Product.name.nameType
    Definition

    The type of name e.g. 'official' or 'user-friendly'

    ShortThe type of name e.g. 'official' or 'user-friendly'
    Control1..1
    BindingUnless not suitable, these codes SHALL be taken from Name Type for a Product
    (extensible to http://smart.who.int/pcmt/ValueSet/NameType)
    Typecode
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    14. Product.name.value
    Definition

    The name of the product

    ShortThe name of the product
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    16. Product.description
    Definition

    The description of the product

    ShortThe description of the product
    Control0..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    18. Product.classification
    Definition

    A categorization or classification of the product e.g. ICDS-11, ATC, WHODrug or others

    ShortA categorization or classification of the product e.g. ICDS-11, ATC, WHODrug or others
    Control0..*
    TypeCodeableConcept
    20. Product.status
    Definition

    The status of the product in the catalog e.g. 'active' 'inactive'

    ShortProduct status
    Control1..1
    BindingUnless not suitable, these codes SHALL be taken from Status for a Product
    (extensible to http://smart.who.int/pcmt/ValueSet/Status)
    Typecode
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    22. Product.manufacturer
    Definition

    Manufacturer

    ShortManufacturer
    Control0..1
    TypeReference(mCSD Organization)
    24. Product.countryOfOrigin
    Definition

    The country of origin

    ShortThe country of origin
    Control0..1
    TypeCodeableConcept
    26. Product.shelfLife
    Definition

    The shelf life of the product in days

    ShortThe shelf life of the product in days
    Control0..1
    TypeQuantity(SimpleQuantity)
    28. Product.unitOfUse
    Definition

    The unit in which the generic product is used / counted

    ShortThe unit in which the generic product is used / counted
    Control1..1
    TypeCodeableConcept
    30. Product.dosageForm
    Definition

    The physical form of the medication

    ShortThe physical form of the medication
    Control0..1
    TypeCodeableConcept
    32. Product.routeOfAdministration
    Definition

    The route of administration of the medication

    ShortThe route of administration of the medication
    Control0..*
    TypeCodeableConcept
    34. Product.doseQuantity
    Definition

    The number of doses in this package

    ShortThe number of doses in this package
    Control0..1
    TypeQuantity(SimpleQuantity)
    36. Product.strength
    Definition

    The strength of the product e.g. 500 mg

    ShortThe strength of the product e.g. 500 mg
    Control0..1
    TypeQuantity(SimpleQuantity)
    38. Product.attribute
    Definition

    Attributes or characterisitics of the product

    ShortAttributes or characterisitics of the product
    Control0..*
    TypeBackboneElement
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    40. Product.attribute.id
    Definition

    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

    ShortUnique id for inter-element referencing
    Control0..1
    Typestring
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    42. Product.attribute.extension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

    ShortAdditional content defined by implementations
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Alternate Namesextensions, user content
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    SlicingThis element introduces a set of slices on Product.attribute.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 44. Product.attribute.modifierExtension
      Definition

      May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

      ShortExtensions that cannot be ignored even if unrecognized
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
      Summarytrue
      Requirements

      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

      Alternate Namesextensions, user content, modifiers
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      46. Product.attribute.type
      Definition

      The attribute type (e.g. a physcial dimension)

      ShortThe attribute type (e.g. a physcial dimension)
      Control1..1
      BindingUnless not suitable, these codes SHALL be taken from AttributeType for a Product
      (extensible to http://smart.who.int/pcmt/ValueSet/AttributeType)
      TypeCodeableConcept
      48. Product.attribute.value[x]
      Definition

      The value of the attribute

      ShortThe value of the attribute
      Control1..1
      TypeChoice of: string, integer, decimal, boolean, url, dateTime, Range, Ratio, Annotation, Address, Duration, CodeableConcept
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      50. Product.associatedProduct
      Definition

      Association(s) between a product and referenced products. Such relationships could be for packaging, representing duplicates/semantic equivalencies between Products, etc

      ShortAssociation(s) between a product and referenced products. Such relationships could be for packaging, representing duplicates/semantic equivalencies between Products, etc
      Control0..*
      TypeBackboneElement
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      52. Product.associatedProduct.id
      Definition

      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

      ShortUnique id for inter-element referencing
      Control0..1
      Typestring
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      54. Product.associatedProduct.extension
      Definition

      May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

      ShortAdditional content defined by implementations
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Alternate Namesextensions, user content
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      SlicingThis element introduces a set of slices on Product.associatedProduct.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 56. Product.associatedProduct.modifierExtension
        Definition

        May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

        Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

        ShortExtensions that cannot be ignored even if unrecognized
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TypeExtension
        Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
        Summarytrue
        Requirements

        Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

        Alternate Namesextensions, user content, modifiers
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        58. Product.associatedProduct.product
        Definition

        The generic product characteristics

        ShortThe generic product characteristics
        Control1..1
        TypeReference(Product)
        60. Product.associatedProduct.relationship
        Definition

        The relationship of the the product to the refereneced product

        ShortRelationship
        Control1..*
        BindingUnless not suitable, these codes SHALL be taken from Product Relationships
        (extensible to http://smart.who.int/pcmt/ValueSet/ProductRelationship)
        TypeCoding
        62. Product.associatedProduct.quantity
        Definition

        how many units of use of the generic product are in the product

        Shorthow many units of use of the generic product are in the product
        Control1..1
        TypeQuantity

        Guidance on how to interpret the contents of this table can be found here

        0. Product
        Definition

        A Product represents a physical item or set of items which can be held in inventory, ordered, exchanged, dispensed or other utilized within the health system, clinical and supply chain workflows.

        ShortProduct
        Logical ModelInstances of this logical model are not marked to be the target of a Reference
        2. Product.identifier
        Definition

        Identifier for the product (e.g. SKUs, GTINs)

        ShortIdentifier for the product (e.g. SKUs, GTINs)
        NoteThis is a business identifier, not a resource identifier (see discussion)
        Control0..*
        TypeIdentifier
        4. Product.name
        Definition

        The name of the product

        ShortThe name of the product
        Control1..*
        TypeBackboneElement
        6. Product.name.nameType
        Definition

        The type of name e.g. 'official' or 'user-friendly'

        ShortThe type of name e.g. 'official' or 'user-friendly'
        Control1..1
        BindingUnless not suitable, these codes SHALL be taken from Name Type for a Product
        (extensible to http://smart.who.int/pcmt/ValueSet/NameType)
        Typecode
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        8. Product.name.value
        Definition

        The name of the product

        ShortThe name of the product
        Control1..1
        Typestring
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        10. Product.description
        Definition

        The description of the product

        ShortThe description of the product
        Control0..1
        Typestring
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        12. Product.classification
        Definition

        A categorization or classification of the product e.g. ICDS-11, ATC, WHODrug or others

        ShortA categorization or classification of the product e.g. ICDS-11, ATC, WHODrug or others
        Control0..*
        TypeCodeableConcept
        14. Product.status
        Definition

        The status of the product in the catalog e.g. 'active' 'inactive'

        ShortProduct status
        Control1..1
        BindingUnless not suitable, these codes SHALL be taken from Status for a Product
        (extensible to http://smart.who.int/pcmt/ValueSet/Status)
        Typecode
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        16. Product.manufacturer
        Definition

        Manufacturer

        ShortManufacturer
        Control0..1
        TypeReference(mCSD Organization)
        18. Product.countryOfOrigin
        Definition

        The country of origin

        ShortThe country of origin
        Control0..1
        TypeCodeableConcept
        20. Product.shelfLife
        Definition

        The shelf life of the product in days

        ShortThe shelf life of the product in days
        Control0..1
        TypeQuantity(SimpleQuantity)
        22. Product.unitOfUse
        Definition

        The unit in which the generic product is used / counted

        ShortThe unit in which the generic product is used / counted
        Control1..1
        TypeCodeableConcept
        24. Product.dosageForm
        Definition

        The physical form of the medication

        ShortThe physical form of the medication
        Control0..1
        TypeCodeableConcept
        26. Product.routeOfAdministration
        Definition

        The route of administration of the medication

        ShortThe route of administration of the medication
        Control0..*
        TypeCodeableConcept
        28. Product.doseQuantity
        Definition

        The number of doses in this package

        ShortThe number of doses in this package
        Control0..1
        TypeQuantity(SimpleQuantity)
        30. Product.strength
        Definition

        The strength of the product e.g. 500 mg

        ShortThe strength of the product e.g. 500 mg
        Control0..1
        TypeQuantity(SimpleQuantity)
        32. Product.attribute
        Definition

        Attributes or characterisitics of the product

        ShortAttributes or characterisitics of the product
        Control0..*
        TypeBackboneElement
        34. Product.attribute.type
        Definition

        The attribute type (e.g. a physcial dimension)

        ShortThe attribute type (e.g. a physcial dimension)
        Control1..1
        BindingUnless not suitable, these codes SHALL be taken from AttributeType for a Product
        (extensible to http://smart.who.int/pcmt/ValueSet/AttributeType)
        TypeCodeableConcept
        36. Product.attribute.value[x]
        Definition

        The value of the attribute

        ShortThe value of the attribute
        Control1..1
        TypeChoice of: string, integer, decimal, boolean, url, dateTime, Range, Ratio, Annotation, Address, Duration, CodeableConcept
        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        38. Product.associatedProduct
        Definition

        Association(s) between a product and referenced products. Such relationships could be for packaging, representing duplicates/semantic equivalencies between Products, etc

        ShortAssociation(s) between a product and referenced products. Such relationships could be for packaging, representing duplicates/semantic equivalencies between Products, etc
        Control0..*
        TypeBackboneElement
        40. Product.associatedProduct.product
        Definition

        The generic product characteristics

        ShortThe generic product characteristics
        Control1..1
        TypeReference(Product)
        42. Product.associatedProduct.relationship
        Definition

        The relationship of the the product to the refereneced product

        ShortRelationship
        Control1..*
        BindingUnless not suitable, these codes SHALL be taken from Product Relationships
        (extensible to http://smart.who.int/pcmt/ValueSet/ProductRelationship)
        TypeCoding
        44. Product.associatedProduct.quantity
        Definition

        how many units of use of the generic product are in the product

        Shorthow many units of use of the generic product are in the product
        Control1..1
        TypeQuantity

        Guidance on how to interpret the contents of this table can be found here

        0. Product
        Definition

        A Product represents a physical item or set of items which can be held in inventory, ordered, exchanged, dispensed or other utilized within the health system, clinical and supply chain workflows.

        ShortProduct
        Control0..*
        Is Modifierfalse
        Logical ModelInstances of this logical model are not marked to be the target of a Reference
        2. Product.identifier
        Definition

        Identifier for the product (e.g. SKUs, GTINs)

        ShortIdentifier for the product (e.g. SKUs, GTINs)
        NoteThis is a business identifier, not a resource identifier (see discussion)
        Control0..*
        TypeIdentifier
        4. Product.name
        Definition

        The name of the product

        ShortThe name of the product
        Control1..*
        TypeBackboneElement
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        6. Product.name.id
        Definition

        Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

        ShortUnique id for inter-element referencing
        Control0..1
        Typestring
        Is Modifierfalse
        XML FormatIn the XML format, this property is represented as an attribute.
        Summaryfalse
        8. Product.name.extension
        Definition

        May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

        ShortAdditional content defined by implementations
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TypeExtension
        Is Modifierfalse
        Summaryfalse
        Alternate Namesextensions, user content
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        SlicingThis element introduces a set of slices on Product.name.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 10. Product.name.modifierExtension
          Definition

          May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

          Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

          ShortExtensions that cannot be ignored even if unrecognized
          Comments

          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

          Control0..*
          TypeExtension
          Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
          Summarytrue
          Requirements

          Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

          Alternate Namesextensions, user content, modifiers
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          12. Product.name.nameType
          Definition

          The type of name e.g. 'official' or 'user-friendly'

          ShortThe type of name e.g. 'official' or 'user-friendly'
          Control1..1
          BindingUnless not suitable, these codes SHALL be taken from Name Type for a Product
          (extensible to http://smart.who.int/pcmt/ValueSet/NameType)
          Typecode
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          14. Product.name.value
          Definition

          The name of the product

          ShortThe name of the product
          Control1..1
          Typestring
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          16. Product.description
          Definition

          The description of the product

          ShortThe description of the product
          Control0..1
          Typestring
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          18. Product.classification
          Definition

          A categorization or classification of the product e.g. ICDS-11, ATC, WHODrug or others

          ShortA categorization or classification of the product e.g. ICDS-11, ATC, WHODrug or others
          Control0..*
          TypeCodeableConcept
          20. Product.status
          Definition

          The status of the product in the catalog e.g. 'active' 'inactive'

          ShortProduct status
          Control1..1
          BindingUnless not suitable, these codes SHALL be taken from Status for a Product
          (extensible to http://smart.who.int/pcmt/ValueSet/Status)
          Typecode
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          22. Product.manufacturer
          Definition

          Manufacturer

          ShortManufacturer
          Control0..1
          TypeReference(mCSD Organization)
          24. Product.countryOfOrigin
          Definition

          The country of origin

          ShortThe country of origin
          Control0..1
          TypeCodeableConcept
          26. Product.shelfLife
          Definition

          The shelf life of the product in days

          ShortThe shelf life of the product in days
          Control0..1
          TypeQuantity(SimpleQuantity)
          28. Product.unitOfUse
          Definition

          The unit in which the generic product is used / counted

          ShortThe unit in which the generic product is used / counted
          Control1..1
          TypeCodeableConcept
          30. Product.dosageForm
          Definition

          The physical form of the medication

          ShortThe physical form of the medication
          Control0..1
          TypeCodeableConcept
          32. Product.routeOfAdministration
          Definition

          The route of administration of the medication

          ShortThe route of administration of the medication
          Control0..*
          TypeCodeableConcept
          34. Product.doseQuantity
          Definition

          The number of doses in this package

          ShortThe number of doses in this package
          Control0..1
          TypeQuantity(SimpleQuantity)
          36. Product.strength
          Definition

          The strength of the product e.g. 500 mg

          ShortThe strength of the product e.g. 500 mg
          Control0..1
          TypeQuantity(SimpleQuantity)
          38. Product.attribute
          Definition

          Attributes or characterisitics of the product

          ShortAttributes or characterisitics of the product
          Control0..*
          TypeBackboneElement
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          40. Product.attribute.id
          Definition

          Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

          ShortUnique id for inter-element referencing
          Control0..1
          Typestring
          Is Modifierfalse
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          42. Product.attribute.extension
          Definition

          May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

          ShortAdditional content defined by implementations
          Comments

          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

          Control0..*
          TypeExtension
          Is Modifierfalse
          Summaryfalse
          Alternate Namesextensions, user content
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          SlicingThis element introduces a set of slices on Product.attribute.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 44. Product.attribute.modifierExtension
            Definition

            May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

            Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

            ShortExtensions that cannot be ignored even if unrecognized
            Comments

            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

            Control0..*
            TypeExtension
            Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
            Summarytrue
            Requirements

            Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

            Alternate Namesextensions, user content, modifiers
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            46. Product.attribute.type
            Definition

            The attribute type (e.g. a physcial dimension)

            ShortThe attribute type (e.g. a physcial dimension)
            Control1..1
            BindingUnless not suitable, these codes SHALL be taken from AttributeType for a Product
            (extensible to http://smart.who.int/pcmt/ValueSet/AttributeType)
            TypeCodeableConcept
            48. Product.attribute.value[x]
            Definition

            The value of the attribute

            ShortThe value of the attribute
            Control1..1
            TypeChoice of: string, integer, decimal, boolean, url, dateTime, Range, Ratio, Annotation, Address, Duration, CodeableConcept
            [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            50. Product.associatedProduct
            Definition

            Association(s) between a product and referenced products. Such relationships could be for packaging, representing duplicates/semantic equivalencies between Products, etc

            ShortAssociation(s) between a product and referenced products. Such relationships could be for packaging, representing duplicates/semantic equivalencies between Products, etc
            Control0..*
            TypeBackboneElement
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            52. Product.associatedProduct.id
            Definition

            Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

            ShortUnique id for inter-element referencing
            Control0..1
            Typestring
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            54. Product.associatedProduct.extension
            Definition

            May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

            ShortAdditional content defined by implementations
            Comments

            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

            Control0..*
            TypeExtension
            Is Modifierfalse
            Summaryfalse
            Alternate Namesextensions, user content
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            SlicingThis element introduces a set of slices on Product.associatedProduct.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 56. Product.associatedProduct.modifierExtension
              Definition

              May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

              Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

              ShortExtensions that cannot be ignored even if unrecognized
              Comments

              There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

              Control0..*
              TypeExtension
              Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
              Summarytrue
              Requirements

              Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

              Alternate Namesextensions, user content, modifiers
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
              58. Product.associatedProduct.product
              Definition

              The generic product characteristics

              ShortThe generic product characteristics
              Control1..1
              TypeReference(Product)
              60. Product.associatedProduct.relationship
              Definition

              The relationship of the the product to the refereneced product

              ShortRelationship
              Control1..*
              BindingUnless not suitable, these codes SHALL be taken from Product Relationships
              (extensible to http://smart.who.int/pcmt/ValueSet/ProductRelationship)
              TypeCoding
              62. Product.associatedProduct.quantity
              Definition

              how many units of use of the generic product are in the product

              Shorthow many units of use of the generic product are in the product
              Control1..1
              TypeQuantity