<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="cyehr-sd-bloodpressure" />
  <url value="http://ig.ehealth4u.eu/fhir/StructureDefinition/cyehr-sd-bloodpressure" />
  <name value="CYEHRSDBloodPressure" />
  <title value="Cyprus EHR Body Blood Pressure profile" />
  <status value="draft" />
  <publisher value="eHealth4U" />
  <contact>
    <name value="eHealth Lab (University of Cyprus)" />
    <telecom>
      <system value="email" />
      <value value="ehealthl@ucy.ac.cy" />
      <use value="work" />
    </telecom>
  </contact>
  <description value="CyprusEHR: This profile describes the blood pressure of a patient. Here we have two components: one for the systolic blood pressure and one for the diastolic blood pressure." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Observation" />
  <baseDefinition value="http://ig.ehealth4u.eu/fhir/StructureDefinition/cyehr-sd-vitalsigns" />
  <derivation value="constraint" />
  <differential>
    <element id="Observation.meta">
      <path value="Observation.meta" />
    </element>
    <element id="Observation.meta.profile">
      <path value="Observation.meta.profile" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.meta.profile:CyprusEHRProfile">
      <path value="Observation.meta.profile" />
      <sliceName value="CyprusEHRProfile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="http://ig.ehealth4u.eu/fhir/StructureDefinition/cyehr-sd-bloodpressure" />
    </element>
    <element id="Observation.code">
      <path value="Observation.code" />
      <short value="Blood Pressure" />
      <definition value="Blood Pressure." />
      <comment value="Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.&#xD;&#xA;&#xD;&#xA;CyprusEHR: display: &quot;Blood pressure panel with all children optional&quot;" />
      <patternCodeableConcept>
        <coding>
          <system value="http://loinc.org" />
          <code value="85354-9" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.code.coding">
      <path value="Observation.code.coding" />
      <comment value="Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.&#xD;&#xA;&#xD;&#xA;CyprusEHR: display: &quot;Blood pressure panel with all children optional&quot;" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component">
      <path value="Observation.component" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="code" />
        </discriminator>
        <description value="CyprusEHR: Here we have two components: one for the systolic blood pressure and one for the diastolic blood pressure." />
        <rules value="open" />
      </slicing>
      <min value="2" />
    </element>
    <element id="Observation.component:SystolicBP">
      <path value="Observation.component" />
      <sliceName value="SystolicBP" />
      <comment value="additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system." />
      <alias value="Component Test" />
      <alias value="Component Name" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:SystolicBP.code">
      <path value="Observation.component.code" />
      <comment value="Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.&#xD;&#xA;&#xD;&#xA;CyprusEHR: display: &quot;Systolic blood pressure&quot;" />
      <patternCodeableConcept>
        <coding>
          <system value="http://loinc.org" />
          <code value="8480-6" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component:SystolicBP.code.coding">
      <path value="Observation.component.code.coding" />
      <short value="Systolic Blood Pressure" />
      <definition value="Systolic Blood Pressure." />
    </element>
    <element id="Observation.component:SystolicBP.value[x]">
      <path value="Observation.component.value[x]" />
      <min value="1" />
      <type>
        <code value="Quantity" />
      </type>
      <patternQuantity>
        <unit value="mm[Hg]" />
        <system value="http://unitsofmeasure.org" />
        <code value="mm[Hg]" />
      </patternQuantity>
    </element>
    <element id="Observation.component:DiastolicBP">
      <path value="Observation.component" />
      <sliceName value="DiastolicBP" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component:DiastolicBP.code">
      <path value="Observation.component.code" />
      <comment value="additional codes that translate or map to this code are allowed.  For example a more granular LOINC code or code that is used locally in a system.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;CyprusEHR: display: &quot;Diastolic blood pressure&quot;" />
      <patternCodeableConcept>
        <coding>
          <system value="http://loinc.org" />
          <code value="8462-4" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component:DiastolicBP.code.coding">
      <path value="Observation.component.code.coding" />
      <short value="Diastolic Blood Pressure" />
      <definition value="Diastolic Blood Pressure." />
    </element>
    <element id="Observation.component:DiastolicBP.value[x]">
      <path value="Observation.component.value[x]" />
      <min value="1" />
      <type>
        <code value="Quantity" />
      </type>
      <patternQuantity>
        <unit value="mm[Hg]" />
        <system value="http://unitsofmeasure.org" />
        <code value="mm[Hg]" />
      </patternQuantity>
    </element>
  </differential>
</StructureDefinition>