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


EMR-patient-create


  1. The administrative / HIS creates / update a patient.
  2. The middleware receives the patient creation / update message.
  3. The middleware transforms the message delivered by HIS into the FHIR message and send it to Partners FHIR API.
  4. 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.