R2D-Access-server - The InteropEHRate project (www.interopEHRate.eu)
This project implements the R2D Access Server a service provided by an Healthcare Organization (HCO) to allow a citizen to import his / her health data on the mobile phone.
The R2D Access Server is a customization of the HAPI Plain Restful Server. In addition to its FHIR nature, the R2D Access Server uses also a Spring context to load classes needed for:
- managing persistence of data
- managing communication with the EHR Middleware
- signing the Provenance resources
- providing additional RESTful services
The R2D Access Server provides an interface compliant to HL7/FHIR, it implements a small subset of the whole FHIR Restful APIs specification. This is the list of the provided operations (they are all executed in the compartment of the authenticated citizen):
- Search of Encounter
- Search of Observation
- Search of DiagnosticReport
- Search of DocumentReference
- Search of DocumentManifest
- Search of Composition
- Search of Condition
- Search of AllergyIntolerance
- Search of Immunization
- Search of Procedure
- Search of MedicationRequest
- Operation Patient$everything
- Operation (non standard) Patient$patient-summary
- Operation Composition$everything
- Operation Encounter$everything
The R2D Access Server forwards each incoming calls to another service provided by the HCO called EHR-Middleware, this service will retrieve data from the EHR of the HCO and will return them to the R2D Access Server in the FHIR / JSON format defined by the InteropEHRate Interoperability Implementation Guides.
The whole transaction is executed in an asynchronous way, the asynchronicity is managed directly by the R2D Access Server, that replies with a 202 to the initial request and then provides to client an URL to be used for polling the status of the request. When the request ends, requesting the polling URL will return all data needed to download the produced data.
The R2DAccess Server has a security layer based on eIDAS, it only allows requests having a valid eIDAS Token. The citizen referenced by the eIDAS Token MUST be identified by the HCO using name, surname and date of birth.