Health Device Data Transfer
Version 1.0.0-rc2 - release

Specification of health data transfer from devices to DiGA (§ 374a SGB V)

MIV - Blood Pressure Measurement

This chapter provides obligations and hints for manufacturers of Device Data Recorders for implementing a FHIR Resource Server for the Mandatory Interoperable Value (MIV) Blood Pressure Monitoring. For an overview of this MIV including typical use cases and key values, see the Blood Pressure Monitoring domain chapter.

This chapter builds on the HDDT Information Model, the HDDT Generic FHIR API, and the HDDT guide for retrieving device data. It constraints these guidelines with respect to the specific requirements for exposing blood pressure monitoring to DiGA, including:

Implementation Duties for Manufacturers of Device Data Recorders

Manufacturers of Device Data Recorders that support the MIV Blood Pressure Monitoring

  • MUST implement all requirements expressed through the RFC 2119 keywords defined in Conventions - Use of Keywords. These keywords (MUST, SHOULD, MAY, etc.) are used throughout the entire specification to indicate normative requirements.
  • MUST implement and operate a FHIR Resource Server as defined in this chapter,
  • MUST implement and operate an OAuth2 Authorization Server,
  • MUST register the Device Data Recorder with its FHIR Resource Server and OAuth2 Authorization Server at the BfARM HIIS-VZ (BfArM Device Registry),
  • MUST consider the HDDT requirements on security, privacy and operational service levels.

Further obligations MAY be defined by gematik and BfArM as part of the upcoming processes for conformance validation and registration.

FHIR Resource Server

The Device Data Recorder’s FHIR Resource Server gives DiGA access to measured data and related information about devices and device metrics. A Device Data Recorder’s FHIR Resource Server that serves the MIV Blood Pressure Monitoring MUST implement the following endpoints and profiles:

  • retrieval of the Resource Server’s CapabilityStatement through a /metadata endpoint.
  • HDDT common RESTful interactions on a Device endpoint that implements the HDDT Personal Health Device profile. These interactions are common for all MIVs. The full specification of the interactions can be found here.
  • MIV-specific interactions on an Observation endpoint that implements the HDDT Blood Pressure Value profile. These interactions and the underlying profile are specific for implementing the MIV Blood Pressure Monitoring. The full specifications are given below.

The figure below shows the adaption of the HDDT Information Model for the MIV Blood Pressure Monitoring. Elements denoted as [1..1] are mandatory or MS for the MIV Blood Pressure Monitoring (see Use of HL7 FHIR).

Profiling of the HDDT Information Model for the MIV Blood Pressure MonitoringDevice Data Recorder ManufacturerRepository for gematik FHIR IGsHIIS-VZ (Device Registry at BfArM)MIV Definitions (ZTS)«FHIR Observation»Blood Pressure Valuestatus = finalcode : 85354-9 Blood pressure panel with all children optional [1..1]effectiveDateTime : date and time of the measurement [1..1]«FHIR Observation Component»Systolic Blood Pressurecode : 8480-6 Systolic blood pressure [1..1]valueQuantity.value : quantity value [1..1]valueQuantity.system = UCUMvalueQuantity.code = mm[Hg]«FHIR Observation Component»Diastolic Blood Pressurecode : 8462-4 Diastolic blood pressure [1..1]valueQuantity.value : quantity value [1..1]valueQuantity.system = UCUMvalueQuantity.code = mm[Hg]«FHIR Observation Component»Mean Blood Pressurecode : 8478-0 Mean blood pressure [1..1]valueQuantity.value : quantity value [1..1]valueQuantity.system = UCUMvalueQuantity.code = mm[Hg]«FHIR Device»Personal Health Devicetype : machine-readable device type [0..1]deviceName : product name [0..1]manufacturer : name of the manufacturer [0..1]serialNumber : serial number [0..1]expirationDate : end of life date [0..1]«FHIR StructureDefinition»Observation - Blood Pressure Monitoringname = "HddtBloodPressureValue"type = ObservationbaseDefinition = «FHIR Observation»derivation = constraint«FHIR DeviceDefinition»Personal Health Device Definitiontype : kind of device «SCT code» [1..1]deviceName : product name [1..1]manufacturer : name of the manufacturer [0..1]«FHIR ValueSet»VS MIV Blood Glucose Measurementurl = " https://gematik.de/fhir/hddt/ValueSet/hddt-miv-blood-pressure-value"version = "1.0.0"title = "ValueSet - Blood Pressure Value from LOINC"name = "HddtMivBloodPressureValue"description = "LOINC codes for blood pressure measurements"compose.include = 8480-6|LOINC, 8462-4|LOINC, ...component:SystolicBP [1..1]component:DiastolicBP [1..1]component:MeanBP [0..1]device [1..1]0..1definitionimplementsdefinesincluded with
Figure: Profiling of the HDDT Information Model for the MIV Blood Pressure Monitoring


