BfArM Digitale Anwendungen
3.1.0-TEST - draft

BfArM Digitale Anwendungen - Local Development build (v3.1.0-TEST) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

DiGA – Use Cases

The returned id values of resources must not be stored on external systems, as they may change in new versions of the API. Instead, the identifier values stored in the resources must be used.

Depending on the software used, URL encoding of parameters may be required, for example DigaId%7C001234 instead of DigaId|001234 or pzn%7C12345678 instead of pzn|12345678.

The results returned by the API are paginated in accordance with FHIR. The total number of results across all pages is available in the meta.total element. The FHIR server uses a default page size of 20 elements. Further pages are linked via the link element. The number of results per page can be set using the _count parameter.

Retrieval of DiGA Data

Retrieval of All Digital Health Applications

Description

This use case describes the retrieval of all DiGA entries (profile HealthApp).

Standard Flow
  1. Search request with the canonical of the profile as _profile parameter
  2. DiGA API returns the found DiGA entries
API Request
GET https://diga.bfarm.de/api/fhir/v3.0/DeviceDefinition?_profile=https://fhir.bfarm.de/StructureDefinition/HealthApp

Search for DiGA Entries by MIV Set URL

Description

This use case describes the search for DiGA entries (profile HealthApp) that support a specific MIV Set (Mandatory Interoperable Value Set). The MIV Set is referenced via the extension HealthAppMivSet.

Standard Flow
  1. Search request with the MIV Set as filter criterion
  2. DiGA API returns the found DiGA entries
API Request
GET https://diga.bfarm.de/api/fhir/v3.0/DeviceDefinition?_profile=https://fhir.bfarm.de/StructureDefinition/HealthApp&miv-set={MIV-Set-Reference}

Example (MIV Set URL "https://gematik.de/fhir/hddt/ValueSet/hddt-miv-continuous-glucose-measurement"):

GET https://diga.bfarm.de/api/fhir/v3.0/DeviceDefinition?_profile=https://fhir.bfarm.de/StructureDefinition/HealthApp&miv-set=https://gematik.de/fhir/hddt/ValueSet/hddt-miv-continuous-glucose-measurement

The search uses the custom search parameter miv-set, which accesses HealthAppMivSet.valueReference.reference.

For technical reasons (search indexing), the server temporarily also maps this search to DeviceDefinition.note.text. The note.text element is only part of that technical mapping and must not be read or used by clients for any business content, MIV Set interpretation, or other integration purpose.

Retrieval of Trust Attributes of a DiGA

Description

This use case describes the retrieval of trust attributes of a DiGA for communication with medical aid interfaces (HIIS). The trust attributes are provided via the extension HealthAppHiisTrustAttributes in the HealthApp resource and contain information such as client certificates, client ID, and redirect URI. The extension is optional and need not be present in every DiGA.

Standard Flow
  1. Search request with the DiGA ID as identifier parameter
  2. DiGA API returns the found DiGA entry with the trust attributes in the extension HealthAppHiisTrustAttributes

The extension can contain the following elements:

  • extension[clientCertificates]: Client certificates as Base64-encoded binary data (0..*)
  • extension[clientId]: Client identifier for HIIS as URI (0..1)
  • extension[redirectUri]: Redirect URI for HIIS as URI (0..1)
API Request
GET https://diga.bfarm.de/api/fhir/v3.0/DeviceDefinition?identifier=https://fhir.bfarm.de/Identifier/DigaId|{DigaId}&_profile=https://fhir.bfarm.de/StructureDefinition/HealthApp

Example (DiGA ID "00123"):

GET https://diga.bfarm.de/api/fhir/v3.0/DeviceDefinition?identifier=https://fhir.bfarm.de/Identifier/DigaId|00123&_profile=https://fhir.bfarm.de/StructureDefinition/HealthApp

Retrieval of Prescription Units

Search for a Prescription Unit by PZN

Description

This use case describes the search for prescription units (profile HealthAppPrescriptionUnit) by a given PZN (central pharmaceutical number).

Standard Flow
  1. Search request with the PZN as code parameter
  2. DiGA API returns the found prescription units
API Request
GET https://diga.bfarm.de/api/fhir/v3.0/ChargeItemDefinition?code=http://fhir.de/CodeSystem/ifa/pzn|{PZN}&_profile=https://fhir.bfarm.de/StructureDefinition/HealthAppPrescriptionUnit

Example (PZN "12345678"):

GET https://diga.bfarm.de/api/fhir/v3.0/ChargeItemDefinition?code=http://fhir.de/CodeSystem/ifa/pzn|12345678&_profile=https://fhir.bfarm.de/StructureDefinition/HealthAppPrescriptionUnit

Retrieval of AbEM Reports

Retrieval of All AbEM Reports of a Specific Digital Health Application

Description

This use case describes the retrieval of all published reports of the application-accompanying success measurement (AbEM, profile HealthAppAbemReport) of a specific Digital Health Application (profile HealthApp). AbEM reports are not part of the $everything operation. It is assumed that the DiGA has already been determined by a previous search and the internal id is known. The link to the DiGA is provided via the alternate-reference extension on DocumentReference.subject.

