PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.us.pq@cmc-fda-2.0.0-ballot
    http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-drug-product-description
description: Includes the properties of the drug product and components. Profile of Drug Product profile.
package_name: hl7.fhir.us.pq
derivation: constraint
name: DrugProductDescription
type: MedicinalProductDefinition
elements:
  identifier: {short: optional user designated identifier, index: 0}
  description: {short: Drug Product Description, mustSupport: true, index: 1}
  combinedPharmaceuticalDoseForm:
    short: Product Dosage Form
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/spl-pharmaceutical-dosage-form-terminology'}
    mustSupport: true
    index: 2
  route:
    short: Route of Administration
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/spl-drug-route-of-administration-terminology'}
    mustSupport: true
    index: 3
  name:
    mustSupport: true
    array: true
    max: 2
    index: 4
    elements:
      productName: {mustSupport: true, index: 5}
      type:
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/cmc-product-name-types-vs'}
        mustSupport: true
        index: 6
      usage:
        elements:
          jurisdiction: {index: 7}
    required: [type]
    slicing:
      rules: closed
      description: Require nonproprietary name. Parts required if present in the nonproprietary name
      discriminator:
      - {path: type, type: value}
      min: null
      max: 2
      slices:
        Proprietary:
          match:
            type:
              coding:
              - {code: C71898, system: 'http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl', display: Proprietary Name}
          schema:
            index: 8
            elements:
              type:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: C71898, system: 'http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl', display: Proprietary Name}
                index: 9
              part:
                mustSupport: true
                index: 10
                elements:
                  part: {mustSupport: true, index: 11}
                  type:
                    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-name-part-terminology'}
                    mustSupport: true
                    index: 12
              usage:
                elements:
                  jurisdiction: {index: 13}
        NonProprietary:
          match:
            type:
              coding:
              - {code: C96971, system: 'http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl', display: Nonproprietary Name}
          schema:
            constraint:
              cmc-strength-name-must-reference-scientific:
                human: strength parts must modify a scientific part, scientific parts must be modified by a strength part. The same scientific part cannot appear more than once
                source: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-drug-product-description
                severity: error
                expression: "defineVariable('system','http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2').select(\ndefineVariable('strengthReferences',part.type.where(coding.exists(code = 'STR' and system = %system)).text).select(\ndefineVariable('scientificNames',part.where(type.coding.exists(code = 'SCI' and system = %system)).part).select(\n    %strengthReferences = %scientificNames and \n    %scientificNames.distinct() = %scientificNames\n)))"
            _required: true
            index: 14
            elements:
              type:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: C96971, system: 'http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl', display: Nonproprietary Name}
                index: 15
              part:
                mustSupport: true
                array: true
                min: 2
                index: 16
                elements:
                  part: {mustSupport: true, index: 17}
                  type:
                    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-name-part-terminology'}
                    mustSupport: true
                    index: 18
                slicing:
                  rules: closed
                  description: The scientific name part is required and all name parts if present
                  discriminator:
                  - {path: type, type: value}
                  min: 2
                  slices:
                    Scientific:
                      match:
                        type:
                          coding:
                          - {code: SCI, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                      schema:
                        array: true
                        min: 1
                        _required: true
                        index: 19
                        elements:
                          type:
                            pattern:
                              type: CodeableConcept
                              value:
                                coding:
                                - {code: SCI, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                            index: 20
                    Invented:
                      match:
                        type:
                          coding:
                          - {code: INV, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                      schema:
                        array: true
                        index: 21
                        elements:
                          type:
                            pattern:
                              type: CodeableConcept
                              value:
                                coding:
                                - {code: INV, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                            index: 22
                    Formulation:
                      match:
                        type:
                          coding:
                          - {code: FORMUL, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                      schema:
                        array: true
                        index: 23
                        elements:
                          type:
                            pattern:
                              type: CodeableConcept
                              value:
                                coding:
                                - {code: FORMUL, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                            index: 24
                    Strength:
                      match:
                        type:
                          coding:
                          - {code: STR, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                      schema:
                        array: true
                        min: 1
                        _required: true
                        index: 25
                        elements:
                          type:
                            pattern:
                              type: CodeableConcept
                              value:
                                coding:
                                - {code: STR, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                            index: 26
                            elements:
                              text: {mustSupport: true, index: 27}
                            required: [text]
                    Container:
                      match:
                        type:
                          coding:
                          - {code: CON, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                      schema:
                        array: true
                        index: 28
                        elements:
                          type:
                            pattern:
                              type: CodeableConcept
                              value:
                                coding:
                                - {code: CON, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                            index: 29
                    Form:
                      match:
                        type:
                          coding:
                          - {code: FRM, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                      schema:
                        array: true
                        index: 30
                        elements:
                          type:
                            pattern:
                              type: CodeableConcept
                              value:
                                coding:
                                - {code: FRM, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                            index: 31
                    Device:
                      match:
                        type:
                          coding:
                          - {code: DEV, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                      schema:
                        array: true
                        index: 32
                        elements:
                          type:
                            pattern:
                              type: CodeableConcept
                              value:
                                coding:
                                - {code: DEV, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'}
                            index: 33
              usage:
                elements:
                  jurisdiction: {index: 34}
  crossReference:
    mustSupport: true
    index: 35
    elements:
      product: {type: CodeableReference, short: Co-Packaged Product, mustSupport: true, index: 36}
package_version: cmc-fda-2.0.0-ballot
class: profile
kind: resource
url: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-drug-product-description
base: http://hl7.org/fhir/StructureDefinition/MedicinalProductDefinition
version: 2.0.0-ballot
required: [combinedPharmaceuticalDoseForm, route, description]