<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="zib-SNAQrcScore" />
  <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-SNAQrcScore" />
  <name value="ZibSNAQrcScore" />
  <title value="zib SNAQrcScore" />
  <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 Short Nutritional Assessment Questionnaire for Residential Care (SNAQ rc is a (validated) measuring tool for determining the extent of a patient’s malnutrition. The tool comprises three questions, each of which is assigned a score. The total score determines the extent of malnutrition.&#xD;&#xA;The SNAQrc helps to recognize and treat malnutrition at an early stage.&#xD;&#xA;Four varieties of the measuring tool were developed for different care settings: hospitals (adults &amp; children), nursing and retirement homes and independently living seniors. This concept describes the tool intended for the nursing and retirement homes setting." />
  <purpose value="This Observation resource represents the Dutch [zib ('Zorginformatiebouwsteen', i.e. Health and Care Information Model) SNAQrcScore v1.1 (2020)](https://zibs.nl/wiki/SNAQrcScore-v1.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-snaqrcscore-v1.1-2020EN" />
    <uri value="https://zibs.nl/wiki/SNAQrcScore-v1.1(2020EN)" />
    <name value="zib SNAQrcScore-v1.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="SNAQrcScore" />
      <alias value="SNAQrcScore" />
      <constraint>
        <key value="zib-SNAQrcScore-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('4029003'|'4029004'|'4029005'|'4029008')).count().subsetOf(0|4)" />
      </constraint>
      <constraint>
        <key value="zib-SNAQrcScore-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('4029003'|'4029004'|'4029005'|'4029008')).count()=4" />
      </constraint>
      <mapping>
        <identity value="zib-snaqrcscore-v1.1-2020EN" />
        <map value="NL-CM:4.29.1" />
        <comment value="SNAQrcScore" />
      </mapping>
    </element>
    <element id="Observation.code">
      <path value="Observation.code" />
      <patternCodeableConcept>
        <coding>
          <system value="http://snomed.info/sct" />
          <code value="108311000146106" />
        </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="SNAQrcScoreDateTime" />
      <definition value="The date and time at which the SNAQrc score was determined." />
      <alias value="SNAQrcScoreDatumTijd" />
      <type>
        <code value="dateTime" />
      </type>
      <mapping>
        <identity value="zib-snaqrcscore-v1.1-2020EN" />
        <map value="NL-CM:4.29.6" />
        <comment value="SNAQrcScoreDateTime" />
      </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. The relation between the value of the total score and the color outcome of the score tool is:&#xD;&#xA;0 = green&#xD;&#xA;1= orange&#xD;&#xA;2 and higher = red." />
      <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-SNAQrcScore-2" />
      <mapping>
        <identity value="zib-snaqrcscore-v1.1-2020EN" />
        <map value="NL-CM:4.29.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-snaqrcscore-v1.1-2020EN" />
        <map value="NL-CM:4.29.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:weightLossScore">
      <path value="Observation.component" />
      <sliceName value="weightLossScore" />
      <max value="1" />
      <condition value="zib-SNAQrcScore-1" />
      <condition value="zib-SNAQrcScore-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="4029003" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component:weightLossScore.value[x]">
      <path value="Observation.component.value[x]" />
      <short value="WeightLossScore" />
      <definition value="The score based on undesired weight loss over the past month(s)." />
      <alias value="GewichtsverliesScore" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <condition value="zib-SNAQrcScore-1" />
      <condition value="zib-SNAQrcScore-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.29.1--20200901000000" />
      </binding>
      <mapping>
        <identity value="zib-snaqrcscore-v1.1-2020EN" />
        <map value="NL-CM:4.29.3" />
        <comment value="WeightLossScore" />
      </mapping>
    </element>
    <element id="Observation.component:appetiteScore">
      <path value="Observation.component" />
      <sliceName value="appetiteScore" />
      <max value="1" />
      <condition value="zib-SNAQrcScore-1" />
      <condition value="zib-SNAQrcScore-2" />
    </element>
    <element id="Observation.component:appetiteScore.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="4029004" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component:appetiteScore.value[x]">
      <path value="Observation.component.value[x]" />
      <short value="AppetiteScore" />
      <definition value="The score based on a reduced appetite over the past month." />
      <alias value="EetlustScore" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <condition value="zib-SNAQrcScore-1" />
      <condition value="zib-SNAQrcScore-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.29.2--20200901000000" />
      </binding>
      <mapping>
        <identity value="zib-snaqrcscore-v1.1-2020EN" />
        <map value="NL-CM:4.29.4" />
        <comment value="AppetiteScore" />
      </mapping>
    </element>
    <element id="Observation.component:bmiScore">
      <path value="Observation.component" />
      <sliceName value="bmiScore" />
      <max value="1" />
      <condition value="zib-SNAQrcScore-1" />
      <condition value="zib-SNAQrcScore-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="4029005" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component:bmiScore.value[x]">
      <path value="Observation.component.value[x]" />
      <short value="BMIScore" />
      <definition value="The score based on the BMI of the patient. For a BMI &gt;28 (overweight) the score is not applicable." />
      <alias value="BMIScore" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <condition value="zib-SNAQrcScore-1" />
      <condition value="zib-SNAQrcScore-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.29.3--20200901000000" />
      </binding>
      <mapping>
        <identity value="zib-snaqrcscore-v1.1-2020EN" />
        <map value="NL-CM:4.29.5" />
        <comment value="BMIScore" />
      </mapping>
    </element>
    <element id="Observation.component:assistedEating">
      <path value="Observation.component" />
      <sliceName value="assistedEating" />
      <max value="1" />
      <condition value="zib-SNAQrcScore-1" />
      <condition value="zib-SNAQrcScore-2" />
    </element>
    <element id="Observation.component:assistedEating.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="4029008" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component:assistedEating.value[x]">
      <path value="Observation.component.value[x]" />
      <short value="AssistedEating" />
      <definition value="The score based on the ability of the patient to eat and drink without assistance." />
      <alias value="HulpBijEten" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <condition value="zib-SNAQrcScore-1" />
      <condition value="zib-SNAQrcScore-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.29.4--20200901000000" />
      </binding>
      <mapping>
        <identity value="zib-snaqrcscore-v1.1-2020EN" />
        <map value="NL-CM:4.29.8" />
        <comment value="AssistedEating" />
      </mapping>
    </element>
  </differential>
</StructureDefinition>