Signals API - Patients

Update a patient

  • Sandbox: available
  • Staging: available
  • Production: unknown
POST
/v1/signals/api/patient/{id}

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 submitters or metadata, ovok keeps your project's submitter and stamp in them. Sending alertsPaused, alertIfEmpty, alertIfNote or alertInactiveDays also needs signals_config:update and signals_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 refId in 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 a refId; ovok asks Signals which patient a Signals id is.

Authorization

headerAuthorizationBearer <JWT>

Path Parameters

id*string

The Signals patient id.

Request Body

application/json
  1. body
refId?string

v1 let an update move the patient to a new refId; one another patient holds is a 409.

Length1 <= length <= 200
name?string
Lengthlength <= 200
submitters?array<string>
Itemsitems <= 256
subscribers?array<string>
Itemsitems <= 256
alertIfEmpty?boolean
alertIfNote?boolean
alertInactiveDays?number
Range1 <= value <= 3650
alertsPaused?boolean
metadata?

Merged into the existing metadata, not replaced — a write that omits project does not clear the stamp.

email?string
Formatemail
Lengthlength <= 320
bsn?string
Lengthlength <= 64
umoId?string
Lengthlength <= 200
dateOfBirth?string
Match^\d{4}-\d{2}-\d{2}$
tags?

Response Body

The patient as it now stands.

application/json
  1. response
id*string
tenantId*string
refId*string

The caller's own identifier for this patient.

name*string
submitters*array<string>

Client ids permitted to post readings.

subscribers*array<string>

Client ids permitted to read the record.

alertIfEmpty*boolean

Raise an alert when a reading carries no value.

alertIfNote*boolean

Raise an alert when a reading carries a note.

alertInactiveDays*number
alertsPaused*boolean

Whole-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*string
Formatdate-time
lastSeenAt*string
Formatdate-time
createdAt*string
Formatdate-time
updatedAt*string
Formatdate-time
email?string

Absent when unset, as in v1.

bsn?string

Dutch citizen service number. Absent when unset.

umoId?string

Absent when unset.

dateOfBirth?string

The 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?string

The id of the client that created the patient.

_id*string

The same value as id, under v1's name.

tenant*string

The tenant id, under v1's name.

config*
Example Request
curl -X POST 'https://api.sandbox.ovok.com/v1/signals/api/patient/string' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "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"      }    }  }}