PackagesCanonicalsLogsProblems
    Packages
    de.medizininformatikinitiative.kerndatensatz.icu@2027.0.0-ballot.3
    https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score
description: Parent profile for ICU scoring systems. Scores are represented as Observations with the total score in value[x] and their respective items as components. If subitems of observations have independent medical applications or usage, hasMember can be used to implement these. This profile defines common constraints for all ICU scales and scores including sedation, pain, delirium both pediatric and adult as well as Assessments.
package_name: de.medizininformatikinitiative.kerndatensatz.icu
derivation: constraint
name: MII_PR_ICU_Score
abstract: true
type: Observation
elements:
  category:
    mustSupport: true
    array: true
    min: 2
    index: 1
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: pattern}
      min: 2
      slices:
        survey:
          match:
            coding:
            - {code: survey, system: 'http://terminology.hl7.org/CodeSystem/observation-category', display: Survey}
          schema:
            short: Survey category
            mustSupport: true
            pattern:
              type: CodeableConcept
              value:
                coding:
                - {code: survey, system: 'http://terminology.hl7.org/CodeSystem/observation-category', display: Survey}
            _required: true
            index: 2
            elements:
              coding: {mustSupport: true, index: 3}
            required: [coding]
        assessment-scale:
          match:
            coding:
            - {code: '273249006', system: 'http://snomed.info/sct', display: Assessment scales (assessment scale)}
          schema:
            mustSupport: true
            pattern:
              type: CodeableConcept
              value:
                coding:
                - {code: '273249006', system: 'http://snomed.info/sct', display: Assessment scales (assessment scale)}
            _required: true
            index: 4
            elements:
              coding: {mustSupport: true, index: 5}
            required: [coding]
  hasMember: {mustSupport: true, index: 35}
  derivedFrom: {mustSupport: true, index: 36}
  interpretation: {mustSupport: true, index: 32}
  encounter: {mustSupport: true, index: 19}
  specimen: {index: 33}
  valueQuantity: {type: Quantity, mustSupport: true, choiceOf: value, index: 28}
  value:
    mustSupport: true
    choices: [valueQuantity, valueCodeableConcept, valueInteger]
    index: 27
  component:
    constraint:
      mii-icu-val-xor-dar: {human: Resource must have either value or dataAbsentReason., source: 'https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score', severity: error, expression: value.exists() xor dataAbsentReason.exists()}
    mustSupport: true
    index: 37
    elements:
      code: {mustSupport: true, index: 38}
      value:
        mustSupport: true
        choices: [valueQuantity, valueCodeableConcept, valueInteger]
        index: 40
      valueQuantity: {type: Quantity, mustSupport: true, choiceOf: value, index: 41}
      valueCodeableConcept: {type: CodeableConcept, mustSupport: true, choiceOf: value, index: 42}
      valueInteger: {type: integer, mustSupport: true, choiceOf: value, index: 43}
      dataAbsentReason: {mustSupport: true, index: 44}
  effectiveDateTime: {type: dateTime, mustSupport: true, choiceOf: effective, index: 22}
  status: {index: 0}
  effective:
    mustSupport: true
    choices: [effectiveDateTime, effectivePeriod]
    index: 21
  code:
    constraint:
      mii-icu-loinc-sct-dgai-ieee11073: {human: 'Es muss mindestens ein LOINC, SnomedCT, IEEE-11073 oder DGAI Code vorhanden sein', source: 'https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score', severity: error, expression: 'coding.where(system=''http://loinc.org'').exists() or coding.where(system=''http://snomed.info/sct'').exists() or coding.where(system=''urn:iso:std:iso:11073:10101'').exists() or coding.where(system=''http://dgai.de'').exists()'}
    index: 6
    elements:
      coding:
        mustSupport: true
        index: 7
        slicing:
          rules: open
          discriminator:
          - {path: $this, type: pattern}
          min: null
          slices:
            loinc:
              match: {}
              schema:
                mustSupport: true
                index: 8
                elements:
                  system:
                    pattern: {type: Uri, value: 'http://loinc.org'}
                    index: 9
                  code: {mustSupport: true, index: 10}
                required: [system, code]
            sct:
              match: {}
              schema:
                mustSupport: true
                index: 11
                elements:
                  system:
                    pattern: {type: Uri, value: 'http://snomed.info/sct'}
                    index: 12
                  version:
                    mustSupport: true
                    pattern: {type: String, value: 'http://snomed.info/sct/900000000000207008/version/20260701'}
                    index: 13
                  code: {mustSupport: true, index: 14}
                required: [system, code]
            ieee11073:
              match: {}
              schema:
                mustSupport: true
                index: 15
                elements:
                  system:
                    pattern: {type: Uri, value: 'urn:iso:std:iso:11073:10101'}
                    index: 16
                  code: {mustSupport: true, index: 17}
                required: [system, code]
  valueCodeableConcept: {type: CodeableConcept, mustSupport: true, choiceOf: value, index: 29}
  issued: {mustSupport: true, index: 24}
  device: {mustSupport: true, index: 34}
  valueInteger: {type: integer, mustSupport: true, choiceOf: value, index: 30}
  subject:
    type: Reference
    short: Patient being assessed
    mustSupport: true
    refers: ['http://hl7.org/fhir/StructureDefinition/Patient']
    index: 18
  performer: {mustSupport: true, index: 25}
  dataAbsentReason: {mustSupport: true, index: 31}
  effectivePeriod: {type: Period, mustSupport: true, choiceOf: effective, index: 23}
package_version: 2027.0.0-ballot.3
class: profile
kind: resource
url: https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score
base: http://hl7.org/fhir/StructureDefinition/Observation
version: 2027.0.0-ballot.3
required: [effectiveDateTime, effectivePeriod, subject, effective]