<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="mii-pr-icu-score-icdsc" />
  <url value="https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score-icdsc" />
  <version value="2026.0.0" />
  <name value="MII_PR_ICU_Score_ICDSC" />
  <title value="MII PR ICU Score ICDSC" />
  <status value="draft" />
  <publisher value="Medizininformatik Initiative" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="https://www.medizininformatik-initiative.de" />
    </telecom>
  </contact>
  <description value="Intensive Care Delirium Screening Checklist (ICDSC) for delirium assessment. Evaluates 8 items over a shift (usually 8-12 hours). Each item scores 0 (absent) or 1 (present). Total score ranges from 0-8. A score of 0: no delirium, 1-3: subsyndromal delirium, ≥4: delirium." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Observation" />
  <baseDefinition value="https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score" />
  <derivation value="constraint" />
  <differential>
    <element id="Observation.code.coding:sct">
      <path value="Observation.code.coding" />
      <sliceName value="sct" />
      <patternCoding>
        <system value="http://snomed.info/sct" />
        <code value="1351995008" />
        <display value="Intensive Care Delirium Screening Checklist score (observable entity)" />
      </patternCoding>
    </element>
    <element id="Observation.value[x]">
      <path value="Observation.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.value[x]:valueInteger">
      <path value="Observation.value[x]" />
      <sliceName value="valueInteger" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="integer" />
      </type>
      <constraint>
        <key value="icdsc-score-range" />
        <severity value="error" />
        <human value="ICDSC total score must be between 0 and 8" />
        <expression value="value &gt;= 0 and value &lt;= 8" />
        <source value="https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score-icdsc" />
      </constraint>
    </element>
    <element id="Observation.interpretation">
      <path value="Observation.interpretation" />
      <short value="Delirium status" />
      <definition value="No delirium (0), subsyndromal delirium (1-3), delirium (≥4)" />
      <binding>
        <strength value="extensible" />
        <valueSet value="https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/ValueSet/delirium-interpretation" />
      </binding>
    </element>
    <element id="Observation.component">
      <path value="Observation.component" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="code" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="8" />
      <max value="8" />
    </element>
    <element id="Observation.component:altered-consciousness">
      <path value="Observation.component" />
      <sliceName value="altered-consciousness" />
      <short value="Altered consciousness" />
      <definition value="No response (5 points in GCS), need for vigorous stimulation to obtain any response (1 point), or spontaneously drowsy (RASS -1 to -3) but easy to arouse (1 point)" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:altered-consciousness.code.text">
      <path value="Observation.component.code.text" />
      <patternString value="Altered level of consciousness" />
    </element>
    <element id="Observation.component:altered-consciousness.value[x]">
      <path value="Observation.component.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.component:altered-consciousness.value[x]:valueInteger">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueInteger" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="integer" />
      </type>
      <constraint>
        <key value="icdsc-item-range" />
        <severity value="error" />
        <human value="ICDSC item score must be 0 or 1" />
        <expression value="value = 0 or value = 1" />
        <source value="https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score-icdsc" />
      </constraint>
    </element>
    <element id="Observation.component:inattention">
      <path value="Observation.component" />
      <sliceName value="inattention" />
      <short value="Inattention" />
      <definition value="Difficulty following conversation or instructions, easily distracted by external stimuli, difficulty shifting focus" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:inattention.code.text">
      <path value="Observation.component.code.text" />
      <patternString value="Inattention" />
    </element>
    <element id="Observation.component:inattention.value[x]">
      <path value="Observation.component.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.component:inattention.value[x]:valueInteger">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueInteger" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="integer" />
      </type>
      <constraint>
        <key value="icdsc-item-range" />
        <severity value="error" />
        <human value="ICDSC item score must be 0 or 1" />
        <expression value="value = 0 or value = 1" />
        <source value="https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score-icdsc" />
      </constraint>
    </element>
    <element id="Observation.component:disorientation">
      <path value="Observation.component" />
      <sliceName value="disorientation" />
      <short value="Disorientation" />
      <definition value="Manifest disorientation to time, place, or person (≥ 1 error)" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:disorientation.code.text">
      <path value="Observation.component.code.text" />
      <patternString value="Disorientation" />
    </element>
    <element id="Observation.component:disorientation.value[x]">
      <path value="Observation.component.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.component:disorientation.value[x]:valueInteger">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueInteger" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="integer" />
      </type>
      <constraint>
        <key value="icdsc-item-range" />
        <severity value="error" />
        <human value="ICDSC item score must be 0 or 1" />
        <expression value="value = 0 or value = 1" />
        <source value="https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score-icdsc" />
      </constraint>
    </element>
    <element id="Observation.component:hallucination-delusion">
      <path value="Observation.component" />
      <sliceName value="hallucination-delusion" />
      <short value="Hallucination, delusion, or psychosis" />
      <definition value="Clinical manifestation of hallucination or behavior suggestive of hallucination, gross distortion or misrepresentation of reality" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:hallucination-delusion.code.text">
      <path value="Observation.component.code.text" />
      <patternString value="Hallucination, delusion, or psychosis" />
    </element>
    <element id="Observation.component:hallucination-delusion.value[x]">
      <path value="Observation.component.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.component:hallucination-delusion.value[x]:valueInteger">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueInteger" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="integer" />
      </type>
      <constraint>
        <key value="icdsc-item-range" />
        <severity value="error" />
        <human value="ICDSC item score must be 0 or 1" />
        <expression value="value = 0 or value = 1" />
        <source value="https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score-icdsc" />
      </constraint>
    </element>
    <element id="Observation.component:psychomotor-agitation-retardation">
      <path value="Observation.component" />
      <sliceName value="psychomotor-agitation-retardation" />
      <short value="Psychomotor agitation or retardation" />
      <definition value="Hyperactivity requiring sedation or restraints, hypoactivity or clinically noticeable psychomotor slowing" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:psychomotor-agitation-retardation.code.text">
      <path value="Observation.component.code.text" />
      <patternString value="Psychomotor agitation or retardation" />
    </element>
    <element id="Observation.component:psychomotor-agitation-retardation.value[x]">
      <path value="Observation.component.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.component:psychomotor-agitation-retardation.value[x]:valueInteger">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueInteger" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="integer" />
      </type>
      <constraint>
        <key value="icdsc-item-range" />
        <severity value="error" />
        <human value="ICDSC item score must be 0 or 1" />
        <expression value="value = 0 or value = 1" />
        <source value="https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score-icdsc" />
      </constraint>
    </element>
    <element id="Observation.component:inappropriate-speech-mood">
      <path value="Observation.component" />
      <sliceName value="inappropriate-speech-mood" />
      <short value="Inappropriate speech or mood" />
      <definition value="Inappropriate, disorganized, or incoherent speech, inappropriate display of emotion" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:inappropriate-speech-mood.code.text">
      <path value="Observation.component.code.text" />
      <patternString value="Inappropriate speech or mood" />
    </element>
    <element id="Observation.component:inappropriate-speech-mood.value[x]">
      <path value="Observation.component.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.component:inappropriate-speech-mood.value[x]:valueInteger">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueInteger" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="integer" />
      </type>
      <constraint>
        <key value="icdsc-item-range" />
        <severity value="error" />
        <human value="ICDSC item score must be 0 or 1" />
        <expression value="value = 0 or value = 1" />
        <source value="https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score-icdsc" />
      </constraint>
    </element>
    <element id="Observation.component:sleep-wake-disturbance">
      <path value="Observation.component" />
      <sliceName value="sleep-wake-disturbance" />
      <short value="Sleep/wake cycle disturbance" />
      <definition value="Sleeping less than 4 hours or frequent awakening at night, sleeping most of the day" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:sleep-wake-disturbance.code.text">
      <path value="Observation.component.code.text" />
      <patternString value="Sleep/wake cycle disturbance" />
    </element>
    <element id="Observation.component:sleep-wake-disturbance.value[x]">
      <path value="Observation.component.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.component:sleep-wake-disturbance.value[x]:valueInteger">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueInteger" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="integer" />
      </type>
      <constraint>
        <key value="icdsc-item-range" />
        <severity value="error" />
        <human value="ICDSC item score must be 0 or 1" />
        <expression value="value = 0 or value = 1" />
        <source value="https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score-icdsc" />
      </constraint>
    </element>
    <element id="Observation.component:symptom-fluctuation">
      <path value="Observation.component" />
      <sliceName value="symptom-fluctuation" />
      <short value="Symptom fluctuation" />
      <definition value="Fluctuation of manifestation of any item or symptom over 24 hours" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:symptom-fluctuation.code.text">
      <path value="Observation.component.code.text" />
      <patternString value="Symptom fluctuation" />
    </element>
    <element id="Observation.component:symptom-fluctuation.value[x]">
      <path value="Observation.component.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.component:symptom-fluctuation.value[x]:valueInteger">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueInteger" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="integer" />
      </type>
      <constraint>
        <key value="icdsc-item-range" />
        <severity value="error" />
        <human value="ICDSC item score must be 0 or 1" />
        <expression value="value = 0 or value = 1" />
        <source value="https://www.medizininformatik-initiative.de/fhir/ext/modul-icu/StructureDefinition/mii-pr-icu-score-icdsc" />
      </constraint>
    </element>
  </differential>
</StructureDefinition>