All interactions on HDDT-specific endpoints require that the requestor presents a valid Access Token that was issued by the Device Data Recorder’s OAuth2 Authorization Server (see Pairing for details). The authorization of the request follows the principles defined for HDDT Smart Scopes. For the MIV Blood Pressure Monitoring only the following scopes MUST be set:

patient/Observation.rs?code:in=https://gematik.de/fhir/hddt/ValueSet/hddt-miv-blood-pressure-value
patient/Device.rs

Observation Profile HDDT Blood Pressure Monitoring

This section discusses the HDDT Blood Pressure Monitoring profile, which constrains the FHIR Observation resource for representing blood pressure monitoring. For the full normative specification of this profile see the respective StructureDefinition.

Snapshot View of the Profile

Profile: Observation - HDDT Blood Pressure Value

This structure is derived from VitalSignDE_Blutdruck

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* VitalSignDE_Blutdruck Measurements and simple assertions
Constraints: obs-6, obs-7, vs-de-2
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code Measurement status
Binding: ObservationStatus (required): Codes providing the status of an observation.
Fixed Value: final
.... category:VSCat 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: vital-signs
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
... code Σ 1..1 CodeableConcept Type of blood pressure measurement
Binding: LOINCCodes (example): Specifies the type of blood pressure measurement using codes from the ValueSet for blood pressure measurements.
.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:$this
..... coding:loinc Σ 1..1 Coding Code defined by a terminology system
Binding: Blood Pressure Value from LOINC (required)

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 85354-9
...... display 0..1 string Representation defined by the system
...... userSelected 0..1 boolean If this coding was chosen directly by the user
...... system Σ 1..1 uri Identity of the terminology system
...... code Σ 1..1 code Symbol in syntax defined by the system
... subject Σ 1..1 Reference(Patient) Patient reference in anonymized or pseudonymized form only
... effective[x] ΣC 1..1 Clinically relevant time/time-period for observation
Constraints: vs-de-1
.... effectiveDateTime dateTime
.... effectivePeriod Period
... device S 1..1 Reference(Device – Personal Health Device) Reference to the blood pressure measurement device
... Slices for component ΣC 2..* BackboneElement Component results
Slice: Unordered, Open by pattern:code
Constraints: vs-de-3
.... component:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
..... Slices for value[x] Σ 0..1 Actual component result
Slice: Unordered, Open by type:$this
...... valueQuantity Quantity
...... valueCodeableConcept CodeableConcept
...... valueString string
...... valueBoolean boolean
...... valueInteger integer
...... valueRange Range
...... valueRatio Ratio
...... valueSampledData SampledData
...... valueTime time
...... valueDateTime dateTime
...... valuePeriod Period
...... value[x]:valueQuantity Σ 0..1 Quantity Actual component result
....... value Σ 1..1 decimal Numerical value (with implicit precision)
....... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
....... unit Σ 1..1 string Unit representation
....... system ΣC 1..1 uri System that defines coded unit form
Required Pattern: http://unitsofmeasure.org
....... code Σ 1..1 code Coded form of the unit
.... component:SystolicBP ΣC 1..1 BackboneElement Component results
Constraints: vs-de-3
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 8480-6
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... Slices for value[x] SΣ 0..1 Quantity Actual component result
Slice: Unordered, Closed by type:$this
...... value[x]:valueQuantity SΣ 0..1 Quantity Actual component result
Required Pattern: At least the following
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... value 0..1 decimal Numerical value (with implicit precision)
....... comparator 0..1 code < | <= | >= | > - how to understand the value
....... unit 0..1 string Unit representation
....... system 1..1 uri System that defines coded unit form
Fixed Value: http://unitsofmeasure.org
....... code 1..1 code Coded form of the unit
Fixed Value: mm[Hg]
....... value Σ 1..1 decimal Numerical value (with implicit precision)
....... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
....... unit Σ 1..1 string Unit representation
....... system ΣC 1..1 uri System that defines coded unit form
Required Pattern: http://unitsofmeasure.org
....... code Σ 1..1 code Coded form of the unit
.... component:DiastolicBP ΣC 1..1 BackboneElement Component results
Constraints: vs-de-3
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 8462-4
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... Slices for value[x] SΣ 0..1 Quantity Actual component result
Slice: Unordered, Closed by type:$this
...... value[x]:valueQuantity SΣ 0..1 Quantity Actual component result
Required Pattern: At least the following
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... value 0..1 decimal Numerical value (with implicit precision)
....... comparator 0..1 code < | <= | >= | > - how to understand the value
....... unit 0..1 string Unit representation
....... system 1..1 uri System that defines coded unit form
Fixed Value: http://unitsofmeasure.org
....... code 1..1 code Coded form of the unit
Fixed Value: mm[Hg]
....... value Σ 1..1 decimal Numerical value (with implicit precision)
....... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
....... unit Σ 1..1 string Unit representation
....... system ΣC 1..1 uri System that defines coded unit form
Required Pattern: http://unitsofmeasure.org
....... code Σ 1..1 code Coded form of the unit
.... component:meanBP ΣC 0..1 BackboneElement Component results
Constraints: vs-de-3
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 8478-0
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... Slices for value[x] Σ 0..1 Quantity Actual component result
Slice: Unordered, Open by type:$this
...... value[x]:valueQuantity Σ 0..1 Quantity Actual component result
Required Pattern: At least the following
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... value 0..1 decimal Numerical value (with implicit precision)
....... comparator 0..1 code < | <= | >= | > - how to understand the value
....... unit 0..1 string Unit representation
....... system 1..1 uri System that defines coded unit form
Fixed Value: http://unitsofmeasure.org
....... code 1..1 code Coded form of the unit
Fixed Value: mm[Hg]
....... value Σ 1..1 decimal Numerical value (with implicit precision)
....... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
....... unit Σ 1..1 string Unit representation
....... system ΣC 1..1 uri System that defines coded unit form
Required Pattern: http://unitsofmeasure.org
....... code Σ 1..1 code Coded form of the unit

