Skip to main content
PATCH
Update Patient
Use the Cobalt id in the URL path. The {id} parameter should be the Cobalt patient ID returned from API responses or GET endpoints, not the MRN or EHR ID.
The update process differs based on the current status of the patient:

1. Updating Pending or Failed Patients

For patients with a status of ‘pending’ or ‘failed’, the patient does not yet exist in the EHR. You can update any attribute, and the new values will be used the next time the patient creation runs.

2. Updating Active Patients

For patients with a status of ‘active’ (already created in the EHR), you can update the patient’s contact information, address, and provider assignments. The change is queued and applied to the EHR asynchronously; the patient’s status will move to ‘pending_update’ while the update is in flight and back to ‘active’ once the EHR write completes.

Contact & Address Fields

Provider Fields (eClinicalWorks Only)

Demographics & Contact Preference Fields (eClinicalWorks Only)

Notification language. When voice_enabled or text_enabled is set, the notification language in eCW follows the patient’s language (using the new value if language is included in the same request, otherwise the patient’s current language): Spanish when language contains “spanish” (case-insensitive), otherwise English. These are the only two options eCW exposes for communication notifications.
Contact/address fields, provider fields, demographics, and contact preferences are applied independently. If one group is rejected by the EHR (for example a provider name that cannot be resolved, or a record the EHR will not let you modify), the other groups in the same request are still applied. Anything that could not be applied is returned in a failed_fields array on the patient.updated webhook, along with a human-readable message. If no fields could be applied, the request fails and a patient.update_failed webhook is sent instead. Use referring_provider_id or pcp_id instead of names when possible, as ID-based resolution is more reliable.
At least one data field must be provided.

Example Request for Updating a Pending/Failed Patient

Example Request for Updating an Active Patient’s Contact Info

Example Request for Updating an Active Patient’s Address

To update the address without saving the previous address as history, pass save_previous_address: false:

Example Request for Updating an Active Patient’s Providers

Or using names instead of IDs:

Example Request for Updating an Active Patient’s Demographics & Contact Preferences

Example Response

Only include the fields you want to update in the request body. Omitted fields will remain unchanged.

Authorizations

client_id
string
header
required
client_secret
string
header
required
access_token
string
header
required

Path Parameters

id
string
required

The patient's ID

Body

application/json

Updates for pending/failed patients. Any allowed attribute can be updated; values are used the next time patient creation runs against the EHR.

address_city
string
address_line2
string

Address line 2 (apartment, suite, unit, etc.)

address_state
string
address_street
string
address_zip
string
cell_phone
string
dob
string<date>
email
string

Patient email address

first_name
string
insurance_name
string
insurance_sequence
enum<string>
Available options:
primary,
secondary,
tertiary
insurance_subscriber_number
string
last_name
string
phone
string
referred_to_provider_id
string

The ehr_id of the provider this patient is being referred to (rendering provider). Use the ehr_id from GET /v1/providers

referring_provider_first_name
string

First name of the referring provider

referring_provider_last_name
string

Last name of the referring provider

referring_provider_id
string

The id of a referring provider from GET /v1/referring-providers (UUID without dashes). Can be used instead of referring_provider_first_name and referring_provider_last_name. Currently only supported for eClinicalWorks.

sex
enum<string>
Available options:
male,
female,
unknown

Response

200 - application/json

Successful response

success
boolean
message
string