Patient services
Patient Services allow Health Information Systems (HIS) to create and update patients in Roche ecosystem. In order to create / update a Patient it is required to send a Bundle Resource composed by Patient and Condition Resource.
Data Flow
- The administrative / HIS creates / update a patient.
- The middleware receives the patient creation / update message.
- The middleware transforms the message delivered by HIS into the FHIR message and send it to Partners FHIR API.
- Roche creates / updates the patient in Diabetes Care Platform and sends a response to the EMR middleware.
Assigning authority
The possible identifier systems that we accept to identify the assigning authority that is generating the patients ID are:
Assigning authority | Identifier system |
---|---|
Meteda | urn:oid:1.3.6.1.4.1.56221.2.2 |
CIP | urn:oid:2.16.724.4.41 |
For more details please check Patient create / update chapter:
Patient create
Patient creation API definition
In order to create a Patient it is required to send a Bundle Resource composed by Patient and Condition Resource.
Method | Endpoint | URI Parameters | Request Headers | Request Body | Response Body | Security |
---|---|---|---|---|---|---|
POST | https://[host]/partners/fhir/stu3/api/[Resource] | Resource: Bundle | org_id : Organization OID x-origin-request-id: Request unique id, generated by EMR middleware client_id : Public identifier for organizations generated by Roche DC client_secret : Client related secret known only to the EMR and Roche DC Content-Type: Default value application/json |
Bundle Resource - Please check Request Definition | Please check Response Definition | Mutual TLS Authentication (mTLS) |
Complete FHIR API Specification here
Request Definition
- Please find Patient Resource Schema Overview here
- Please find Condition Resource Schema Overview here
- Please find Sample Bundle here
- Please find Bundle Example cURL Request here
- Please find FHIR STU3 Schema here
Response Definition
Success response: On successful creation of Patient through API will return HTTP 200 Status Code and Roche internal ID is returned for Bundle ID and Patient ID in the response body.
- Please find Example Response here
Error response: Please check error codes in validation section below.
Data Validation
Validation | Error code |
---|---|
A required element is missing. | required |
A structural issue in the content such as wrong namespace, or unable to parse the content completely, or invalid json syntax | structure |
An internal timeout has occurred. | timeout |
An unexpected internal error has occurred. | exception |
Content invalid against the specification or a profile. | invalid |
Provided content is too long (typically, this is a denial of service protection type of error). | too-long |
Please find Error handling details here
Response Time
The average and the worst case scenario response time for the patient creation API are:
Response Time (ms) | |
---|---|
Average | 1507.17 |
Worst case scenario | 10000 |
Patient Update
Patient update API definition
In order to update a Patient it is required to send a Bundle Resource composed by Patient and Condition Resource.
Method | Endpoint | URI Parameters | Request Headers | Request Body | Response Body | Security |
---|---|---|---|---|---|---|
PUT | https://[host]/partners/fhir/stu3/api/[Resource]/[id] | Resource: Bundle id: Patient ID |
org_id : Organization OID x-origin-request-id: Request unique id, generated by EMR middleware client_id : Public identifier for organizations generated by Roche DC client_secret : Client related secret known only to the EMR and Roche DC Content-Type: Default value application/json |
Bundle Resource - Please check Request Definition | Please check Response Definition | Mutual TLS Authentication (mTLS) |
Complete FHIR API Specification here
Request Definition
- Please find Patient Resource Schema Overview here
- Please find Condition Resource Schema Overview here
- Please find Sample Bundle here
- Please find Bundle Example cURL Request here
- Please find FHIR STU3 Schema here
Response Definition
Success response: On successful updated Patient through API will return HTTP 200 Status Code with empty body.
Error response: Please check error codes in validation section below.
Data Validation
Validation | Error code |
---|---|
A required element is missing. | required |
A structural issue in the content such as wrong namespace, or unable to parse the content completely, or invalid json syntax | structure |
An internal timeout has occurred. | timeout |
An unexpected internal error has occurred. | exception |
Content invalid against the specification or a profile. | invalid |
Provided content is too long (typically, this is a denial of service protection type of error). | too-long |
Please find Error handling details here
Response Time
The average and the worst case scenario response time for the patient update API are:
Response Time (ms) | |
---|---|
Average | 1950.07 |
Worst case scenario | 4000 |
Profiles
Below are the list of profiles used in Patient transactions like creation, updation.
- message-header (mandatory)
- patient-v2 (mandatory)
- condition (optional)