doco Documentation for this format

Detailed description of differential elements

Guidance on how to interpret the contents of this table can be foundhere

0. Observation
2. Observation.status
Definition

The status of the measurements is fixed to 'final'. Only verified and complete measurements with a valid value are represented.

ShortMeasurement status
Must Supporttrue
Fixed Valuefinal
4. Observation.code
ShortType of blood pressure measurement
BindingFor example codes, see LOINCCodes
(example to http://hl7.org/fhir/ValueSet/observation-codes)

Specifies the type of blood pressure measurement using codes from the ValueSet for blood pressure measurements.

6. Observation.code.coding:loinc
Slice Nameloinc
BindingThe codes SHALL be taken from Blood Pressure Value from LOINC
(required to https://gematik.de/fhir/hddt/ValueSet/hddt-miv-blood-pressure-value)
8. Observation.code.coding:snomed
Slice Namesnomed
Control0..0
10. Observation.subject
Definition

Reference to the patient. The patient MUST NOT be identified directly. Only anonymized or pseudonymized forms are permitted.

ShortPatient reference in anonymized or pseudonymized form only
12. Observation.device
ShortReference to the blood pressure measurement device
Control1..?
TypeReference(Device – Personal Health Device)
Must Supporttrue
14. Observation.component:SystolicBP
Slice NameSystolicBP
16. Observation.component:SystolicBP.value[x]
[x] NoteSeeChoice of Data Typesfor further information about how to use [x]
Must Supporttrue
18. Observation.component:SystolicBP.value[x]:valueQuantity
Slice NamevalueQuantity
TypeQuantity
[x] NoteSeeChoice of Data Typesfor further information about how to use [x]
Must Supporttrue
20. Observation.component:DiastolicBP
Slice NameDiastolicBP
22. Observation.component:DiastolicBP.value[x]
[x] NoteSeeChoice of Data Typesfor further information about how to use [x]
Must Supporttrue
24. Observation.component:DiastolicBP.value[x]:valueQuantity
Slice NamevalueQuantity
TypeQuantity
[x] NoteSeeChoice of Data Typesfor further information about how to use [x]
Must Supporttrue

For information on general constraints and terminology bindings see the full StructureDefinition for this profile.

Conventions and Best Practice

Blood pressure measurements MUST be represented using the LOINC panel code 85354-9 “Blood pressure panel with all children optional” as the main observation code. The actual measurement values (systolic, diastolic, and mean blood pressure) are captured as three mandatory components within the Observation resource. Each component MUST include a value in mmHg (millimeters of mercury) using the UCUM code mm[Hg].

Patient Reference and Privacy

For privacy and data protection, the subject reference MUST only use pseudonymized or anonymized identifiers. Direct patient identification is not permitted. The patient MUST NOT be identified directly through personally identifiable information such as name, insurance number, or other identifying attributes.

Examples

The following object diagram the relationships between the FHIR resources involved in representing Blood Pressure Monitorings according to the HDDT Information Model and the HDDT Blood Pressure Value profile instances of a blood pressure measurement. For readability reasons, some external references are only shown for the first measurement. Elements that are not mandatory or MS for the MIV Blood Pressure Monitoring (see Use of HL7 FHIR) have been omitted.

Profiling of the HDDT Information Model for the MIV Blood Pressure MonitoringDevice Data Recorder ManufacturerHIIS-VZ (Device Registry at BfArM)MIV Definitions (ZTS)«FHIR Observation»Blood Pressure Valuestatus = finalcode : 85354-9|LOINC "Blood pressure panel with all children optional" [1..1]effectiveDateTime : "2025-10-23T09:15:00+02:00"«FHIR Observation Component»Systolic Blood Pressurecode : 8480-6|LOINC "Systolic blood pressure"valueQuantity.value : 120valueQuantity.system = UCUMvalueQuantity.code = mm[Hg]«FHIR Observation Component»Diastolic Blood Pressurecode : 8462-4|LOINC "Diastolic blood pressure"valueQuantity.value : 80valueQuantity.system = UCUMvalueQuantity.code = mm[Hg]«FHIR Observation Component»Mean Blood Pressurecode : 8478-0|LOINC "Mean blood pressure"valueQuantity.value : 93valueQuantity.system = UCUMvalueQuantity.code = mm[Hg]«FHIR Device»Personal Health Devicetype : 70665002|SNOMED CTdeviceName : BP Cuff Promanufacturer : HealthTech GmbHserialNumber : BPC0011223345expirationDate : 2027-12-15«FHIR DeviceDefinition»Personal Health Device Definitiontype : 70665002|SNOMED CTdeviceName : BP Cuff Promanufacturer : HealthTech GmbH«FHIR ValueSet»VS MIV Blood Glucose Measurementurl = " https://gematik.de/fhir/hddt/ValueSet/hddt-miv-blood-pressure-value"version = "1.0.0"title = "ValueSet - Blood Pressure Value from LOINC"name = "HddtMivBloodPressureValue"description = "LOINC codes for blood pressure measurements"compose.include = 8480-6|LOINC, 8462-4|LOINC, ...component:SystolicBP [1..1]component:DiastolicBP [1..1]component:MeanBP [0..1]device [1..1]definition [0..1]Observation.code
Figure: HDDT Object Model Example (Blood Pressure Monitoring)


The following code example shows the concrete JSON representation of the HDDT Blood Pressure Value resource shown in the object diagram.

{
  "resourceType" : "Observation",
  "id" : "example-blood-pressure-value",
  "meta" : {
    "profile" : [
      🔗 "https://gematik.de/fhir/hddt/StructureDefinition/hddt-blood-pressure-value"
    ]
  },
  "status" : "final",
  "category" : [
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
          "code" : "vital-signs"
        }
      ]
    }
  ],
  "code" : {
    "coding" : [
      {
        "system" : "http://loinc.org",
        "code" : "85354-9",
        "display" : "Blood pressure panel with all children optional"
      }
    ]
  },
  "subject" : {
    🔗 "reference" : "Patient/patientExample"
  },
  "effectiveDateTime" : "2025-10-23T09:15:00+02:00",
  "interpretation" : [
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation",
          "code" : "N",
          "display" : "Normal"
        }
      ]
    }
  ],
  "device" : {
    🔗 "reference" : "Device/example-device-blood-pressure-cuff"
  },
  "component" : [
    {
      "code" : {
        "coding" : [
          {
            "system" : "http://loinc.org",
            "code" : "8480-6",
            "display" : "Systolic blood pressure"
          }
        ]
      },
      "valueQuantity" : {
        "value" : 120,
        "unit" : "mm[Hg]",
        "system" : "http://unitsofmeasure.org",
        "code" : "mm[Hg]"
      }
    },
    {
      "code" : {
        "coding" : [
          {
            "system" : "http://loinc.org",
            "code" : "8462-4",
            "display" : "Diastolic blood pressure"
          }
        ]
      },
      "valueQuantity" : {
        "value" : 80,
        "unit" : "mm[Hg]",
        "system" : "http://unitsofmeasure.org",
        "code" : "mm[Hg]"
      }
    },
    {
      "code" : {
        "coding" : [
          {
            "system" : "http://loinc.org",
            "code" : "8478-0",
            "display" : "Mean blood pressure"
          }
        ]
      },
      "valueQuantity" : {
        "value" : 93,
        "unit" : "mm[Hg]",
        "system" : "http://unitsofmeasure.org",
        "code" : "mm[Hg]"
      }
    }
  ]
}

