Update a patient
- Sandbox: available
- Staging: available
- Production: unknown
Only the fields present are changed; metadata is merged, not replaced. Answered with the v1 document.
Through ovok
- Who can call it: Manager apps, and users whose access policy grants the capabilities.
- Capabilities, all required:
signals_patients:update. Project admins have every capability; client applications get no admin bypass. - When you send
submittersormetadata, ovok keeps your project's submitter and stamp in them. SendingalertsPaused,alertIfEmpty,alertIfNoteoralertInactiveDaysalso needssignals_config:updateandsignals_silence:update. - If your access covers only some patients (anyone but project admins, manager or submitter apps, and anyone whose Patient access has no criteria), the patient, and one a
refIdin the body names, must be ones you can update. A patient is named by its Signals id, or by its Medplum Patient id where Signals takes arefId; ovok asks Signals which patient a Signals id is.
AuthorizationBearer <JWT>id*stringThe Signals patient id.
application/json- body
refId?stringv1 let an update move the patient to a new refId; one another patient holds is a 409.
1 <= length <= 200name?stringlength <= 200submitters?array<string>items <= 256subscribers?array<string>items <= 256alertIfEmpty?booleanalertIfNote?booleanalertInactiveDays?number1 <= value <= 3650alertsPaused?booleanmetadata?Merged into the existing metadata, not replaced — a write that omits
project does not clear the stamp.
email?stringemaillength <= 320bsn?stringlength <= 64umoId?stringlength <= 200dateOfBirth?string^\d{4}-\d{2}-\d{2}$tags?The patient as it now stands.
application/json- response
id*stringtenantId*stringrefId*stringThe caller's own identifier for this patient.
name*stringsubmitters*array<string>Client ids permitted to post readings.
subscribers*array<string>Client ids permitted to read the record.
alertIfEmpty*booleanRaise an alert when a reading carries no value.
alertIfNote*booleanRaise an alert when a reading carries a note.
alertInactiveDays*numberalertsPaused*booleanWhole-patient mute. True silences every decision the evaluator would raise for this resident until the flag is cleared; existing open alerts stay open.
metadata*Free-form. project scopes the patient to a facility.
configUpdatedAt*stringdate-timelastSeenAt*stringdate-timecreatedAt*stringdate-timeupdatedAt*stringdate-timeemail?stringAbsent when unset, as in v1.
bsn?stringDutch citizen service number. Absent when unset.
umoId?stringAbsent when unset.
dateOfBirth?stringThe day at UTC midnight, v1's serialisation. Accepted as yyyy-MM-dd, dd-MM-yyyy or dd/MM/yyyy. Absent when unset.
tags?Labels with alphanumeric keys, filterable on the patient and alert lists with tags[key]=a,b. Absent when unset.
manager?stringThe id of the client that created the patient.
_id*stringThe same value as id, under v1's name.
tenant*stringThe tenant id, under v1's name.
config*curl -X POST 'https://api.sandbox.ovok.com/v1/signals/api/patient/string' \ -H 'Content-Type: application/json' \ -d '{}'{ "id": "string", "tenantId": "string", "refId": "string", "name": "string", "submitters": [ "string" ], "subscribers": [ "string" ], "alertIfEmpty": true, "alertIfNote": true, "alertInactiveDays": 0, "alertsPaused": true, "metadata": {}, "configUpdatedAt": "2019-08-24T14:15:22Z", "lastSeenAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "email": "string", "bsn": "string", "umoId": "string", "dateOfBirth": "string", "tags": {}, "manager": "string", "_id": "string", "tenant": "string", "config": { "alertIfEmpty": true, "alertIfNote": true, "alertInactiveDays": 0, "updatedAt": "2019-08-24T14:15:22Z", "triggers": { "property1": { "code": "string", "system": "string", "display": "string", "valueKey": "string", "constants": {}, "logic": {}, "metadata": {}, "version": 0, "updatedAt": "2019-08-24T14:15:22Z" }, "property2": { "code": "string", "system": "string", "display": "string", "valueKey": "string", "constants": {}, "logic": {}, "metadata": {}, "version": 0, "updatedAt": "2019-08-24T14:15:22Z" } } }}Get one patient GET
The patient with its config, triggers keyed by code. A SUBMITTER or SUBSCRIBER reads only patients it is attached to. ### Through ovok - **Who can call it:** Manager apps and Submitter apps, and users whose access policy grants the capabilities. - **Capabilities, all required:** `signals_patients:read`. Project admins have every capability; client applications get no admin bypass. - If your access covers only some patients (anyone but project admins, manager or submitter apps, and anyone whose Patient access has no criteria), the patient must be one you can read. A patient is named by its Signals id, or by its Medplum Patient id where Signals takes a `refId`; ovok asks Signals which patient a Signals id is.
Delete a patient DELETE
Deletes the patient with its triggers, alerts, episodes and readings. This can't be undone through the API. ### Through ovok - **Who can call it:** Manager apps, and users whose access policy grants the capabilities. - **Capabilities, all required:** `signals_patients:delete`. Project admins have every capability; client applications get no admin bypass. - If your access covers only some patients (anyone but project admins, manager or submitter apps, and anyone whose Patient access has no criteria), the patient must be one you can delete. A patient is named by its Signals id, or by its Medplum Patient id where Signals takes a `refId`; ovok asks Signals which patient a Signals id is.