description: A quality specification is for a drug product or drug substance (excipient, API or raw material). package_name: hl7.fhir.us.pq derivation: constraint name: QualitySpecification type: PlanDefinition elements: date: {short: Specification Version Date, mustSupport: true, index: 15} approvalDate: {short: Specification Status Date, mustSupport: true, index: 16} goal: short: Acceptance Criteria mustSupport: true index: 17 extensions: ac-additional-info: {url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-additional-info-extension', min: 0, max: 1, type: Extension, short: Acceptance Criteria Additional Information, index: 19} elements: extension: index: 18 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: null slices: ac-additional-info: match: {url: null} schema: {type: Extension, short: Acceptance Criteria Additional Information, url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-additional-info-extension', index: 19} min: 0 max: 1 description: {short: Original Text, mustSupport: true, index: 20} addresses: short: Acceptance Criteria Usage binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-test-usage-terminology'} mustSupport: true index: 21 target: short: Acceptance Criteron constraint: cmc-target-range: {human: 'When the Range extension is present, detail cannot be present.', source: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-quality-specification', severity: error, expression: 'modifierExtension.where(url = ''http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-target-range'').exists() implies detail.exists().not()'} mustSupport: true index: 22 elements: modifierExtension: index: 23 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: null slices: targetRange: match: {url: null} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-target-range', index: 24} min: 0 max: 1 measure: {type: CodeableConcept, short: Detailed parameter being measured if more granular than Sub-Test, mustSupport: true, index: 25} detail: short: Number of Replicates mustSupport: true choices: [detailInteger] index: 42 slicing: slices: detailInteger: match: {} schema: short: Number of Replicates mustSupport: true choices: [detailInteger] index: 42 min: 0 max: 1 detailQuantity: short: ValueNumeric type: Quantity mustSupport: true choiceOf: detail index: 33 slicing: slices: detailQuantity: match: {} schema: {short: ValueNumeric, type: Quantity, mustSupport: true, choiceOf: detail, index: 33} min: 0 max: 1 detailString: short: Value type: string mustSupport: true choiceOf: detail index: 40 slicing: slices: detailString: match: {} schema: {short: Value, type: string, mustSupport: true, choiceOf: detail, index: 40} min: 0 max: 1 detailInteger: short: Number of Replicates type: integer mustSupport: true choiceOf: detail index: 43 slicing: slices: detailInteger: match: {} schema: {short: Number of Replicates, type: integer, mustSupport: true, choiceOf: detail, index: 43} min: 0 max: 1 detail[x]: elements: value: {mustSupport: true, index: 34} comparator: {mustSupport: true, index: 35} unit: {mustSupport: true, index: 36} code: {mustSupport: true, index: 37} required: [value, unit, code] due: {index: 44} required: [addresses, target] type: short: Specification Type mustSupport: true index: 7 elements: coding: mustSupport: true array: true min: 2 max: 2 index: 8 slicing: rules: closed ordered: false description: Slice on the coding itself discriminator: - {path: $this, type: value} min: 2 max: 2 slices: DefinitionType: match: {code: workflow-definition, system: 'http://terminology.hl7.org/CodeSystem/plan-definition-type', display: Workflow Definition} schema: mustSupport: true pattern: type: Coding value: {code: workflow-definition, system: 'http://terminology.hl7.org/CodeSystem/plan-definition-type', display: Workflow Definition} _required: true index: 9 min: 1 max: 1 SpecType: match: {} schema: short: Specification Type mustSupport: true _required: true binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-specification-type-terminology'} index: 10 min: 1 max: 1 title: {short: Specification Title, mustSupport: true, index: 5} extension: index: 0 slicing: rules: open ordered: false discriminator: - {path: url, type: value} min: 1 slices: ApprovalStatus: match: {url: null} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-specification-status-extension', index: 1} min: 1 max: 1 spec-additional-info: match: {url: null} schema: {type: Extension, short: Specification Additional Information, url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-additional-info-extension', index: 2} min: 0 max: 1 status: {mustSupport: true, index: 11} subtitle: {short: Specification Subtitle, mustSupport: true, index: 6} identifier: {mustSupport: true, index: 3} action: short: Method constraint: cmc-link-required: {human: Action linkId is required for alternate tests, source: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-quality-specification', severity: error, expression: (action.relatedAction.count() > 0) implies action.linkId.exists()} cmc-single-or-multistage: human: if a test is multi-stage, the test can't have a prefix and its stages must have a name and can't be named 'Single Stage' and must be unique. If it's single stage its prefix is 'Single Stage' and its groups can't have prefixes source: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-quality-specification severity: error expression: "((\n prefix.exists() implies \n action.prefix.empty() and prefix = 'Single Stage' \n) and (\n prefix.empty() implies (\n (action.where(\n prefix.exists() and \n prefix != 'Single Stage'\n ).count() = action.count()) and \n action.prefix.isDistinct()\n )\n)) = true" mustSupport: true index: 45 elements: description: {short: Test Additional Information, mustSupport: true, index: 49} linkId: {short: only required for alternate tests, mustSupport: true, index: 46} goalId: {short: Reference to Acceptance Criteria, mustSupport: true, index: 59} relatedAction: short: Alternate Test mustSupport: true index: 60 elements: targetId: {mustSupport: true, index: 61} relationship: short: Code is concurrent mustSupport: true pattern: {type: Code, value: concurrent} index: 62 title: {short: Test Name, mustSupport: true, index: 48} documentation: mustSupport: true index: 56 elements: type: pattern: {type: Code, value: documentation} index: 57 label: {short: Reference to Procedure, mustSupport: true, index: 58} required: [label] prefix: {short: Stage Name, mustSupport: true, index: 47} reason: min: 1 short: Test Category | Test Subcategory index: 53 mustSupport: true array: true elements: extension: index: 54 slicing: slices: categoryLevel: match: {} schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-hierarchical-level-extension', index: 55} min: 1 max: 1 binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-test-category-terminology'} extensions: categoryLevel: {url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-hierarchical-level-extension', min: 1, max: 1, type: Extension, mustSupport: true, index: 55} max: 2 required: [extension] code: short: Test Method Origin mustSupport: true index: 50 elements: coding: binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-test-method-origin-terminology'} mustSupport: true index: 51 text: {short: Analytical Procedure, mustSupport: true, index: 52} required: [coding, text] action: type: BackboneElement short: Groups or Stages mustSupport: true index: 63 elements: prefix: {short: Stage Name, mustSupport: true, index: 64} title: {short: Test Name (only reqired if different than above), mustSupport: true, index: 65} description: {short: Test Additional Information | Stage Additional Information, mustSupport: true, index: 66} documentation: mustSupport: true index: 67 elements: type: pattern: {type: Code, value: documentation} index: 68 document: short: Test or Stage Additional Information Visual Attachments mustSupport: true index: 69 elements: contentType: {mustSupport: true, index: 70} data: {mustSupport: true, index: 71} title: {short: Document file name including the file extension, mustSupport: true, index: 72} required: [title, contentType, data] required: [document] goalId: {short: Reference to Acceptance Criteria, mustSupport: true, index: 73} action: type: BackboneElement short: Sub-Test constraint: cmc-subtest-rrt: {human: 'a subtest''s prefix represents relative retention time, should it exist', source: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-quality-specification', severity: error, expression: prefix.exists() implies prefix.single() = 'RRT'} mustSupport: true index: 74 elements: prefix: {short: RRT, mustSupport: true, index: 75} title: {short: Test Name | RRT (complex testing), mustSupport: true, index: 76} description: {short: Test Additional Information | Stage Additional Information, mustSupport: true, index: 77} goalId: {short: Reference to Acceptance Criteria, mustSupport: true, index: 78} required: [title, goalId] required: [title, reason, code] version: {short: Specification Version, mustSupport: true, index: 4} subjectReference: type: Reference mustSupport: true choiceOf: subject refers: ['http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-drug-product-handle', 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-excipient', 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-routine-drug-substance'] index: 14 subject: mustSupport: true choices: [subjectReference] index: 13 package_version: cmc-fda-2.0.0-ballot extensions: ApprovalStatus: {url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-specification-status-extension', min: 1, max: 1, type: Extension, mustSupport: true, index: 1} spec-additional-info: {url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-additional-info-extension', min: 0, max: 1, type: Extension, short: Specification Additional Information, index: 2} class: profile kind: resource url: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-quality-specification base: http://hl7.org/fhir/StructureDefinition/PlanDefinition version: 2.0.0-ballot required: [extension, subjectReference, action, subject, title, type, version, date]