PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.us.pq-cmc-fda@1.0.0-ballot
    http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-quality-specification
description: A quality specification is for a drug product or drug substance (excipient, API or raw material).
package_name: hl7.fhir.us.pq-cmc-fda
derivation: constraint
name: QualitySpecification
type: PlanDefinition
elements:
  date: {short: Specification Version Date, mustSupport: true, index: 17}
  meta:
    elements:
      profile: {mustSupport: true, index: 0}
    required: [profile]
  approvalDate: {short: Specification Status Date, mustSupport: true, index: 18}
  goal:
    short: Acceptance Criteria
    mustSupport: true
    index: 19
    elements:
      description: {short: Original Text, mustSupport: true, index: 20}
      addresses:
        mustSupport: true
        index: 21
        elements:
          coding:
            elements:
              code:
                short: Acceptance Criteria Usage
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-test-usage-terminology'}
                mustSupport: true
                index: 22
            required: [code]
          text: {short: Accpetance Criteria Usage, index: 23}
      documentation:
        mustSupport: true
        index: 24
        elements:
          type:
            pattern: {type: Code, value: comments-on}
            index: 25
          display: {short: Acceptance Criteria Additional Information, mustSupport: true, index: 26}
        required: [display]
      target:
        short: Acceptance Criteron
        mustSupport: true
        index: 27
        elements:
          measure:
            elements:
              text: {short: Detailed parameter being measured if more granular than Sub-Test, mustSupport: true, index: 28}
          detail:
            short: Number of Replicates
            mustSupport: true
            choices: [detailInteger]
            index: 70
            slicing:
              slices:
                detailInteger:
                  match: {}
                  schema:
                    short: Number of Replicates
                    mustSupport: true
                    choices: [detailInteger]
                    index: 70
                  min: 0
                  max: 1
          detailQuantity:
            short: ValueNumeric
            type: Quantity
            mustSupport: true
            choiceOf: detail
            index: 37
            slicing:
              slices:
                detailQuantity:
                  match: {}
                  schema: {short: ValueNumeric, type: Quantity, mustSupport: true, choiceOf: detail, index: 37}
                  min: 0
                  max: 1
          detailRange:
            short: ValueNumeric (range)
            type: Range
            mustSupport: true
            choiceOf: detail
            index: 47
            slicing:
              slices:
                detailRange:
                  match: {}
                  schema: {short: ValueNumeric (range), type: Range, mustSupport: true, choiceOf: detail, index: 47}
                  min: 0
                  max: 1
          detailCodeableConcept:
            type: CodeableConcept
            mustSupport: true
            choiceOf: detail
            index: 66
            slicing:
              slices:
                detailCodeableConcept:
                  match: {}
                  schema: {type: CodeableConcept, mustSupport: true, choiceOf: detail, index: 66}
                  min: 0
                  max: 1
          detailInteger:
            short: Number of Replicates
            type: integer
            mustSupport: true
            choiceOf: detail
            index: 71
            slicing:
              slices:
                detailInteger:
                  match: {}
                  schema: {short: Number of Replicates, type: integer, mustSupport: true, choiceOf: detail, index: 71}
                  min: 0
                  max: 1
          detail[x]:
            elements:
              coding:
                short: Interpretation Code
                mustSupport: true
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-interpretation-code-terminology'}
                pattern:
                  type: Coding
                  value: {code: C48793, system: 'http://hl7.org/fhir/us/pq-cmc-fda/CodeSystem/cmc-ncit-dummy', display: EQ}
                index: 67
              text: {short: Value, mustSupport: true, index: 68}
            required: [coding, text]
          due: {index: 72}
    required: [addresses, target]
  type:
    mustSupport: true
    index: 9
    elements:
      coding:
        mustSupport: true
        array: true
        min: 2
        max: 2
        index: 10
        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: 11
              min: 1
              max: 1
            ApprovalStatus:
              match: {}
              schema:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-specification-status-terminology'}
                mustSupport: true
                _required: true
                index: 12
              min: 1
              max: 1
  title: {short: Specification Title, mustSupport: true, index: 7}
  extension:
    index: 1
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 1
      slices:
        specificationType:
          match: {url: null}
          schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-specification-type-extension', index: 2}
          min: 1
          max: 1
        spec-additional-info:
          match: {url: null}
          schema: {short: Specification Additional Information, type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-additional-info-extension', index: 3}
          min: 0
          max: 1
        work-group:
          match: {url: null}
          schema: {type: Extension, url: 'http://hl7.org/fhir/StructureDefinition/structuredefinition-wg', index: 4}
          min: 0
          max: 1
  status: {mustSupport: true, index: 13}
  subtitle: {short: Specification Subtitle, mustSupport: true, index: 8}
  identifier: {mustSupport: true, index: 5}
  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: 73
    extensions:
      testOrder:
        url: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-order-extension
        short: Test Order
        type: Extension
        mustSupport: true
        index: 75
        elements:
          value:
            mustSupport: true
            choices: []
            index: 77
        required: [value]
    elements:
      description: {short: Test Additional Information, mustSupport: true, index: 81}
      linkId: {short: only required for alternate tests, mustSupport: true, index: 78}
      goalId: {short: Reference to Acceptance Criteria, mustSupport: true, index: 94}
      relatedAction:
        short: Alternate Test
        mustSupport: true
        index: 95
        elements:
          targetId: {mustSupport: true, index: 96}
          relationship:
            short: Code is concurrent
            mustSupport: true
            pattern: {type: Code, value: concurrent}
            index: 97
      title: {short: Test Name, mustSupport: true, index: 80}
      documentation:
        mustSupport: true
        index: 91
        elements:
          type:
            pattern: {type: Code, value: documentation}
            index: 92
          label: {short: Reference to Procedure, mustSupport: true, index: 93}
        required: [label]
      prefix: {short: Stage Name, mustSupport: true, index: 79}
      selectionBehavior:
        short: Code is exactly-one
        mustSupport: true
        pattern: {type: Code, value: exactly-one}
        index: 98
      reason:
        min: 1
        short: Test Category | Test Subcategory
        index: 85
        mustSupport: true
        array: true
        elements:
          extension:
            index: 86
            slicing:
              slices:
                categoryLevel:
                  match: {}
                  schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-hierarchical-level-extension', index: 87}
                  min: 1
                  max: 1
          coding:
            binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-test-category-terminology'}
            mustSupport: true
            index: 88
            elements:
              code: {mustSupport: true, index: 89}
              display: {index: 90}
            required: [display, code]
        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: 87}
        max: 2
        required: [extension]
      extension:
        index: 74
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            testOrder:
              match: {url: null}
              schema:
                short: Test Order
                type: Extension
                mustSupport: true
                url: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-order-extension
                index: 75
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 77
                required: [value]
      code:
        short: Test Method Origin
        mustSupport: true
        index: 82
        elements:
          coding:
            elements:
              code:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-test-method-origin-terminology'}
                mustSupport: true
                index: 83
            required: [code]
          text: {short: Analytical Procedure, mustSupport: true, index: 84}
        required: [text]
      action:
        type: BackboneElement
        short: Groups or Stages
        mustSupport: true
        index: 99
        extensions:
          stageOrder:
            url: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-order-extension
            short: Stage Sequence Order
            type: Extension
            mustSupport: true
            index: 101
            elements:
              value:
                mustSupport: true
                choices: []
                index: 103
            required: [value]
        elements:
          extension:
            index: 100
            slicing:
              rules: open
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 1
              slices:
                stageOrder:
                  match: {url: null}
                  schema:
                    short: Stage Sequence Order
                    type: Extension
                    mustSupport: true
                    url: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-order-extension
                    index: 101
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 103
                    required: [value]
          prefix: {short: Stage Name, mustSupport: true, index: 104}
          title: {short: Test Name (only reqired if different than above), mustSupport: true, index: 105}
          description: {short: Test Additional Information | Stage Additional Information, mustSupport: true, index: 106}
          documentation:
            mustSupport: true
            index: 107
            elements:
              type:
                pattern: {type: Code, value: documentation}
                index: 108
              document:
                short: Test or Stage Additional Information Visual Attachments
                mustSupport: true
                index: 109
                elements:
                  contentType: {mustSupport: true, index: 110}
                  data: {mustSupport: true, index: 111}
                  title: {short: Document file name including the file extension, mustSupport: true, index: 112}
                required: [title, contentType, data]
            required: [document]
          goalId: {short: Reference to Acceptance Criteria, mustSupport: true, index: 113}
          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: 114
            extensions:
              testOrder:
                url: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-order-extension
                short: Test Order
                type: Extension
                mustSupport: true
                index: 116
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 118
                required: [value]
            elements:
              extension:
                index: 115
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    testOrder:
                      match: {url: null}
                      schema:
                        short: Test Order
                        type: Extension
                        mustSupport: true
                        url: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-order-extension
                        index: 116
                        elements:
                          value:
                            mustSupport: true
                            choices: []
                            index: 118
                        required: [value]
              prefix: {short: RRT, mustSupport: true, index: 119}
              title: {short: Test Name | RRT (complex testing), mustSupport: true, index: 120}
              description: {short: Test Additional Information | Stage Additional Information, mustSupport: true, index: 121}
              goalId: {short: Reference to Acceptance Criteria, mustSupport: true, index: 122}
            required: [extension, title, goalId]
        required: [extension]
    required: [extension, title, reason, code]
  version: {short: Specification Version, mustSupport: true, index: 6}
  subjectReference:
    type: Reference
    mustSupport: true
    choiceOf: subject
    refers: ['http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-excipient', 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-routine-drug-product', 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-routine-drug-substance']
    index: 16
  subject:
    mustSupport: true
    choices: [subjectReference]
    index: 15
package_version: 1.0.0-ballot
extensions:
  specificationType: {url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-specification-type-extension', min: 1, max: 1, type: Extension, mustSupport: true, index: 2}
  spec-additional-info: {url: 'http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pq-additional-info-extension', min: 0, max: 1, short: Specification Additional Information, type: Extension, mustSupport: true, index: 3}
  work-group: {url: 'http://hl7.org/fhir/StructureDefinition/structuredefinition-wg', min: 0, max: 1, type: Extension, index: 4}
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: 1.0.0-ballot
required: [extension, subjectReference, action, subject, title, type, version, date]