MIV-specific Endpoints and Interactions

Observation - READ

Manufacturers of Device Data Recorders that support the MIV Blood Pressure Monitoring MUST implement a read interaction on the /Observation endpoint of the FHIR Resource Server. The implementation MUST conform to the HDDT Generic FHIR API. Observations shared through the read interaction MUST comply with the HDDT Blood Pressure Value profile.

Manufacturers of Device Data Recorders that support the MIV Blood Pressure Monitoring MUST implement a search interaction on the /Observation endpoint of the FHIR Resource Server. The implementation MUST conform to the HDDT Generic FHIR API, and implement the search parameters listed on page FHIR Resource Server - Search Parameters. Observations shared through the search interaction MUST comply with the HDDT Blood Pressure Value profile. Blood pressure measurements use a panel code 85354-9 Blood pressure panel with all children optional as the main Observation.code, while the actual measurement values (8480-6 Systolic blood pressure, 8462-4 Diastolic blood pressure, 8478-0 Mean blood pressure) are captured in Observation.component elements. To search for specific component types (e.g., systolic blood pressure with LOINC code 8480-6), use the component-code search parameter. See the example below for details.

Example: FHIR-READ

Request: GET /Observation/example-blood-pressure-value

Description: With FHIR-read interactions, a client can access a single resource instance by querying its internal ID. Restrictions by the OAuth scopes apply—if the client is not allowed to read this resource, a 404 error will be returned.

