Create EHR with id

​

Create a new EHR with the specified ehr_id identifier.

The value of the ehr_id unique identifier MUST be valid HIER_OBJECT_ID value. It is strongly RECOMMENDED that an UUID always be used for this.

An EHR_STATUS resource needs to be always created and committed in the new EHR. This resource MAY be also supplied by the client as the request body. If not supplied, a default EHR_STATUS will be used by the service with following attributes:

  • is_queryable: true
  • is_modifiable: true
  • subject: a PARTY_SELF object

All other required EHR attributes and resources will be automatically created as needed by the EHR creation semantics.

The optional cadasto-person-uid request header links the new EHR to an existing Demographic PERSON in the same contribution. See the Cadasto demographic link guide.

Path Parameters
  • ehr_id
    Type: string
    required

    EHR identifier taken from EHR.ehr_id.value.

Headers
  • Prefer
    Type: string

    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=representation write 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-tag header Emit the openehr-item-tag response header with the current tags. On writes that ship openehr-item-tag in 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-Applied response header echoes the tokens the server actually honoured (return=, plus include_item_tags / resolve_refs when applied).

  • cadasto-person-uid
    Type: string Format: uuid

    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_ref and GET /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 with 400 Bad Request.

    On PUT /ehr/{ehr_id}/ehr_status the link is append-only — an EHR that already has a link cannot be re-linked via this header and the request is rejected with 409 Conflict.

Body·
application/json

An EHR_STATUS resource MAY be also supplied by the client as the request body.

An EHR_STATUS resource

  • archetype_node_id
    Type: string
    required
  • is_modifiable
    Type: boolean
    required
  • is_queryable
    Type: boolean
    required
  • name
    required
    • _type
      Discriminator
      enum
      const:  
      DV_TEXT
      required
      values
      • DV_TEXT
    • value
      Type: string
      required
    • encoding
      Type: object ·
    • formatting
      Type: string
    • hyperlink
    • language
      Type: object ·
    • mappings
      Type: array object[] ·
  • subject
    required
    • _type
      Discriminator
      enum
      const:  
      PARTY_SELF
      required
      values
      • PARTY_SELF
    • external_ref
      Type: object ·

      Identifier for parties in a demographic or identity service.

  • _type
    Type: string
  • archetype_details
    Type: object ·
  • feeder_audit
    Type: object ·
  • Type: array object[] ·
  • other_details
    • _type
      Discriminator
      Type: string
    • archetype_node_id
      Type: string
      required
    • item
      Type: object ·
      required
    • name
      required
    • archetype_details
      Type: object ·
    • feeder_audit
      Type: object ·
    • links
      Type: array object[] ·
    • uid
Responses
  • application/json
  • 400

    400 Bad Request is returned when the request URL or body (if provided) could not be parsed or has invalid content.

  • 409

    409 Conflict Unable to create a new EHR due to a conflict. Possible causes:

    • The supplied ehr_id is already used by an existing EHR.
    • The supplied cadasto-person-uid already points to another EHR.
  • 422

    422 Unprocessable Entity is returned when the supplied cadasto-person-uid does not resolve to an existing PERSON in the Demographic API, or resolves to a non-PERSON actor (Organisation, Agent, Group, Role).

Request Example for put/ehr/{ehr_id}
curl https://cataniamc.prod.cadasto.com/openehr/v1/ehr/7d44b88c-4199-4bad-97dc-d78268e01398 \
  --request PUT \
  --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
}'
{
  "system_id": {
    "value": "9624982A-9F42-41A5-9318-AE13D5F5031F"
  },
  "ehr_id": {
    "value": "7d44b88c-4199-4bad-97dc-d78268e01398"
  },
  "ehr_status": {
    "id": {
      "_type": "OBJECT_VERSION_ID",
      "value": "8849182c-82ad-4088-a07f-48ead4180515::cataniamc.prod.cadasto.com::1"
    },
    "namespace": "local",
    "type": "EHR_STATUS"
  },
  "ehr_access": {
    "id": {
      "_type": "OBJECT_VERSION_ID",
      "value": "59a8d0ac-140e-4feb-b2d6-af99f8e68af8::cataniamc.prod.cadasto.com::1"
    },
    "namespace": "local",
    "type": "EHR_ACCESS"
  },
  "time_created": {
    "value": "2015-01-20T19:30:22.765+01:00"
  }
}