<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="fiphr-sd-bloodpressure" />
  <meta>
    <versionId value="7" />
    <lastUpdated value="2023-03-03T10:23:02.9589718+00:00" />
  </meta>
  <url value="http://phr.kanta.fi/StructureDefinition/fiphr-sd-bloodpressure" />
  <version value="1.0.0" />
  <name value="FIPHRSDBloodpressure" />
  <title value="Finnish PHR bloodpressure profile" />
  <status value="active" />
  <experimental value="false" />
  <publisher value="Kela" />
  <description value="Finnish PHR profile for blood pressure measurement" />
  <purpose value="Finnish PHR profile for Observation used in blood pressure measurements.The profile is based on the Finnish PHR observation profile." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Observation" />
  <baseDefinition value="http://phr.kanta.fi/StructureDefinition/fiphr-sd-vitalsigns" />
  <derivation value="constraint" />
  <snapshot />
  <differential>
    <element id="Observation">
      <path value="Observation" />
      <short value="Finnish PHR bloodpressure profile" />
      <definition value="Finnish PHR profile for Observation used in blood pressure measurements. The profile is based on the Finnish PHR observation profile." />
      <comment value="Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used  to provide context for observations such as laboratory reports, etc." />
    </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-bloodpressure" />
    </element>
    <element id="Observation.code.coding">
      <path value="Observation.code.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="code" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.code.coding:fiphrCode">
      <path value="Observation.code.coding" />
      <sliceName value="fiphrCode" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.code.coding:fiphrCode.system">
      <path value="Observation.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Observation.code.coding:fiphrCode.code">
      <path value="Observation.code.coding.code" />
      <short value="FinnishPHR: Code of Blood pressure panel" />
      <comment value="FinnishPHR: Blood pressure (systolic and diastolic -- grouping structure)" />
      <min value="1" />
      <fixedCode value="85354-9" />
    </element>
    <element id="Observation.code.coding:fiphrCode.display">
      <path value="Observation.code.coding.display" />
      <min value="1" />
    </element>
    <element id="Observation.value[x]">
      <path value="Observation.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <short value="Value-element is not used in Finnish PHR Spirometry Blood Pressure Profile although it's not profiled off on the main level." />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element id="Observation.value[x].id">
      <path value="Observation.value[x].id" />
      <max value="0" />
    </element>
    <element id="Observation.value[x].value">
      <path value="Observation.value[x].value" />
      <max value="0" />
    </element>
    <element id="Observation.value[x].comparator">
      <path value="Observation.value[x].comparator" />
      <max value="0" />
    </element>
    <element id="Observation.value[x].unit">
      <path value="Observation.value[x].unit" />
      <max value="0" />
    </element>
    <element id="Observation.value[x].system">
      <path value="Observation.value[x].system" />
      <max value="0" />
    </element>
    <element id="Observation.value[x].code">
      <path value="Observation.value[x].code" />
      <max value="0" />
    </element>
    <element id="Observation.value[x]:valueQuantity">
      <path value="Observation.value[x]" />
      <sliceName value="valueQuantity" />
      <max value="0" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element id="Observation.dataAbsentReason">
      <path value="Observation.dataAbsentReason" />
      <short value="NB! DataAbsentReason-element is not used in Finnish PHR Spirometry Blood Pressure Profile although it's not profiled off on the main level." />
    </element>
    <element id="Observation.dataAbsentReason.id">
      <path value="Observation.dataAbsentReason.id" />
      <max value="0" />
    </element>
    <element id="Observation.dataAbsentReason.coding">
      <path value="Observation.dataAbsentReason.coding" />
      <max value="0" />
    </element>
    <element id="Observation.dataAbsentReason.text">
      <path value="Observation.dataAbsentReason.text" />
      <max value="0" />
    </element>
    <element id="Observation.component">
      <path value="Observation.component" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="code.coding.code" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="2" />
      <max value="2" />
    </element>
    <element id="Observation.component:systolic">
      <path value="Observation.component" />
      <sliceName value="systolic" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:systolic.code.coding">
      <path value="Observation.component.code.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="code" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.component:systolic.code.coding:fiphrCoding">
      <path value="Observation.component.code.coding" />
      <sliceName value="fiphrCoding" />
      <min value="1" />
    </element>
    <element id="Observation.component:systolic.code.coding:fiphrCoding.system">
      <path value="Observation.component.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Observation.component:systolic.code.coding:fiphrCoding.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="8480-6" />
    </element>
    <element id="Observation.component:systolic.code.coding:fiphrCoding.display">
      <path value="Observation.component.code.coding.display" />
      <min value="1" />
    </element>
    <element id="Observation.component:systolic.value[x]">
      <path value="Observation.component.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.component:systolic.value[x]:valueQuantity">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueQuantity" />
      <min value="1" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element id="Observation.component:systolic.value[x]:valueQuantity.value">
      <path value="Observation.component.value[x].value" />
      <short value="Numerical value (with implicit precision) for systolic" />
      <min value="1" />
    </element>
    <element id="Observation.component:systolic.value[x]:valueQuantity.unit">
      <path value="Observation.component.value[x].unit" />
      <short value="Unit representation for systolic" />
      <min value="1" />
      <fixedString value="mm[Hg]" />
    </element>
    <element id="Observation.component:systolic.value[x]:valueQuantity.system">
      <path value="Observation.component.value[x].system" />
      <short value="System that defines coded unit form for systolic" />
      <min value="1" />
      <fixedUri value="http://unitsofmeasure.org" />
    </element>
    <element id="Observation.component:systolic.value[x]:valueQuantity.code">
      <path value="Observation.component.value[x].code" />
      <min value="1" />
      <fixedCode value="mm[Hg]" />
    </element>
    <element id="Observation.component:systolic.dataAbsentReason.coding">
      <path value="Observation.component.dataAbsentReason.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.component:systolic.interpretation.coding">
      <path value="Observation.component.interpretation.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.component:diastolic">
      <path value="Observation.component" />
      <sliceName value="diastolic" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:diastolic.code.coding">
      <path value="Observation.component.code.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="code" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.component:diastolic.code.coding:fiphrCoding">
      <path value="Observation.component.code.coding" />
      <sliceName value="fiphrCoding" />
      <min value="1" />
    </element>
    <element id="Observation.component:diastolic.code.coding:fiphrCoding.system">
      <path value="Observation.component.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Observation.component:diastolic.code.coding:fiphrCoding.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
      <fixedCode value="8462-4" />
    </element>
    <element id="Observation.component:diastolic.code.coding:fiphrCoding.display">
      <path value="Observation.component.code.coding.display" />
      <min value="1" />
    </element>
    <element id="Observation.component:diastolic.value[x]">
      <path value="Observation.component.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.component:diastolic.value[x]:valueQuantity">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueQuantity" />
      <min value="1" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element id="Observation.component:diastolic.value[x]:valueQuantity.value">
      <path value="Observation.component.value[x].value" />
      <short value="Numerical value (with implicit precision)  for diastolic" />
      <min value="1" />
    </element>
    <element id="Observation.component:diastolic.value[x]:valueQuantity.unit">
      <path value="Observation.component.value[x].unit" />
      <short value="Unit representation for diastolic" />
      <min value="1" />
      <fixedString value="mm[Hg]" />
    </element>
    <element id="Observation.component:diastolic.value[x]:valueQuantity.system">
      <path value="Observation.component.value[x].system" />
      <short value="System that defines coded unit form  for diastolic" />
      <min value="1" />
      <fixedUri value="http://unitsofmeasure.org" />
    </element>
    <element id="Observation.component:diastolic.value[x]:valueQuantity.code">
      <path value="Observation.component.value[x].code" />
      <min value="1" />
      <fixedCode value="mm[Hg]" />
    </element>
    <element id="Observation.component:diastolic.dataAbsentReason.coding">
      <path value="Observation.component.dataAbsentReason.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.component:diastolic.interpretation.coding">
      <path value="Observation.component.interpretation.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
  </differential>
</StructureDefinition>