Response: Returned object is a single Observation resource.

{
  "resourceType" : "Observation",
  "id" : "example-blood-pressure-value",
  "meta" : {
    "profile" : [
      🔗 "https://gematik.de/fhir/hddt/StructureDefinition/hddt-blood-pressure-value"
    ]
  },
  "status" : "final",
  "category" : [
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
          "code" : "vital-signs"
        }
      ]
    }
  ],
  "code" : {
    "coding" : [
      {
        "system" : "http://loinc.org",
        "code" : "85354-9",
        "display" : "Blood pressure panel with all children optional"
      }
    ]
  },
  "subject" : {
    🔗 "reference" : "Patient/patientExample"
  },
  "effectiveDateTime" : "2025-10-23T09:15:00+02:00",
  "interpretation" : [
    {
      "coding" : [
        {
          "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation",
          "code" : "N",
          "display" : "Normal"
        }
      ]
    }
  ],
  "device" : {
    🔗 "reference" : "Device/example-device-blood-pressure-cuff"
  },
  "component" : [
    {
      "code" : {
        "coding" : [
          {
            "system" : "http://loinc.org",
            "code" : "8480-6",
            "display" : "Systolic blood pressure"
          }
        ]
      },
      "valueQuantity" : {
        "value" : 120,
        "unit" : "mm[Hg]",
        "system" : "http://unitsofmeasure.org",
        "code" : "mm[Hg]"
      }
    },
    {
      "code" : {
        "coding" : [
          {
            "system" : "http://loinc.org",
            "code" : "8462-4",
            "display" : "Diastolic blood pressure"
          }
        ]
      },
      "valueQuantity" : {
        "value" : 80,
        "unit" : "mm[Hg]",
        "system" : "http://unitsofmeasure.org",
        "code" : "mm[Hg]"
      }
    },
    {
      "code" : {
        "coding" : [
          {
            "system" : "http://loinc.org",
            "code" : "8478-0",
            "display" : "Mean blood pressure"
          }
        ]
      },
      "valueQuantity" : {
        "value" : 93,
        "unit" : "mm[Hg]",
        "system" : "http://unitsofmeasure.org",
        "code" : "mm[Hg]"
      }
    }
  ]
}

