description: The Drug Product produced by the batch formula. package_name: hl7.fhir.us.pq derivation: constraint name: BatchFormulaMedicinalProduct type: MedicinalProductDefinition elements: identifier: {short: optional user designated identifier, mustSupport: true, index: 0} 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: 1 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: 2 comprisedOf: type: Reference mustSupport: true refers: ['http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-product-batch-formula'] 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 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: 7 elements: type: pattern: type: CodeableConcept value: coding: - {code: C71898, system: 'http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl', display: Proprietary Name} index: 8 part: mustSupport: true index: 9 elements: part: {mustSupport: true, index: 10} type: binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-name-part-terminology'} mustSupport: true index: 11 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-batch-formula-product 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: 12 elements: type: pattern: type: CodeableConcept value: coding: - {code: C96971, system: 'http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl', display: Nonproprietary Name} index: 13 part: mustSupport: true array: true min: 2 index: 14 elements: part: {mustSupport: true, index: 15} type: binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-name-part-terminology'} mustSupport: true index: 16 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: 17 elements: type: pattern: type: CodeableConcept value: coding: - {code: SCI, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'} index: 18 Invented: match: type: coding: - {code: INV, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'} schema: array: true index: 19 elements: type: pattern: type: CodeableConcept value: coding: - {code: INV, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'} index: 20 Formulation: match: type: coding: - {code: FORMUL, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'} schema: array: true index: 21 elements: type: pattern: type: CodeableConcept value: coding: - {code: FORMUL, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'} index: 22 Strength: match: type: coding: - {code: STR, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'} schema: array: true min: 1 _required: true index: 23 elements: type: pattern: type: CodeableConcept value: coding: - {code: STR, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'} index: 24 elements: text: {mustSupport: true, index: 25} required: [text] Container: match: type: coding: - {code: CON, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'} schema: array: true index: 26 elements: type: pattern: type: CodeableConcept value: coding: - {code: CON, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'} index: 27 Form: match: type: coding: - {code: FRM, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'} schema: array: true index: 28 elements: type: pattern: type: CodeableConcept value: coding: - {code: FRM, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'} index: 29 Device: match: type: coding: - {code: DEV, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'} schema: array: true index: 30 elements: type: pattern: type: CodeableConcept value: coding: - {code: DEV, system: 'http://terminology.hl7.org/CodeSystem/v3-EntityNamePartQualifierR2'} index: 31 package_version: cmc-fda-2.0.0-ballot class: profile kind: resource url: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-batch-formula-product base: http://hl7.org/fhir/StructureDefinition/MedicinalProductDefinition version: 2.0.0-ballot required: [comprisedOf, combinedPharmaceuticalDoseForm, route]