openapi: 3.2.0 info: title: EHR COMPOSITION 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 interact with the openEHR EHR API in a RESTful manner.' 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: Composition description: 'Management of COMPOSITION and VERSIONED_COMPOSITION resources. Operations include create, retrieve, update, delete of compositions, and access to their version containers, specific versions and revision history.' paths: /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` or `openehr-version-item-tag` request header can be set as well. The corresponding response header(s) will return ITEM_TAGs as they were set by the server - see item tags headers for more details.' tags: - Composition parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/Prefer' - $ref: '#/components/parameters/Accept_LOCATABLE' - $ref: '#/components/parameters/ContentType_LOCATABLE' - $ref: '#/components/parameters/openehr-item-tag' - $ref: '#/components/parameters/openehr-version-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 latter (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 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` and `openehr-version-item-tag` response headers, respectively - see item tags headers for more details.' tags: - Composition parameters: - $ref: '#/components/parameters/ehr_id' - $ref: '#/components/parameters/uid_based_id' - $ref: '#/components/parameters/version_at_time' - $ref: '#/components/parameters/Accept_LOCATABLE' 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` or `openehr-version-item-tag` request header can be set as well. The corresponding response header(s) will return ITEM_TAGs as they were set by the server - see item tags headers for more details.' 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/Accept_LOCATABLE' - $ref: '#/components/parameters/ContentType_LOCATABLE' - $ref: '#/components/parameters/openehr-item-tag' - $ref: '#/components/parameters/openehr-version-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' '204': $ref: '#/components/responses/204_version_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_version_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' - $ref: '#/components/parameters/Accept_canonical' - $ref: '#/components/parameters/ContentType_canonical' 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' - $ref: '#/components/parameters/Accept_canonical' - $ref: '#/components/parameters/ContentType_canonical' 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' - $ref: '#/components/parameters/Accept_canonical' - $ref: '#/components/parameters/ContentType_canonical' 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' - $ref: '#/components/parameters/Accept_canonical' - $ref: '#/components/parameters/ContentType_canonical' 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' components: responses: 200_VERSIONED_COMPOSITION: description: '`200 OK` is returned when the requested VERSIONED_COMPOSITION is successfully retrieved. ' headers: Content-Type: $ref: '#/components/headers/ContentType_canonical' content: application/json: schema: $ref: '#/components/schemas/VersionedComposition' 200_COMPOSITION_updated: description: '`200 OK` is returned when the COMPOSITION is successfully updated, with the full resource in the response body when `Prefer` header is `return=representation`, or only its identifiers when `Prefer` header is `return=identifier`. ' headers: ETag: $ref: '#/components/headers/ETag_COMPOSITION' Location: $ref: '#/components/headers/Location_COMPOSITION' Content-Type: $ref: '#/components/headers/ContentType_LOCATABLE' openehr-item-tag: $ref: '#/components/headers/openehr-item-tag' openehr-version-item-tag: $ref: '#/components/headers/openehr-version-item-tag' content: application/json: schema: oneOf: - $ref: '#/components/schemas/Composition' - $ref: '#/components/schemas/Identifier' 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_deprecated' Content-Type: $ref: '#/components/headers/ContentType_canonical' content: application/json: schema: $ref: '#/components/schemas/UVersionOfComposition' 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. ' 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`. ' 204_version_deleted: description: '`204 No Content` is returned for a successful delete operation. ' headers: ETag: $ref: '#/components/headers/ETag' Location: $ref: '#/components/headers/Location_deprecated' 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 `ETag` header. ' headers: ETag: $ref: '#/components/headers/ETag_COMPOSITION' Location: $ref: '#/components/headers/Location_deprecated' 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_uid` in the `ETag` header. ' headers: ETag: $ref: '#/components/headers/ETag_COMPOSITION' Location: $ref: '#/components/headers/Location_deprecated' 201_COMPOSITION: description: "`201 Created` is returned when the COMPOSITION is successfully created. \nIf `Prefer` header is `return=representation`, the full resource is included in the response body; if is `return=identifier`, only its unique identifier is included. \nIf the `Prefer` header is missing or set to `return=minimal`, the body is empty.\n" headers: ETag: $ref: '#/components/headers/ETag_COMPOSITION' Location: $ref: '#/components/headers/Location_COMPOSITION' Content-Type: $ref: '#/components/headers/ContentType_LOCATABLE' openehr-item-tag: $ref: '#/components/headers/openehr-item-tag' openehr-version-item-tag: $ref: '#/components/headers/openehr-version-item-tag' content: application/json: schema: oneOf: - $ref: '#/components/schemas/Composition' - $ref: '#/components/schemas/Identifier' 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_by_id: description: '`200 OK` is returned when the requested VERSION is successfully retrieved. ' headers: Content-Type: $ref: '#/components/headers/ContentType_canonical' content: application/json: schema: $ref: '#/components/schemas/UVersionOfComposition' 204_version_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`. ' headers: ETag: $ref: '#/components/headers/ETag' Location: $ref: '#/components/headers/Location_version' openehr-item-tag: $ref: '#/components/headers/openehr-item-tag' openehr-version-item-tag: $ref: '#/components/headers/openehr-version-item-tag' 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. ' 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. ' '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). \nThe response body MAY contain error details.\n" content: application/json: schema: $ref: '#/components/schemas/Error' 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_deprecated' Content-Type: $ref: '#/components/headers/ContentType_LOCATABLE' openehr-item-tag: $ref: '#/components/headers/openehr-item-tag' openehr-version-item-tag: $ref: '#/components/headers/openehr-version-item-tag' content: application/json: schema: $ref: '#/components/schemas/Composition' 404_unknown_ehr_id: description: '`404 Not Found` is returned when an EHR with `ehr_id` does not exist. ' 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. ' 200_REVISION_HISTORY: description: '`200 OK` is returned when the requested REVISION_HISTORY is successfully retrieved. ' headers: Content-Type: $ref: '#/components/headers/ContentType_canonical' content: application/json: schema: $ref: '#/components/schemas/RevisionHistory' '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. ' 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. ' schemas: DvDateTime: title: DV_DATE_TIME required: - value type: object properties: _type: enum: - DV_DATE_TIME type: string normal_status: $ref: '#/components/schemas/CodePhrase' normal_range: $ref: '#/components/schemas/DvInterval' other_reference_ranges: type: array items: $ref: '#/components/schemas/ReferenceRange' magnitude_status: type: string default: '=' accuracy: $ref: '#/components/schemas/DvDuration' value: type: string format: date-time example: _type: DV_DATE_TIME value: '2017-08-15T10:37:15.422+02:00' UMDvEhrUri: title: DV_EHR_URI required: - value - _type type: object properties: _type: enum: - DV_EHR_URI type: string value: type: string example: _type: DV_EHR_URI value: ehr://system_id/ehr_id/top_level_structure_locator/path_inside_top_level_structure RevisionHistory: title: REVISION_HISTORY required: - items type: object properties: items: type: array items: $ref: '#/components/schemas/RevisionHistoryItem' description: A REVISION_HISTORY resource TerminologyId: title: TERMINOLOGY_ID type: object properties: _type: enum: - TERMINOLOGY_ID type: string value: type: string required: - value ObjectRef: title: OBJECT_REF required: - namespace - type - id type: object properties: namespace: type: string type: type: string id: $ref: '#/components/schemas/UObjectId' example: id: _type: OBJECT_VERSION_ID value: fb458d9c-1323-42bc-b7f8-787f3660a0b5::openEHRSys.example.com::1 namespace: local type: COMPOSITION 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/UDvEncapsulated' originating_system_audit: $ref: '#/components/schemas/FeederAuditDetails' feeder_system_audit: $ref: '#/components/schemas/FeederAuditDetails' UMPartyIdentified: title: PARTY_IDENTIFIED required: - _type type: object properties: _type: enum: - PARTY_IDENTIFIED type: string external_ref: $ref: '#/components/schemas/PartyRef' 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 UMPartyRelated: title: PARTY_RELATED required: - _type - relationship type: object properties: _type: enum: - PARTY_RELATED type: string external_ref: $ref: '#/components/schemas/PartyRef' name: type: string identifiers: type: array items: $ref: '#/components/schemas/DvIdentifier' relationship: $ref: '#/components/schemas/DvCodedText' 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 DvInterval: title: DV_INTERVAL required: - lower_unbounded - upper_unbounded - lower_included - upper_included type: object properties: _type: type: string default: DV_INTERVAL lower_unbounded: type: boolean upper_unbounded: type: boolean lower_included: type: boolean upper_included: type: boolean UMDvDuration: title: DV_DURATION required: - value - _type type: object properties: _type: enum: - DV_DURATION type: string normal_status: $ref: '#/components/schemas/CodePhrase' normal_range: $ref: '#/components/schemas/DvInterval' other_reference_ranges: type: array items: $ref: '#/components/schemas/ReferenceRange' magnitude_status: type: string default: '=' accuracy_is_percent: type: boolean accuracy: type: number value: type: string UMDvState: title: DV_STATE required: - value - is_terminal - _type type: object properties: _type: enum: - DV_STATE type: string value: $ref: '#/components/schemas/DvCodedText' is_terminal: type: boolean 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 UMOriginalVersionOfComposition: title: ORIGINAL_VERSION required: - contribution - commit_audit - data - uid - lifecycle_state - _type type: object properties: _type: enum: - ORIGINAL_VERSION type: string contribution: $ref: '#/components/schemas/ObjectRefOfHierObjectId' signature: type: string commit_audit: $ref: '#/components/schemas/AuditDetails' data: $ref: '#/components/schemas/Composition' 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' Clstr: title: CLUSTER required: - name - archetype_node_id - items type: object properties: _type: enum: - CLUSTER type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' items: type: array items: $ref: '#/components/schemas/UItem' UMDvText: title: DV_TEXT required: - value - _type type: object properties: _type: enum: - DV_TEXT type: string value: type: string hyperlink: $ref: '#/components/schemas/UDvUri' 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 ObjectVersionId: title: OBJECT_VERSION_ID required: - value type: object properties: _type: enum: - OBJECT_VERSION_ID type: string value: type: string example: value: 6cb19121-4307-4648-9da0-d62e4d51f19b::openEHRSys.example.com::2 UMAdminEntry: title: ADMIN_ENTRY required: - name - archetype_node_id - language - encoding - subject - data - _type type: object properties: _type: enum: - ADMIN_ENTRY type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' 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/UPartyProxy' provider: $ref: '#/components/schemas/UPartyProxy' data: $ref: '#/components/schemas/UItemStructure' UMImportedVersionOfComposition: title: IMPORTED_VERSION required: - contribution - commit_audit - data - item - _type type: object properties: _type: enum: - IMPORTED_VERSION type: string contribution: $ref: '#/components/schemas/ObjectRefOfHierObjectId' signature: type: string commit_audit: $ref: '#/components/schemas/AuditDetails' data: $ref: '#/components/schemas/Composition' item: $ref: '#/components/schemas/UMOriginalVersionOfComposition' Activity: title: ACTIVITY required: - name - archetype_node_id - action_archetype_id - description type: object properties: _type: enum: - ACTIVITY type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' timing: $ref: '#/components/schemas/DvParsable' action_archetype_id: type: string description: $ref: '#/components/schemas/UItemStructure' Identifier: title: Identifier required: - uid type: object properties: uid: type: string description: The (version) resource identifier. example: uid: 6cb19121-4307-4648-9da0-d62e4d51f19b::openEHRSys.example.com::2 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/UDvText' committer: $ref: '#/components/schemas/UPartyProxy' 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 ReferenceRange: title: REFERENCE_RANGE required: - meaning - range type: object properties: meaning: $ref: '#/components/schemas/UDvText' range: $ref: '#/components/schemas/DvInterval' UMTerminologyId: title: TERMINOLOGY_ID required: - value - _type type: object properties: _type: enum: - TERMINOLOGY_ID type: string value: type: string PartyRef: title: PARTY_REF type: object properties: namespace: type: string type: pattern: ^PERSON|ORGANISATION|GROUP|AGENT|ROLE|PARTY|ACTOR$ type: string id: $ref: '#/components/schemas/UMHierObjectId' 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 required: - namespace - type - id UDvText: title: DV_TEXT type: object oneOf: - $ref: '#/components/schemas/UMDvText' - $ref: '#/components/schemas/UMDvCodedText' discriminator: propertyName: _type mapping: DV_TEXT: '#/components/schemas/UMDvText' DV_CODED_TEXT: '#/components/schemas/UMDvCodedText' UItemStructure: title: ITEM_STRUCTURE type: object oneOf: - $ref: '#/components/schemas/ItemSingle' - $ref: '#/components/schemas/ItemList' - $ref: '#/components/schemas/ItemTable' - $ref: '#/components/schemas/ItemTree' discriminator: propertyName: _type mapping: ITEM_SINGLE: '#/components/schemas/ItemSingle' ITEM_LIST: '#/components/schemas/ItemList' ITEM_TABLE: '#/components/schemas/ItemTable' ITEM_TREE: '#/components/schemas/ItemTree' DvEhrUri: title: DV_EHR_URI type: object properties: _type: enum: - DV_EHR_URI type: string value: type: string example: _type: DV_EHR_URI value: ehr://system_id/ehr_id/top_level_structure_locator/path_inside_top_level_structure required: - value UMDvParsable: title: DV_PARSABLE required: - _type - value - formalism type: object properties: _type: enum: - DV_PARSABLE type: string charset: $ref: '#/components/schemas/CodePhrase' language: $ref: '#/components/schemas/CodePhrase' value: type: string formalism: type: string UMDvUri: title: DV_URI required: - value - _type type: object properties: _type: enum: - DV_URI type: string value: type: string example: _type: DV_URI value: https://www.example.com DvIdentifier: title: DV_IDENTIFIER required: - id type: object 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 UMInstruction: title: INSTRUCTION required: - name - archetype_node_id - language - encoding - subject - narrative - _type type: object properties: _type: enum: - INSTRUCTION type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' 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/UPartyProxy' provider: $ref: '#/components/schemas/UPartyProxy' protocol: $ref: '#/components/schemas/UItemStructure' guideline_id: $ref: '#/components/schemas/ObjectRef' narrative: $ref: '#/components/schemas/UDvText' expiry_time: $ref: '#/components/schemas/DvDateTime' wf_definition: $ref: '#/components/schemas/DvParsable' activities: type: array items: $ref: '#/components/schemas/Activity' UItem: title: ITEM type: object oneOf: - $ref: '#/components/schemas/Element' - $ref: '#/components/schemas/Clstr' discriminator: propertyName: _type mapping: ELEMENT: '#/components/schemas/Element' CLUSTER: '#/components/schemas/Clstr' ItemTable: title: ITEM_TABLE type: object properties: _type: enum: - ITEM_TABLE type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' items: type: array items: $ref: '#/components/schemas/Clstr' required: - name - archetype_node_id UVersionOfComposition: title: VERSION type: object oneOf: - $ref: '#/components/schemas/UMOriginalVersionOfComposition' - $ref: '#/components/schemas/UMImportedVersionOfComposition' discriminator: propertyName: _type mapping: ORIGINAL_VERSION: '#/components/schemas/UMOriginalVersionOfComposition' IMPORTED_VERSION: '#/components/schemas/UMImportedVersionOfComposition' UMArchetypeId: title: ARCHETYPE_ID required: - value - _type type: object properties: _type: enum: - ARCHETYPE_ID type: string value: type: string TemplateId: title: TEMPLATE_ID type: object properties: _type: enum: - TEMPLATE_ID type: string value: type: string required: - value UUidBasedId: title: UID_BASED_ID type: object oneOf: - $ref: '#/components/schemas/UMHierObjectId' - $ref: '#/components/schemas/UMObjectVersionId' discriminator: propertyName: _type mapping: HIER_OBJECT_ID: '#/components/schemas/UMHierObjectId' OBJECT_VERSION_ID: '#/components/schemas/UMObjectVersionId' UMTemplateId: title: TEMPLATE_ID required: - value - _type type: object properties: _type: enum: - TEMPLATE_ID type: string value: type: string UDvUri: title: DV_URI type: object oneOf: - $ref: '#/components/schemas/UMDvUri' - $ref: '#/components/schemas/UMDvEhrUri' discriminator: propertyName: _type mapping: DV_URI: '#/components/schemas/UMDvUri' DV_EHR_URI: '#/components/schemas/UMDvEhrUri' HierObjectId: title: HIER_OBJECT_ID required: - value type: object properties: _type: enum: - HIER_OBJECT_ID type: string value: type: string format: uuid example: value: 6cb19121-4307-4648-9da0-d62e4d51f19b Element: title: ELEMENT type: object properties: _type: enum: - ELEMENT type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' null_flavour: $ref: '#/components/schemas/DvCodedText' value: $ref: '#/components/schemas/UDataValue' null_reason: $ref: '#/components/schemas/UDvText' required: - name - archetype_node_id IsmTransition: title: ISM_TRANSITION required: - current_state type: object 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/UDvText' 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 DvParsable: title: DV_PARSABLE required: - _type - value - formalism type: object properties: _type: enum: - DV_PARSABLE type: string charset: $ref: '#/components/schemas/CodePhrase' language: $ref: '#/components/schemas/CodePhrase' value: type: string formalism: type: string ArchetypeId: title: ARCHETYPE_ID type: object properties: _type: enum: - ARCHETYPE_ID type: string value: type: string required: - value DvCodedText: title: DV_CODED_TEXT required: - value - defining_code type: object properties: _type: enum: - DV_CODED_TEXT type: string value: type: string hyperlink: $ref: '#/components/schemas/UDvUri' formatting: type: string mappings: type: array items: $ref: '#/components/schemas/TermMapping' language: $ref: '#/components/schemas/CodePhrase' encoding: $ref: '#/components/schemas/CodePhrase' defining_code: $ref: '#/components/schemas/CodePhrase' example: value: Coded text value defining_code: terminology_id: value: local code_string: at0001 ObjectRefOfHierObjectId: title: OBJECT_REF type: object properties: namespace: type: string type: type: string id: $ref: '#/components/schemas/UMHierObjectId' example: id: _type: HIER_OBJECT_ID value: 6cb19121-4307-4648-9da0-d62e4d51f19b namespace: local type: CONTRIBUTION required: - namespace - type - id DvDuration: title: DV_DURATION required: - value type: object properties: _type: enum: - DV_DURATION type: string normal_status: $ref: '#/components/schemas/CodePhrase' normal_range: $ref: '#/components/schemas/DvInterval' other_reference_ranges: type: array items: $ref: '#/components/schemas/ReferenceRange' magnitude_status: type: string default: '=' accuracy_is_percent: type: boolean accuracy: type: number value: type: string ItemTree: title: ITEM_TREE type: object properties: _type: enum: - ITEM_TREE type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' items: type: array items: $ref: '#/components/schemas/UItem' description: See [ITEM](#tag/ITEM_schema) schema details. required: - name - archetype_node_id ItemSingle: title: ITEM_SINGLE required: - name - archetype_node_id - item type: object properties: _type: enum: - ITEM_SINGLE type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' item: $ref: '#/components/schemas/Element' 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 UMPartySelf: title: PARTY_SELF required: - _type type: object properties: _type: enum: - PARTY_SELF type: string external_ref: $ref: '#/components/schemas/PartyRef' Attestation: title: ATTESTATION required: - system_id - time_committed - change_type - committer - reason - is_pending type: object properties: _type: enum: - ATTESTATION type: string system_id: type: string time_committed: $ref: '#/components/schemas/DvDateTime' change_type: $ref: '#/components/schemas/DvCodedText' description: $ref: '#/components/schemas/UDvText' committer: $ref: '#/components/schemas/UPartyProxy' attested_view: $ref: '#/components/schemas/DvMultimedia' proof: type: string items: type: array items: $ref: '#/components/schemas/DvEhrUri' reason: $ref: '#/components/schemas/UDvText' is_pending: type: boolean 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 Participation: title: PARTICIPATION required: - function - performer type: object properties: function: $ref: '#/components/schemas/UDvText' mode: $ref: '#/components/schemas/DvCodedText' performer: $ref: '#/components/schemas/UPartyProxy' time: $ref: '#/components/schemas/DvIntervalOfDateTime' TermMapping: title: TERM_MAPPING required: - match - target type: object properties: match: pattern: ^[><=?]$ type: string purpose: $ref: '#/components/schemas/DvCodedText' target: $ref: '#/components/schemas/CodePhrase' UPartyIdentified: title: PARTY_IDENTIFIED type: object oneOf: - $ref: '#/components/schemas/UMPartyIdentified' - $ref: '#/components/schemas/UMPartyRelated' discriminator: propertyName: _type mapping: PARTY_IDENTIFIED: '#/components/schemas/UMPartyIdentified' PARTY_RELATED: '#/components/schemas/UMPartyRelated' 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 Link: title: LINK required: - meaning - type - target type: object properties: meaning: $ref: '#/components/schemas/UDvText' type: $ref: '#/components/schemas/UDvText' target: $ref: '#/components/schemas/DvEhrUri' UMHierObjectId: title: HIER_OBJECT_ID required: - value - _type type: object example: _type: HIER_OBJECT_ID value: 6cb19121-4307-4648-9da0-d62e4d51f19b properties: _type: enum: - HIER_OBJECT_ID type: string value: type: string format: uuid UMObjectVersionId: title: OBJECT_VERSION_ID required: - value - _type type: object example: _type: OBJECT_VERSION_ID value: 6cb19121-4307-4648-9da0-d62e4d51f19b::openEHRSys.example.com::2 properties: _type: enum: - OBJECT_VERSION_ID type: string value: type: string UMDvScale: title: DV_SCALE required: - symbol - value - _type type: object properties: _type: enum: - DV_SCALE type: string normal_status: $ref: '#/components/schemas/CodePhrase' normal_range: $ref: '#/components/schemas/DvInterval' other_reference_ranges: type: array items: $ref: '#/components/schemas/ReferenceRange' symbol: $ref: '#/components/schemas/DvCodedText' value: type: number Event: title: EVENT required: - name - archetype_node_id - time - data type: object properties: _type: type: string default: EVENT name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' time: $ref: '#/components/schemas/DvDateTime' state: $ref: '#/components/schemas/UItemStructure' data: $ref: '#/components/schemas/UItemStructure' FeederAuditDetails: title: FEEDER_AUDIT_DETAILS required: - system_id type: object properties: system_id: type: string location: $ref: '#/components/schemas/UPartyIdentified' subject: $ref: '#/components/schemas/UPartyProxy' provider: $ref: '#/components/schemas/UPartyIdentified' time: $ref: '#/components/schemas/DvDateTime' version_id: type: string other_details: $ref: '#/components/schemas/UItemStructure' UMDvOrdinal: title: DV_ORDINAL required: - symbol - value - _type type: object properties: _type: enum: - DV_ORDINAL type: string normal_status: $ref: '#/components/schemas/CodePhrase' normal_range: $ref: '#/components/schemas/DvInterval' other_reference_ranges: type: array items: $ref: '#/components/schemas/ReferenceRange' symbol: $ref: '#/components/schemas/DvCodedText' value: type: integer LocatableRef: title: LOCATABLE_REF required: - namespace - type - id type: object properties: namespace: type: string type: type: string id: $ref: '#/components/schemas/UUidBasedId' path: type: string History: title: HISTORY required: - name - archetype_node_id - origin type: object properties: _type: type: string default: HISTORY name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' origin: $ref: '#/components/schemas/DvDateTime' period: $ref: '#/components/schemas/DvDuration' duration: $ref: '#/components/schemas/DvDuration' summary: $ref: '#/components/schemas/UItemStructure' events: type: array items: $ref: '#/components/schemas/Event' Composition: title: COMPOSITION required: - name - archetype_node_id - language - territory - category - composer type: object properties: _type: enum: - COMPOSITION type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' language: $ref: '#/components/schemas/CodePhrase' territory: $ref: '#/components/schemas/CodePhrase' category: $ref: '#/components/schemas/DvCodedText' context: $ref: '#/components/schemas/EventContext' composer: $ref: '#/components/schemas/UPartyProxy' content: minItems: 1 type: array items: $ref: '#/components/schemas/UContentItem' 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: [] UMDvQuantity: title: DV_QUANTITY required: - magnitude - units - _type type: object properties: _type: enum: - DV_QUANTITY type: string normal_status: $ref: '#/components/schemas/CodePhrase' normal_range: $ref: '#/components/schemas/DvInterval' other_reference_ranges: type: array items: $ref: '#/components/schemas/ReferenceRange' magnitude_status: type: string default: '=' accuracy_is_percent: type: boolean accuracy: type: number magnitude: type: number precision: type: integer units: type: string units_system: type: string units_display_name: type: string DvIntervalOfDateTime: title: DV_INTERVAL_of_DATE_TIME type: object properties: _type: type: string default: DV_INTERVAL lower_unbounded: type: boolean upper_unbounded: type: boolean lower_included: type: boolean upper_included: type: boolean lower: $ref: '#/components/schemas/UMDvDateTime' upper: $ref: '#/components/schemas/UMDvDateTime' required: - lower_unbounded - upper_unbounded - lower_included - upper_included ItemList: title: ITEM_LIST type: object properties: _type: enum: - ITEM_LIST type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' items: type: array items: $ref: '#/components/schemas/Element' required: - name - archetype_node_id UMDvProportion: title: DV_PROPORTION required: - numerator - denominator - type - _type type: object properties: _type: enum: - DV_PROPORTION type: string normal_status: $ref: '#/components/schemas/CodePhrase' normal_range: $ref: '#/components/schemas/DvInterval' other_reference_ranges: type: array items: $ref: '#/components/schemas/ReferenceRange' magnitude_status: type: string default: '=' accuracy_is_percent: type: boolean accuracy: type: number numerator: type: number denominator: type: number type: type: integer precision: type: integer UObjectId: title: OBJECT_ID type: object oneOf: - $ref: '#/components/schemas/UMArchetypeId' - $ref: '#/components/schemas/UMTemplateId' - $ref: '#/components/schemas/UMTerminologyId' - $ref: '#/components/schemas/UMGenericId' - $ref: '#/components/schemas/UMHierObjectId' - $ref: '#/components/schemas/UMObjectVersionId' discriminator: propertyName: _type mapping: ARCHETYPE_ID: '#/components/schemas/UMArchetypeId' TEMPLATE_ID: '#/components/schemas/UMTemplateId' TERMINOLOGY_ID: '#/components/schemas/UMTerminologyId' GENERIC_ID: '#/components/schemas/UMGenericId' HIER_OBJECT_ID: '#/components/schemas/UMHierObjectId' OBJECT_VERSION_ID: '#/components/schemas/UMObjectVersionId' UMObservation: title: OBSERVATION required: - name - archetype_node_id - language - encoding - subject - data - _type type: object properties: _type: enum: - OBSERVATION type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' 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/UPartyProxy' provider: $ref: '#/components/schemas/UPartyProxy' protocol: $ref: '#/components/schemas/UItemStructure' guideline_id: $ref: '#/components/schemas/ObjectRef' data: $ref: '#/components/schemas/History' state: $ref: '#/components/schemas/History' UMDvIdentifier: title: DV_IDENTIFIER required: - id - _type type: object properties: _type: enum: - DV_IDENTIFIER type: string issuer: type: string assigner: type: string id: type: string type: type: string example: id: 16b74749-e6aa-4945-b760-b42bdc07098a type: Patient EventContext: title: EVENT_CONTEXT required: - start_time - setting type: object properties: _type: type: string 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/UItemStructure' health_care_facility: $ref: '#/components/schemas/UPartyIdentified' participations: type: array items: $ref: '#/components/schemas/Participation' UMDvBoolean: title: DV_BOOLEAN required: - value - _type type: object properties: _type: enum: - DV_BOOLEAN type: string value: type: boolean UMDvCount: title: DV_COUNT required: - magnitude - _type type: object properties: _type: enum: - DV_COUNT type: string normal_status: $ref: '#/components/schemas/CodePhrase' normal_range: $ref: '#/components/schemas/DvInterval' other_reference_ranges: type: array items: $ref: '#/components/schemas/ReferenceRange' magnitude_status: type: string default: '=' accuracy_is_percent: type: boolean accuracy: type: number magnitude: type: integer format: int64 UMGenericId: title: GENERIC_ID required: - value - scheme - _type type: object example: _type: GENERIC_ID value: c7ec861c-c413-39ff-9965-a198ebf44747 scheme: pid properties: _type: enum: - GENERIC_ID type: string value: type: string scheme: type: string UMDvDateTime: title: DV_DATE_TIME required: - value - _type type: object properties: _type: enum: - DV_DATE_TIME type: string normal_status: $ref: '#/components/schemas/CodePhrase' normal_range: $ref: '#/components/schemas/DvInterval' other_reference_ranges: type: array items: $ref: '#/components/schemas/ReferenceRange' magnitude_status: type: string default: '=' accuracy: $ref: '#/components/schemas/DvDuration' value: type: string format: date-time example: _type: DV_DATE_TIME value: '2017-08-15T10:37:15.422+02:00' InstructionDetails: title: INSTRUCTION_DETAILS required: - instruction_id - activity_id type: object properties: _type: enum: - INSTRUCTION_DETAILS type: string instruction_id: $ref: '#/components/schemas/LocatableRef' activity_id: type: string wf_details: $ref: '#/components/schemas/UItemStructure' UMEvaluation: title: EVALUATION required: - name - archetype_node_id - language - encoding - subject - data - _type type: object properties: _type: enum: - EVALUATION type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' 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/UPartyProxy' provider: $ref: '#/components/schemas/UPartyProxy' protocol: $ref: '#/components/schemas/UItemStructure' guideline_id: $ref: '#/components/schemas/ObjectRef' data: $ref: '#/components/schemas/UItemStructure' UDvEncapsulated: title: DV_ENCAPSULATED type: object oneOf: - $ref: '#/components/schemas/UMDvMultimedia' - $ref: '#/components/schemas/UMDvParsable' discriminator: propertyName: _type mapping: DV_MULTIMEDIA: '#/components/schemas/UMDvMultimedia' DV_PARSABLE: '#/components/schemas/UMDvParsable' 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 UMDvDate: title: DV_DATE required: - value - _type type: object properties: _type: enum: - DV_DATE type: string normal_status: $ref: '#/components/schemas/CodePhrase' normal_range: $ref: '#/components/schemas/DvInterval' other_reference_ranges: type: array items: $ref: '#/components/schemas/ReferenceRange' magnitude_status: type: string default: '=' accuracy: $ref: '#/components/schemas/DvDuration' value: type: string format: date example: _type: DV_DATE value: '2017-08-15' UDataValue: title: DATA_VALUE type: object oneOf: - $ref: '#/components/schemas/UMDvBoolean' - $ref: '#/components/schemas/UMDvCodedText' - $ref: '#/components/schemas/UMDvCount' - $ref: '#/components/schemas/UMDvDate' - $ref: '#/components/schemas/UMDvDateTime' - $ref: '#/components/schemas/UMDvDuration' - $ref: '#/components/schemas/UMDvEhrUri' - $ref: '#/components/schemas/UMDvIdentifier' - $ref: '#/components/schemas/UMDvMultimedia' - $ref: '#/components/schemas/UMDvOrdinal' - $ref: '#/components/schemas/UMDvParsable' - $ref: '#/components/schemas/UMDvProportion' - $ref: '#/components/schemas/UMDvQuantity' - $ref: '#/components/schemas/UMDvScale' - $ref: '#/components/schemas/UMDvState' - $ref: '#/components/schemas/UMDvText' - $ref: '#/components/schemas/UMDvUri' discriminator: propertyName: _type mapping: DV_BOOLEAN: '#/components/schemas/UMDvBoolean' DV_CODED_TEXT: '#/components/schemas/UMDvCodedText' DV_COUNT: '#/components/schemas/UMDvCount' DV_DATE: '#/components/schemas/UMDvDate' DV_DATE_TIME: '#/components/schemas/UMDvDateTime' DV_DURATION: '#/components/schemas/UMDvDuration' DV_EHR_URI: '#/components/schemas/UMDvEhrUri' DV_IDENTIFIER: '#/components/schemas/UMDvIdentifier' DV_MULTIMEDIA: '#/components/schemas/UMDvMultimedia' DV_ORDINAL: '#/components/schemas/UMDvOrdinal' DV_PARSABLE: '#/components/schemas/UMDvParsable' DV_PROPORTION: '#/components/schemas/UMDvProportion' DV_QUANTITY: '#/components/schemas/UMDvQuantity' DV_SCALE: '#/components/schemas/UMDvScale' DV_STATE: '#/components/schemas/UMDvState' DV_TEXT: '#/components/schemas/UMDvText' DV_TIME: '#/components/schemas/UMDvTime' DV_URI: '#/components/schemas/UMDvUri' UContentItem: title: CONTENT_ITEM type: object oneOf: - $ref: '#/components/schemas/UMSection' - $ref: '#/components/schemas/UMAdminEntry' - $ref: '#/components/schemas/UMObservation' - $ref: '#/components/schemas/UMEvaluation' - $ref: '#/components/schemas/UMInstruction' - $ref: '#/components/schemas/UMAction' discriminator: propertyName: _type mapping: SECTION: '#/components/schemas/UMSection' ADMIN_ENTRY: '#/components/schemas/UMAdminEntry' OBSERVATION: '#/components/schemas/UMObservation' EVALUATION: '#/components/schemas/UMEvaluation' INSTRUCTION: '#/components/schemas/UMInstruction' ACTION: '#/components/schemas/UMAction' UMAction: title: ACTION required: - name - archetype_node_id - language - encoding - subject - time - ism_transition - description - _type type: object properties: _type: enum: - ACTION type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' 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/UPartyProxy' provider: $ref: '#/components/schemas/UPartyProxy' protocol: $ref: '#/components/schemas/UItemStructure' guideline_id: $ref: '#/components/schemas/ObjectRef' time: $ref: '#/components/schemas/DvDateTime' ism_transition: $ref: '#/components/schemas/IsmTransition' instruction_details: $ref: '#/components/schemas/InstructionDetails' description: $ref: '#/components/schemas/UItemStructure' VersionedComposition: title: VERSIONED_COMPOSITION type: object properties: _type: enum: - VERSIONED_COMPOSITION type: string uid: $ref: '#/components/schemas/HierObjectId' owner_id: $ref: '#/components/schemas/ObjectRefOfHierObjectId' time_created: $ref: '#/components/schemas/DvDateTime' 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' required: - uid - owner_id - time_created UPartyProxy: title: PARTY_PROXY type: object oneOf: - $ref: '#/components/schemas/UMPartySelf' - $ref: '#/components/schemas/UMPartyIdentified' - $ref: '#/components/schemas/UMPartyRelated' discriminator: propertyName: _type mapping: PARTY_SELF: '#/components/schemas/UMPartySelf' PARTY_IDENTIFIED: '#/components/schemas/UMPartyIdentified' PARTY_RELATED: '#/components/schemas/UMPartyRelated' UMDvMultimedia: title: DV_MULTIMEDIA required: - _type - media_type - size type: object properties: _type: enum: - DV_MULTIMEDIA type: string charset: $ref: '#/components/schemas/CodePhrase' language: $ref: '#/components/schemas/CodePhrase' alternate_text: type: string uri: $ref: '#/components/schemas/UDvUri' 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 DvMultimedia: title: DV_MULTIMEDIA required: - _type - media_type - size type: object properties: _type: enum: - DV_MULTIMEDIA type: string charset: $ref: '#/components/schemas/CodePhrase' language: $ref: '#/components/schemas/CodePhrase' alternate_text: type: string uri: $ref: '#/components/schemas/UDvUri' 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 UMDvCodedText: title: DV_CODED_TEXT required: - value - defining_code - _type type: object properties: _type: enum: - DV_CODED_TEXT type: string value: type: string hyperlink: $ref: '#/components/schemas/UDvUri' formatting: type: string mappings: type: array items: $ref: '#/components/schemas/TermMapping' language: $ref: '#/components/schemas/CodePhrase' encoding: $ref: '#/components/schemas/CodePhrase' defining_code: $ref: '#/components/schemas/CodePhrase' example: value: Coded text value defining_code: terminology_id: value: local code_string: at0001 UMSection: title: SECTION required: - name - archetype_node_id - _type type: object properties: _type: enum: - SECTION type: string name: $ref: '#/components/schemas/UDvText' archetype_node_id: type: string xml: attribute: true uid: $ref: '#/components/schemas/UUidBasedId' links: type: array items: $ref: '#/components/schemas/Link' archetype_details: $ref: '#/components/schemas/Archetyped' feeder_audit: $ref: '#/components/schemas/FeederAudit' items: minItems: 1 type: array items: $ref: '#/components/schemas/UContentItem' description: See [CONTENT_ITEM](#tag/CONTENT_ITEM_schema) schema details. headers: 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: W/"8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::2" 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: W/"8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1 ContentType_LOCATABLE: schema: type: string enum: - application/xml - application/json - application/openehr.wt.flat+json - application/openehr.wt.structured+json openehr-item-tag: description: 'The list of all ITEM_TAG associated with the current VERSIONED_OBJECT - see [details](overview.html#tag/Requests_and_responses/HTTP-headers/openehr-item-tag-and-openehr-version-item-tag). ' schema: type: string 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: 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: W/"6cb19121-4307-4648-9da0-d62e4d51f19b::openEHRSys.example.com::2" ContentType_canonical: schema: type: string enum: - application/xml - application/json Location_deprecated: description: 'The `Location` is [deprecated](overview.html#tag/Requests_and_responses/HTTP-headers/Location) for this action. ' deprecated: true schema: type: string openehr-version-item-tag: description: 'The list of all ITEM_TAG associated with the current VERSION - see [details](overview.html#tag/Requests_and_responses/HTTP-headers/openehr-item-tag-and-openehr-version-item-tag). ' schema: type: string Location_version: description: 'The `Location` response header indicates the URL of the resource version resulted from the operation. ' schema: type: string format: url parameters: 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 openehr-version-item-tag: name: openehr-version-item-tag in: header description: 'The list of all ITEM_TAG to be set and associated with the current VERSION - see [details](overview.html#tag/Requests_and_responses/HTTP-headers/openehr-item-tag-and-openehr-version-item-tag). ' 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" ContentType_LOCATABLE: name: Content-Type in: header style: simple schema: type: string enum: - application/json - application/xml - application/openehr.wt.flat+json - application/openehr.wt.structured+json openehr-item-tag: name: openehr-item-tag in: header description: 'The list of all ITEM_TAG to be set and associated with the current VERSIONED_OBJECT - see [details](overview.html#tag/Requests_and_responses/HTTP-headers/openehr-item-tag-and-openehr-version-item-tag). ' 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" 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 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 Accept_LOCATABLE: name: Accept in: header style: simple schema: type: string enum: - application/json - application/xml - application/openehr.wt.flat+json - application/openehr.wt.structured+json 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. \nTogether with `ETag` request tag, it helps to prevent simultaneous updates of a resource from overwriting each other (\"mid-air collisions\").\nThe format is always an `version_uid` identifier enclosed by double quotes.\nThe 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.\n" required: true style: simple schema: type: string example: '"6cb19121-4307-4648-9da0-d62e4d51f19b::openEHRSys.example.com::1"' 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 Accept_canonical: name: Accept in: header style: simple schema: type: string enum: - application/json - application/xml 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`, or only the resource identifier (e.g., the `uid`) when the value is `return=identifier`. ' required: false style: simple schema: type: string enum: - return=representation - return=minimal - return=identifier default: return=minimal ContentType_canonical: name: Content-Type in: header style: simple schema: type: string enum: - application/json - application/xml 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 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