Update EHR_STATUS
Updates EHR_STATUS associated with the EHR identified by ehr_id.
The existing latest version_uid of EHR_STATUS resource (i.e. the preceding_version_uid) must be specified in the If-Match header.
The response will contain the updated EHR_STATUS resource when the Prefer header has a value of return=representation.
The optional openehr-item-tag request header replaces all ITEM_TAG resources associated with the target in the same transaction as the update.
The optional cadasto-person-uid request header links the EHR to a PERSON in the
same contribution. The link is append-only here: an EHR that already has a
link cannot be re-linked via this header (409 Conflict). See the
Cadasto demographic link guide.
- Type: stringehr
_id requiredEHR identifier taken from EHR.ehr_id.value.
- Type: stringIf
- Match requiredHeader to make the request conditional. Together with
ETagrequest tag, it helps to prevent simultaneous updates of a resource from overwriting each other ("mid-air collisions"). The format is always anversion_uididentifier enclosed by double quotes. The operation will be performed only if the existing latestversion_uidof the resource (i.e. thepreceding_version_uid) matches this header's value. - Type: stringPrefer
RFC 7240 preference header. Multiple tokens may be sent in a single header as a comma-separated list (e.g.
Prefer: return=representation, include_item_tags) or as repeated headers. Cadasto recognises the following tokens:Token Where it applies Effect return=representationwrite endpoints Return the full updated resource in the response body. return=minimal(default on writes)write endpoints Empty response body. include_item_tags(Cadasto extension)read endpoints, and write endpoints when the request does not already carry an openehr-item-tagheaderEmit the openehr-item-tagresponse header with the current tags. On writes that shipopenehr-item-tagin the request, the token is implied — the response always echoes the tags. Omitted by default on reads. See the ITEM_TAG guide for details.The
Preference-Appliedresponse header echoes the tokens the server actually honoured (return=, plusinclude_item_tags/resolve_refswhen applied). - Type: array object[] ·openehr
-item -tag The list of ITEM_TAG resources to associate with the current versioned object, committed in the same transaction as the create/update.
Two interchangeable formats are accepted:
- JSON (recommended) — same shape as the
/tagsendpoint body - Spec semicolon format —
key="...",value="..."; key="...",value="...",target_path="..."
Cadasto exception: the
openehr-version-item-tagrequest header — used by upstream openEHR to scope tags to a single VERSION — is not supported by Cadasto and will be rejected with400 Bad Request. Tags are always scoped to the versioned object. See the item_tags guide for details and error formats.- keyType: stringrequired
Tag key (identifier). Stored case-insensitively.
- targetType: string
_path max length:500Optional pointer into the target resource (AQL path). Maximum length 500 characters.
- valueType: string
Optional tag value.
- JSON (recommended) — same shape as the
- Type: string Format: uuidcadasto
-person -uid Links the EHR being created (or updated via EHR_STATUS) to an existing PERSON in the Demographic API. The link is written in the same contribution as the EHR/EHR_STATUS write.
Cadasto extension: this header is not part of the openEHR ITS-REST specification. Standard openEHR clients can continue to use
EHR_STATUS.subject.external_refandGET /ehr?subject_id=…&subject_namespace=…instead; the two mechanisms are independent and can coexist. See the Cadasto demographic link guide.Value must be a bare PERSON UID in the HIER_OBJECT_ID form (no
::<system>::<version>suffix). Versioned forms are rejected with400 Bad Request.On
PUT /ehr/{ehr_id}/ehr_statusthe link is append-only — an EHR that already has a link cannot be re-linked via this header and the request is rejected with409 Conflict.
The new EHR_STATUS.
An EHR_STATUS resource
- Type: stringarchetype
_node _id required - Type: booleanis
_modifiable required - Type: booleanis
_queryable required - namerequired
- _typeDiscriminatorenumconst:DV_TEXTrequiredvalues
- D
V _ T E X T
- valueType: stringrequired
- encodingType: object ·
- formattingType: string
- hyperlink
- languageType: object ·
- mappingsType: array object[] ·
- subjectrequired
- _typeDiscriminatorenumconst:PARTY_SELFrequiredvalues
- P
A R T Y _ S E L F
- externalType: object ·
_ref Identifier for parties in a demographic or identity service.
- Type: string_type
- Type: object ·archetype
_details - Type: object ·feeder
_audit - Type: array object[] ·links
- other
_details - _typeDiscriminatorType: string
- archetypeType: string
_node _id required - itemType: object ·required
- namerequired
- archetypeType: object ·
_details - feederType: object ·
_audit - linksType: array object[] ·
- uid
- application/json
- 400
400 Bad Requestis returned when the request URL or body (if provided) could not be parsed or has invalid content. - 404
404 Not Foundis returned when an EHR withehr_iddoes not exist. - 409
409 Conflictis returned when thecadasto-person-uidheader cannot be honoured on the update. Possible causes:- The target EHR already has a link to a PERSON. The header is append-only on
PUT /ehr/{ehr_id}/ehr_status— to re-link, delete and recreate the EHR. - The supplied PERSON is already linked to another EHR.
- The target EHR already has a link to a PERSON. The header is append-only on
- 422
422 Unprocessable Entityis returned when the suppliedcadasto-person-uiddoes not resolve to an existing PERSON in the Demographic API, or resolves to a non-PERSON actor (Organisation, Agent, Group, Role).
curl https://cataniamc.prod.cadasto.com/openehr/v1/ehr/7d44b88c-4199-4bad-97dc-d78268e01398/ehr_status \
--request PUT \
--header 'If-Match: "6cb19121-4307-4648-9da0-d62e4d51f19b::cataniamc.prod.cadasto.com::1"' \
--header 'Content-Type: application/json' \
--data '{
"archetype_node_id": "openEHR-EHR-EHR_STATUS.generic.v1",
"name": {
"value": "EHR status"
},
"subject": {
"_type": "PARTY_SELF"
},
"is_queryable": true,
"is_modifiable": true
}'
{
"archetype_node_id": "openEHR-EHR-EHR_STATUS.generic.v1",
"name": {
"value": "EHR status"
},
"subject": {
"_type": "PARTY_SELF"
},
"is_queryable": true,
"is_modifiable": true
}