EU Health Data API
0.1.0 - ci-build 150

EU Health Data API, published by HL7 Europe. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/euridice-org/eu-health-data-api/ and changes regularly. See the Directory of published versions

Capability Discovery

Overview

Systems discover capabilities via FHIR CapabilityStatement (GET /metadata). This allows consumers to inspect what functionality a provider supports before attempting transactions.

Transaction

Capability discovery uses the standard FHIR capabilities interaction:

GET [base]/metadata

The server returns a CapabilityStatement resource that declares:

  • Supported FHIR version
  • Supported resource types
  • Supported interactions (read, search, create, etc.)
  • Supported search parameters
  • Priority category support (see below)

Provider Actors

Different provider actors advertise different capabilities:

  • Document Access Provider: Advertises document exchange capabilities (MHD ITI-67, ITI-68 transactions; ITI-105 with Document Submission Option)
  • Resource Access Provider: Advertises resource query capabilities (QEDm PCC-44 transactions)

A system may implement one or both sets of capabilities depending on its role.

Priority Category Support

Servers declare which EHDS ANNEX II priority categories they support using CapabilityStatement.instantiates to reference the appropriate capability statements defined in this IG:

  • European Patient Summary (EPS)
  • Medication Prescription & Dispense (MPD)
  • Laboratory Results
  • Hospital Discharge Reports (HDR)
  • Imaging Reports
  • Imaging Manifests

Mechanism:

Providers instantiate one or more of the following CapabilityStatements:

  • Document Access Provider for [Priority Area] (references DocumentReference profiles, MHD transactions)
  • Resource Access Provider for [Priority Area] (references resource profiles, QEDm transactions)

Consumers inspect CapabilityStatement.instantiates to determine which priority categories are supported and which exchange patterns (document vs resource) are available.

Open Issue #5: We are seeking input on how servers should declare priority category support. See CapabilityStatement and Priority Category Declaration for discussion.

Example Capability Discovery Flow

sequenceDiagram
    participant Consumer
    participant Provider

    Consumer ->> Provider: GET [base]/metadata
    Provider -->> Consumer: CapabilityStatement

    Note over Consumer: Consumer inspects:<br/>- instantiates (priority categories)<br/>- rest.resource (supported resources)<br/>- rest.interaction (MHD/QEDm support)

See Also