Example: FHIR-Search for specific LOINC code

Request: GET /Observation?component-code=8480-6

Description: Obtain all Observations that contain a component with the LOINC code 8480-6 for Systolic blood pressure. OAuth scopes apply, and only Observations are returned that the client is allowed to access.

Response: Returned object is a Bundle containing all Observation resource instances matching the search criteria.

{
    "resourceType": "Bundle",
    "id": "7483defc-9e6c-5bca-bf7c-76ecc4941293",
    "type": "searchset",
    "entry": [
        {
            "fullUrl": "https://himi.example.com/fhir/Observation/example-blood-pressure-value",
            "resource": {
                "resourceType": "Observation",
                "id": "example-blood-pressure-value",
                "meta": {
                    "profile": [
                        "https://gematik.de/fhir/hddt/StructureDefinition/hddt-blood-pressure-value"
                    ]
                },
                "status": "final",
                "category": [
                    {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/observation-category",
                                "code": "vital-signs"
                            }
                        ]
                    }
                ],
                "code": {
                    "coding": [
                        {
                            "code": "85354-9",
                            "system": "http://loinc.org",
                            "display": "Blood pressure panel with all children optional"
                        }
                    ]
                },
                "subject": {
                    "reference": "Patient/patientExample"
                },
                "effectiveDateTime": "2025-10-23T09:15:00+02:00",
                "device": {
                    "reference": "Device/example-device-blood-pressure-cuff"
                },
                "interpretation": [
                    {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation",
                                "code": "N",
                                "display": "Normal"
                            }
                        ]
                    }
                ],
                "component": [
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "http://loinc.org",
                                    "code": "8480-6",
                                    "display": "Systolic blood pressure"
                                }
                            ]
                        },
                        "valueQuantity": {
                            "value": 120,
                            "unit": "mm[Hg]",
                            "system": "http://unitsofmeasure.org",
                            "code": "mm[Hg]"
                        }
                    },
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "http://loinc.org",
                                    "code": "8462-4",
                                    "display": "Diastolic blood pressure"
                                }
                            ]
                        },
                        "valueQuantity": {
                            "value": 80,
                            "unit": "mm[Hg]",
                            "system": "http://unitsofmeasure.org",
                            "code": "mm[Hg]"
                        }
                    },
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "http://loinc.org",
                                    "code": "8478-0",
                                    "display": "Mean blood pressure"
                                }
                            ]
                        },
                        "valueQuantity": {
                            "value": 93,
                            "unit": "mm[Hg]",
                            "system": "http://unitsofmeasure.org",
                            "code": "mm[Hg]"
                        }
                    }
                ]
            },
            "search": {
                "mode": "match"
            }
        }
    ]
}

Example: FHIR-Search for Component Code and Value

Request: GET /Observation?component-code=8480-6&component-value-quantity=gt130

Description: Search for all blood pressure observations where the systolic blood pressure component (LOINC code 8480-6) AND any component value (which does not necessarily have to be systolic blood pressure) is greater than 130 mmHg.

Note: This query searches for observations that contain a component with the code for systolic blood pressure AND any component value greater than 130. However, these conditions are evaluated independently - the component with value >130 does not need to be the systolic blood pressure component. To search for observations where specifically the systolic blood pressure component has a value greater than 130, use the combined parameter: /Observation?component-code-value-quantity=http://loinc.org|8480-6$gt130

OAuth scopes apply, and only Observations are returned that the client is allowed to access.

