<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="zib-MUSTScore" />
  <text>
    <status value="empty" />
    <div xmlns="http://www.w3.org/1999/xhtml">No narrative is provided for definitional resources. A human-readable rendering can be found in the implementation guide(s) where this resource is used.</div>
  </text>
  <url value="http://nictiz.nl/fhir/StructureDefinition/zib-MUSTScore" />
  <name value="ZibMUSTScore" />
  <title value="zib MUSTScore" />
  <status value="draft" />
  <publisher value="Nictiz" />
  <contact>
    <name value="Nictiz" />
    <telecom>
      <system value="url" />
      <value value="https://www.nictiz.nl" />
      <use value="work" />
    </telecom>
  </contact>
  <description value="The Malnutrition Universal Screening Tool (MUST) is a (validated) diagnostic screening tool for determining the extent of a patient’s malnutrition.&#xD;&#xA;For this screening tool, every patient’s Body Mass Index (BMI) and&#xD;&#xA;weight loss percentage is calculated, after which the patient is assigned a disease factor. The MUST helps to recognize and treat malnutrition at an early stage.&#xD;&#xA;&#xD;&#xA;(Source: Guidelines for Screening and Treating Malnutrition.)" />
  <purpose value="This Observation resource represents the Dutch [zib ('Zorginformatiebouwsteen', i.e. Health and Care Information Model) MUSTScore v3.1 (2020)](https://zibs.nl/wiki/MUSTScore-v3.1(2020EN))." />
  <copyright value="Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise." />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="zib-mustscore-v3.1-2020EN" />
    <uri value="https://zibs.nl/wiki/MUSTScore-v3.1(2020EN)" />
    <name value="zib MUSTScore-v3.1(2020EN)" />
  </mapping>
  <kind value="resource" />
  <abstract value="true" />
  <type value="Observation" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Observation" />
  <derivation value="constraint" />
  <differential>
    <element id="Observation">
      <path value="Observation" />
      <short value="MUSTScore" />
      <alias value="MUSTScore" />
      <constraint>
        <key value="zib-MUSTScore-1" />
        <severity value="error" />
        <human value="If one of the component codes is present, all SHALL be present." />
        <expression value="component.where(code.coding.system='urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.0.1' and code.coding.code.subsetOf('4005003'|'4005004'|'4005005')).count().subsetOf(0|3)" />
      </constraint>
      <constraint>
        <key value="zib-MUSTScore-2" />
        <severity value="error" />
        <human value="If the component codes are not all present, the value SHALL be present." />
        <expression value="value.empty().not() or component.where(code.coding.system='urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.0.1' and code.coding.code.subsetOf('4005003'|'4005004'|'4005005')).count()=3" />
      </constraint>
      <mapping>
        <identity value="zib-mustscore-v3.1-2020EN" />
        <map value="NL-CM:4.5.1" />
        <comment value="MUSTScore" />
      </mapping>
    </element>
    <element id="Observation.code">
      <path value="Observation.code" />
      <patternCodeableConcept>
        <coding>
          <system value="http://snomed.info/sct" />
          <code value="414648004" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.effective[x]">
      <path value="Observation.effective[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.effective[x]:effectiveDateTime">
      <path value="Observation.effective[x]" />
      <sliceName value="effectiveDateTime" />
      <short value="MUSTScoreDateTime" />
      <definition value="The date and time at which the MUST score was determined." />
      <alias value="MUSTScoreDatumTijd" />
      <type>
        <code value="dateTime" />
      </type>
      <mapping>
        <identity value="zib-mustscore-v3.1-2020EN" />
        <map value="NL-CM:4.5.6" />
        <comment value="MUSTScoreDateTime" />
      </mapping>
    </element>
    <element id="Observation.value[x]">
      <path value="Observation.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.value[x]:valueInteger">
      <path value="Observation.value[x]" />
      <sliceName value="valueInteger" />
      <short value="TotalScore" />
      <definition value="The total score is the sum of all the individual scores. The total score has a range from 0 - 6." />
      <comment value="The individual scores are communicated using the different `Observation.component` slices. The ordinal values of these indivdual scores, which are used to calculate the total score, are defined by the underlying code system and are registered in the ValueSet resources bound on these slices, using the [ordinalValue](http://hl7.org/fhir/StructureDefinition/ordinalValue) extension." />
      <alias value="TotaalScore" />
      <type>
        <code value="integer" />
      </type>
      <minValueInteger value="0" />
      <maxValueInteger value="6" />
      <condition value="zib-MUSTScore-2" />
      <mapping>
        <identity value="zib-mustscore-v3.1-2020EN" />
        <map value="NL-CM:4.5.2" />
        <comment value="TotalScore" />
      </mapping>
    </element>
    <element id="Observation.note">
      <path value="Observation.note" />
      <max value="1" />
    </element>
    <element id="Observation.note.text">
      <path value="Observation.note.text" />
      <short value="Comment" />
      <definition value="A comment on the circumstances during the measurement." />
      <alias value="Toelichting" />
      <mapping>
        <identity value="zib-mustscore-v3.1-2020EN" />
        <map value="NL-CM:4.5.7" />
        <comment value="Comment" />
      </mapping>
    </element>
    <element id="Observation.component">
      <path value="Observation.component" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="code" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.component:bmiScore">
      <path value="Observation.component" />
      <sliceName value="bmiScore" />
      <max value="1" />
      <condition value="zib-MUSTScore-1" />
      <condition value="zib-MUSTScore-2" />
    </element>
    <element id="Observation.component:bmiScore.code">
      <path value="Observation.component.code" />
      <patternCodeableConcept>
        <coding>
          <system value="urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.0.1" />
          <code value="4005003" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component:bmiScore.value[x]">
      <path value="Observation.component.value[x]" />
      <short value="BMIScore" />
      <definition value="A person’s Body Mass Index (BMI), also known as their Quetelet index (QI), is an index indicating the ratio between a person’s height and weight. This BMI is expressed in kg/m2." />
      <alias value="BMIScore" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <condition value="zib-MUSTScore-1" />
      <condition value="zib-MUSTScore-2" />
      <binding>
        <strength value="required" />
        <valueSet value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.4.5.1--20200901000000" />
      </binding>
      <mapping>
        <identity value="zib-mustscore-v3.1-2020EN" />
        <map value="NL-CM:4.5.3" />
        <comment value="BMIScore" />
      </mapping>
    </element>
    <element id="Observation.component:weightLossScore">
      <path value="Observation.component" />
      <sliceName value="weightLossScore" />
      <max value="1" />
      <condition value="zib-MUSTScore-1" />
      <condition value="zib-MUSTScore-2" />
    </element>
    <element id="Observation.component:weightLossScore.code">
      <path value="Observation.component.code" />
      <patternCodeableConcept>
        <coding>
          <system value="urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.0.1" />
          <code value="4005004" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component:weightLossScore.value[x]">
      <path value="Observation.component.value[x]" />
      <short value="WeightLossScore" />
      <definition value="The percentage of undesired weight loss over the past 3-6 months." />
      <alias value="GewichtsverliesScore" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <condition value="zib-MUSTScore-1" />
      <condition value="zib-MUSTScore-2" />
      <binding>
        <strength value="required" />
        <valueSet value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.4.5.2--20200901000000" />
      </binding>
      <mapping>
        <identity value="zib-mustscore-v3.1-2020EN" />
        <map value="NL-CM:4.5.4" />
        <comment value="WeightLossScore" />
      </mapping>
    </element>
    <element id="Observation.component:illnessScore">
      <path value="Observation.component" />
      <sliceName value="illnessScore" />
      <max value="1" />
      <condition value="zib-MUSTScore-1" />
      <condition value="zib-MUSTScore-2" />
    </element>
    <element id="Observation.component:illnessScore.code">
      <path value="Observation.component.code" />
      <patternCodeableConcept>
        <coding>
          <system value="urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.0.1" />
          <code value="4005005" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component:illnessScore.value[x]">
      <path value="Observation.component.value[x]" />
      <short value="IllnessScore" />
      <definition value="Illness can result in reduced food intake, leading to a higher risk of malnutrition. &#xD;&#xA;The IllnessScore concept is used to indicate that the patient is seriously ill and that the patient has not eaten for more than 5 days or that there is a chance that the patient has not eaten for more than 5 days." />
      <alias value="ZiekteScore" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <condition value="zib-MUSTScore-1" />
      <condition value="zib-MUSTScore-2" />
      <binding>
        <strength value="required" />
        <valueSet value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.4.5.3--20200901000000" />
      </binding>
      <mapping>
        <identity value="zib-mustscore-v3.1-2020EN" />
        <map value="NL-CM:4.5.5" />
        <comment value="IllnessScore" />
      </mapping>
    </element>
  </differential>
</StructureDefinition>