PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.us.pq-cmc-fda@2.0.0-ballot
    http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-product-batch-formula
description: Listing of all components of the dosage form to be used in the manufacture, their amounts on a per batch basis, including overages, and reference to their quality standards.
package_name: hl7.fhir.us.pq-cmc-fda
derivation: constraint
name: BatchFormula
type: ManufacturedItemDefinition
elements:
  identifier: {short: optional user designated identifier, mustSupport: true, index: 0}
  status: {mustSupport: true, index: 1}
  name: {short: Product Non-proprietary Name, mustSupport: true, index: 2}
  manufacturedDoseForm:
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-manufactured-dose-form-terminology'}
    index: 3
  manufacturer:
    type: Reference
    mustSupport: true
    refers: ['http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/cmc-organization']
    index: 4
  property:
    mustSupport: true
    array: true
    min: 2
    index: 5
    elements:
      type:
        mustSupport: true
        index: 6
        elements:
          text: {mustSupport: true, index: 7}
        required: [text]
    slicing:
      rules: closed
      description: Slice based on value
      discriminator:
      - {path: type.text, type: value}
      min: 2
      slices:
        BatchSize:
          match:
            type: {text: Batch Quantity}
          schema:
            short: Batch Quantity
            mustSupport: true
            _required: true
            index: 8
            elements:
              type:
                elements:
                  text:
                    pattern: {type: String, value: Batch Quantity}
                    index: 9
              value:
                mustSupport: true
                choices: [valueQuantity]
                index: 11
              valueQuantity: {type: Quantity, mustSupport: true, choiceOf: value, index: 12}
              value[x]:
                elements:
                  value: {mustSupport: true, index: 13}
                  code: {short: Quantity UOM, index: 14}
                required: [value]
            required: [value, valueQuantity]
        BatchUtil:
          match:
            type: {text: Batch Utilization}
          schema:
            short: Batch Utilization
            mustSupport: true
            array: true
            min: 1
            _required: true
            index: 15
            elements:
              type:
                elements:
                  text:
                    pattern: {type: String, value: Batch Utilization}
                    index: 16
              value:
                mustSupport: true
                choices: [valueCodeableConcept]
                index: 18
              valueCodeableConcept: {type: CodeableConcept, mustSupport: true, choiceOf: value, index: 19}
            required: [value, valueCodeableConcept]
        AddInfo:
          match:
            type: {text: Product Part Additional Information}
          schema:
            short: Batch Formula Additional Information
            mustSupport: true
            index: 20
            elements:
              type:
                elements:
                  text:
                    pattern: {type: String, value: Product Part Additional Information}
                    index: 21
              value:
                mustSupport: true
                choices: [valueMarkdown]
                index: 23
              valueMarkdown: {type: markdown, mustSupport: true, choiceOf: value, index: 24}
            required: [valueMarkdown, value]
  component:
    mustSupport: true
    index: 25
    elements:
      type:
        short: Product Part Type
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-product-part-type'}
        mustSupport: true
        index: 26
      amount:
        array: true
        min: 2
        max: 2
        index: 27
        slicing:
          rules: closed
          description: Slice based on value of unit
          discriminator:
          - {path: code, type: value}
          min: 2
          max: 2
          slices:
            perBatch:
              match: {code: null}
              schema:
                short: Component Quantity Per Batch
                mustSupport: true
                _required: true
                index: 28
                elements:
                  value: {mustSupport: true, index: 29}
                  unit: {mustSupport: true, index: 30}
                  code:
                    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units'}
                    mustSupport: true
                    index: 31
                required: [value, unit, code]
            percent:
              match: {code: null}
              schema:
                mustSupport: true
                _required: true
                index: 32
                elements:
                  value: {mustSupport: true, index: 33}
                  unit: {mustSupport: true, index: 34}
                  code:
                    binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-percentage-units'}
                    mustSupport: true
                    index: 35
                required: [value, unit, code]
      constituent:
        mustSupport: true
        index: 36
        extensions:
          additional-info: {url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-additional-info-extension', min: 0, max: 1, short: Drug Product Constituent Additional Information, type: Extension, mustSupport: true, index: 38}
          formulaIngredient: {url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-product-batch-ingredient-extension', min: 0, max: 1, type: Extension, mustSupport: true, index: 39}
          StrengthTextual: {url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-product-batch-strength-textual-extension', min: 0, max: 1, type: Extension, mustSupport: true, index: 40}
        elements:
          extension:
            index: 37
            slicing:
              rules: open
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: null
              slices:
                additional-info:
                  match: {url: null}
                  schema: {short: Drug Product Constituent Additional Information, type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-additional-info-extension', index: 38}
                  min: 0
                  max: 1
                formulaIngredient:
                  match: {url: null}
                  schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-product-batch-ingredient-extension', index: 39}
                  min: 0
                  max: 1
                StrengthTextual:
                  match: {url: null}
                  schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-product-batch-strength-textual-extension', index: 40}
                  min: 0
                  max: 1
          amount:
            mustSupport: true
            array: true
            min: 2
            max: 2
            index: 41
            slicing:
              rules: closed
              description: Slice based on value of unit
              discriminator:
              - {path: code, type: value}
              min: 2
              max: 2
              slices:
                perBatch:
                  match: {code: null}
                  schema:
                    short: Component Quantity Per Batch
                    mustSupport: true
                    _required: true
                    index: 42
                    elements:
                      value: {mustSupport: true, index: 43}
                      unit: {mustSupport: true, index: 44}
                      code:
                        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units'}
                        mustSupport: true
                        index: 45
                    required: [value, unit, code]
                percent:
                  match: {code: null}
                  schema:
                    short: Quantity Percent
                    mustSupport: true
                    _required: true
                    index: 46
                    elements:
                      value: {mustSupport: true, index: 47}
                      unit: {mustSupport: true, index: 48}
                      code:
                        binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-percentage-units'}
                        mustSupport: true
                        index: 49
                    required: [value, unit, code]
          location:
            short: Product Part Ingredient Physical Location
            binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-product-part-ingredient-physical-location'}
            mustSupport: true
            index: 50
          hasIngredient: {type: CodeableReference, mustSupport: true, index: 51}
        required: [hasIngredient]
      property:
        type: BackboneElement
        mustSupport: true
        index: 52
        elements:
          type:
            mustSupport: true
            index: 53
            elements:
              text: {mustSupport: true, index: 54}
            required: [text]
        slicing:
          rules: closed
          description: Slice based on value
          discriminator:
          - {path: type.text, type: value}
          min: 1
          slices:
            PPiD:
              match:
                type: {text: Product Part Identifier}
              schema:
                short: Product Part Identifier
                mustSupport: true
                _required: true
                index: 55
                elements:
                  type:
                    elements:
                      text:
                        pattern: {type: String, value: Product Part Identifier}
                        index: 56
                  value:
                    mustSupport: true
                    choices: [valueCodeableConcept]
                    index: 58
                  valueCodeableConcept: {type: CodeableConcept, mustSupport: true, choiceOf: value, index: 59}
                required: [value, valueCodeableConcept]
            PPiDref:
              match:
                type: {text: Product Part Identifier Reference}
              schema:
                short: Product Part Identifier Reference
                mustSupport: true
                index: 60
                elements:
                  type:
                    elements:
                      text:
                        pattern: {type: String, value: Product Part Identifier Reference}
                        index: 61
                  value:
                    mustSupport: true
                    choices: [valueCodeableConcept]
                    index: 63
                  valueCodeableConcept: {type: CodeableConcept, mustSupport: true, choiceOf: value, index: 64}
                required: [value, valueCodeableConcept]
            AddInfo:
              match:
                type: {text: Product Part Additional Information}
              schema:
                short: Product Part Additional Information
                mustSupport: true
                index: 65
                elements:
                  type:
                    elements:
                      text:
                        pattern: {type: String, value: Product Part Additional Information}
                        index: 66
                  value:
                    mustSupport: true
                    choices: [valueMarkdown]
                    index: 68
                  valueMarkdown: {type: markdown, mustSupport: true, choiceOf: value, index: 69}
                required: [valueMarkdown, value]
      component: {mustSupport: true, index: 70}
    required: [constituent, property]
package_version: 2.0.0-ballot
class: profile
kind: resource
url: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-product-batch-formula
base: http://hl7.org/fhir/StructureDefinition/ManufacturedItemDefinition
version: 2.0.0-ballot
required: [component, name]