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

Sample bundle

Scenario: The phone number of the patient with unique identifier AAAA123456789000 (already created in RDCP) is updated from "123456789" to "987654321"

Command 'json' could not render: Project was not found for bundle-patient-update.json.

Example Request


Example cURL Request:


curl -L -X PUT 'https://api-services-demo.rochedcplatform-sandbox.com/partners/fhir/stu3/api/Bundle/AAAA123456789022' -H 'client_id: {CLIENT_ID}' -H 'client_secret: {CLIENT_SECRET}' -H 'content-type: application/json' -H 'org_id: {ORG_ID}' -H 'x-request-id: 12345678' -H 'Accept: application/json' --data-raw '{
    "resourceType": "Bundle",
    "id": "AAAA123456789022",
    "type": "message",
    "entry": [
        {
            "resource": {
                "resourceType": "MessageHeader",
                "id": "88a37162-3d7c-41c3-89ab-6e25fd68ba00",
                "meta": {
                    "profile": [
                        "http://roche.com/fhir/rdc/StructureDefinition/message-header"
                    ]
                },
                "event": {
                    "system": "http://roche.com/fhir/rdc/message-type",
                    "code": "new-bundle",
                    "display": "New bundle generated"
                },
                "timestamp": "2020-03-27T12:21:39.471Z",
                "source": {
                    "software": "EMR middleware",
                    "version": "1.0.0",
                    "endpoint": "<Organization OID>"
                }
            }
        },
        {
            "resource": {
                "resourceType": "Patient",
                "id": "AAAA123456789022",
                "meta": {
                    "profile": [
                        "http://roche.com/fhir/rdc/StructureDefinition/patient-v2"
                    ]
                },
                "identifier": [
                    {
                        "system": "urn:oid:2.16.724.4.41",
                        "value": "AAAA123456789022"
                    }
                ],
                "active": true,
                "name": [
                    {
                        "family": "PĂ©rez Fuster",
                        "given": [
                            "Manolo"
                        ]
                    }
                ],
                "telecom": [
                    {
                        "system": "phone",
                        "value": "123456789",
                        "use": "home"
                    }
                ],
                "gender": "male",
                "birthDate": "1975-06-16"
            }
        },
        {
            "resource": {
                "resourceType": "Condition",
                "id": "abdca832-a616-454b-b5c7-f1ed1fb4ght",
                "meta": {
                    "profile": [
                        "http://roche.com/fhir/rdc/StructureDefinition/condition"
                    ]
                },
                "clinicalStatus": "active",
                "code": {
                    "coding": [
                        {
                            "system": "http://snomed.info/sct",
                            "code": "46635009",
                            "display": "Diabetes mellitus type 1"
                        }
                    ]
                },
                "subject": {
                    "reference": "Patient/abdca832-a616-454b-b5c7-f1ed1fb45d4e"
                }
            }
        }
    ]
}'