Response: Returned object is a Bundle containing all Observation resource instances matching the search criteria.

{
    "resourceType": "Bundle",
    "id": "a8f3c21d-4b9e-5fda-ab2c-98ecc5043487",
    "type": "searchset",
    "entry": [
        {
            "fullUrl": "https://himi.example.com/fhir/Observation/example-blood-pressure-value-1",
            "resource": {
                "resourceType": "Observation",
                "id": "example-blood-pressure-value-1",
                "meta": {
                    "profile": [
                        "https://gematik.de/fhir/hddt/StructureDefinition/hddt-blood-pressure-value"
                    ]
                },
                "status": "final",
                "category": [
                    {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/observation-category",
                                "code": "vital-signs"
                            }
                        ]
                    }
                ],
                "code": {
                    "coding": [
                        {
                            "code": "85354-9",
                            "system": "http://loinc.org",
                            "display": "Blood pressure panel with all children optional"
                        }
                    ]
                },
                "subject": {
                    "reference": "Patient/patientExample"
                },
                "effectiveDateTime": "2025-10-24T14:30:00+02:00",
                "device": {
                    "reference": "Device/example-device-blood-pressure-cuff"
                },
                "interpretation": [
                    {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation",
                                "code": "H",
                                "display": "High"
                            }
                        ]
                    }
                ],
                "component": [
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "http://loinc.org",
                                    "code": "8480-6",
                                    "display": "Systolic blood pressure"
                                }
                            ]
                        },
                        "valueQuantity": {
                            "value": 145,
                            "unit": "mm[Hg]",
                            "system": "http://unitsofmeasure.org",
                            "code": "mm[Hg]"
                        }
                    },
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "http://loinc.org",
                                    "code": "8462-4",
                                    "display": "Diastolic blood pressure"
                                }
                            ]
                        },
                        "valueQuantity": {
                            "value": 92,
                            "unit": "mm[Hg]",
                            "system": "http://unitsofmeasure.org",
                            "code": "mm[Hg]"
                        }
                    },
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "http://loinc.org",
                                    "code": "8478-0",
                                    "display": "Mean blood pressure"
                                }
                            ]
                        },
                        "valueQuantity": {
                            "value": 109,
                            "unit": "mm[Hg]",
                            "system": "http://unitsofmeasure.org",
                            "code": "mm[Hg]"
                        }
                    }
                ]
            },
            "search": {
                "mode": "match"
            }
        },
        {
            "fullUrl": "https://himi.example.com/fhir/Observation/example-blood-pressure-value-2",
            "resource": {
                "resourceType": "Observation",
                "id": "example-blood-pressure-value-2",
                "meta": {
                    "profile": [
                        "https://gematik.de/fhir/hddt/StructureDefinition/hddt-blood-pressure-value"
                    ]
                },
                "status": "final",
                "category": [
                    {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/observation-category",
                                "code": "vital-signs"
                            }
                        ]
                    }
                ],
                "code": {
                    "coding": [
                        {
                            "code": "85354-9",
                            "system": "http://loinc.org",
                            "display": "Blood pressure panel with all children optional"
                        }
                    ]
                },
                "subject": {
                    "reference": "Patient/patientExample"
                },
                "effectiveDateTime": "2025-10-25T08:45:00+02:00",
                "device": {
                    "reference": "Device/example-device-blood-pressure-cuff"
                },
                "interpretation": [
                    {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation",
                                "code": "H",
                                "display": "High"
                            }
                        ]
                    }
                ],
                "component": [
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "http://loinc.org",
                                    "code": "8480-6",
                                    "display": "Systolic blood pressure"
                                }
                            ]
                        },
                        "valueQuantity": {
                            "value": 138,
                            "unit": "mm[Hg]",
                            "system": "http://unitsofmeasure.org",
                            "code": "mm[Hg]"
                        }
                    },
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "http://loinc.org",
                                    "code": "8462-4",
                                    "display": "Diastolic blood pressure"
                                }
                            ]
                        },
                        "valueQuantity": {
                            "value": 88,
                            "unit": "mm[Hg]",
                            "system": "http://unitsofmeasure.org",
                            "code": "mm[Hg]"
                        }
                    },
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "http://loinc.org",
                                    "code": "8478-0",
                                    "display": "Mean blood pressure"
                                }
                            ]
                        },
                        "valueQuantity": {
                            "value": 105,
                            "unit": "mm[Hg]",
                            "system": "http://unitsofmeasure.org",
                            "code": "mm[Hg]"
                        }
                    }
                ]
            },
            "search": {
                "mode": "match"
            }
        }
    ]
}

