<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="hddt-blood-pressure-value" />
  <url value="https://gematik.de/fhir/hddt/StructureDefinition/hddt-blood-pressure-value" />
  <name value="HddtBloodPressureValue" />
  <title value="Observation - HDDT Blood Pressure Value" />
  <status value="active" />
  <date value="2026-01-23" />
  <publisher value="gematik GmbH" />
  <description value="Profile for capturing blood pressure value as FHIR Observation resources.&#xA;&#xA;This profile defines the exchange of blood pressure value data for the Mandatory Interoperable Value (MIV) \&quot;Blood Pressure Monitoring\&quot; which is technically defined &#xA;by the ValueSet _hddt-miv-blood-pressure-value_. This MIV is e.g. implemented by automated sphygmomanometers (oszillometric, auscultatory) that can connect to &#xA;a Personal Health Gateway (e.g. a mobile app for tracking blood pressure values) through wireless communication.&#xA;&#xA;Blood pressure measurements consist of multiple components: systolic blood pressure, diastolic blood pressure, and optionally mean blood pressure. &#xA;This profile uses the LOINC panel code #85354-9 &quot;Blood pressure panel with all children optional&quot; defined in the MIV _hddt-miv-blood-pressure-value_ to represent the complete measurement.&#xA;&#xA;**Obligations and Conventions:**&#xA;&#xA;Each Blood Pressure Measurement MUST hold a reference to a _Personal Health Device_ [Device](https://hl7.org/fhir/R4/device.html) resource. &#xA;Blood pressure devices typically do not require calibration.&#xA;&#xA;This profile inherits from the FHIR Blood Pressure profile (`http://hl7.org/fhir/StructureDefinition/bp`) and adds HDDT-specific constraints. The blood pressure components &#xA;(systolic and diastolic are mandatory; mean is optional) are inherited from the parent profile with the MeanBP component added as an optional slice.&#xA;Each component MUST include a value in mmHg (millimeters of mercury).&#xA;&#xA;Caution: For privacy and data protection, the subject reference MUST only use pseudonymized or anonymized identifiers. Direct patient identification is not permitted.&#xA;&#xA;**Constraints applied:**  &#xA;- `status` is restricted to _final_&#xA;- `code.coding[BPCode]` is constrained to ValueSet HddtMivBloodPressureValue containing LOINC panel code 85354-9&#xA;- `component` cardinality is set to 2..3 to require systolic and diastolic components (inherited from parent), with mean blood pressure as optional&#xA;- `component[MeanBP]` is added as an optional slice (0..1) for mean blood pressure with LOINC code 8478-0&#xA;- Each component's `valueQuantity` MUST use UCUM code mm[Hg] for the unit&#xA;- `device` is mandatory and restricted to reference only HddtPersonalHealthDevice" />
  <copyright value="Copyright (c) 2025 gematik GmbH" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Observation" />
  <baseDefinition value="http://fhir.de/StructureDefinition/observation-de-vitalsign-blutdruck" />
  <derivation value="constraint" />
  <differential>
    <element id="Observation.status">
      <path value="Observation.status" />
      <short value="Measurement status" />
      <definition value="The status of the measurements is fixed to 'final'. Only verified and complete measurements with a valid value are represented." />
      <fixedCode value="final" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code">
      <path value="Observation.code" />
      <short value="Type of blood pressure measurement" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ObservationCode" />
        </extension>
        <strength value="example" />
        <description value="Specifies the type of blood pressure measurement using codes from the ValueSet for blood pressure measurements." />
        <valueSet value="http://hl7.org/fhir/ValueSet/observation-codes" />
      </binding>
    </element>
    <element id="Observation.code.coding:loinc">
      <path value="Observation.code.coding" />
      <sliceName value="loinc" />
      <binding>
        <strength value="required" />
        <valueSet value="https://gematik.de/fhir/hddt/ValueSet/hddt-miv-blood-pressure-value" />
      </binding>
    </element>
    <element id="Observation.code.coding:snomed">
      <path value="Observation.code.coding" />
      <sliceName value="snomed" />
      <max value="0" />
    </element>
    <element id="Observation.subject">
      <path value="Observation.subject" />
      <short value="Patient reference in anonymized or pseudonymized form only" />
      <definition value="Reference to the patient. The patient MUST NOT be identified directly. Only anonymized or pseudonymized forms are permitted." />
    </element>
    <element id="Observation.device">
      <path value="Observation.device" />
      <short value="Reference to the blood pressure measurement device" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://gematik.de/fhir/hddt/StructureDefinition/hddt-personal-health-device" />
      </type>
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>