openapi: 3.2.0 info: title: EHR DIRECTORY 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: Directory description: 'Management of the directory FOLDER resource. Operations include create, update, delete and time/version-based retrieval of the EHR’s directory structure.' paths: /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' - $ref: '#/components/parameters/Accept_LOCATABLE' - $ref: '#/components/parameters/ContentType_LOCATABLE' 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' - $ref: '#/components/parameters/Accept_LOCATABLE' - $ref: '#/components/parameters/ContentType_LOCATABLE' 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_version_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' - $ref: '#/components/parameters/Accept_LOCATABLE' 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' - $ref: '#/components/parameters/Accept_LOCATABLE' responses: '200': $ref: '#/components/responses/200_FOLDER_retrieved' '404': $ref: '#/components/responses/404_directory_unknown_ehr_id_or_no_version_uid_or_no_path' components: 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' UObjectRefOfUidBasedId: title: OBJECT_REF type: object properties: namespace: type: string type: type: string id: $ref: '#/components/schemas/UUidBasedId' example: id: _type: HIER_OBJECT_ID value: 6cb19121-4307-4648-9da0-d62e4d51f19b namespace: local type: COMPOSITION required: - namespace - type - id 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 TerminologyId: title: TERMINOLOGY_ID type: object properties: _type: enum: - TERMINOLOGY_ID type: string value: type: string required: - value 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 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 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 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 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 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 ReferenceRange: title: REFERENCE_RANGE required: - meaning - range type: object properties: meaning: $ref: '#/components/schemas/UDvText' range: $ref: '#/components/schemas/DvInterval' 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 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 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' 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' 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 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 Folder: title: FOLDER type: object properties: _type: enum: - FOLDER 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/UObjectRefOfUidBasedId' folders: type: array items: $ref: '#/components/schemas/Folder' details: $ref: '#/components/schemas/UItemStructure' 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: [] required: - name - archetype_node_id 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 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' 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 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 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 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 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 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 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' 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' 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' 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 responses: 204_deleted: description: '`204 No Content` is returned when the resource identified by the request parameters has been (logically) deleted. ' 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_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 exist within the 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 `ETag` header. ' headers: ETag: $ref: '#/components/headers/ETag_FOLDER' Location: $ref: '#/components/headers/Location_deprecated' 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' 200_directory_updated: description: '`200 OK` is returned when directory was 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_FOLDER' Location: $ref: '#/components/headers/Location_directory' Content-Type: $ref: '#/components/headers/ContentType_LOCATABLE' content: application/json: schema: oneOf: - $ref: '#/components/schemas/Folder' - $ref: '#/components/schemas/Identifier' '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_FOLDER_retrieved: description: '`200 OK` is returned when the FOLDER is successfully retrieved. ' headers: Content-Type: $ref: '#/components/headers/ContentType_LOCATABLE' content: application/json: schema: $ref: '#/components/schemas/Folder' 404_unknown_ehr_id: description: '`404 Not Found` is returned when an EHR with `ehr_id` does not exist. ' 201_directory: description: "`201 Created` is returned when the FOLDER 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_FOLDER' Location: $ref: '#/components/headers/Location_directory' Content-Type: $ref: '#/components/headers/ContentType_LOCATABLE' content: application/json: schema: oneOf: - $ref: '#/components/schemas/Folder' - $ref: '#/components/schemas/Identifier' 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. ' 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 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 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 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 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"' 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 headers: 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 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: W/"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: 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" 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 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