FHIR API: Practitioner Update v2
Pre-requisites
Resource:
PUT /partners/fhir/stu3/api/v2/Practitioner/{id}
Authentication:
Endpoint is secured with mutual TLS. More information can be found here: API Authentication
API Request
Request Parameters
Name | Description | Type | Required | Example |
---|---|---|---|---|
id | Practitioner logical ID (FHIR ID) of the practitioner to be updated. Note: practitioner.id received in the response of the Practitioner Creation v2 API |
String | Yes | sZX6uQW-VOH-0868 |
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 sZX6uQW-VOH-0868 (which is already created in RDC) 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/sZX6uQW-VOH-0868' \ --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": "sZX6uQW-VOH-0868", "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" } ] }