PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.us.pq@cmc-fda-1.0.0
    http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-component
description: The amount details about the drug product components to define the product composition in a product unit. Use composition.
package_name: hl7.fhir.us.pq
derivation: constraint
name: DrugProductComponent
type: Ingredient
elements:
  for: {short: Reference to MedicinalProductDefinition, index: 0}
  role:
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-drug-product-component-function-category-terminology'}
    index: 1
  comment: {short: Drug Product Component Additional Information, mustSupport: true, index: 2}
  substance:
    constraint:
      cmc-strength-type-cases2:
        human: |-
          IF Strength Type = Activity THEN Strength Textual, Strength UOM ([arb'U]) and Strength Operator are applicable data elements.
          Strength Textual and Strength UOM will be Mandatory and Operator will be Optional. Codes 75765 [arb'U]; C45420 Activity.
        source: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-component
        severity: error
        expression: "defineVariable('system','http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl').select(\nstrength\n.extension('http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension')\n.extension.where(\n    value.coding.where(\n        code = 'C45420' and \n        system = %system\n    ).exists()\n).exists()\nimplies (\n    strength.presentation.ofType(Ratio).exists() and\n    strength.presentation.numerator.where(\n        code = '[arb\\'U]' and\n        system = 'http://unitsofmeasure.org'\n    )\n) or (\n    strength.presentation.ofType(Quantity).exists() and\n    strength.presentation.where(\n        code = '[arb\\'U]' and\n        system = 'http://unitsofmeasure.org'\n    )\n))"
    index: 3
    elements:
      code: {type: CodeableReference, short: Ingredient Substance, mustSupport: true, index: 4}
      strength:
        mustSupport: true
        array: true
        min: 2
        max: 2
        index: 5
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: textConcentration, type: exists}
          min: 2
          max: 2
          slices:
            amount:
              match: {}
              schema:
                mustSupport: true
                _required: true
                index: 6
                extensions:
                  strengthFactors: {url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension', min: 1, max: 1, type: Extension, mustSupport: true, index: 8}
                elements:
                  extension:
                    index: 7
                    slicing:
                      rules: open
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 1
                      slices:
                        strengthFactors:
                          match: {url: null}
                          schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension', index: 8}
                          min: 1
                          max: 1
                  concentration:
                    mustSupport: true
                    choices: [concentrationRatio]
                    index: 20
                    slicing:
                      slices:
                        concentrationRatio:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: [concentrationRatio]
                            index: 20
                          min: 0
                          max: 1
                  concentrationRatio:
                    type: Ratio
                    mustSupport: true
                    choiceOf: concentration
                    index: 21
                    slicing:
                      slices:
                        concentrationRatio:
                          match: {}
                          schema: {type: Ratio, mustSupport: true, choiceOf: concentration, index: 21}
                          min: 0
                          max: 1
                  concentrationQuantity:
                    type: Quantity
                    mustSupport: true
                    choiceOf: concentration
                    index: 15
                    slicing:
                      slices:
                        concentrationQuantity:
                          match: {}
                          schema: {type: Quantity, mustSupport: true, choiceOf: concentration, index: 15}
                          min: 0
                          max: 1
                  concentration[x]:
                    elements:
                      numerator:
                        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units'}
                        mustSupport: true
                        index: 22
                        elements:
                          value: {short: Ingredient Total Amount Numeric Numerator, mustSupport: true, index: 23}
                          unit: {short: Ingredient Total Amount Numeric Numerator UOM, index: 24}
                          code: {mustSupport: true, index: 25}
                        required: [value, code]
                      denominator:
                        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units'}
                        mustSupport: true
                        index: 26
                        elements:
                          value: {short: Ingredient Total Amount Numeric Denominator, mustSupport: true, index: 27}
                          unit: {short: Ingredient Total Amount Numeric Denominator UOM, mustSupport: true, index: 28}
                          code: {mustSupport: true, index: 29}
                        required: [value, unit, code]
                    required: [denominator, numerator]
                  textConcentration: {short: Strength Textual, mustSupport: true, index: 30}
                required: [extension, textConcentration, concentration, concentrationRatio, concentrationQuantity]
            percent:
              match: {}
              schema:
                mustSupport: true
                _required: true
                index: 31
                elements:
                  concentration:
                    mustSupport: true
                    choices: [concentrationQuantity]
                    index: 33
                  concentrationQuantity: {type: Quantity, mustSupport: true, choiceOf: concentration, index: 34}
                  concentration[x]:
                    elements:
                      value: {short: Ingredient Total Amount Content Percent, mustSupport: true, index: 35}
                      code: {short: Ingredient Total Amount Content Percent UOM, mustSupport: true, index: 36}
                    required: [value, code]
                  textConcentration: {mustSupport: true, index: 37}
                required: [concentration, concentrationQuantity]
package_version: cmc-fda-1.0.0
class: profile
kind: resource
url: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-component
base: http://hl7.org/fhir/StructureDefinition/Ingredient
version: 1.0.0