<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="fiphr-sd-macronutrientintake" />
  <meta>
    <versionId value="3" />
    <lastUpdated value="2023-11-20T12:44:58.8875245+00:00" />
  </meta>
  <url value="http://phr.kanta.fi/StructureDefinition/fiphr-sd-macronutrientintake" />
  <version value="1.0.0" />
  <name value="FIPHRSDMacronutrientIntake" />
  <title value="Finnish PHR Macronutrient Intake profile" />
  <status value="active" />
  <experimental value="false" />
  <date value="2023-03-02T10:03:49.8131992+00:00" />
  <publisher value="Kela" />
  <description value="Finnish PHR profile for Macronutrient Intake observation resource" />
  <purpose value="Finnish PHR profile for Observation used for measuring Macronutrient intake. The profile is based on the Finnish PHR Nutrition profile." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Observation" />
  <baseDefinition value="http://phr.kanta.fi/StructureDefinition/fiphr-sd-nutrition" />
  <derivation value="constraint" />
  <snapshot />
  <differential>
    <element id="Observation">
      <path value="Observation" />
      <short value="Finnish PHR profile for Macronutrient Intake observation resource" />
      <definition value="Finnish PHR profile for Observation used for measuring Macronutrient intake. The profile is based on the Finnish PHR Nutrition profile." />
      <constraint>
        <key value="PHR" />
        <severity value="error" />
        <human value="Resource SHALL contain code '9059-7' or '9060-5' or '9066-2' or '9067-0' or '9079-5' or '9080-3'" />
        <expression value="(code.coding.where(code='9059-7').exists()) or (code.coding.where(code='9060-5').exists()) or (code.coding.where(code='9066-2').exists()) or (code.coding.where(code='9067-0').exists()) or (code.coding.where(code='9079-5').exists()) or (code.coding.where(code='9080-3').exists())" />
      </constraint>
    </element>
    <element id="Observation.meta">
      <path value="Observation.meta" />
    </element>
    <element id="Observation.meta.profile">
      <path value="Observation.meta.profile" />
    </element>
    <element id="Observation.meta.profile:fiphrProfile">
      <path value="Observation.meta.profile" />
      <sliceName value="fiphrProfile" />
      <fixedCanonical value="http://phr.kanta.fi/StructureDefinition/fiphr-sd-macronutrientintake" />
    </element>
    <element id="Observation.code">
      <path value="Observation.code" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://phr.kanta.fi/ValueSet/fiphr-vs-macronutrients" />
      </binding>
    </element>
    <element id="Observation.effective[x]">
      <path value="Observation.effective[x]" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="Observation.value[x]">
      <path value="Observation.value[x]" />
      <min value="1" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element id="Observation.value[x].value">
      <path value="Observation.value[x].value" />
      <min value="1" />
    </element>
    <element id="Observation.value[x].unit">
      <path value="Observation.value[x].unit" />
      <min value="1" />
      <fixedString value="g" />
    </element>
    <element id="Observation.value[x].system">
      <path value="Observation.value[x].system" />
      <min value="1" />
      <fixedUri value="http://unitsofmeasure.org" />
    </element>
    <element id="Observation.value[x].code">
      <path value="Observation.value[x].code" />
      <min value="1" />
    </element>
  </differential>
</StructureDefinition>