FHIR API: Practitioner Update v1
Note
This API version will be deprecated. We encourage you to migrate to the latest version of the API. You can find the documentation for the new API version at Practitioner Update v2.
Pre-requisites
Resource:
PUT /partners/fhir/stu3/api/Practitioner/{practitionerIdentifier}
Authentication:
Endpoint is secured with mutual TLS. More information can be found here: API Authentication
API Request
Request Parameters
Name | Description | Type | Required | Example |
---|---|---|---|---|
practitionerIdentifier | Practitioner business ID of the practitioner to be updated. Note: practitioner.identifier.value received in the response of the Practitioner Creation v1 API |
String | Yes | 11111111H |
Request Headers
Name | Description | Type | Required | Example |
---|---|---|---|---|
org_id | Organization OID | String | Yes | 2.16.724.4.2 |
x-origin-request-id | Request Unique ID generated by EMR middleware (UUID) | String | Yes | 5109d51b-421e-4746-b673-16e3fe2b3442" |
client_id | Public identifier for organizations generated by Roche DC | String | Yes | 1234567890 |
client_secret | Client related secret known only to the EMR and Roche DC | String | Yes | 1234567890 |
Content-Type | json or fhir+json | String | Yes | application/json or application/fhir+json |
Profile overview
The list of profiles used in practitioner Update:
- practitioner-v2 (mandatory)
Request Example
- The email of the practitioner with unique identifier 11111111H (which is already created in RDCP) is updated from "jamessmith111@email.com" to "jamessmith999@email.com"
curl --location --request PUT 'https://api-services-eu.rochedcplatform.com/partners/fhir/stu3/api/v2/Practitioner/11111111H' \ --header 'Content-Type: application/json' \ --header 'client_id: 1234567890' \ --header 'client_secret: 1234567890' \ --header 'org_id: 2.16.724.4.2' \ --data-raw '{ "identifier": [ { "system": "urn:oid:2.16.724.4.305", "value": "11111111H" } ], "meta": { "profile": [ "http://roche.com/fhir/rdc/StructureDefinition/practitioner-v2" ] }, "name": [ { "given": [ "James" ], "family": "Smith" } ], "telecom": [ { "system": "email", "value": "jamessmith999@email.com" } ], "id": "11111111H", "resourceType": "Practitioner" }'
API Response
API code response
HTTP Response Code | Description | Response Body | FHIR error code | FHIR error code description |
---|---|---|---|---|
200 | Practitioner updated | Empty | NA | NA |
400 | Request failed because of incorrect parameters, returns no data | OperationOutcome | required | Request failed because of incorrect parameters, returns no data |
400 | Request failed because of incorrect parameters, returns no data | OperationOutcome | structure | A structural issue in the content such as wrong namespace, or unable to parse the content completely, or invalid json syntax. |
400 | Request failed because of incorrect parameters, returns no data | OperationOutcome | invalid | Content invalid against the specification or a profile. |
401 | Request failed with unauthorized access, returns no data | Empty | NA | NA |
404 | Practitioner Not Found | OperationOutcome | not-found | Not Found |
405 | Method Not Allowed | Empty | NA | NA |
415 | Unsupported Media Type. | OperationOutcome | not-supported | Content-Type is not one of (application/json, application/fhir+json) |
500 | Request failed with internal exception | OperationOutcome | exception | Internal server error. |
501 | Not implemented | Empty | NA | NA |
API Payload response
Successful response object:
On successful update of Practitioner through API will return HTTP 200 Status Code with empty body.
Error response object:
As an example, if we try to update a record that does not exist, we will obtain a 404 HTTP error status code together the following response body:
{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "not-found", "diagnostics": "Practitioner not found" } ] }
Response Time (ms):
Average: 1500
Worst case scenario: 10000