Getting Health Records
The data request and transfer process between the HIU, HIE-CM and HIP passes through the following three stages:
First Stage
- The HIU system initiates data request for a patient’s health information to the HIP against the relevant consent-artefact, through the HIE-CM.
- As part of the data request, the HIU’s health repository embeds three key elements within the health information request:
- The consent ID corresponding to the consent artefact against which the information request is being made.
- A data push URL, which is a callback URL that indicators where the information can be pushed by the HIP’s health repository. This URL can be different from the HIU’s access URL, provided at the time of registration with the gateway. The HIU can specify a different URL for the data flow, in order to keep its identity secret to the extent possible.
- Several parameters such as the date-time range for the requested and a set of encryption parameters for the HIP repository to encrypt the information. The Elliptic-curve Diffie–Hellman based encryption standard is used for encrypting health information.
- Upon receipt of the data-request, HIE-CM assigns a transaction ID (txn-id) for the entire data flow and communicates this Id to the health repositories of the HIU and the HIP.
The HIU’s health repository relays all this information to the HIE-CM through the gateway. From the HIE-CM, the information is relayed to the HIP’s health repository (via the gateway).
Second Stage
Once the HIP repository receives the information, it first validates the information request, as follows:
- The HIP finds out if the consent ID corresponds to an expired, paused or revoked artefact.
- It then checks if the request’s date-time range will correspond to the range for which the consent artefact allows information access. It also ensures that the encryption parameters are correctly defined.
- Once the above checks are made and validated, the HIP health repository encrypts the requested health records and forwards it along with the transaction ID to the HIU’s data push URL, after signing the encrypted data with its long-term private key.
Third Stage
Finally, the HIE-CM receives notifications from both the HIP and the HIU. The HIP’s health repository notifies the CM that the requested information was transmitted to the HIU.
The HIU’s health repository sends a notification that the requested information was successfully received, or that the request failed.
Note For more details on data transfer, please refer this Webinar
Sample User Experience
API Sequence Diagram
All above 3 stages that pertains to HIU are shown in the following API sequence diagram:
API Information Request Response
1. Health Information Data Request
BASE URLs: https://dev.abdm.gov.in/gateway
Note:
- The id in the request body is the consent artefact id for which we are requesting the data and we have the consent for.
"consent": {
"id": "5b5f9947-2115-4ac8-baea-b82c93acde3f"
}
- Fidelius is designed to automatically handle both formats of public keys (base64 encoded, uncompressed public key format & x509PublicKey format) but the recommended format for sending the public key is “base64 encoded, uncompressed public key format”.
2. Acknowledgement Of Health Information Request
BASE URLs: https://dev.abdm.gov.in/hiu