Standard Flow
  1. Search request with the canonical of the profile as _profile parameter and the internal id of the DiGA as subject parameter
  2. DiGA API returns the found AbEM reports
API Request
GET https://diga.bfarm.de/api/fhir/v3.0/DocumentReference?_profile=https://fhir.bfarm.de/StructureDefinition/HealthAppAbemReport&subject=DeviceDefinition/{id}

Example (internal id "1"):

GET https://diga.bfarm.de/api/fhir/v3.0/DocumentReference?_profile=https://fhir.bfarm.de/StructureDefinition/HealthAppAbemReport&subject=DeviceDefinition/1

The search uses the search parameter subject. It covers both DocumentReference.subject and subjects provided via the alternate-reference extension.

Retrieval of All Resources

Retrieval of All Data of a Specific Digital Health Application

Description

This use case describes the retrieval of all data of a specific Digital Health Application (DiGA) from the DiGA directory. The data include the catalog entry (profile HealthAppCatalogEntry), the Digital Health Application (profile HealthApp), the DiGA manufacturer (profile HealthAppManufacturer), the DiGA modules (profile HealthAppModule), the prescription units (profile HealthAppPrescriptionUnit), and the DiGA questionnaire response dataset (profile HealthAppQuestionnaireResponse). It is assumed that the DiGA has already been determined by a previous search and the internal id is known.

Standard Flow
  1. Call of the $everything operation with the internal id of the previously determined DiGA
API Request
GET https://diga.bfarm.de/api/fhir/v3.0/DeviceDefinition/{id}/$everything

Example (internal id "1"):

GET https://diga.bfarm.de/api/fhir/v3.0/DeviceDefinition/1/$everything

This operation returns a bundle of type searchset with all resources belonging to the DiGA. When called with the internal id of a DiGA module, all resources of the associated DiGA are also returned, not only those belonging to the DiGA module.

The operation does not use pagination.

Retrieval of All DiGA Data

Description

This use case describes the retrieval of all data stored in the DiGA directory. This is the most efficient method to retrieve all DiGA data centrally.

Standard Flow
  1. Search requests with the canonical of the respective profiles as _profile parameter and a sufficiently high _count parameter
  2. DiGA API returns the found entries
API Request
  • All catalog entries (profile HealthAppCatalogEntry):
GET https://diga.bfarm.de/api/fhir/v3.0/CatalogEntry?_count=1000&_profile=https://fhir.bfarm.de/StructureDefinition/HealthAppCatalogEntry
  • All DiGA manufacturers (profile HealthAppManufacturer):
GET https://diga.bfarm.de/api/fhir/v3.0/Organization?_count=1000&_profile=https://fhir.bfarm.de/StructureDefinition/HealthAppManufacturer
  • All DiGA (profile HealthApp):
GET https://diga.bfarm.de/api/fhir/v3.0/DeviceDefinition?_count=1000&_profile=https://fhir.bfarm.de/StructureDefinition/HealthApp
  • All DiGA modules (profile HealthAppModule):
GET https://diga.bfarm.de/api/fhir/v3.0/DeviceDefinition?_count=1000&_profile=https://fhir.bfarm.de/StructureDefinition/HealthAppModule
  • All prescription units (profile HealthAppPrescriptionUnit):
GET https://diga.bfarm.de/api/fhir/v3.0/ChargeItemDefinition?_count=1000&_profile=https://fhir.bfarm.de/StructureDefinition/HealthAppPrescriptionUnit
  • All DiGA questionnaire response datasets (profile HealthAppQuestionnaireResponse):
GET https://diga.bfarm.de/api/fhir/v3.0/QuestionnaireResponse?_count=1000&_profile=https://fhir.bfarm.de/StructureDefinition/HealthAppQuestionnaireResponse
  • All DiGA questionnaires (profile HealthAppQuestionnaire):
GET https://diga.bfarm.de/api/fhir/v3.0/Questionnaire?_count=1000&_profile=https://fhir.bfarm.de/StructureDefinition/HealthAppQuestionnaire

Retrieval of Change Status

Retrieval of the Change Status of the DiGA Directory

Description

This use case describes the retrieval of the timestamp of the last change in the entire DiGA directory. The operation returns a Parameters resource with the output parameters lastModified (last change across all resources in the directory) and lastModifiedHealthApp (last change of a HealthApp resource).

Standard Flow
  1. Call of the $status operation at system level
API Request
GET https://diga.bfarm.de/api/fhir/v3.0/$status

Retrieval of the Change Status of a DiGA Directory Entry

Description

This use case describes the retrieval of the timestamp of the last change for a single DiGA directory entry. The operation returns a Parameters resource with the output parameters lastModified (last change across all resources belonging to the entry) and lastModifiedHealthApp (last change of the associated HealthApp resource). It is assumed that the DiGA has already been determined by a previous search and the internal id is known. When called with the internal id of a DiGA module, the change status of the entire associated directory entry is returned.

Standard Flow
  1. Call of the $status operation with the internal id of the previously determined DiGA
API Request
GET https://diga.bfarm.de/api/fhir/v3.0/DeviceDefinition/{id}/$status

Example (internal id "1"):

GET https://diga.bfarm.de/api/fhir/v3.0/DeviceDefinition/1/$status