Example: FHIR-Search include Device

Request: GET /Observation?date=ge2025-10-22&_include=Observation:device

Description: This query asks the server for all Observations since 2025-10-22, and also requests that the server include resource instances referenced by Observation.device.

Response: Returned object is a Bundle containing all Observation resource instances matching the search criteria, and all referenced Device resources.

{
    "resourceType": "Bundle",
    "id": "87dbf79c-fb81-5cda-ce8e-87fdd5052395",
    "type": "searchset",
    "entry": [
        {
            "fullUrl": "https://himi.example.com/fhir/Observation/example-blood-pressure-value",
            "resource": {
                "resourceType": "Observation",
                "id": "example-blood-pressure-value",
                "meta": {
                    "profile": [
                        "https://gematik.de/fhir/hddt/StructureDefinition/hddt-blood-pressure-value"
                    ]
                },
                "status": "final",
                "category": [
                    {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/observation-category",
                                "code": "vital-signs"
                            }
                        ]
                    }
                ],
                "code": {
                    "coding": [
                        {
                            "code": "85354-9",
                            "system": "http://loinc.org",
                            "display": "Blood pressure panel with all children optional"
                        }
                    ]
                },
                "subject": {
                    "reference": "Patient/patientExample"
                },
                "effectiveDateTime": "2025-10-23T09:15:00+02:00",
                "device": {
                    "reference": "Device/example-device-blood-pressure-cuff"
                },
                "interpretation": [
                    {
                        "coding": [
                            {
                                "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation",
                                "code": "N",
                                "display": "Normal"
                            }
                        ]
                    }
                ],
                "component": [
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "http://loinc.org",
                                    "code": "8480-6",
                                    "display": "Systolic blood pressure"
                                }
                            ]
                        },
                        "valueQuantity": {
                            "value": 120,
                            "unit": "mm[Hg]",
                            "system": "http://unitsofmeasure.org",
                            "code": "mm[Hg]"
                        }
                    },
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "http://loinc.org",
                                    "code": "8462-4",
                                    "display": "Diastolic blood pressure"
                                }
                            ]
                        },
                        "valueQuantity": {
                            "value": 80,
                            "unit": "mm[Hg]",
                            "system": "http://unitsofmeasure.org",
                            "code": "mm[Hg]"
                        }
                    },
                    {
                        "code": {
                            "coding": [
                                {
                                    "system": "http://loinc.org",
                                    "code": "8478-0",
                                    "display": "Mean blood pressure"
                                }
                            ]
                        },
                        "valueQuantity": {
                            "value": 93,
                            "unit": "mm[Hg]",
                            "system": "http://unitsofmeasure.org",
                            "code": "mm[Hg]"
                        }
                    }
                ]
            },
            "search": {
                "mode": "match"
            }
        },
        {
            "fullUrl": "https://himi.example.com/fhir/Device/example-device-blood-pressure-cuff",
            "resource": {
                "resourceType": "Device",
                "id": "example-device-blood-pressure-cuff",
                "meta": {
                    "profile": [
                        "https://gematik.de/fhir/hddt/StructureDefinition/hddt-personal-health-device"
                    ]
                },
                "status": "active",
                "type": {
                    "coding": [
                        {
                            "code": "70665002",
                            "system": "http://snomed.info/sct",
                            "version": "http://snomed.info/sct/11000274103/version/20251115",
                            "display": "Blood pressure cuff, device (physical object)"
                        }
                    ]
                },
                "definition": {
                    "reference": "DeviceDefinition/device-definition-blood-pressure-cuff-001"
                },
                "deviceName": [
                    {
                        "name": "BP Cuff Pro",
                        "type": "user-friendly-name"
                    }
                ],
                "modelNumber": "Digital BT 2",
                "manufacturer": "HealthTech GmbH",
                "serialNumber": "BPC0011223345",
                "expirationDate": "2027-12-15"
            },
            "search": {
                "mode": "include"
            }
        }
    ]
}