openapi: 3.0.3 info: title: EHR API version: latest x-status: STABLE x-spec: ehr contact: name: Specifications Editorial Committee openEHR url: https://specifications.openehr.org/ email: info@openehr.org license: name: Creative Commons Attribution-NoDerivs 3.0 Unported url: https://creativecommons.org/licenses/by-nd/3.0/ description: | ## Description ### Purpose This specification describes service endpoints, resources and operations as well as details of requests and responses that interacts with EHR openEHR API in a RESTful manner. ### Related Documents Prerequisite documents for reading this document include: - The [EHR Information Model](https://specifications.openehr.org/releases/RM/latest/ehr.html#_the_ehr_information_model) Related documents include: - The [openEHR Architecture Overview](https://specifications.openehr.org/releases/BASE/latest/architecture_overview.html) - The [openEHR Global Class Index](https://specifications.openehr.org/classes) - The [XML-Schemas (XSD)](https://specifications.openehr.org/releases/ITS-XML/latest) - The [JSON-Schemas](https://specifications.openehr.org/releases/ITS-JSON/latest) and [Simplified Data Template (SDT)](simplified_data_template.html) - The [openEHR Platform Abstract Service Model](https://specifications.openehr.org/releases/SM/development/openehr_platform.html) ### Status This specification is in the `STABLE` state, and can be downloaded as [OpenAPI specification](https://spec.openapis.org/oas/v3.0.3) file (in YAML format) [for validation](computable/OAS/ehr-validation.openapi.yaml), or [for code generators](computable/OAS/ehr-codegen.openapi.yaml). Users are encouraged to comment on and/or advise on these paragraphs as well as the main content. The development version of this document can be found at . servers: - url: https://{baseUrl}/v1 description: An example openEHR server URL. variables: baseUrl: default: openEHRSys.example.com description: The (example) server base URL prefix providing openEHR services. This may contain server name, port and base path prefix. security: [] tags: - name: EHR description: | Management of [EHRs](https://specifications.openehr.org/releases/RM/latest/ehr.html#_ehr_class). Actions upon resources of this group are also formally described in the [I_EHR_SERVICE](https://specifications.openehr.org/releases/SM/development/openehr_platform.html#_i_ehr_service_interface) Abstract Service Model interface. - name: EHR_STATUS description: | Management of [EHR_STATUS](https://specifications.openehr.org/releases/RM/latest/ehr.html#_ehr_status_class) and [VERSIONED_EHR_STATUS](https://specifications.openehr.org/releases/RM/latest/ehr.html#_versioned_ehr_status_class) resources. Actions upon resources of this group are also formally described in the [I_EHR_STATUS](https://specifications.openehr.org/releases/SM/development/openehr_platform.html#_i_ehr_status_interface) Abstract Service Model interface. - name: COMPOSITION description: | Management of [COMPOSITION](https://specifications.openehr.org/releases/RM/latest/ehr.html#_composition_class) and [VERSIONED_COMPOSITION](https://specifications.openehr.org/releases/RM/latest/ehr.html#_versioned_composition_class) resources. Actions upon resources of this group are also formally described in the [I_EHR_COMPOSITION](https://specifications.openehr.org/releases/SM/development/openehr_platform.html#_i_ehr_composition_interface) Abstract Service Model interface. - name: DIRECTORY description: | Management of the [directory](https://specifications.openehr.org/releases/RM/latest/ehr.html#_directory) [FOLDER](https://specifications.openehr.org/releases/RM/latest/common.html#_folder_class) resource. Actions upon resources of this group are also formally described in the [I_EHR_DIRECTORY](https://specifications.openehr.org/releases/SM/development/openehr_platform.html#_i_ehr_directory_interface) Abstract Service Model interface. - name: CONTRIBUTION description: | Management of [CONTRIBUTION](https://specifications.openehr.org/releases/RM/latest/common.html#_contribution_class) resource. Actions upon resources of this group are also formally described in the [I_EHR_CONTRIBUTION](https://specifications.openehr.org/releases/SM/development/openehr_platform.html#_i_ehr_contribution_interface) Abstract Service Model interface. - name: ITEM_TAG description: | Management of [ITEM_TAG](https://specifications.openehr.org/releases/RM/development/common.html#_item_tag_class) resources. - name: CONTENT_ITEM_schema x-displayName: CONTENT_ITEM description: | The abstract `CONTENT_ITEM` class: - name: ITEM_schema x-displayName: ITEM description: | The abstract `ITEM` class: - name: ITEM_STRUCTURE_schema x-displayName: ITEM_STRUCTURE description: | The abstract `ITEM_STRUCTURE` class: paths: /ehr: post: operationId: ehr_create summary: Create EHR description: | Create a new `EHR` with an auto-generated identifier. 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](https://specifications.openehr.org/releases/RM/latest/ehr.html#_ehr_creation_semantics). tags: - EHR parameters: - $ref: '#/components/parameters/Prefer' requestBody: description: | An EHR_STATUS resource MAY be also supplied by the client as the request body. content: application/json: schema: $ref: '#/components/schemas/EhrStatus' required: false responses: '201': $ref: '#/components/responses/201_EHR' '400': $ref: '#/components/responses/400' '409': $ref: '#/components/responses/409_EHR' get: operationId: ehr_get_by_subject summary: Get EHR by subject id description: | Retrieve the EHR with the specified `subject_id` and `subject_namespace`. These subject parameters will be matched against EHR's EHR_STATUS.subject.external_ref.id.value and EHR_STATUS.subject.external_ref.namespace values. tags: - EHR parameters: - $ref: '#/components/parameters/subject_id' - $ref: '#/components/parameters/subject_namespace' responses: '200': $ref: '#/components/responses/200_EHR' '404': $ref: '#/components/responses/404_EHR_subject' /ehr/{ehr_id}: put: operationId: ehr_create_with_id summary: Create EHR with id description: | Create a new EHR with the specified `ehr_id` identifier. The value of the `ehr_id` unique identifier MUST be valid [HIER_OBJECT_ID](https://specifications.openehr.org/releases/BASE/latest/base_types.html#_hier_object_id_class) 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](https://specifications.openehr.org/releases/RM/latest/ehr.html#_ehr_creation_semantics). tags: - EHR parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/Prefer' requestBody: description: | An EHR_STATUS resource MAY be also supplied by the client as the request body. content: application/json: schema: $ref: '#/components/schemas/EhrStatus' required: false responses: '201': $ref: '#/components/responses/201_EHR' '400': $ref: '#/components/responses/400' '409': $ref: '#/components/responses/409_EHR_with_id' get: operationId: ehr_get_by_id summary: Get EHR by id description: | Retrieve the EHR with the specified `ehr_id`. tags: - EHR parameters: - $ref: '#/components/parameters/ehr_id' responses: '200': $ref: '#/components/responses/200_EHR' '404': $ref: '#/components/responses/404_unknown_ehr_id' /ehr/{ehr_id}/ehr_status/{version_uid}: get: operationId: ehr_status_get_by_version_id summary: Get EHR_STATUS by version id description: | Retrieves a particular version of the EHR_STATUS identified by `version_uid` and associated with the EHR identified by `ehr_id`. When there are ITEM_TAGs associated with the retrieved EHR_STATUS, they will be returned as `openehr-item-tag` response header. tags: - EHR_STATUS parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/version_uid' responses: '200': $ref: '#/components/responses/200_EHR_STATUS_retrieved' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_version_uid' /ehr/{ehr_id}/ehr_status: get: operationId: ehr_status_get_at_time summary: Get EHR_STATUS at time description: | Retrieves a version of the EHR_STATUS associated with the EHR identified by `ehr_id`. If `version_at_time` is supplied, retrieves the version extant _at specified time_, otherwise retrieves the _latest_ EHR_STATUS version. When there are ITEM_TAGs associated with the retrieved EHR_STATUS, they will be returned as `openehr-item-tag` response header. tags: - EHR_STATUS parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/version_at_time' responses: '200': $ref: '#/components/responses/200_EHR_STATUS_retrieved' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_no_version_at_time' put: operationId: ehr_status_update summary: Update EHR_STATUS description: | 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. A list of ITEM_TAGs can be associated with the updated EHR_STATUS, in which case a `openehr-item-tag` request header is needed to be set as well. The corresponding response header will return ITEM_TAGs as they were set by the server. The response will contain the updated EHR_STATUS resource when the `Prefer` header has a value of `return=representation`. tags: - EHR_STATUS parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/If-Match' - $ref: '#/components/parameters/Prefer' - $ref: '#/components/parameters/openehr-item-tag' requestBody: description: | The new EHR_STATUS. content: application/json: schema: $ref: '#/components/schemas/EhrStatus' required: true responses: '200': $ref: '#/components/responses/200_EHR_STATUS_updated' '204': $ref: '#/components/responses/204_EHR_STATUS' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404_unknown_ehr_id' '412': $ref: '#/components/responses/412_EHR_STATUS' /ehr/{ehr_id}/versioned_ehr_status: get: operationId: versioned_ehr_status_get summary: Get versioned EHR_STATUS description: | Retrieves a VERSIONED_EHR_STATUS associated with an EHR identified by `ehr_id`. tags: - EHR_STATUS parameters: - $ref: '#/components/parameters/ehr_id' responses: '200': $ref: '#/components/responses/200_VERSIONED_EHR_STATUS' '404': $ref: '#/components/responses/404_unknown_ehr_id' /ehr/{ehr_id}/versioned_ehr_status/revision_history: get: operationId: versioned_ehr_status_revision_history summary: Get versioned EHR_STATUS revision history description: | Retrieves revision history of the VERSIONED_EHR_STATUS associated with the EHR identified by `ehr_id`. tags: - EHR_STATUS parameters: - $ref: '#/components/parameters/ehr_id' responses: '200': $ref: '#/components/responses/200_REVISION_HISTORY' '404': $ref: '#/components/responses/404_unknown_ehr_id' /ehr/{ehr_id}/versioned_ehr_status/version: get: operationId: versioned_ehr_status_version_get_at_time summary: Get versioned EHR_STATUS version at time description: | Retrieves a VERSION from the VERSIONED_EHR_STATUS associated with the EHR identified by `ehr_id`. If `version_at_time` is supplied, retrieves the VERSION extant _at specified time_, otherwise retrieves the _latest_ VERSION. tags: - EHR_STATUS parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/version_at_time' responses: '200': $ref: '#/components/responses/200_VERSION_of_EHR_STATUS_at_time' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_no_version_at_time' /ehr/{ehr_id}/versioned_ehr_status/version/{version_uid}: get: operationId: versioned_ehr_status_version_get_by_id summary: Get versioned EHR_STATUS version by id description: | Retrieves a VERSION identified by `version_uid` of an EHR_STATUS associated with the EHR identified by `ehr_id`. tags: - EHR_STATUS parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/version_uid' responses: '200': $ref: '#/components/responses/200_VERSION_of_EHR_STATUS_by_id' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_version_uid' /ehr/{ehr_id}/composition: post: operationId: composition_create summary: Create COMPOSITION description: | Creates the first version of a new COMPOSITION in the EHR identified by `ehr_id`. A list of ITEM_TAGs can be associated with the COMPOSITION, in which case a `openehr-item-tag` request header is needed to be set as well. The corresponding response header will return ITEM_TAGs as they were set by the server. tags: - COMPOSITION parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/Prefer' - $ref: '#/components/parameters/openehr-item-tag' requestBody: description: | The COMPOSITION. content: application/json: schema: $ref: '#/components/schemas/Composition' required: true responses: '201': $ref: '#/components/responses/201_COMPOSITION' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404_unknown_ehr_id' '422': $ref: '#/components/responses/422' /ehr/{ehr_id}/composition/{uid_based_id}: get: operationId: composition_get summary: Get COMPOSITION description: | Retrieves a version of the COMPOSITION identified by `uid_based_id` and associated with the EHR identified by `ehr_id`. The `uid_based_id` can take a form of an OBJECT_VERSION_ID identifier taken from VERSION.uid.value (i.e. a `version_uid`), or a form of a HIER_OBJECT_ID identifier taken from VERSIONED_OBJECT.uid.value (i.e. a `versioned_object_uid`). The former is used to retrieve a specific known version of the COMPOSITION (e.g. one identified by `8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1`), whereas the later (e.g. an identifier like `8849182c-82ad-4088-a07f-48ead4180515`) is be used to retrieve a version from the version container whenever the _version_tree_id_ is unknown or irrelevant (such as when most recent version is requested). When the `uid_based_id` has the form of a HIER_OBJECT_ID, if the `version_at_time` is supplied, retrieves the version extant _at specified time_, otherwise retrieves the _latest_ COMPOSITION version. See [Resource identification](overview.html#tag/Resources/Resource-identification) for more details about the identifiers usage and meaning. When there are ITEM_TAGs associated with the retrieved COMPOSITION, they will be returned as `openehr-item-tag` response header. tags: - COMPOSITION parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/uid_based_id' - $ref: '#/components/parameters/version_at_time' responses: '200': $ref: '#/components/responses/200_COMPOSITION_retrieved' '204': $ref: '#/components/responses/204_deleted_at_time' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_no_version_at_time' put: operationId: composition_update summary: Update COMPOSITION description: | Updates COMPOSITION identified by `uid_based_id` and associated with the EHR identified by `ehr_id`. The `uid_based_id` can take only a form of an HIER_OBJECT_ID identifier taken from VERSIONED_OBJECT.uid.value (i.e. a `versioned_object_uid`). If the request body already contains a COMPOSITION.uid.value, it must match the `uid_based_id` in the URL. The existing latest `version_uid` of COMPOSITION resource (i.e. the `preceding_version_uid`) must be specified in the `If-Match` header. A list of ITEM_TAGs can be associated with the updated COMPOSITION, in which case a `openehr-item-tag` request header is needed to be set as well. The corresponding response header will return ITEM_TAGs as they were set by the server. tags: - COMPOSITION parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/uid_based_id_as_versioned_object_uid' - $ref: '#/components/parameters/If-Match' - $ref: '#/components/parameters/Prefer' - $ref: '#/components/parameters/openehr-item-tag' requestBody: description: | The new COMPOSITION. content: application/json: schema: $ref: '#/components/schemas/Composition' required: true responses: '200': $ref: '#/components/responses/200_COMPOSITION_updated' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_uid_based_id' '412': $ref: '#/components/responses/412_COMPOSITION' '422': $ref: '#/components/responses/422' delete: operationId: composition_delete summary: Delete COMPOSITION description: | Deletes the COMPOSITION identified by `uid_based_id` and associated with the EHR identified by `ehr_id`. The `uid_based_id` MUST be in a form of an OBJECT_VERSION_ID identifier taken from the last (most recent) VERSION.uid.value, representing the `preceding_version_uid` to be deleted. tags: - COMPOSITION parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/uid_based_id_as_version_uid' responses: '204': $ref: '#/components/responses/204_COMPOSITION_deleted' '400': $ref: '#/components/responses/400_already_deleted' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_uid_based_id' '409': $ref: '#/components/responses/409_COMPOSITION_with_uid_based_id' /ehr/{ehr_id}/versioned_composition/{versioned_object_uid}: get: operationId: versioned_composition_get summary: Get versioned COMPOSITION description: | Retrieves a VERSIONED_COMPOSITION identified by `versioned_object_uid` and associated with the EHR identified by `ehr_id`. tags: - COMPOSITION parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/versioned_object_uid_COMPOSITION' responses: '200': $ref: '#/components/responses/200_VERSIONED_COMPOSITION' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_versioned_object_uid' /ehr/{ehr_id}/versioned_composition/{versioned_object_uid}/revision_history: get: operationId: versioned_composition_revision_history summary: Get versioned COMPOSITION revision history description: | Retrieves revision history of the VERSIONED_COMPOSITION identified by `versioned_object_uid` and associated with the EHR identified by `ehr_id`. tags: - COMPOSITION parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/versioned_object_uid_COMPOSITION' responses: '200': $ref: '#/components/responses/200_REVISION_HISTORY' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_versioned_object_uid' /ehr/{ehr_id}/versioned_composition/{versioned_object_uid}/version: get: operationId: versioned_composition_version_get_at_time summary: Get versioned COMPOSITION version at time description: | Retrieves a VERSION from the VERSIONED_COMPOSITION identified by `versioned_object_uid` and associated with the EHR identified by `ehr_id`. If `version_at_time` is supplied, retrieves the VERSION extant _at specified time_, otherwise retrieves the _latest_ VERSION. tags: - COMPOSITION parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/versioned_object_uid_COMPOSITION' - $ref: '#/components/parameters/version_at_time' responses: '200': $ref: '#/components/responses/200_VERSION_of_COMPOSITION_at_time' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_versioned_object_uid_or_no_version_at_time' /ehr/{ehr_id}/versioned_composition/{versioned_object_uid}/version/{version_uid}: get: operationId: versioned_composition_version_get_by_id summary: Get versioned COMPOSITION version by id description: | Retrieves a VERSION identified by `version_uid` of a VERSIONED_COMPOSITION identified by `versioned_object_uid` and associated with the EHR identified by `ehr_id`. tags: - COMPOSITION parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/versioned_object_uid_COMPOSITION' - $ref: '#/components/parameters/version_uid_COMPOSITION' responses: '200': $ref: '#/components/responses/200_VERSION_of_COMPOSITION_by_id' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_versioned_object_uid_or_version_uid' /ehr/{ehr_id}/directory: post: operationId: directory_create summary: Create directory description: | Creates a new directory FOLDER associated with the EHR identified by `ehr_id`. tags: - DIRECTORY parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/Prefer' requestBody: description: | The directory. content: application/json: schema: $ref: '#/components/schemas/Folder' required: true responses: '201': $ref: '#/components/responses/201_directory' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404_unknown_ehr_id' put: operationId: directory_update summary: Update directory description: | Updates directory FOLDER associated with the EHR identified by `ehr_id`. The existing latest `version_uid` of directory FOLDER resource (i.e. the `preceding_version_uid`) must be specified in the `If-Match` header. tags: - DIRECTORY parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/If-Match' - $ref: '#/components/parameters/Prefer' requestBody: description: | The new directory. content: application/json: schema: $ref: '#/components/schemas/Folder' required: true responses: '200': $ref: '#/components/responses/200_directory_updated' '204': $ref: '#/components/responses/204_directory_updated' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404_unknown_ehr_id' '412': $ref: '#/components/responses/412_directory' delete: operationId: directory_delete summary: Delete directory description: | Deletes directory FOLDER associated with the EHR identified by `ehr_id`. The existing latest `version_uid` of directory FOLDER resource (i.e. the `preceding_version_uid`) must be specified in the `If-Match` header. tags: - DIRECTORY parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/If-Match' responses: '204': $ref: '#/components/responses/204_deleted' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404_unknown_ehr_id' '412': $ref: '#/components/responses/412_directory' get: operationId: directory_get_at_time summary: Get folder in directory version at time description: | Retrieves the version of the directory FOLDER associated with the EHR identified by `ehr_id`. If `version_at_time` is supplied, retrieves the version extant _at specified time_, otherwise retrieves the _latest_ directory FOLDER version. If `path` is supplied, retrieves from the directory only the sub-FOLDER that is associated with that path. tags: - DIRECTORY parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/version_at_time' - $ref: '#/components/parameters/path' responses: '200': $ref: '#/components/responses/200_FOLDER_retrieved' '204': $ref: '#/components/responses/204_deleted_at_time' '404': $ref: '#/components/responses/404_directory_unknown_ehr_id_or_no_version_at_time_or_no_path' /ehr/{ehr_id}/directory/{version_uid}: get: operationId: directory_get_by_version_id summary: Get folder in directory version description: | Retrieves a particular version of the directory FOLDER identified by `version_uid` and associated with the EHR identified by `ehr_id`. If `path` is supplied, retrieves from the directory only the sub-FOLDER that is associated with that path. tags: - DIRECTORY parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/version_uid' - $ref: '#/components/parameters/path' responses: '200': $ref: '#/components/responses/200_FOLDER_retrieved' '404': $ref: '#/components/responses/404_directory_unknown_ehr_id_or_no_version_uid_or_no_path' /ehr/{ehr_id}/contribution: post: operationId: contribution_create summary: Create CONTRIBUTION description: | We will use the relaxed CONTRIBUTION with the following optional attributes: - `uid`: when provided, it will be accepted in case is not in-use, otherwise error will be returned - `audit.time_committed`: server will always set it - `audit.system_id`: when provided, it will be validated tags: - CONTRIBUTION parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/Prefer' requestBody: description: | The CONTRIBUTION. content: application/json: schema: $ref: '#/components/schemas/NewContribution' required: true responses: '201': $ref: '#/components/responses/201_CONTRIBUTION' '400': $ref: '#/components/responses/400_CONTRIBUTION' '404': $ref: '#/components/responses/404_unknown_ehr_id' '409': $ref: '#/components/responses/409' /ehr/{ehr_id}/contribution/{contribution_uid}: get: operationId: contribution_get summary: Get CONTRIBUTION by id description: | Retrieves a CONTRIBUTION identified by `contribution_uid` and associated with the EHR identified by `ehr_id`. tags: - CONTRIBUTION parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/contribution_uid' responses: '200': $ref: '#/components/responses/200_CONTRIBUTION' '404': $ref: '#/components/responses/404_CONTRIBUTION' /ehr/{ehr_id}/tags: get: operationId: ehr_tags_get summary: Get EHR tags description: | Retrieves the list of ITEM_TAG resources associated with any target VERSION or VERSIONED_OBJECT within the EHR identified by `ehr_id`. This list can be filtered by the given one or more `tag_key`, `tag_value`, `tag_target_path` query parameters. In case no such parameter is provided then all ITEM_TAG will be retrieved. This will return an empty list when there is no matching ITEM_TAG associated with any target within given EHR. More then one ITEM_TAG may be associated with a single target, in which case they are uniquely identified by their `key` and `target_path` pair attributes. tags: - ITEM_TAG parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/tag_key' - $ref: '#/components/parameters/tag_value' - $ref: '#/components/parameters/tag_target_path' responses: '200': $ref: '#/components/responses/200_COMPOSITION_ItemTagList_retrieved' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404_unknown_ehr_id' /ehr/{ehr_id}/composition/{uid_based_id}/tags: get: operationId: composition_tags_get summary: Get COMPOSITION tags description: | Retrieves the list of all ITEM_TAG resources associated with a given target COMPOSITION version or VERSIONED_COMPOSITION identified by `uid_based_id` and owned by EHR identified by `ehr_id`. The `uid_based_id` can take a form of an OBJECT_VERSION_ID identifier taken from VERSION.uid.value (i.e. a `version_uid`), or a form of a HIER_OBJECT_ID identifier taken from VERSIONED_OBJECT.uid.value (i.e. a `versioned_object_uid`). The former is used to get the tags of a particular (target) version of the COMPOSITION version (e.g. one identified by `8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1`), whereas the later (e.g. an identifier like `8849182c-82ad-4088-a07f-48ead4180515`) is be used to get the tags of the target VERSIONED_COMPOSITION container, which semantically are equivalent to tags targeting the latest version. This will return an empty list when there is no ITEM_TAG associated with the given target. More then one ITEM_TAG may be associated with a single target COMPOSITION or VERSIONED_COMPOSITION, in which case they are uniquely identified by their `key` and `target_path` pair attributes. tags: - ITEM_TAG parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/uid_based_id' responses: '200': $ref: '#/components/responses/200_COMPOSITION_ItemTagList_retrieved' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_uid_based_id' put: operationId: composition_tags_update summary: Update COMPOSITION tags description: | Updates the list of all ITEM_TAG resources associated with a given target COMPOSITION version or VERSIONED_COMPOSITION identified by `uid_based_id` and owned by EHR identified by `ehr_id`. The `uid_based_id` can take a form of an OBJECT_VERSION_ID identifier taken from VERSION.uid.value (i.e. a `version_uid`), or a form of a HIER_OBJECT_ID identifier taken from VERSIONED_OBJECT.uid.value (i.e. a `versioned_object_uid`). The former is used to update the tags of a particular COMPOSITION version (e.g. one identified by `8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1`), whereas the later (e.g. an identifier like `8849182c-82ad-4088-a07f-48ead4180515`) is be used to update the tags of the target VERSIONED_COMPOSITION container, which semantically are equivalent to tags targeting the latest version. Providing an empty list will effectively remove all ITEM_TAG associated with the given target. More then one ITEM_TAG may be associated with a single target, in which case they are uniquely identified by their `key` and `target_path` pair attributes. tags: - ITEM_TAG parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/uid_based_id' - $ref: '#/components/parameters/Prefer' requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/UpdateItemTag' required: true responses: '200': $ref: '#/components/responses/200_COMPOSITION_ItemTagList_updated' '204': $ref: '#/components/responses/204_updated' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_uid_based_id' /ehr/{ehr_id}/composition/{uid_based_id}/tags/{key}: delete: operationId: composition_tags_delete summary: Delete COMPOSITION tags description: | Deletes the ITEM_TAG resource(s) identified by `tag_key`, associated with a given target COMPOSITION version or VERSIONED_COMPOSITION identified by `uid_based_id` and owned by EHR identified by `ehr_id`. The `uid_based_id` can take a form of an OBJECT_VERSION_ID identifier taken from VERSION.uid.value (i.e. a `version_uid`), or a form of a HIER_OBJECT_ID identifier taken from VERSIONED_OBJECT.uid.value (i.e. a `versioned_object_uid`). The former is used to delete the tags a particular (target) version of the COMPOSITION version (e.g. one identified by `8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1`), whereas the later (e.g. an identifier like `8849182c-82ad-4088-a07f-48ead4180515`) is be used to delete the tags of the target VERSIONED_COMPOSITION container, which semantically are equivalent to tags targeting the latest version. tags: - ITEM_TAG parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/uid_based_id' - $ref: '#/components/parameters/key' responses: '204': $ref: '#/components/responses/204_deleted' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_uid_based_id_or_key' /ehr/{ehr_id}/ehr_status/{uid_based_id}/tags: get: operationId: ehr_status_tags_get summary: Get EHR_STATUS tags description: | Retrieves the list of all ITEM_TAG resources associated with a given target EHR_STATUS version or VERSIONED_EHR_STATUS identified by `uid_based_id` and owned by EHR identified by `ehr_id`. The `uid_based_id` can take a form of an OBJECT_VERSION_ID identifier taken from VERSION.uid.value (i.e. a `version_uid`), or a form of a HIER_OBJECT_ID identifier taken from VERSIONED_OBJECT.uid.value (i.e. a `versioned_object_uid`). The former is used to get the tags of a particular (target) version of the EHR_STATUS version (e.g. one identified by `8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1`), whereas the later (e.g. an identifier like `8849182c-82ad-4088-a07f-48ead4180515`) is be used to get the tags of the target VERSIONED_EHR_STATUS container, which semantically are equivalent to tags targeting the latest version. This will return an empty list when there is no ITEM_TAG associated with the given target. More then one ITEM_TAG may be associated with a single target EHR_STATUS or VERSIONED_EHR_STATUS, in which case they are uniquely identified by their `key` and `target_path` pair attributes. tags: - ITEM_TAG parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/uid_based_id' responses: '200': $ref: '#/components/responses/200_EHR_STATUS_ItemTagList_retrieved' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_uid_based_id' put: operationId: ehr_status_tags_update summary: Update EHR_STATUS tags description: | Updates the list of all ITEM_TAG resources associated with a given target EHR_STATUS version or VERSIONED_EHR_STATUS identified by `uid_based_id` and owned by EHR identified by `ehr_id`. The `uid_based_id` can take a form of an OBJECT_VERSION_ID identifier taken from VERSION.uid.value (i.e. a `version_uid`), or a form of a HIER_OBJECT_ID identifier taken from VERSIONED_OBJECT.uid.value (i.e. a `versioned_object_uid`). The former is used to update the tags of a particular EHR_STATUS version (e.g. one identified by `8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1`), whereas the later (e.g. an identifier like `8849182c-82ad-4088-a07f-48ead4180515`) is be used to update the tags of the target VERSIONED_EHR_STATUS container, which semantically are equivalent to tags targeting the latest version. Providing an empty list will effectively remove all ITEM_TAG associated with the given target. More then one ITEM_TAG may be associated with a single target, in which case they are uniquely identified by their `key` and `target_path` pair attributes. tags: - ITEM_TAG parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/uid_based_id' - $ref: '#/components/parameters/Prefer' requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/UpdateItemTag' required: true responses: '200': $ref: '#/components/responses/200_EHR_STATUS_ItemTagList_updated' '204': $ref: '#/components/responses/204_updated' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_uid_based_id' /ehr/{ehr_id}/ehr_status/{uid_based_id}/tags/{key}: delete: operationId: ehr_status_tags_delete summary: Delete EHR_STATUS tags description: | Deletes the ITEM_TAG resource(s) identified by `tag_key`, associated with a given target EHR_STATUS version or VERSIONED_EHR_STATUS identified by `uid_based_id` and owned by EHR identified by `ehr_id`. The `uid_based_id` can take a form of an OBJECT_VERSION_ID identifier taken from VERSION.uid.value (i.e. a `version_uid`), or a form of a HIER_OBJECT_ID identifier taken from VERSIONED_OBJECT.uid.value (i.e. a `versioned_object_uid`). The former is used to delete the tags a particular (target) version of the EHR_STATUS version (e.g. one identified by `8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1`), whereas the later (e.g. an identifier like `8849182c-82ad-4088-a07f-48ead4180515`) is be used to delete the tags of the target VERSIONED_EHR_STATUS container, which semantically are equivalent to tags targeting the latest version. tags: - ITEM_TAG parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/uid_based_id' - $ref: '#/components/parameters/key' responses: '204': $ref: '#/components/responses/204_deleted' '404': $ref: '#/components/responses/404_unknown_ehr_id_or_uid_based_id_or_key' components: schemas: VersionOfComposition: title: VERSION required: - contribution - commit_audit - data type: object properties: _type: type: string contribution: $ref: '#/components/schemas/ObjectRefOfHierObjectId' signature: type: string commit_audit: $ref: '#/components/schemas/AuditDetails' data: $ref: '#/components/schemas/Composition' description: A VERSION resource VersionOfEhrStatus: title: VERSION required: - contribution - commit_audit - data type: object properties: _type: type: string contribution: $ref: '#/components/schemas/ObjectRefOfHierObjectId' signature: type: string commit_audit: $ref: '#/components/schemas/AuditDetails' data: $ref: '#/components/schemas/EhrStatus' description: A VERSION resource ObjectId: title: OBJECT_ID required: - value type: object properties: _type: type: string value: type: string discriminator: propertyName: _type mapping: ARCHETYPE_ID: '#/components/schemas/ArchetypeId' GENERIC_ID: '#/components/schemas/GenericId' HIER_OBJECT_ID: '#/components/schemas/HierObjectId' OBJECT_VERSION_ID: '#/components/schemas/ObjectVersionId' TEMPLATE_ID: '#/components/schemas/TemplateId' TERMINOLOGY_ID: '#/components/schemas/TerminologyId' UID_BASED_ID: '#/components/schemas/UidBasedId' UidBasedId: title: UID_BASED_ID type: object allOf: - $ref: '#/components/schemas/ObjectId' x-discriminator-value: UID_BASED_ID discriminator: propertyName: _type mapping: HIER_OBJECT_ID: '#/components/schemas/HierObjectId' OBJECT_VERSION_ID: '#/components/schemas/ObjectVersionId' HierObjectId: title: HIER_OBJECT_ID required: - value type: object allOf: - $ref: '#/components/schemas/UidBasedId' properties: _type: enum: - HIER_OBJECT_ID type: string value: type: string example: value: 6cb19121-4307-4648-9da0-d62e4d51f19b x-discriminator-value: HIER_OBJECT_ID ArchetypeId: title: ARCHETYPE_ID type: object allOf: - $ref: '#/components/schemas/ObjectId' properties: _type: enum: - ARCHETYPE_ID type: string x-discriminator-value: ARCHETYPE_ID TemplateId: title: TEMPLATE_ID type: object allOf: - $ref: '#/components/schemas/ObjectId' properties: _type: enum: - TEMPLATE_ID type: string x-discriminator-value: TEMPLATE_ID TerminologyId: title: TERMINOLOGY_ID type: object allOf: - $ref: '#/components/schemas/ObjectId' properties: _type: enum: - TERMINOLOGY_ID type: string x-discriminator-value: TERMINOLOGY_ID GenericId: title: GENERIC_ID required: - scheme type: object allOf: - $ref: '#/components/schemas/ObjectId' properties: _type: enum: - GENERIC_ID type: string scheme: type: string x-discriminator-value: GENERIC_ID ObjectVersionId: title: OBJECT_VERSION_ID required: - value type: object allOf: - $ref: '#/components/schemas/UidBasedId' properties: _type: enum: - OBJECT_VERSION_ID type: string example: value: 6cb19121-4307-4648-9da0-d62e4d51f19b::openEHRSys.example.com::2 x-discriminator-value: OBJECT_VERSION_ID ObjectRef: title: OBJECT_REF required: - namespace - type - id type: object properties: namespace: type: string type: type: string id: $ref: '#/components/schemas/ObjectId' example: id: _type: OBJECT_VERSION_ID value: fb458d9c-1323-42bc-b7f8-787f3660a0b5::openEHRSys.example.com::1 namespace: local type: COMPOSITION discriminator: propertyName: _type mapping: OBJECT_REF: '#/components/schemas/ObjectRef' PARTY_REF: '#/components/schemas/PartyRef' ObjectRefOfObjectVersionId: title: OBJECT_REF type: object allOf: - $ref: '#/components/schemas/ObjectRef' properties: id: $ref: '#/components/schemas/ObjectVersionId' example: id: _type: OBJECT_VERSION_ID value: fb458d9c-1323-42bc-b7f8-787f3660a0b5::openEHRSys.example.com::1 namespace: local type: COMPOSITION DataValue: title: DATA_VALUE type: object properties: _type: type: string discriminator: propertyName: _type mapping: DV_AMOUNT: '#/components/schemas/DvAmount' DV_BOOLEAN: '#/components/schemas/DvBoolean' DV_CODED_TEXT: '#/components/schemas/DvCodedText' DV_COUNT: '#/components/schemas/DvCount' DV_DATE: '#/components/schemas/DvDate' DV_DATE_TIME: '#/components/schemas/DvDateTime' DV_DURATION: '#/components/schemas/DvDuration' DV_EHR_URI: '#/components/schemas/DvEhrUri' DV_ENCAPSULATED: '#/components/schemas/DvEncapsulated' DV_IDENTIFIER: '#/components/schemas/DvIdentifier' DV_INTERVAL: '#/components/schemas/DvInterval' DV_INTERVAL_of_DATE_TIME: '#/components/schemas/DvIntervalOfDateTime' DV_MULTIMEDIA: '#/components/schemas/DvMultimedia' DV_ORDERED: '#/components/schemas/DvOrdered' DV_ORDINAL: '#/components/schemas/DvOrdinal' DV_PARSABLE: '#/components/schemas/DvParsable' DV_PROPORTION: '#/components/schemas/DvProportion' DV_QUANTIFIED: '#/components/schemas/DvQuantified' DV_QUANTITY: '#/components/schemas/DvQuantity' DV_SCALE: '#/components/schemas/DvScale' DV_STATE: '#/components/schemas/DvState' DV_TEMPORAL: '#/components/schemas/DvTemporal' DV_TEXT: '#/components/schemas/DvText' DV_TIME: '#/components/schemas/DvTime' DV_URI: '#/components/schemas/DvUri' CodePhrase: title: CODE_PHRASE required: - terminology_id - code_string type: object properties: terminology_id: $ref: '#/components/schemas/TerminologyId' code_string: type: string preferred_term: type: string example: terminology_id: value: local code_string: at0001 DvInterval: title: DV_INTERVAL required: - lower_unbounded - upper_unbounded - lower_included - upper_included type: object allOf: - $ref: '#/components/schemas/DataValue' properties: _type: type: string default: DV_INTERVAL lower_unbounded: type: boolean upper_unbounded: type: boolean lower_included: type: boolean upper_included: type: boolean x-discriminator-value: DV_INTERVAL discriminator: propertyName: _type mapping: DV_INTERVAL_of_DATE_TIME: '#/components/schemas/DvIntervalOfDateTime' DvUri: title: DV_URI required: - value type: object allOf: - $ref: '#/components/schemas/DataValue' properties: _type: type: string default: DV_URI value: type: string example: _type: DV_URI value: https://www.example.com x-discriminator-value: DV_URI discriminator: propertyName: _type mapping: DV_EHR_URI: '#/components/schemas/DvEhrUri' DvEhrUri: title: DV_EHR_URI type: object allOf: - $ref: '#/components/schemas/DvUri' properties: _type: enum: - DV_EHR_URI type: string example: _type: DV_EHR_URI value: ehr://system_id/ehr_id/top_level_structure_locator/path_inside_top_level_structure x-discriminator-value: DV_EHR_URI DvText: title: DV_TEXT required: - value type: object allOf: - $ref: '#/components/schemas/DataValue' properties: _type: type: string default: DV_TEXT value: type: string hyperlink: $ref: '#/components/schemas/DvUri' formatting: type: string mappings: type: array items: $ref: '#/components/schemas/TermMapping' language: $ref: '#/components/schemas/CodePhrase' encoding: $ref: '#/components/schemas/CodePhrase' example: _type: DV_TEXT value: Text value x-discriminator-value: DV_TEXT discriminator: propertyName: _type mapping: DV_CODED_TEXT: '#/components/schemas/DvCodedText' DvCodedText: title: DV_CODED_TEXT required: - defining_code type: object allOf: - $ref: '#/components/schemas/DvText' properties: _type: enum: - DV_CODED_TEXT type: string defining_code: $ref: '#/components/schemas/CodePhrase' example: value: Coded text value defining_code: terminology_id: value: local code_string: at0001 x-discriminator-value: DV_CODED_TEXT TermMapping: title: TERM_MAPPING required: - match - target type: object properties: match: pattern: /^[><=?]$/ type: string purpose: $ref: '#/components/schemas/DvCodedText' target: $ref: '#/components/schemas/CodePhrase' ReferenceRange: title: REFERENCE_RANGE required: - meaning - range type: object properties: meaning: $ref: '#/components/schemas/DvText' range: $ref: '#/components/schemas/DvInterval' DvOrdered: title: DV_ORDERED type: object allOf: - $ref: '#/components/schemas/DataValue' properties: _type: type: string default: DV_ORDERED normal_status: $ref: '#/components/schemas/CodePhrase' normal_range: $ref: '#/components/schemas/DvInterval' other_reference_ranges: type: array items: $ref: '#/components/schemas/ReferenceRange' x-discriminator-value: DV_ORDERED discriminator: propertyName: _type mapping: DV_AMOUNT: '#/components/schemas/DvAmount' DV_COUNT: '#/components/schemas/DvCount' DV_DATE: '#/components/schemas/DvDate' DV_DATE_TIME: '#/components/schemas/DvDateTime' DV_DURATION: '#/components/schemas/DvDuration' DV_ORDINAL: '#/components/schemas/DvOrdinal' DV_PROPORTION: '#/components/schemas/DvProportion' DV_QUANTIFIED: '#/components/schemas/DvQuantified' DV_QUANTITY: '#/components/schemas/DvQuantity' DV_SCALE: '#/components/schemas/DvScale' DV_TEMPORAL: '#/components/schemas/DvTemporal' DV_TIME: '#/components/schemas/DvTime' DvQuantified: title: DV_QUANTIFIED type: object allOf: - $ref: '#/components/schemas/DvOrdered' properties: _type: type: string default: DV_QUANTIFIED magnitude_status: type: string default: '=' x-discriminator-value: DV_QUANTIFIED discriminator: propertyName: _type mapping: DV_AMOUNT: '#/components/schemas/DvAmount' DV_COUNT: '#/components/schemas/DvCount' DV_DATE: '#/components/schemas/DvDate' DV_DATE_TIME: '#/components/schemas/DvDateTime' DV_DURATION: '#/components/schemas/DvDuration' DV_PROPORTION: '#/components/schemas/DvProportion' DV_QUANTITY: '#/components/schemas/DvQuantity' DV_TEMPORAL: '#/components/schemas/DvTemporal' DV_TIME: '#/components/schemas/DvTime' DvAmount: title: DV_AMOUNT type: object allOf: - $ref: '#/components/schemas/DvQuantified' properties: _type: type: string default: DV_AMOUNT accuracy_is_percent: type: boolean accuracy: type: number x-discriminator-value: DV_AMOUNT discriminator: propertyName: _type mapping: DV_COUNT: '#/components/schemas/DvCount' DV_DURATION: '#/components/schemas/DvDuration' DV_PROPORTION: '#/components/schemas/DvProportion' DV_QUANTITY: '#/components/schemas/DvQuantity' DvDuration: title: DV_DURATION type: object allOf: - $ref: '#/components/schemas/DvAmount' properties: _type: enum: - DV_DURATION type: string x-discriminator-value: DV_DURATION DvTemporal: title: DV_TEMPORAL type: object allOf: - $ref: '#/components/schemas/DvQuantified' properties: _type: type: string default: DV_TEMPORAL accuracy: $ref: '#/components/schemas/DvDuration' x-discriminator-value: DV_TEMPORAL discriminator: propertyName: _type mapping: DV_DATE: '#/components/schemas/DvDate' DV_DATE_TIME: '#/components/schemas/DvDateTime' DV_TIME: '#/components/schemas/DvTime' DvDateTime: title: DV_DATE_TIME required: - value type: object allOf: - $ref: '#/components/schemas/DvTemporal' properties: _type: enum: - DV_DATE_TIME type: string value: type: string format: date-time example: _type: DV_DATE_TIME value: '2017-08-15T10:37:15.422+02:00' x-discriminator-value: DV_DATE_TIME Ehr: title: EHR type: object properties: system_id: $ref: '#/components/schemas/HierObjectId' ehr_id: $ref: '#/components/schemas/HierObjectId' ehr_status: $ref: '#/components/schemas/ObjectRefOfObjectVersionId' ehr_access: $ref: '#/components/schemas/ObjectRefOfObjectVersionId' time_created: $ref: '#/components/schemas/DvDateTime' description: An EHR resource example: 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::openEHRSys.example.com::1 namespace: local type: EHR_STATUS ehr_access: id: _type: OBJECT_VERSION_ID value: 59a8d0ac-140e-4feb-b2d6-af99f8e68af8::openEHRSys.example.com::1 namespace: local type: EHR_ACCESS time_created: value: '2015-01-20T19:30:22.765+01:00' Pathable: title: PATHABLE type: object properties: _type: type: string discriminator: propertyName: _type mapping: ACTION: '#/components/schemas/Action' ACTIVITY: '#/components/schemas/Activity' ADMIN_ENTRY: '#/components/schemas/AdminEntry' CARE_ENTRY: '#/components/schemas/CareEntry' CLUSTER: '#/components/schemas/Clstr' COMPOSITION: '#/components/schemas/Composition' CONTENT_ITEM: '#/components/schemas/ContentItem' DATA_STRUCTURE: '#/components/schemas/DataStructure' EHR_STATUS: '#/components/schemas/EhrStatus' ELEMENT: '#/components/schemas/Element' ENTRY: '#/components/schemas/AbstractEntry' EVALUATION: '#/components/schemas/Evaluation' EVENT: '#/components/schemas/Event' EVENT_CONTEXT: '#/components/schemas/EventContext' FOLDER: '#/components/schemas/Folder' HISTORY: '#/components/schemas/History' INSTRUCTION: '#/components/schemas/Instruction' INSTRUCTION_DETAILS: '#/components/schemas/InstructionDetails' ISM_TRANSITION: '#/components/schemas/IsmTransition' ITEM: '#/components/schemas/Item' ITEM_LIST: '#/components/schemas/ItemList' ITEM_SINGLE: '#/components/schemas/ItemSingle' ITEM_STRUCTURE: '#/components/schemas/ItemStructure' ITEM_TABLE: '#/components/schemas/ItemTable' ITEM_TREE: '#/components/schemas/ItemTree' LOCATABLE: '#/components/schemas/Locatable' OBSERVATION: '#/components/schemas/Observation' Versionable: '#/components/schemas/Versionable' Link: title: LINK required: - meaning - type - target type: object properties: meaning: $ref: '#/components/schemas/DvText' type: $ref: '#/components/schemas/DvText' target: $ref: '#/components/schemas/DvEhrUri' Archetyped: title: ARCHETYPED required: - archetype_id - rm_version type: object properties: archetype_id: $ref: '#/components/schemas/ArchetypeId' template_id: $ref: '#/components/schemas/TemplateId' rm_version: type: string example: archetype_id: value: openEHR-EHR-COMPOSITION.encounter.v1 template_id: value: Example.v1::c7ec861c-c413-39ff-9965-a198ebf44747 rm_version: 1.0.2 additionalProperties: false DvIdentifier: title: DV_IDENTIFIER required: - id type: object allOf: - $ref: '#/components/schemas/DataValue' properties: _type: enum: - DV_IDENTIFIER type: string issuer: type: string assigner: type: string id: type: string type: type: string description: | Type for representing identifiers of real-world entities. Typical identifiers include drivers licence number, social security number, veterans affairs number, prescription id, order id, and so on. DV_IDENTIFIER is used to represent any identifier of a real thing, issued by some authority or agency. example: id: 16b74749-e6aa-4945-b760-b42bdc07098a type: Patient x-discriminator-value: DV_IDENTIFIER DvEncapsulated: title: DV_ENCAPSULATED required: - _type type: object allOf: - $ref: '#/components/schemas/DataValue' properties: _type: type: string charset: $ref: '#/components/schemas/CodePhrase' language: $ref: '#/components/schemas/CodePhrase' discriminator: propertyName: _type mapping: DV_MULTIMEDIA: '#/components/schemas/DvMultimedia' DV_PARSABLE: '#/components/schemas/DvParsable' DvMultimedia: title: DV_MULTIMEDIA required: - media_type - size type: object allOf: - $ref: '#/components/schemas/DvEncapsulated' properties: _type: enum: - DV_MULTIMEDIA type: string alternate_text: type: string uri: $ref: '#/components/schemas/DvUri' data: type: string media_type: $ref: '#/components/schemas/CodePhrase' compression_algorithm: $ref: '#/components/schemas/CodePhrase' integrity_check: type: string integrity_check_algorithm: $ref: '#/components/schemas/CodePhrase' thumbnail: $ref: '#/components/schemas/DvMultimedia' size: type: integer x-discriminator-value: DV_MULTIMEDIA DvParsable: title: DV_PARSABLE required: - value - formalism type: object allOf: - $ref: '#/components/schemas/DvEncapsulated' properties: _type: enum: - DV_PARSABLE type: string value: type: string formalism: type: string x-discriminator-value: DV_PARSABLE PartyRef: title: PARTY_REF type: object allOf: - $ref: '#/components/schemas/ObjectRef' properties: type: pattern: ^PERSON|ORGANISATION|GROUP|AGENT|ROLE|PARTY|ACTOR$ type: string id: $ref: '#/components/schemas/HierObjectId' description: Identifier for parties in a demographic or identity service. example: id: _type: HIER_OBJECT_ID value: b52b9408-7048-4ec8-94bd-831fb0727e67 namespace: local type: PERSON PartyProxy: title: PARTY_PROXY required: - _type type: object properties: _type: type: string external_ref: $ref: '#/components/schemas/PartyRef' discriminator: propertyName: _type mapping: PARTY_IDENTIFIED: '#/components/schemas/PartyIdentified' PARTY_RELATED: '#/components/schemas/PartyRelated' PARTY_SELF: '#/components/schemas/PartySelf' PartyIdentified: title: PARTY_IDENTIFIED type: object allOf: - $ref: '#/components/schemas/PartyProxy' properties: _type: type: string default: PARTY_IDENTIFIED name: type: string identifiers: type: array items: $ref: '#/components/schemas/DvIdentifier' example: _type: PARTY_IDENTIFIED external_ref: id: _type: GENERIC_ID value: 16b74749-e6aa-4945-b760-b42bdc07098a scheme: pid namespace: openEHRSys.example.com type: PERSON name: A name x-discriminator-value: PARTY_IDENTIFIED discriminator: propertyName: _type mapping: PARTY_RELATED: '#/components/schemas/PartyRelated' PartyRelated: title: PARTY_RELATED required: - relationship type: object allOf: - $ref: '#/components/schemas/PartyIdentified' properties: _type: enum: - PARTY_RELATED type: string relationship: $ref: '#/components/schemas/DvCodedText' x-discriminator-value: PARTY_RELATED PartySelf: title: PARTY_SELF type: object allOf: - $ref: '#/components/schemas/PartyProxy' properties: _type: enum: - PARTY_SELF type: string x-discriminator-value: PARTY_SELF Locatable: title: LOCATABLE required: - name - archetype_node_id type: object allOf: - $ref: '#/components/schemas/Pathable' properties: name: $ref: '#/components/schemas/DvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' discriminator: propertyName: _type mapping: ACTION: '#/components/schemas/Action' ACTIVITY: '#/components/schemas/Activity' ADMIN_ENTRY: '#/components/schemas/AdminEntry' CARE_ENTRY: '#/components/schemas/CareEntry' CLUSTER: '#/components/schemas/Clstr' COMPOSITION: '#/components/schemas/Composition' CONTENT_ITEM: '#/components/schemas/ContentItem' DATA_STRUCTURE: '#/components/schemas/DataStructure' EHR_STATUS: '#/components/schemas/EhrStatus' ELEMENT: '#/components/schemas/Element' ENTRY: '#/components/schemas/AbstractEntry' EVALUATION: '#/components/schemas/Evaluation' EVENT: '#/components/schemas/Event' FOLDER: '#/components/schemas/Folder' HISTORY: '#/components/schemas/History' INSTRUCTION: '#/components/schemas/Instruction' ITEM: '#/components/schemas/Item' ITEM_LIST: '#/components/schemas/ItemList' ITEM_SINGLE: '#/components/schemas/ItemSingle' ITEM_STRUCTURE: '#/components/schemas/ItemStructure' ITEM_TABLE: '#/components/schemas/ItemTable' ITEM_TREE: '#/components/schemas/ItemTree' OBSERVATION: '#/components/schemas/Observation' Versionable: '#/components/schemas/Versionable' DataStructure: title: DATA_STRUCTURE type: object allOf: - $ref: '#/components/schemas/Locatable' properties: _type: type: string x-discriminator-value: DATA_STRUCTURE discriminator: propertyName: _type mapping: ITEM_LIST: '#/components/schemas/ItemList' ITEM_SINGLE: '#/components/schemas/ItemSingle' ITEM_STRUCTURE: '#/components/schemas/ItemStructure' ITEM_TABLE: '#/components/schemas/ItemTable' ITEM_TREE: '#/components/schemas/ItemTree' ItemStructure: title: ITEM_STRUCTURE type: object allOf: - $ref: '#/components/schemas/DataStructure' properties: _type: type: string x-discriminator-value: ITEM_STRUCTURE discriminator: propertyName: _type mapping: ITEM_LIST: '#/components/schemas/ItemList' ITEM_SINGLE: '#/components/schemas/ItemSingle' ITEM_TABLE: '#/components/schemas/ItemTable' ITEM_TREE: '#/components/schemas/ItemTree' Item: title: ITEM type: object allOf: - $ref: '#/components/schemas/Locatable' properties: _type: type: string x-discriminator-value: ITEM discriminator: propertyName: _type mapping: CLUSTER: '#/components/schemas/Clstr' ELEMENT: '#/components/schemas/Element' DvBoolean: title: DV_BOOLEAN required: - value type: object allOf: - $ref: '#/components/schemas/DataValue' properties: _type: enum: - DV_BOOLEAN type: string value: type: boolean x-discriminator-value: DV_BOOLEAN DvCount: title: DV_COUNT required: - magnitude type: object allOf: - $ref: '#/components/schemas/DvAmount' properties: _type: enum: - DV_COUNT type: string magnitude: type: integer x-discriminator-value: DV_COUNT DvDate: title: DV_DATE required: - value type: object allOf: - $ref: '#/components/schemas/DvTemporal' properties: _type: enum: - DV_DATE type: string value: type: string format: date example: _type: DV_DATE value: '2017-08-15' x-discriminator-value: DV_DATE DvOrdinal: title: DV_ORDINAL required: - symbol - value type: object allOf: - $ref: '#/components/schemas/DvOrdered' properties: _type: enum: - DV_ORDINAL type: string symbol: $ref: '#/components/schemas/DvCodedText' value: type: integer x-discriminator-value: DV_ORDINAL DvProportion: title: DV_PROPORTION required: - numerator - denominator - semantic_type type: object allOf: - $ref: '#/components/schemas/DvAmount' properties: _type: enum: - DV_PROPORTION type: string numerator: type: number denominator: type: number semantic_type: type: integer precision: type: integer x-discriminator-value: DV_PROPORTION DvQuantity: title: DV_QUANTITY required: - magnitude - units type: object allOf: - $ref: '#/components/schemas/DvAmount' properties: _type: enum: - DV_QUANTITY type: string magnitude: type: number precision: type: integer units: type: string units_system: type: string units_display_name: type: string x-discriminator-value: DV_QUANTITY DvScale: title: DV_SCALE required: - symbol - value type: object allOf: - $ref: '#/components/schemas/DvOrdered' properties: _type: enum: - DV_SCALE type: string symbol: $ref: '#/components/schemas/DvCodedText' value: type: number x-discriminator-value: DV_SCALE DvState: title: DV_STATE required: - value - is_terminal type: object allOf: - $ref: '#/components/schemas/DataValue' properties: _type: enum: - DV_STATE type: string value: $ref: '#/components/schemas/DvCodedText' is_terminal: type: boolean x-discriminator-value: DV_STATE DvTime: title: DV_TIME required: - value type: object allOf: - $ref: '#/components/schemas/DvTemporal' properties: _type: enum: - DV_TIME type: string value: type: string format: time example: _type: DV_TIME value: '08:20:12' x-discriminator-value: DV_TIME Element: title: ELEMENT type: object allOf: - $ref: '#/components/schemas/Item' properties: _type: enum: - ELEMENT type: string null_flavour: $ref: '#/components/schemas/DvCodedText' value: $ref: '#/components/schemas/DataValue' null_reason: $ref: '#/components/schemas/DvText' x-discriminator-value: ELEMENT ItemSingle: title: ITEM_SINGLE required: - item type: object allOf: - $ref: '#/components/schemas/ItemStructure' properties: _type: enum: - ITEM_SINGLE type: string item: $ref: '#/components/schemas/Element' x-discriminator-value: ITEM_SINGLE ItemList: title: ITEM_LIST type: object allOf: - $ref: '#/components/schemas/ItemStructure' properties: _type: enum: - ITEM_LIST type: string items: type: array items: $ref: '#/components/schemas/Element' x-discriminator-value: ITEM_LIST Clstr: title: CLUSTER required: - items type: object allOf: - $ref: '#/components/schemas/Item' properties: _type: enum: - CLUSTER type: string items: type: array items: $ref: '#/components/schemas/Item' x-discriminator-value: CLUSTER ItemTable: title: ITEM_TABLE type: object allOf: - $ref: '#/components/schemas/ItemStructure' properties: _type: enum: - ITEM_TABLE type: string items: type: array items: $ref: '#/components/schemas/Clstr' x-discriminator-value: ITEM_TABLE ItemTree: title: ITEM_TREE type: object allOf: - $ref: '#/components/schemas/ItemStructure' properties: _type: enum: - ITEM_TREE type: string items: type: array items: $ref: '#/components/schemas/Item' description: See [ITEM](#tag/ITEM_schema) schema details. x-discriminator-value: ITEM_TREE FeederAuditDetails: title: FEEDER_AUDIT_DETAILS required: - system_id type: object properties: system_id: type: string location: $ref: '#/components/schemas/PartyIdentified' subject: $ref: '#/components/schemas/PartyProxy' provider: $ref: '#/components/schemas/PartyIdentified' time: $ref: '#/components/schemas/DvDateTime' version_id: type: string other_details: $ref: '#/components/schemas/ItemStructure' FeederAudit: title: FEEDER_AUDIT required: - originating_system_audit type: object properties: originating_system_item_ids: type: array items: $ref: '#/components/schemas/DvIdentifier' feeder_system_item_ids: type: array items: $ref: '#/components/schemas/DvIdentifier' original_content: $ref: '#/components/schemas/DvEncapsulated' originating_system_audit: $ref: '#/components/schemas/FeederAuditDetails' feeder_system_audit: $ref: '#/components/schemas/FeederAuditDetails' Versionable: title: Versionable type: object allOf: - $ref: '#/components/schemas/Locatable' description: A Versionable resource discriminator: propertyName: _type mapping: COMPOSITION: '#/components/schemas/Composition' EHR_STATUS: '#/components/schemas/EhrStatus' FOLDER: '#/components/schemas/Folder' EhrStatus: title: EHR_STATUS required: - subject - is_queryable - is_modifiable type: object allOf: - $ref: '#/components/schemas/Versionable' properties: _type: enum: - EHR_STATUS type: string subject: $ref: '#/components/schemas/PartyProxy' is_queryable: type: boolean default: true is_modifiable: type: boolean default: true other_details: $ref: '#/components/schemas/ItemStructure' description: An EHR_STATUS resource example: archetype_node_id: openEHR-EHR-EHR_STATUS.generic.v1 name: value: EHR status uid: _type: OBJECT_VERSION_ID value: 8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1 subject: _type: PARTY_SELF is_queryable: true is_modifiable: true x-discriminator-value: EHR_STATUS Error: title: Error required: - message - validationErrors type: object properties: message: type: string validationErrors: type: array items: type: string description: '' example: message: Error message validationErrors: - error1 - error2 UpdateItemTag: title: UPDATE_ITEM_TAG required: - key type: object properties: key: type: string description: Tag key (identifier) value: type: string description: Tag value target_path: type: string description: An AQL path withing the `target` used to tag a fine-grained element example: key: flag value: follow-up target_path: /context/start_time/value additionalProperties: false ObjectRefOfHierObjectId: title: OBJECT_REF type: object allOf: - $ref: '#/components/schemas/ObjectRef' properties: id: $ref: '#/components/schemas/HierObjectId' example: id: _type: HIER_OBJECT_ID value: 6cb19121-4307-4648-9da0-d62e4d51f19b namespace: local type: CONTRIBUTION VersionedObject: title: VERSIONED_OBJECT required: - uid - owner_id - time_created type: object properties: _type: type: string uid: $ref: '#/components/schemas/HierObjectId' owner_id: $ref: '#/components/schemas/ObjectRefOfHierObjectId' time_created: $ref: '#/components/schemas/DvDateTime' discriminator: propertyName: _type mapping: VERSIONED_COMPOSITION: '#/components/schemas/VersionedComposition' VERSIONED_EHR_STATUS: '#/components/schemas/VersionedEhrStatus' VersionedEhrStatus: title: VERSIONED_EHR_STATUS type: object allOf: - $ref: '#/components/schemas/VersionedObject' properties: _type: enum: - VERSIONED_EHR_STATUS type: string description: A VERSIONED_EHR_STATUS resource example: uid: value: 6cb19121-4307-4648-9da0-d62e4d51f19b owner_id: id: _type: HIER_OBJECT_ID value: 7d44b88c-4199-4bad-97dc-d78268e01398 namespace: local type: EHR time_created: value: '2015-01-20T19:30:22.765+01:00' x-discriminator-value: VERSIONED_EHR_STATUS AuditDetails: title: AUDIT_DETAILS required: - system_id - time_committed - change_type - committer type: object properties: _type: type: string default: AUDIT_DETAILS system_id: type: string time_committed: $ref: '#/components/schemas/DvDateTime' change_type: $ref: '#/components/schemas/DvCodedText' description: $ref: '#/components/schemas/DvText' committer: $ref: '#/components/schemas/PartyProxy' description: The set of attributes required to document the committal of an information item to a repository. example: system_id: 9624982A-9F42-41A5-9318-AE13D5F5031F committer: _type: PARTY_IDENTIFIED name: A user name time_committed: value: '2017-08-15T10:37:15.422+02:00' change_type: value: creation defining_code: terminology_id: value: openehr code_string: '249' description: value: Description text x-discriminator-value: AUDIT_DETAILS discriminator: propertyName: _type mapping: ATTESTATION: '#/components/schemas/Attestation' RevisionHistoryItem: title: REVISION_HISTORY_ITEM required: - version_id - audits type: object properties: version_id: $ref: '#/components/schemas/ObjectVersionId' audits: type: array items: $ref: '#/components/schemas/AuditDetails' description: A REVISION_HISTORY_ITEM resource example: version_id: value: 8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1 audits: - system_id: d60e2348-b083-48ce-93b9-916cef1d3a5a time_committed: value: '2015-01-20T19:30:22.765+01:00' change_type: value: creation defining_code: terminology_id: value: openehr code_string: '249' description: value: An optional description string committer: _type: PARTY_IDENTIFIED name: A user name RevisionHistory: title: REVISION_HISTORY required: - items type: object properties: items: type: array items: $ref: '#/components/schemas/RevisionHistoryItem' description: A REVISION_HISTORY resource DvIntervalOfDateTime: title: DV_INTERVAL_of_DATE_TIME type: object allOf: - $ref: '#/components/schemas/DvInterval' properties: _type: type: string default: DV_INTERVAL lower: $ref: '#/components/schemas/DvDateTime' upper: $ref: '#/components/schemas/DvDateTime' x-discriminator-value: DV_INTERVAL_of_DATE_TIME Participation: title: PARTICIPATION required: - function - performer type: object properties: function: $ref: '#/components/schemas/DvText' mode: $ref: '#/components/schemas/DvCodedText' performer: $ref: '#/components/schemas/PartyProxy' time: $ref: '#/components/schemas/DvIntervalOfDateTime' EventContext: title: EVENT_CONTEXT required: - start_time - setting type: object allOf: - $ref: '#/components/schemas/Pathable' properties: start_time: $ref: '#/components/schemas/DvDateTime' end_time: $ref: '#/components/schemas/DvDateTime' location: type: string setting: $ref: '#/components/schemas/DvCodedText' other_context: $ref: '#/components/schemas/ItemStructure' health_care_facility: $ref: '#/components/schemas/PartyIdentified' participations: type: array items: $ref: '#/components/schemas/Participation' x-discriminator-value: EVENT_CONTEXT ContentItem: title: CONTENT_ITEM type: object allOf: - $ref: '#/components/schemas/Locatable' discriminator: propertyName: _type mapping: ACTION: '#/components/schemas/Action' ADMIN_ENTRY: '#/components/schemas/AdminEntry' CARE_ENTRY: '#/components/schemas/CareEntry' ENTRY: '#/components/schemas/AbstractEntry' EVALUATION: '#/components/schemas/Evaluation' INSTRUCTION: '#/components/schemas/Instruction' OBSERVATION: '#/components/schemas/Observation' AbstractEntry: title: ENTRY required: - language - encoding - subject type: object allOf: - $ref: '#/components/schemas/ContentItem' properties: language: $ref: '#/components/schemas/CodePhrase' encoding: $ref: '#/components/schemas/CodePhrase' other_participations: type: array items: $ref: '#/components/schemas/Participation' workflow_id: $ref: '#/components/schemas/ObjectRef' subject: $ref: '#/components/schemas/PartyProxy' provider: $ref: '#/components/schemas/PartyProxy' discriminator: propertyName: _type mapping: ACTION: '#/components/schemas/Action' ADMIN_ENTRY: '#/components/schemas/AdminEntry' CARE_ENTRY: '#/components/schemas/CareEntry' EVALUATION: '#/components/schemas/Evaluation' INSTRUCTION: '#/components/schemas/Instruction' OBSERVATION: '#/components/schemas/Observation' AdminEntry: title: ADMIN_ENTRY required: - data type: object allOf: - $ref: '#/components/schemas/AbstractEntry' properties: _type: enum: - ADMIN_ENTRY type: string data: $ref: '#/components/schemas/ItemStructure' x-discriminator-value: ADMIN_ENTRY CareEntry: title: CARE_ENTRY type: object allOf: - $ref: '#/components/schemas/AbstractEntry' properties: protocol: $ref: '#/components/schemas/ItemStructure' guideline_id: $ref: '#/components/schemas/ObjectRef' discriminator: propertyName: _type mapping: ACTION: '#/components/schemas/Action' EVALUATION: '#/components/schemas/Evaluation' INSTRUCTION: '#/components/schemas/Instruction' OBSERVATION: '#/components/schemas/Observation' Event: title: EVENT required: - time - data type: object allOf: - $ref: '#/components/schemas/Locatable' properties: _type: type: string default: EVENT time: $ref: '#/components/schemas/DvDateTime' state: $ref: '#/components/schemas/ItemStructure' data: $ref: '#/components/schemas/ItemStructure' x-discriminator-value: EVENT History: title: HISTORY required: - origin type: object allOf: - $ref: '#/components/schemas/Locatable' properties: _type: type: string default: HISTORY origin: $ref: '#/components/schemas/DvDateTime' period: $ref: '#/components/schemas/DvDuration' duration: $ref: '#/components/schemas/DvDuration' summary: $ref: '#/components/schemas/ItemStructure' events: type: array items: $ref: '#/components/schemas/Event' x-discriminator-value: HISTORY Observation: title: OBSERVATION required: - data type: object allOf: - $ref: '#/components/schemas/CareEntry' properties: _type: enum: - OBSERVATION type: string data: $ref: '#/components/schemas/History' state: $ref: '#/components/schemas/History' x-discriminator-value: OBSERVATION Evaluation: title: EVALUATION required: - data type: object allOf: - $ref: '#/components/schemas/CareEntry' properties: _type: enum: - EVALUATION type: string data: $ref: '#/components/schemas/ItemStructure' x-discriminator-value: EVALUATION Activity: title: ACTIVITY required: - action_archetype_id - description type: object allOf: - $ref: '#/components/schemas/Locatable' properties: _type: enum: - ACTIVITY type: string timing: $ref: '#/components/schemas/DvParsable' action_archetype_id: type: string description: $ref: '#/components/schemas/ItemStructure' x-discriminator-value: ACTIVITY Instruction: title: INSTRUCTION required: - narrative type: object allOf: - $ref: '#/components/schemas/CareEntry' properties: _type: enum: - INSTRUCTION type: string narrative: $ref: '#/components/schemas/DvText' expiry_time: $ref: '#/components/schemas/DvDateTime' wf_definition: $ref: '#/components/schemas/DvParsable' activities: type: array items: $ref: '#/components/schemas/Activity' x-discriminator-value: INSTRUCTION IsmTransition: title: ISM_TRANSITION required: - current_state type: object allOf: - $ref: '#/components/schemas/Pathable' properties: _type: enum: - ISM_TRANSITION type: string current_state: $ref: '#/components/schemas/DvCodedText' transition: $ref: '#/components/schemas/DvCodedText' careflow_step: $ref: '#/components/schemas/DvCodedText' reason: type: array items: $ref: '#/components/schemas/DvText' x-discriminator-value: ISM_TRANSITION LocatableRef: title: LOCATABLE_REF required: - namespace - type - id type: object properties: namespace: type: string type: type: string id: $ref: '#/components/schemas/UidBasedId' path: type: string InstructionDetails: title: INSTRUCTION_DETAILS required: - instruction_id - activity_id type: object allOf: - $ref: '#/components/schemas/Pathable' properties: _type: enum: - INSTRUCTION_DETAILS type: string instruction_id: $ref: '#/components/schemas/LocatableRef' activity_id: type: string wf_details: $ref: '#/components/schemas/ItemStructure' x-discriminator-value: INSTRUCTION_DETAILS Action: title: ACTION required: - time - ism_transition - description type: object allOf: - $ref: '#/components/schemas/CareEntry' properties: _type: enum: - ACTION type: string time: $ref: '#/components/schemas/DvDateTime' ism_transition: $ref: '#/components/schemas/IsmTransition' instruction_details: $ref: '#/components/schemas/InstructionDetails' description: $ref: '#/components/schemas/ItemStructure' x-discriminator-value: ACTION Composition: title: COMPOSITION required: - language - territory - category - context - composer - content type: object allOf: - $ref: '#/components/schemas/Versionable' properties: _type: enum: - COMPOSITION type: string language: $ref: '#/components/schemas/CodePhrase' territory: $ref: '#/components/schemas/CodePhrase' category: $ref: '#/components/schemas/DvCodedText' context: $ref: '#/components/schemas/EventContext' composer: $ref: '#/components/schemas/PartyProxy' content: type: array items: $ref: '#/components/schemas/ContentItem' description: See [CONTENT_ITEM](#tag/CONTENT_ITEM_schema) schema details. description: A COMPOSITION resource example: archetype_node_id: openEHR-EHR-COMPOSITION.encounter.v1 name: value: Vital Signs uid: _type: OBJECT_VERSION_ID value: 8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1 archetype_details: archetype_id: value: openEHR-EHR-COMPOSITION.encounter.v1 template_id: value: Example.v1::c7ec861c-c413-39ff-9965-a198ebf44747 rm_version: 1.0.2 language: terminology_id: value: ISO_639-1 code_string: en territory: terminology_id: value: ISO_3166-1 code_string: NL category: value: event defining_code: terminology_id: value: openehr code_string: '433' composer: _type: PARTY_IDENTIFIED external_ref: id: _type: GENERIC_ID value: 16b74749-e6aa-4945-b760-b42bdc07098a scheme: pid namespace: openEHRSys.example.com type: PERSON name: A name context: start_time: value: '2014-11-18T09:50:35.000+01:00' setting: value: other care defining_code: terminology_id: value: openehr code_string: '238' content: [] x-discriminator-value: COMPOSITION Folder: title: FOLDER type: object allOf: - $ref: '#/components/schemas/Versionable' properties: _type: enum: - FOLDER type: string items: type: array items: $ref: '#/components/schemas/ObjectRef' folders: type: array items: $ref: '#/components/schemas/Folder' details: $ref: '#/components/schemas/ItemStructure' description: A FOLDER resource example: archetype_node_id: openEHR-EHR-FOLDER.directory.v1 name: value: Directory uid: _type: OBJECT_VERSION_ID value: 8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1 items: [] folders: [] x-discriminator-value: FOLDER Version: title: VERSION required: - contribution - commit_audit - data type: object properties: _type: type: string contribution: $ref: '#/components/schemas/ObjectRefOfHierObjectId' signature: type: string commit_audit: $ref: '#/components/schemas/AuditDetails' data: $ref: '#/components/schemas/Versionable' description: A VERSION resource discriminator: propertyName: _type mapping: IMPORTED_VERSION: '#/components/schemas/ImportedVersion' ORIGINAL_VERSION: '#/components/schemas/OriginalVersion' Attestation: title: ATTESTATION required: - reason - is_pending type: object allOf: - $ref: '#/components/schemas/AuditDetails' properties: _type: enum: - ATTESTATION type: string attested_view: $ref: '#/components/schemas/DvMultimedia' proof: type: string items: type: array items: $ref: '#/components/schemas/DvEhrUri' reason: $ref: '#/components/schemas/DvText' is_pending: type: boolean x-discriminator-value: ATTESTATION OriginalVersion: title: ORIGINAL_VERSION required: - uid - lifecycle_state type: object allOf: - $ref: '#/components/schemas/Version' properties: _type: enum: - ORIGINAL_VERSION type: string uid: $ref: '#/components/schemas/ObjectVersionId' preceding_version_uid: $ref: '#/components/schemas/ObjectVersionId' other_input_version_uids: type: array items: $ref: '#/components/schemas/ObjectVersionId' lifecycle_state: $ref: '#/components/schemas/DvCodedText' attestations: type: array items: $ref: '#/components/schemas/Attestation' x-discriminator-value: ORIGINAL_VERSION ImportedVersion: title: IMPORTED_VERSION required: - item type: object allOf: - $ref: '#/components/schemas/Version' properties: _type: enum: - IMPORTED_VERSION type: string item: $ref: '#/components/schemas/OriginalVersion' x-discriminator-value: IMPORTED_VERSION VersionedComposition: title: VERSIONED_COMPOSITION type: object allOf: - $ref: '#/components/schemas/VersionedObject' properties: _type: enum: - VERSIONED_COMPOSITION type: string description: A VERSIONED_COMPOSITION resource example: uid: value: 8849182c-82ad-4088-a07f-48ead4180515 owner_id: id: _type: HIER_OBJECT_ID value: 7d44b88c-4199-4bad-97dc-d78268e01398 namespace: local type: EHR time_created: value: '2015-01-20T19:30:22.765+01:00' x-discriminator-value: VERSIONED_COMPOSITION TerminologyCode: title: TERMINOLOGY_CODE required: - terminology_id - code_string type: object properties: terminology_id: type: string terminology_version: type: string code_string: type: string uri: type: string format: uri example: terminology_id: snomed_ct code_string: '308335008' UpdateAudit: title: UPDATE_AUDIT required: - change_type - committer type: object properties: _type: type: string default: UPDATE_AUDIT change_type: $ref: '#/components/schemas/TerminologyCode' description: $ref: '#/components/schemas/DvText' committer: $ref: '#/components/schemas/PartyProxy' description: The set of attributes required to document the committal of an information item to a repository. Used by the server to create an AUDIT_DETAILS object. example: change_type: value: creation defining_code: terminology_id: openehr code_string: '249' description: Description text committer: _type: PARTY_IDENTIFIED name: A user name x-discriminator-value: UPDATE_AUDIT discriminator: propertyName: _type mapping: UPDATE_ATTESTATION: '#/components/schemas/UpdateAttestation' UpdateAttestation: title: UPDATE_ATTESTATION required: - reason - is_pending type: object allOf: - $ref: '#/components/schemas/UpdateAudit' properties: _type: enum: - UPDATE_ATTESTATION type: string attested_view: $ref: '#/components/schemas/DvMultimedia' proof: type: string items: type: array items: $ref: '#/components/schemas/DvEhrUri' reason: $ref: '#/components/schemas/DvText' is_pending: type: boolean x-discriminator-value: UPDATE_ATTESTATION UpdateVersion: title: UPDATE_VERSION required: - lifecycle_state - data - commit_audit type: object properties: preceding_version_uid: $ref: '#/components/schemas/ObjectVersionId' signature: type: string lifecycle_state: $ref: '#/components/schemas/TerminologyCode' attestations: type: array items: $ref: '#/components/schemas/UpdateAttestation' data: $ref: '#/components/schemas/Versionable' commit_audit: $ref: '#/components/schemas/UpdateAudit' NewContribution: title: NewContribution required: - versions - audit type: object properties: uid: $ref: '#/components/schemas/HierObjectId' versions: type: array items: $ref: '#/components/schemas/UpdateVersion' audit: $ref: '#/components/schemas/UpdateAudit' description: A new (un-committed) CONTRIBUTION resource Contribution: title: CONTRIBUTION required: - uid - versions - audit type: object properties: uid: $ref: '#/components/schemas/HierObjectId' versions: type: array items: $ref: '#/components/schemas/ObjectRefOfObjectVersionId' audit: $ref: '#/components/schemas/AuditDetails' description: A CONTRIBUTION resource example: uid: value: 0826851c-c4c2-4d61-92b9-410fb8275ff0 versions: - id: _type: OBJECT_VERSION_ID value: fb458d9c-1323-42bc-b7f8-787f3660a0b5::openEHRSys.example.com::1 namespace: local type: COMPOSITION - id: _type: OBJECT_VERSION_ID value: abcdefgh-1323-42bc-b7f8-787f3660a0ba::openEHRSys.example.com::1 namespace: local type: FOLDER audit: system_id: 9624982A-9F42-41A5-9318-AE13D5F5031F committer: _type: PARTY_IDENTIFIED name: A user name time_committed: value: '2017-08-15T10:37:15.422+02:00' change_type: value: creation defining_code: terminology_id: value: openehr code_string: '249' description: value: Description text ItemTag: title: ITEM_TAG required: - key - target - owner_id type: object properties: key: type: string value: type: string target_path: type: string target: $ref: '#/components/schemas/ObjectRef' owner_id: $ref: '#/components/schemas/ObjectRefOfHierObjectId' additionalProperties: false discriminator: propertyName: _type mapping: ITEM_TAG: '#/components/schemas/ItemTag' ItemTagOfComposition: title: ITEM_TAG type: object allOf: - $ref: '#/components/schemas/ItemTag' example: key: flag value: follow-up target_path: /context/start_time/value target: id: _type: HIER_OBJECT_ID value: 8849182c-82ad-4088-a07f-48ead4180515 namespace: local type: COMPOSITION owner_id: id: _type: HIER_OBJECT_ID value: 7d44b88c-4199-4bad-97dc-d78268e01398 namespace: local type: EHR ItemTagOfEhrStatus: title: ITEM_TAG type: object allOf: - $ref: '#/components/schemas/ItemTag' example: key: flag value: follow-up target_path: '' target: id: _type: HIER_OBJECT_ID value: 8849182c-82ad-4088-a07f-48ead4180515 namespace: local type: EHR_STATUS owner_id: id: _type: HIER_OBJECT_ID value: 7d44b88c-4199-4bad-97dc-d78268e01398 namespace: local type: EHR parameters: subject_id: name: subject_id in: query description: | The EHR subject id. required: true style: form explode: true schema: type: string example: ins01 subject_namespace: name: subject_namespace in: query description: | The EHR subject id namespace. required: true style: form explode: true schema: type: string example: examples Prefer: name: Prefer in: header description: | Request header to indicate the preference over response details. The response will contain the entire resource when the `Prefer` header has a value of `return=representation`. required: false style: simple schema: type: string enum: - return=representation - return=minimal default: return=minimal ehr_id: name: ehr_id in: path description: | EHR identifier taken from EHR.ehr_id.value. required: true style: simple schema: type: string format: uuid example: 7d44b88c-4199-4bad-97dc-d78268e01398 version_uid: name: version_uid in: path description: | VERSION identifier taken from VERSION.uid.value. required: true style: simple schema: type: string example: 6cb19121-4307-4648-9da0-d62e4d51f19b::openEHRSys.example.com::2 version_at_time: name: version_at_time in: query description: | A given time in the extended ISO 8601 format. style: form explode: true schema: type: string format: datetime example: '2015-01-20T19:30:22.765+01:00' If-Match: name: If-Match in: header description: | Header to make the request conditional. Together with `ETag` request tag, it helps to prevent simultaneous updates of a resource from overwriting each other ("mid-air collisions"). The format is always an `version_uid` identifier enclosed by double quotes. The operation will be performed only if the existing latest `version_uid` of the resource (i.e. the `preceding_version_uid`) matches this header's value. required: true style: simple schema: type: string example: '"6cb19121-4307-4648-9da0-d62e4d51f19b::openEHRSys.example.com::1"' openehr-item-tag: name: openehr-item-tag in: header description: | The (semicolon-separated) list of all ITEM_TAG to be set or updated and associated with the given VERSION or VERSIONED_OBJECT. required: false style: simple explode: true schema: type: array items: $ref: '#/components/schemas/UpdateItemTag' example: key="category",value="final"; key="flag",value="follow-up",target_path="/composition/start_time/value" uid_based_id: name: uid_based_id in: path description: | An abstract identifier: it can take a form of an OBJECT_VERSION_ID identifier taken from VERSION.uid.value (i.e. a `version_uid`), or a form of a HIER_OBJECT_ID identifier taken from VERSIONED_OBJECT.uid.value (i.e. a `versioned_object_uid`). required: true style: simple schema: type: string example: 8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1 uid_based_id_as_versioned_object_uid: name: uid_based_id in: path description: | An identifier in a form of a HIER_OBJECT_ID identifier taken from VERSIONED_OBJECT.uid.value (i.e. a `versioned_object_uid`). required: true style: simple schema: type: string format: uuid example: 8849182c-82ad-4088-a07f-48ead4180515 uid_based_id_as_version_uid: name: uid_based_id in: path description: | An identifier in a form of an OBJECT_VERSION_ID identifier taken from VERSION.uid.value (i.e. a `version_uid`). required: true style: simple schema: type: string example: 8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1 versioned_object_uid_COMPOSITION: name: versioned_object_uid in: path description: | VERSIONED_COMPOSITION identifier taken from VERSIONED_COMPOSITION.uid.value. required: true style: simple schema: type: string format: uuid example: 8849182c-82ad-4088-a07f-48ead4180515 version_uid_COMPOSITION: name: version_uid in: path description: | VERSION identifier taken from VERSION.uid.value. required: true style: simple schema: type: string example: 8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1 path: name: path in: query description: | A path to a sub-folder; consists of slash-separated values of the name attribute of FOLDERs in the directory. style: form explode: true schema: type: string example: episodes/a/b/c contribution_uid: name: contribution_uid in: path description: | The CONTRIBUTION uid. required: true style: simple schema: type: string format: uuid example: 0826851c-c4c2-4d61-92b9-410fb8275ff0 tag_key: name: tag_key in: query style: form explode: true schema: type: string example: flag tag_value: name: tag_value in: query style: form explode: true schema: type: string example: follow-up tag_target_path: name: tag_target_path in: query style: form explode: true schema: type: string example: /context/start_time/value key: name: key in: path description: | The ITEM_TAG key. required: true style: simple schema: type: string example: flag responses: '400': description: | `400 Bad Request` is returned when the request could not be parsed or is invalid (e.g. malformed request URL syntax, missing required header or parameter, or syntactically invalid header, parameter or content). The response body MAY contain error details. content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: | `409 Conflict` is returned when a resource with same identifier(s) already exists. '422': description: | `422 Unprocessable Entity` is returned when the content type and syntax is correct, could be converted to a resource, but there are semantic validation errors, such as the underlying template is not known or is not validating the supplied resource. 200_EHR: description: | `200 OK` is returned when the requested EHR resource is successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/Ehr' 404_EHR_subject: description: | `404 Not Found` is returned when an EHR with supplied subject parameters does not exist. 201_EHR: description: | `201 Created` is returned when the EHR has been successfully created. The new EHR resource is returned in the body when the request's `Prefer` header value is `return=representation`, otherwise only headers are returned. headers: ETag: $ref: '#/components/headers/ETag_EHR' Location: $ref: '#/components/headers/Location_EHR' content: application/json: schema: $ref: '#/components/schemas/Ehr' 409_EHR: description: | `409 Conflict` Unable to create a new EHR due to a conflict with an already existing EHR with the same subject id, namespace pair, whenever EHR_STATUS is supplied. 404_unknown_ehr_id: description: | `404 Not Found` is returned when an EHR with `ehr_id` does not exist. 409_EHR_with_id: description: | `409 Conflict` Unable to create a new EHR due to a conflict with an already existing EHR. Can happen when the supplied `ehr_id` is already used by an existing EHR. 200_EHR_STATUS_retrieved: description: | `200 OK` is returned when the requested EHR_STATUS is successfully retrieved. headers: ETag: $ref: '#/components/headers/ETag' Location: $ref: '#/components/headers/Location_EHR_STATUS' openehr-item-tag: $ref: '#/components/headers/openehr-item-tag' content: application/json: schema: $ref: '#/components/schemas/EhrStatus' 404_unknown_ehr_id_or_version_uid: description: | `404 Not Found` is returned when an EHR with `ehr_id` does not exist, or when the `version_uid` does not exist. 404_unknown_ehr_id_or_no_version_at_time: description: | `404 Not Found` is returned when an EHR with `ehr_id` does not exist, or when a version of the resource identified by the request parameters (at specified `version_at_time`) does not exist. 200_EHR_STATUS_updated: description: | `200 OK` is returned when the EHR_STATUS is successfully updated, and the updated resource is returned in the body when `Prefer` header value is `return=representation`. headers: ETag: $ref: '#/components/headers/ETag' Location: $ref: '#/components/headers/Location_EHR_STATUS' openehr-item-tag: $ref: '#/components/headers/openehr-item-tag' content: application/json: schema: $ref: '#/components/schemas/EhrStatus' 204_EHR_STATUS: description: | `204 No Content` is returned when the `Prefer` header is missing or is set to `return=minimal`. headers: ETag: $ref: '#/components/headers/ETag' Location: $ref: '#/components/headers/Location_EHR_STATUS' openehr-item-tag: $ref: '#/components/headers/openehr-item-tag' 412_EHR_STATUS: description: | `412 Precondition Failed` is returned when `If-Match` request header doesn't match the latest version on the service side. Returns also latest `version_uid` in the `Location` and `ETag` headers. headers: ETag: $ref: '#/components/headers/ETag' Location: $ref: '#/components/headers/Location_EHR_STATUS' 200_VERSIONED_EHR_STATUS: description: | `200 OK` is returned when the requested VERSIONED_EHR_STATUS is successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/VersionedEhrStatus' 200_REVISION_HISTORY: description: | `200 OK` is returned when the requested REVISION_HISTORY is successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/RevisionHistory' 200_VERSION_of_EHR_STATUS_at_time: description: | `200 OK` is returned when the requested VERSION is successfully retrieved. headers: ETag: $ref: '#/components/headers/ETag_VERSION' Location: $ref: '#/components/headers/Location_VERSIONED_EHR_STATUS_VERSION' content: application/json: schema: $ref: '#/components/schemas/VersionOfEhrStatus' 200_VERSION_of_EHR_STATUS_by_id: description: | `200 OK` is returned when the requested VERSION is successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/VersionOfEhrStatus' 201_COMPOSITION: description: | `201 Created` is returned when the COMPOSITION was created. Content body is only returned when `Prefer` header has `return=representation`, otherwise only headers are returned. headers: ETag: $ref: '#/components/headers/ETag_COMPOSITION' Location: $ref: '#/components/headers/Location_COMPOSITION' openehr-item-tag: $ref: '#/components/headers/openehr-item-tag' content: application/json: schema: $ref: '#/components/schemas/Composition' 200_COMPOSITION_retrieved: description: | `200 OK` is returned when the requested COMPOSITION is successfully retrieved. headers: ETag: $ref: '#/components/headers/ETag_COMPOSITION' Location: $ref: '#/components/headers/Location_COMPOSITION' openehr-item-tag: $ref: '#/components/headers/openehr-item-tag' content: application/json: schema: $ref: '#/components/schemas/Composition' 204_deleted_at_time: description: | `204 No Content` is returned when the resource identified by the request parameters (at specified `version_at_time`) time has been deleted. 200_COMPOSITION_updated: description: | `200 OK` is returned when the COMPOSITION is successfully updated and the updated resource is returned in the body when `Prefer` header value is `return=representation`. headers: ETag: $ref: '#/components/headers/ETag_COMPOSITION' Location: $ref: '#/components/headers/Location_COMPOSITION' openehr-item-tag: $ref: '#/components/headers/openehr-item-tag' content: application/json: schema: $ref: '#/components/schemas/Composition' 404_unknown_ehr_id_or_uid_based_id: description: | `404 Not Found` is returned when an EHR with `ehr_id` does not exist, or when the `uid_based_id` does not exist. 412_COMPOSITION: description: | `412 Precondition Failed` is returned when `If-Match` request header doesn't match the latest version on the service side. Returns also latest `version_uid` in the `Location` and `ETag` headers. headers: ETag: $ref: '#/components/headers/ETag_COMPOSITION' Location: $ref: '#/components/headers/Location_COMPOSITION' 204_COMPOSITION_deleted: description: | `204 No Content` is returned when COMPOSITION was deleted. headers: ETag: $ref: '#/components/headers/ETag_COMPOSITION' Location: $ref: '#/components/headers/Location_COMPOSITION' 400_already_deleted: description: | `400 Bad Request` is returned when the request could not be parsed or is invalid (e.g. malformed request URL syntax, missing required header or parameter, or syntactically invalid header, parameter or content) or when the resource identified by the request parameters is already deleted. 409_COMPOSITION_with_uid_based_id: description: | `409 Conflict` is returned when supplied `uid_based_id` doesn't match the latest version. Returns also latest version in the `Location` and `ETag` headers. headers: ETag: $ref: '#/components/headers/ETag_COMPOSITION' Location: $ref: '#/components/headers/Location_COMPOSITION' 200_VERSIONED_COMPOSITION: description: | `200 OK` is returned when the requested VERSIONED_COMPOSITION is successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/VersionedComposition' 404_unknown_ehr_id_or_versioned_object_uid: description: | `404 Not Found` is returned when an EHR with `ehr_id` does not exist, or when the `versioned_object_uid` does not exist. 200_VERSION_of_COMPOSITION_at_time: description: | `200 OK` is returned when the requested VERSION is successfully retrieved. headers: ETag: $ref: '#/components/headers/ETag_VERSION_of_COMPOSITION' Location: $ref: '#/components/headers/Location_VERSIONED_COMPOSITION_VERSION' content: application/json: schema: $ref: '#/components/schemas/VersionOfComposition' 404_unknown_ehr_id_or_versioned_object_uid_or_no_version_at_time: description: | `404 Not Found` is returned when an EHR with `ehr_id` does not exist, or when `versioned_object_uid` does not exist, or when a version of the resource does not exist at the specified `version_at_time`. 200_VERSION_of_COMPOSITION_by_id: description: | `200 OK` is returned when the requested VERSION is successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/VersionOfComposition' 404_unknown_ehr_id_or_versioned_object_uid_or_version_uid: description: | `404 Not Found` is returned when an EHR with `ehr_id` does not exist, or when `versioned_object_uid` does not exist, or when a VERSION with `version_uid` does not exist. 200_FOLDER_retrieved: description: | `200 OK` is returned when the FOLDER is successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/Folder' 404_directory_unknown_ehr_id_or_no_version_at_time_or_no_path: description: | `404 Not Found` is returned when an EHR with `ehr_id` does not exist, or when a directory does not exist at the specified `version_at_time`, or when `path` does not exists within the directory. 200_directory_updated: description: | `200 OK` is returned when directory was successfully updated and the updated resource is returned in the body when `Prefer` header value is `return=representation`. headers: ETag: $ref: '#/components/headers/ETag_FOLDER' Location: $ref: '#/components/headers/Location_directory' content: application/json: schema: $ref: '#/components/schemas/Folder' 204_directory_updated: description: | `204 No Content` is returned when directory was updated and `Prefer` header is missing or is set to `return=minimal`. headers: ETag: $ref: '#/components/headers/ETag_FOLDER' Location: $ref: '#/components/headers/Location_directory' 412_directory: description: | `412 Precondition Failed` is returned when `If-Match` request header doesn't match the latest version on the service side. Returns also latest `version_uid` in the `Location` and `ETag` headers. headers: ETag: $ref: '#/components/headers/ETag_FOLDER' Location: $ref: '#/components/headers/Location_directory' 201_directory: description: | `201 Created` is returned when the FOLDER was created. Content body is only returned when `Prefer` header has `return=representation`, otherwise only headers are returned. headers: ETag: $ref: '#/components/headers/ETag_FOLDER' Location: $ref: '#/components/headers/Location_directory' content: application/json: schema: $ref: '#/components/schemas/Folder' 204_deleted: description: | `204 No Content` is returned when the resource identified by the request parameters has been (logically) deleted. 404_directory_unknown_ehr_id_or_no_version_uid_or_no_path: description: | `404 Not Found` is returned when an EHR with `ehr_id` does not exist, or when a directory with `version_uid` does not exist, or when `path` does not exist within the directory. 201_CONTRIBUTION: description: | `201 Created` is returned when the CONTRIBUTION was created. Content body is only returned when `Prefer` header has `return=representation`, otherwise only headers are returned. headers: ETag: $ref: '#/components/headers/ETag_CONTRIBUTION' Location: $ref: '#/components/headers/Location_CONTRIBUTION' content: application/json: schema: $ref: '#/components/schemas/Contribution' 400_CONTRIBUTION: description: | `400 Bad Request` is returned when the request could not be parsed or is invalid (e.g. malformed request URL syntax, missing required header or parameter, or syntactically invalid header, parameter or content, or the modification type does not match the operation - i.e. first version of a MODIFICATION). The response body MAY contain error details. content: application/json: schema: $ref: '#/components/schemas/Error' 200_CONTRIBUTION: description: | `200 OK` is returned when the CONTRIBUTION is successfully retrieved. content: application/json: schema: $ref: '#/components/schemas/Contribution' 404_CONTRIBUTION: description: | `404 Not Found` is returned when an EHR with `ehr_id` does not exist, or when a CONTRIBUTION with `contribution_uid` does not exist. 200_COMPOSITION_ItemTagList_retrieved: description: | `200 OK` is returned when the requested ITEM_TAG list is successfully retrieved. content: application/json: schema: type: array items: $ref: '#/components/schemas/ItemTagOfComposition' 200_COMPOSITION_ItemTagList_updated: description: | `200 OK` is returned when the requested ITEM_TAG list is successfully retrieved. content: application/json: schema: type: array items: $ref: '#/components/schemas/ItemTagOfComposition' 204_updated: description: | `204 No Content` is returned when the update operation was successful and the `Prefer` header is missing or is set to `return=minimal`. 404_unknown_ehr_id_or_uid_based_id_or_key: description: | `404 Not Found` is returned when an EHR with `ehr_id` does not exist, or when the `uid_based_id` does not exist, or when the ITEM_TAG identified by the `key` does not exist. 200_EHR_STATUS_ItemTagList_retrieved: description: | `200 OK` is returned when the requested ITEM_TAG list is successfully retrieved. content: application/json: schema: type: array items: $ref: '#/components/schemas/ItemTagOfEhrStatus' 200_EHR_STATUS_ItemTagList_updated: description: | `200 OK` is returned when the requested ITEM_TAG list is successfully retrieved. content: application/json: schema: type: array items: $ref: '#/components/schemas/ItemTagOfEhrStatus' headers: ETag_EHR: description: | The `ETag` (i.e. entity tag) response header is the `ehr_id` identifier, enclosed by double quotes. schema: type: string example: '"7d44b88c-4199-4bad-97dc-d78268e01398"' Location_EHR: description: | The `Location` response header indicates the URL of the EHR resource. schema: type: string format: url example: https://openEHRSys.example.com/v1/ehr/7d44b88c-4199-4bad-97dc-d78268e01398 ETag: description: | The `ETag` (i.e. entity tag) response header is an identifier (e.g. a `version_uid` enclosed by double quotes) for a specific version of a resource. schema: type: string example: '"6cb19121-4307-4648-9da0-d62e4d51f19b::openEHRSys.example.com::2"' Location_EHR_STATUS: description: | The `Location` response header indicates the URL of the EHR_STATUS resource. schema: type: string format: url example: https://openEHRSys.example.com/v1/ehr/7d44b88c-4199-4bad-97dc-d78268e01398/ehr_status/6cb19121-4307-4648-9da0-d62e4d51f19b::openEHRSys.example.com::2 openehr-item-tag: description: | The (semicolon-separated) list of all ITEM_TAG associated with the target VERSION or VERSIONED_OBJECT. schema: type: string example: key="category",value="final"; key="flag",value="follow-up",target_path="/composition/start_time/value" ETag_VERSION: description: | The `ETag` (i.e. entity tag) response header is the VERSION identifier (i.e. the `version_uid`) enclosed by double quotes. schema: type: string example: '"6cb19121-4307-4648-9da0-d62e4d51f19b::openEHRSys.example.com::2"' Location_VERSIONED_EHR_STATUS_VERSION: description: | The `Location` response header indicates the URL of the VERSION resource. schema: type: string format: url example: https://openEHRSys.example.com/v1/ehr/7d44b88c-4199-4bad-97dc-d78268e01398/versioned_ehr_status/version/6cb19121-4307-4648-9da0-d62e4d51f19b::openEHRSys.example.com::1 ETag_COMPOSITION: description: | The `ETag` (i.e. entity tag) response header is an identifier (e.g. a `version_uid` enclosed by double quotes) for a specific version of a resource. schema: type: string example: '"8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1"' Location_COMPOSITION: description: | The `Location` response header indicates the URL of the COMPOSITION resource. schema: type: string format: url example: https://openEHRSys.example.com/v1/ehr/7d44b88c-4199-4bad-97dc-d78268e01398/composition/8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1 ETag_VERSION_of_COMPOSITION: description: | The `ETag` (i.e. entity tag) response header is the VERSION identifier (i.e. the `version_uid`) enclosed by double quotes. schema: type: string example: '"8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::2"' Location_VERSIONED_COMPOSITION_VERSION: description: | The `Location` response header indicates the URL of the VERSION resource. schema: type: string format: url example: https://openEHRSys.example.com/v1/ehr/7d44b88c-4199-4bad-97dc-d78268e01398/versioned_composition/8849182c-82ad-4088-a07f-48ead4180515/version/8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1 ETag_FOLDER: description: | The `ETag` (i.e. entity tag) response header is an identifier (e.g. a `version_uid` enclosed by double quotes) for a specific version of a resource. schema: type: string example: '"8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1"' Location_directory: description: | The `Location` response header indicates the URL of the directory FOLDER resource. schema: type: string format: url example: https://openEHRSys.example.com/v1/ehr/7d44b88c-4199-4bad-97dc-d78268e01398/directory/8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1 ETag_CONTRIBUTION: description: | The `ETag` (i.e. entity tag) response header is the `contribution_uid` identifier, enclosed by double quotes. schema: type: string example: '"0826851c-c4c2-4d61-92b9-410fb8275ff0"' Location_CONTRIBUTION: description: | The `Location` response header indicates the URL of the CONTRIBUTION resource. schema: type: string format: url example: https://openEHRSys.example.com/v1/ehr/7d44b88c-4199-4bad-97dc-d78268e01398/contribution/0826851c-c4c2-4d61-92b9-410fb8275ff0 x-tagGroups: - name: Resource endpoints tags: - EHR - EHR_STATUS - COMPOSITION - DIRECTORY - CONTRIBUTION - ITEM_TAG - name: Related schemas tags: - CONTENT_ITEM_schema - ITEM_schema - ITEM_STRUCTURE_schema