openapi: 3.0.3
info:
  title: Resources
  version: latest
  x-status: STABLE
  x-spec: resources
  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 openEHR API resources.

    ### Related Documents

    Prerequisite documents for reading this document include:

    - The [openEHR REST API Specifications Overview](overview.html)

    Related documents include:

    - The [EHR Information Model](https://specifications.openehr.org/releases/RM/latest/ehr.html#_the_ehr_information_model)
    - The [openEHR Architecture Overview](https://specifications.openehr.org/releases/BASE/latest/architecture_overview.html)
    - The [openEHR Global Class Index](https://specifications.openehr.org/classes)
    - The [XML-Schemas (XSD)](https://specifications.openehr.org/releases/ITS-XML/latest)
    - The [JSON-Schemas](https://specifications.openehr.org/releases/ITS-JSON/latest) and [Simplified Data Template (SDT)](simplified_data_template.html)
    - The [openEHR Platform Abstract Service Model](https://specifications.openehr.org/releases/SM/latest/openehr_platform.html)

    ### Status

    This specification is in the `STABLE` state, and can be downloaded as [OpenAPI specification](https://spec.openapis.org/oas/v3.0.3) file (in YAML format) [for validation](computable/OAS/resources-validation.openapi.yaml), or [for code generators](computable/OAS/resources-codegen.openapi.yaml).
    Users are encouraged to comment on and/or advise on these paragraphs as well as the main content.

    The development version of this document can be found at <https://specifications.openehr.org/releases/ITS-REST/latest/resources.html>.
servers: []
security: []
tags:
  - name: EHR_schema
    x-displayName: EHR
    description: |
      This resource is formally specified in Reference Model as the [EHR](https://specifications.openehr.org/releases/RM/latest/ehr.html#_ehr_class) class.

      <SchemaDefinition schemaRef="#/components/schemas/Ehr" />
  - name: EHR_STATUS_schema
    x-displayName: EHR_STATUS
    description: |
      The following resources are formally specified in the Reference Model as [EHR_STATUS](https://specifications.openehr.org/releases/RM/latest/ehr.html#_ehr_status_class) and [VERSIONED_EHR_STATUS](https://specifications.openehr.org/releases/RM/latest/ehr.html#_versioned_ehr_status_class) classes.
      <div class="mb-5"></div>

      The `EHR_STATUS` resource:
      <SchemaDefinition schemaRef="#/components/schemas/EhrStatus" />

      The `VERSIONED_EHR_STATUS` resource:
      <SchemaDefinition schemaRef="#/components/schemas/VersionedEhrStatus" />
  - name: COMPOSITION_schema
    x-displayName: COMPOSITION
    description: |
      The following resources are formally specified in the Reference Model as [COMPOSITION](https://specifications.openehr.org/releases/RM/latest/ehr.html#_composition_class) and [VERSIONED_COMPOSITION](https://specifications.openehr.org/releases/RM/latest/ehr.html#_versioned_composition_class) classes.
      <div class="mb-5"></div>

      The `COMPOSITION` resource:
      <SchemaDefinition schemaRef="#/components/schemas/Composition" />

      The abstract `CONTENT_ITEM` class, used in `COMPOSITION`:
      <SchemaDefinition schemaRef="#/components/schemas/ContentItem" />

      The abstract `ITEM_STRUCTURE` class, used in `CONTENT_ITEM`:
      <SchemaDefinition schemaRef="#/components/schemas/ItemStructure" />

      The `VERSIONED_COMPOSITION` resource:
      <SchemaDefinition schemaRef="#/components/schemas/VersionedComposition" />
  - name: DIRECTORY_schema
    x-displayName: DIRECTORY
    description: |
      This resource is formally specified in Reference Model in the [directory](https://specifications.openehr.org/releases/RM/latest/ehr.html#_directory) section, using [FOLDER](https://specifications.openehr.org/releases/RM/latest/common.html#_folder_class) class.

      <SchemaDefinition schemaRef="#/components/schemas/Folder" />
  - name: CONTRIBUTION_schema
    x-displayName: CONTRIBUTION
    description: |
      The following resources are formally specified in the Reference Model as the [CONTRIBUTION](https://specifications.openehr.org/releases/RM/latest/common.html#_contribution_class) class.
      <div class="mb-5"></div>

      A new `CONTRIBUTION` to be committed:
      <SchemaDefinition schemaRef="#/components/schemas/NewContribution" />

      A retrieved `CONTRIBUTION`:
      <SchemaDefinition schemaRef="#/components/schemas/Contribution" />
  - name: Query_schema
    x-displayName: Query Execute
    description: |
      The following resources are formally specified in the [Archetype Query Language (AQL)](https://specifications.openehr.org/releases/QUERY/latest/AQL.html) and in the [Query Service](https://specifications.openehr.org/releases/SM/latest/openehr_platform.html#_query_service).
      <div class="mb-5"></div>

      The `AdhocQueryExecute` resource:
      <SchemaDefinition schemaRef="#/components/schemas/AdhocQueryExecute" />

      The stored-query execute, known as the `Query` resource:
      <SchemaDefinition schemaRef="#/components/schemas/Query" />
  - name: RESULT_SET_schema
    x-displayName: RESULT_SET
    description: |
      This resource is formally specified in the Service Model as [Query Result](https://specifications.openehr.org/releases/SM/latest/openehr_platform.html#_result_set_class).

      <SchemaDefinition schemaRef="#/components/schemas/ResultSet" />
  - name: TemplateList_schema
    x-displayName: Template list
    description: |
      This resource represents the list of `Template` meta-information associated with uploaded templates - see also [Service Model - Definition Package](https://specifications.openehr.org/releases/SM/latest/openehr_platform.html#_definition_package).

      <SchemaDefinition schemaRef="#/components/schemas/TemplateList" />
  - name: Template_schema
    x-displayName: Template
    description: |
      The following resources are formally specified in the [Archetype Model](https://specifications.openehr.org/releases/AM/latest) as AOM/ADL 1.4 Operational Templates (OPTs) and as [AOM2 templates](https://specifications.openehr.org/releases/AM/latest/AOM2.html#_templates).
      <div class="mb-5"></div>

      The AOM/ADL 1.4 `OPERATIONAL_TEMPLATE` resource:
      <SchemaDefinition schemaRef="#/components/schemas/OperationalTemplate" />

      The AOM/ADL 2 `OPERATIONAL_TEMPLATE` resource:
      <SchemaDefinition schemaRef="#/components/schemas/OperationalTemplateV2" />

      The `WebTemplate` alternative resource:
      <SchemaDefinition schemaRef="#/components/schemas/WebTemplate" />
  - name: StoredQuery_schema
    x-displayName: Stored Query
    description: |
      This resource represents the definition of a stored Query and is formally specified in the Service Model as [Registered Queries](https://specifications.openehr.org/releases/SM/latest/openehr_platform.html#_registered_queries).

      <SchemaDefinition schemaRef="#/components/schemas/StoredQuery" />
paths: {}
components:
  schemas:
    EhrStatus:
      title: EHR_STATUS
      required:
        - subject
        - is_queryable
        - is_modifiable
      type: object
      allOf:
        - $ref: '#/components/schemas/Versionable'
      properties:
        _type:
          type: string
          default: EHR_STATUS
        subject:
          $ref: '#/components/schemas/PartyProxy'
        is_queryable:
          type: boolean
          default: true
        is_modifiable:
          type: boolean
          default: true
        other_details:
          $ref: '#/components/schemas/ItemStructure'
      description: An EHR_STATUS resource
      example:
        archetype_node_id: openEHR-EHR-EHR_STATUS.generic.v1
        name:
          value: EHR status
        uid:
          _type: OBJECT_VERSION_ID
          value: 8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1
        subject:
          _type: PARTY_SELF
        is_queryable: true
        is_modifiable: true
      x-discriminator-value: EHR_STATUS
    VersionedEhrStatus:
      title: VERSIONED_EHR_STATUS
      type: object
      allOf:
        - $ref: '#/components/schemas/VersionedObject'
      properties:
        _type:
          type: string
          default: VERSIONED_EHR_STATUS
      description: A VERSIONED_EHR_STATUS resource
      example:
        uid:
          value: 6cb19121-4307-4648-9da0-d62e4d51f19b
        owner_id:
          id:
            _type: HIER_OBJECT_ID
            value: 7d44b88c-4199-4bad-97dc-d78268e01398
          namespace: local
          type: EHR
        time_created:
          value: '2015-01-20T19:30:22.765+01:00'
      x-discriminator-value: VERSIONED_EHR_STATUS
    Composition:
      title: COMPOSITION
      required:
        - language
        - territory
        - category
        - context
        - composer
        - content
      type: object
      allOf:
        - $ref: '#/components/schemas/Versionable'
      properties:
        _type:
          type: string
          default: COMPOSITION
        language:
          $ref: '#/components/schemas/CodePhrase'
        territory:
          $ref: '#/components/schemas/CodePhrase'
        category:
          $ref: '#/components/schemas/DvCodedText'
        context:
          $ref: '#/components/schemas/EventContext'
        composer:
          $ref: '#/components/schemas/PartyProxy'
        content:
          type: array
          items:
            $ref: '#/components/schemas/ContentItem'
      description: A COMPOSITION resource
      example:
        archetype_node_id: openEHR-EHR-COMPOSITION.encounter.v1
        name:
          value: Vital Signs
        uid:
          _type: OBJECT_VERSION_ID
          value: 8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1
        archetype_details:
          archetype_id:
            value: openEHR-EHR-COMPOSITION.encounter.v1
          template_id:
            value: Example.v1::c7ec861c-c413-39ff-9965-a198ebf44747
          rm_version: 1.0.2
        language:
          terminology_id:
            value: ISO_639-1
          code_string: en
        territory:
          terminology_id:
            value: ISO_3166-1
          code_string: NL
        category:
          value: event
          defining_code:
            terminology_id:
              value: openehr
            code_string: '433'
        composer:
          _type: PARTY_IDENTIFIED
          external_ref:
            id:
              _type: GENERIC_ID
              value: 16b74749-e6aa-4945-b760-b42bdc07098a
              scheme: pid
            namespace: openEHRSys.example.com
            type: PERSON
          name: A name
        context:
          start_time:
            value: '2014-11-18T09:50:35.000+01:00'
          setting:
            value: other care
            defining_code:
              terminology_id:
                value: openehr
              code_string: '238'
        content: []
      x-discriminator-value: COMPOSITION
    VersionedComposition:
      title: VERSIONED_COMPOSITION
      type: object
      allOf:
        - $ref: '#/components/schemas/VersionedObject'
      properties:
        _type:
          type: string
          default: VERSIONED_COMPOSITION
      description: A VERSIONED_COMPOSITION resource
      example:
        uid:
          value: 8849182c-82ad-4088-a07f-48ead4180515
        owner_id:
          id:
            _type: HIER_OBJECT_ID
            value: 7d44b88c-4199-4bad-97dc-d78268e01398
          namespace: local
          type: EHR
        time_created:
          value: '2015-01-20T19:30:22.765+01:00'
      x-discriminator-value: VERSIONED_COMPOSITION
    Folder:
      title: FOLDER
      type: object
      allOf:
        - $ref: '#/components/schemas/Locatable'
      properties:
        _type:
          type: string
          default: FOLDER
        items:
          type: array
          items:
            $ref: '#/components/schemas/ObjectRef'
        folders:
          type: array
          items:
            $ref: '#/components/schemas/Folder'
        details:
          $ref: '#/components/schemas/ItemStructure'
      description: A FOLDER resource
      example:
        archetype_node_id: openEHR-EHR-FOLDER.directory.v1
        name:
          value: Directory
        uid:
          _type: OBJECT_VERSION_ID
          value: 8849182c-82ad-4088-a07f-48ead4180515::openEHRSys.example.com::1
        items: []
        folders: []
      x-discriminator-value: FOLDER
    TemplateMetadata:
      title: TemplateMetadata
      required:
        - template_id
        - concept
        - archetype_id
        - created_timestamp
      type: object
      properties:
        template_id:
          type: string
        version:
          type: string
        concept:
          type: string
        archetype_id:
          type: string
        created_timestamp:
          type: string
      description: Uploaded TEMPLATE meta information.
      example:
        template_id: openEHR-EHR-COMPOSITION.t_vital_signs.v1.0.0
        version: 1.0.1
        concept: Vital Signs
        archetype_id: openEHR-EHR-COMPOSITION.encounter.v1
        created_timestamp: '2017-08-14T19:24:56.639Z'
    ObjectId:
      title: OBJECT_ID
      required:
        - value
      type: object
      properties:
        _type:
          type: string
        value:
          type: string
      discriminator:
        propertyName: _type
        mapping:
          ARCHETYPE_ID: '#/components/schemas/ArchetypeId'
          GENERIC_ID: '#/components/schemas/GenericId'
          HIER_OBJECT_ID: '#/components/schemas/HierObjectId'
          OBJECT_VERSION_ID: '#/components/schemas/ObjectVersionId'
          TEMPLATE_ID: '#/components/schemas/TemplateId'
          TERMINOLOGY_ID: '#/components/schemas/TerminologyId'
          UID_BASED_ID: '#/components/schemas/UidBasedId'
    UidBasedId:
      title: UID_BASED_ID
      type: object
      allOf:
        - $ref: '#/components/schemas/ObjectId'
      properties:
        _type:
          type: string
          default: UID_BASED_ID
      x-discriminator-value: UID_BASED_ID
      discriminator:
        propertyName: _type
        mapping:
          HIER_OBJECT_ID: '#/components/schemas/HierObjectId'
          OBJECT_VERSION_ID: '#/components/schemas/ObjectVersionId'
    HierObjectId:
      title: HIER_OBJECT_ID
      required:
        - value
      type: object
      allOf:
        - $ref: '#/components/schemas/UidBasedId'
      properties:
        value:
          type: string
          example: 6cb19121-4307-4648-9da0-d62e4d51f19b
      x-discriminator-value: HIER_OBJECT_ID
    ArchetypeId:
      title: ARCHETYPE_ID
      type: object
      allOf:
        - $ref: '#/components/schemas/ObjectId'
      properties:
        _type:
          type: string
          default: ARCHETYPE_ID
      x-discriminator-value: ARCHETYPE_ID
    TemplateId:
      title: TEMPLATE_ID
      type: object
      allOf:
        - $ref: '#/components/schemas/ObjectId'
      properties:
        _type:
          type: string
          default: TEMPLATE_ID
      x-discriminator-value: TEMPLATE_ID
    TerminologyId:
      title: TERMINOLOGY_ID
      type: object
      allOf:
        - $ref: '#/components/schemas/ObjectId'
      properties:
        _type:
          type: string
          default: TERMINOLOGY_ID
      x-discriminator-value: TERMINOLOGY_ID
    GenericId:
      title: GENERIC_ID
      required:
        - scheme
      type: object
      allOf:
        - $ref: '#/components/schemas/ObjectId'
      properties:
        _type:
          type: string
          default: GENERIC_ID
        scheme:
          type: string
      x-discriminator-value: GENERIC_ID
    ObjectVersionId:
      title: OBJECT_VERSION_ID
      required:
        - value
      type: object
      allOf:
        - $ref: '#/components/schemas/UidBasedId'
      properties:
        value:
          type: string
          example: 6cb19121-4307-4648-9da0-d62e4d51f19b::openEHRSys.example.com::2
      x-discriminator-value: OBJECT_VERSION_ID
    ObjectRef:
      title: OBJECT_REF
      required:
        - namespace
        - type
        - id
      type: object
      properties:
        namespace:
          type: string
        type:
          type: string
        id:
          $ref: '#/components/schemas/ObjectId'
      example:
        id:
          _type: OBJECT_VERSION_ID
          value: fb458d9c-1323-42bc-b7f8-787f3660a0b5::openEHRSys.example.com::1
        namespace: local
        type: COMPOSITION
    DataValue:
      title: DATA_VALUE
      type: object
      properties:
        _type:
          type: string
      discriminator:
        propertyName: _type
        mapping:
          DV_AMOUNT: '#/components/schemas/DvAmount'
          DV_BOOLEAN: '#/components/schemas/DvBoolean'
          DV_CODED_TEXT: '#/components/schemas/DvCodedText'
          DV_COUNT: '#/components/schemas/DvCount'
          DV_DATE: '#/components/schemas/DvDate'
          DV_DATE_TIME: '#/components/schemas/DvDateTime'
          DV_DURATION: '#/components/schemas/DvDuration'
          DV_EHR_URI: '#/components/schemas/DvEhrUri'
          DV_ENCAPSULATED: '#/components/schemas/DvEncapsulated'
          DV_IDENTIFIER: '#/components/schemas/DvIdentifier'
          DV_INTERVAL: '#/components/schemas/DvInterval'
          DV_INTERVAL_of_DATE_TIME: '#/components/schemas/DvIntervalOfDateTime'
          DV_MULTIMEDIA: '#/components/schemas/DvMultimedia'
          DV_ORDERED: '#/components/schemas/DvOrdered'
          DV_ORDINAL: '#/components/schemas/DvOrdinal'
          DV_PARSABLE: '#/components/schemas/DvParsable'
          DV_PROPORTION: '#/components/schemas/DvProportion'
          DV_QUANTIFIED: '#/components/schemas/DvQuantified'
          DV_QUANTITY: '#/components/schemas/DvQuantity'
          DV_SCALE: '#/components/schemas/DvScale'
          DV_STATE: '#/components/schemas/DvState'
          DV_TEMPORAL: '#/components/schemas/DvTemporal'
          DV_TEXT: '#/components/schemas/DvText'
          DV_TIME: '#/components/schemas/DvTime'
          DV_URI: '#/components/schemas/DvUri'
    CodePhrase:
      title: CODE_PHRASE
      required:
        - terminology_id
        - code_string
      type: object
      properties:
        terminology_id:
          $ref: '#/components/schemas/TerminologyId'
        code_string:
          type: string
        preferred_term:
          type: string
      example:
        terminology_id:
          value: local
        code_string: at0001
    DvInterval:
      title: DV_INTERVAL
      required:
        - lower_unbounded
        - upper_unbounded
        - lower_included
        - upper_included
      type: object
      allOf:
        - $ref: '#/components/schemas/DataValue'
      properties:
        _type:
          type: string
          default: DV_INTERVAL
        lower_unbounded:
          type: boolean
        upper_unbounded:
          type: boolean
        lower_included:
          type: boolean
        upper_included:
          type: boolean
      x-discriminator-value: DV_INTERVAL
      discriminator:
        propertyName: _type
        mapping:
          DV_INTERVAL_of_DATE_TIME: '#/components/schemas/DvIntervalOfDateTime'
    DvUri:
      title: DV_URI
      required:
        - value
      type: object
      allOf:
        - $ref: '#/components/schemas/DataValue'
      properties:
        _type:
          type: string
          default: DV_URI
        value:
          type: string
      x-discriminator-value: DV_URI
      discriminator:
        propertyName: _type
        mapping:
          DV_EHR_URI: '#/components/schemas/DvEhrUri'
    DvEhrUri:
      title: DV_EHR_URI
      type: object
      allOf:
        - $ref: '#/components/schemas/DvUri'
      properties:
        _type:
          type: string
          default: DV_EHR_URI
      example:
        _type: DV_EHR_URI
        value: ehr://system_id/ehr_id/top_level_structure_locator/path_inside_top_level_structure
      x-discriminator-value: DV_EHR_URI
    DvText:
      title: DV_TEXT
      required:
        - value
      type: object
      allOf:
        - $ref: '#/components/schemas/DataValue'
      properties:
        _type:
          type: string
          default: DV_TEXT
        value:
          type: string
        hyperlink:
          $ref: '#/components/schemas/DvUri'
        formatting:
          type: string
        mappings:
          type: array
          items:
            $ref: '#/components/schemas/TermMapping'
        language:
          $ref: '#/components/schemas/CodePhrase'
        encoding:
          $ref: '#/components/schemas/CodePhrase'
      x-discriminator-value: DV_TEXT
      discriminator:
        propertyName: _type
        mapping:
          DV_CODED_TEXT: '#/components/schemas/DvCodedText'
    DvCodedText:
      title: DV_CODED_TEXT
      required:
        - defining_code
      type: object
      allOf:
        - $ref: '#/components/schemas/DvText'
      properties:
        _type:
          type: string
          default: DV_CODED_TEXT
        defining_code:
          $ref: '#/components/schemas/CodePhrase'
      example:
        value: Coded text value
        defining_code:
          terminology_id:
            value: local
          code_string: at0001
      x-discriminator-value: DV_CODED_TEXT
    TermMapping:
      title: TERM_MAPPING
      required:
        - match
        - target
      type: object
      properties:
        match:
          pattern: /^[><=?]$/
          type: string
        purpose:
          $ref: '#/components/schemas/DvCodedText'
        target:
          $ref: '#/components/schemas/CodePhrase'
    ReferenceRange:
      title: REFERENCE_RANGE
      required:
        - meaning
        - range
      type: object
      properties:
        meaning:
          $ref: '#/components/schemas/DvText'
        range:
          $ref: '#/components/schemas/DvInterval'
    DvOrdered:
      title: DV_ORDERED
      type: object
      allOf:
        - $ref: '#/components/schemas/DataValue'
      properties:
        _type:
          type: string
          default: DV_ORDERED
        normal_status:
          $ref: '#/components/schemas/CodePhrase'
        normal_range:
          $ref: '#/components/schemas/DvInterval'
        other_reference_ranges:
          type: array
          items:
            $ref: '#/components/schemas/ReferenceRange'
      x-discriminator-value: DV_ORDERED
      discriminator:
        propertyName: _type
        mapping:
          DV_AMOUNT: '#/components/schemas/DvAmount'
          DV_COUNT: '#/components/schemas/DvCount'
          DV_DATE: '#/components/schemas/DvDate'
          DV_DATE_TIME: '#/components/schemas/DvDateTime'
          DV_DURATION: '#/components/schemas/DvDuration'
          DV_ORDINAL: '#/components/schemas/DvOrdinal'
          DV_PROPORTION: '#/components/schemas/DvProportion'
          DV_QUANTIFIED: '#/components/schemas/DvQuantified'
          DV_QUANTITY: '#/components/schemas/DvQuantity'
          DV_SCALE: '#/components/schemas/DvScale'
          DV_TEMPORAL: '#/components/schemas/DvTemporal'
          DV_TIME: '#/components/schemas/DvTime'
    DvQuantified:
      title: DV_QUANTIFIED
      type: object
      allOf:
        - $ref: '#/components/schemas/DvOrdered'
      properties:
        _type:
          type: string
          default: DV_QUANTIFIED
        magnitude_status:
          type: string
          default: '='
      x-discriminator-value: DV_QUANTIFIED
      discriminator:
        propertyName: _type
        mapping:
          DV_AMOUNT: '#/components/schemas/DvAmount'
          DV_COUNT: '#/components/schemas/DvCount'
          DV_DATE: '#/components/schemas/DvDate'
          DV_DATE_TIME: '#/components/schemas/DvDateTime'
          DV_DURATION: '#/components/schemas/DvDuration'
          DV_PROPORTION: '#/components/schemas/DvProportion'
          DV_QUANTITY: '#/components/schemas/DvQuantity'
          DV_TEMPORAL: '#/components/schemas/DvTemporal'
          DV_TIME: '#/components/schemas/DvTime'
    DvAmount:
      title: DV_AMOUNT
      type: object
      allOf:
        - $ref: '#/components/schemas/DvQuantified'
      properties:
        _type:
          type: string
          default: DV_AMOUNT
        accuracy_is_percent:
          type: boolean
        accuracy:
          type: number
      x-discriminator-value: DV_AMOUNT
      discriminator:
        propertyName: _type
        mapping:
          DV_COUNT: '#/components/schemas/DvCount'
          DV_DURATION: '#/components/schemas/DvDuration'
          DV_PROPORTION: '#/components/schemas/DvProportion'
          DV_QUANTITY: '#/components/schemas/DvQuantity'
    DvDuration:
      title: DV_DURATION
      type: object
      allOf:
        - $ref: '#/components/schemas/DvAmount'
      properties:
        _type:
          type: string
          default: DV_DURATION
      x-discriminator-value: DV_DURATION
    DvTemporal:
      title: DV_TEMPORAL
      type: object
      allOf:
        - $ref: '#/components/schemas/DvQuantified'
      properties:
        _type:
          type: string
          default: DV_TEMPORAL
        accuracy:
          $ref: '#/components/schemas/DvDuration'
      x-discriminator-value: DV_TEMPORAL
      discriminator:
        propertyName: _type
        mapping:
          DV_DATE: '#/components/schemas/DvDate'
          DV_DATE_TIME: '#/components/schemas/DvDateTime'
          DV_TIME: '#/components/schemas/DvTime'
    DvDateTime:
      title: DV_DATE_TIME
      required:
        - value
      type: object
      allOf:
        - $ref: '#/components/schemas/DvTemporal'
      properties:
        _type:
          type: string
          default: DV_DATE_TIME
        value:
          type: string
          format: date-time
      example:
        _type: DV_DATE_TIME
        value: '2017-08-15T10:37:15.422+02:00'
      x-discriminator-value: DV_DATE_TIME
    Pathable:
      title: PATHABLE
      type: object
      properties:
        _type:
          type: string
      discriminator:
        propertyName: _type
        mapping:
          ACTION: '#/components/schemas/Action'
          ACTIVITY: '#/components/schemas/Activity'
          ADMIN_ENTRY: '#/components/schemas/AdminEntry'
          CARE_ENTRY: '#/components/schemas/CareEntry'
          CLUSTER: '#/components/schemas/Clstr'
          COMPOSITION: '#/components/schemas/Composition'
          CONTENT_ITEM: '#/components/schemas/ContentItem'
          DATA_STRUCTURE: '#/components/schemas/DataStructure'
          EHR_STATUS: '#/components/schemas/EhrStatus'
          ELEMENT: '#/components/schemas/Element'
          ENTRY: '#/components/schemas/AbstractEntry'
          EVALUATION: '#/components/schemas/Evaluation'
          EVENT: '#/components/schemas/Event'
          EVENT_CONTEXT: '#/components/schemas/EventContext'
          FOLDER: '#/components/schemas/Folder'
          HISTORY: '#/components/schemas/History'
          INSTRUCTION: '#/components/schemas/Instruction'
          INSTRUCTION_DETAILS: '#/components/schemas/InstructionDetails'
          ISM_TRANSITION: '#/components/schemas/IsmTransition'
          ITEM: '#/components/schemas/Item'
          ITEM_LIST: '#/components/schemas/ItemList'
          ITEM_SINGLE: '#/components/schemas/ItemSingle'
          ITEM_STRUCTURE: '#/components/schemas/ItemStructure'
          ITEM_TABLE: '#/components/schemas/ItemTable'
          ITEM_TREE: '#/components/schemas/ItemTree'
          LOCATABLE: '#/components/schemas/Locatable'
          OBSERVATION: '#/components/schemas/Observation'
          Versionable: '#/components/schemas/Versionable'
    Link:
      title: LINK
      required:
        - meaning
        - type
        - target
      type: object
      properties:
        meaning:
          $ref: '#/components/schemas/DvText'
        type:
          $ref: '#/components/schemas/DvText'
        target:
          $ref: '#/components/schemas/DvEhrUri'
    Archetyped:
      title: ARCHETYPED
      required:
        - archetype_id
        - rm_version
      type: object
      properties:
        archetype_id:
          $ref: '#/components/schemas/ArchetypeId'
        template_id:
          $ref: '#/components/schemas/TemplateId'
        rm_version:
          type: string
      example:
        archetype_id:
          value: openEHR-EHR-COMPOSITION.encounter.v1
        template_id:
          value: Example.v1::c7ec861c-c413-39ff-9965-a198ebf44747
        rm_version: 1.0.2
      additionalProperties: false
    DvIdentifier:
      title: DV_IDENTIFIER
      required:
        - id
      type: object
      allOf:
        - $ref: '#/components/schemas/DataValue'
      properties:
        issuer:
          type: string
        assigner:
          type: string
        id:
          type: string
        type:
          type: string
      description: |
        Type for representing identifiers of real-world entities. Typical identifiers include drivers licence number, social security number, veterans affairs number, prescription id, order id, and so on.

        DV_IDENTIFIER is used to represent any identifier of a real thing, issued by some authority or agency.
      example:
        id: 16b74749-e6aa-4945-b760-b42bdc07098a
        type: Patient
      x-discriminator-value: DV_IDENTIFIER
    DvEncapsulated:
      title: DV_ENCAPSULATED
      required:
        - _type
      type: object
      allOf:
        - $ref: '#/components/schemas/DataValue'
      properties:
        _type:
          type: string
          default: DV_ENCAPSULATED
        charset:
          $ref: '#/components/schemas/CodePhrase'
        language:
          $ref: '#/components/schemas/CodePhrase'
      discriminator:
        propertyName: _type
        mapping:
          DV_MULTIMEDIA: '#/components/schemas/DvMultimedia'
          DV_PARSABLE: '#/components/schemas/DvParsable'
    DvMultimedia:
      title: DV_MULTIMEDIA
      required:
        - media_type
        - size
      type: object
      allOf:
        - $ref: '#/components/schemas/DvEncapsulated'
      properties:
        _type:
          type: string
          default: DV_MULTIMEDIA
        alternate_text:
          type: string
        uri:
          $ref: '#/components/schemas/DvUri'
        data:
          type: string
        media_type:
          $ref: '#/components/schemas/CodePhrase'
        compression_algorithm:
          $ref: '#/components/schemas/CodePhrase'
        integrity_check:
          type: string
        integrity_check_algorithm:
          $ref: '#/components/schemas/CodePhrase'
        thumbnail:
          $ref: '#/components/schemas/DvMultimedia'
        size:
          type: integer
      x-discriminator-value: DV_MULTIMEDIA
    DvParsable:
      title: DV_PARSABLE
      required:
        - value
        - formalism
      type: object
      allOf:
        - $ref: '#/components/schemas/DvEncapsulated'
      properties:
        _type:
          type: string
          default: DV_PARSABLE
        value:
          type: string
        formalism:
          type: string
      x-discriminator-value: DV_PARSABLE
    PartyRef:
      title: PARTY_REF
      required:
        - namespace
        - type
        - id
      type: object
      properties:
        namespace:
          type: string
        type:
          pattern: ^PERSON|ORGANISATION|GROUP|AGENT|ROLE|PARTY|ACTOR$
          type: string
        id:
          $ref: '#/components/schemas/ObjectId'
      description: Identifier for parties in a demographic or identity service.
      example:
        id:
          _type: OBJECT_VERSION_ID
          value: b52b9408-7048-4ec8-94bd-831fb0727e67::openEHRSys.example.com::1
        namespace: local
        type: PERSON
    PartyProxy:
      title: PARTY_PROXY
      required:
        - _type
      type: object
      properties:
        _type:
          type: string
          default: PARTY_PROXY
        external_ref:
          $ref: '#/components/schemas/PartyRef'
      discriminator:
        propertyName: _type
        mapping:
          PARTY_IDENTIFIED: '#/components/schemas/PartyIdentified'
          PARTY_RELATED: '#/components/schemas/PartyRelated'
          PARTY_SELF: '#/components/schemas/PartySelf'
    PartyIdentified:
      title: PARTY_IDENTIFIED
      type: object
      allOf:
        - $ref: '#/components/schemas/PartyProxy'
      properties:
        _type:
          type: string
          default: PARTY_IDENTIFIED
        name:
          type: string
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/DvIdentifier'
      example:
        _type: PARTY_IDENTIFIED
        external_ref:
          id:
            _type: GENERIC_ID
            value: 16b74749-e6aa-4945-b760-b42bdc07098a
            scheme: pid
          namespace: openEHRSys.example.com
          type: PERSON
        name: A name
      x-discriminator-value: PARTY_IDENTIFIED
      discriminator:
        propertyName: _type
        mapping:
          PARTY_RELATED: '#/components/schemas/PartyRelated'
    PartyRelated:
      title: PARTY_RELATED
      required:
        - relationship
      type: object
      allOf:
        - $ref: '#/components/schemas/PartyIdentified'
      properties:
        _type:
          type: string
          default: PARTY_RELATED
        relationship:
          $ref: '#/components/schemas/DvCodedText'
      x-discriminator-value: PARTY_RELATED
    PartySelf:
      title: PARTY_SELF
      type: object
      allOf:
        - $ref: '#/components/schemas/PartyProxy'
      properties:
        _type:
          type: string
          default: PARTY_SELF
      x-discriminator-value: PARTY_SELF
    Locatable:
      title: LOCATABLE
      required:
        - name
        - archetype_node_id
      type: object
      allOf:
        - $ref: '#/components/schemas/Pathable'
      properties:
        name:
          $ref: '#/components/schemas/DvText'
        archetype_node_id:
          type: string
          xml:
            attribute: true
        uid:
          $ref: '#/components/schemas/UidBasedId'
        links:
          type: array
          items:
            $ref: '#/components/schemas/Link'
        archetype_details:
          $ref: '#/components/schemas/Archetyped'
        feeder_audit:
          $ref: '#/components/schemas/FeederAudit'
      discriminator:
        propertyName: _type
        mapping:
          ACTION: '#/components/schemas/Action'
          ACTIVITY: '#/components/schemas/Activity'
          ADMIN_ENTRY: '#/components/schemas/AdminEntry'
          CARE_ENTRY: '#/components/schemas/CareEntry'
          CLUSTER: '#/components/schemas/Clstr'
          COMPOSITION: '#/components/schemas/Composition'
          CONTENT_ITEM: '#/components/schemas/ContentItem'
          DATA_STRUCTURE: '#/components/schemas/DataStructure'
          EHR_STATUS: '#/components/schemas/EhrStatus'
          ELEMENT: '#/components/schemas/Element'
          ENTRY: '#/components/schemas/AbstractEntry'
          EVALUATION: '#/components/schemas/Evaluation'
          EVENT: '#/components/schemas/Event'
          FOLDER: '#/components/schemas/Folder'
          HISTORY: '#/components/schemas/History'
          INSTRUCTION: '#/components/schemas/Instruction'
          ITEM: '#/components/schemas/Item'
          ITEM_LIST: '#/components/schemas/ItemList'
          ITEM_SINGLE: '#/components/schemas/ItemSingle'
          ITEM_STRUCTURE: '#/components/schemas/ItemStructure'
          ITEM_TABLE: '#/components/schemas/ItemTable'
          ITEM_TREE: '#/components/schemas/ItemTree'
          OBSERVATION: '#/components/schemas/Observation'
          Versionable: '#/components/schemas/Versionable'
    DataStructure:
      title: DATA_STRUCTURE
      type: object
      allOf:
        - $ref: '#/components/schemas/Locatable'
      properties:
        _type:
          type: string
          default: DATA_STRUCTURE
      x-discriminator-value: DATA_STRUCTURE
      discriminator:
        propertyName: _type
        mapping:
          ITEM_LIST: '#/components/schemas/ItemList'
          ITEM_SINGLE: '#/components/schemas/ItemSingle'
          ITEM_STRUCTURE: '#/components/schemas/ItemStructure'
          ITEM_TABLE: '#/components/schemas/ItemTable'
          ITEM_TREE: '#/components/schemas/ItemTree'
    ItemStructure:
      title: ITEM_STRUCTURE
      type: object
      allOf:
        - $ref: '#/components/schemas/DataStructure'
      properties:
        _type:
          type: string
      x-discriminator-value: ITEM_STRUCTURE
      discriminator:
        propertyName: _type
        mapping:
          ITEM_LIST: '#/components/schemas/ItemList'
          ITEM_SINGLE: '#/components/schemas/ItemSingle'
          ITEM_TABLE: '#/components/schemas/ItemTable'
          ITEM_TREE: '#/components/schemas/ItemTree'
    Item:
      title: ITEM
      type: object
      allOf:
        - $ref: '#/components/schemas/Locatable'
      properties:
        _type:
          type: string
      x-discriminator-value: ITEM
      discriminator:
        propertyName: _type
        mapping:
          CLUSTER: '#/components/schemas/Clstr'
          ELEMENT: '#/components/schemas/Element'
    DvBoolean:
      title: DV_BOOLEAN
      required:
        - value
      type: object
      allOf:
        - $ref: '#/components/schemas/DataValue'
      properties:
        _type:
          type: string
          default: DV_BOOLEAN
        value:
          type: boolean
      x-discriminator-value: DV_BOOLEAN
    DvCount:
      title: DV_COUNT
      required:
        - magnitude
      type: object
      allOf:
        - $ref: '#/components/schemas/DvAmount'
      properties:
        _type:
          type: string
          default: DV_COUNT
        magnitude:
          type: integer
      x-discriminator-value: DV_COUNT
    DvDate:
      title: DV_DATE
      required:
        - value
      type: object
      allOf:
        - $ref: '#/components/schemas/DvTemporal'
      properties:
        _type:
          type: string
          default: DV_DATE
        value:
          type: string
          format: date
      example:
        _type: DV_DATE
        value: '2017-08-15'
      x-discriminator-value: DV_DATE
    DvOrdinal:
      title: DV_ORDINAL
      required:
        - symbol
        - value
      type: object
      allOf:
        - $ref: '#/components/schemas/DvOrdered'
      properties:
        _type:
          type: string
          default: DV_ORDINAL
        symbol:
          $ref: '#/components/schemas/DvCodedText'
        value:
          type: integer
      x-discriminator-value: DV_ORDINAL
    DvProportion:
      title: DV_PROPORTION
      required:
        - numerator
        - denominator
        - semantic_type
      type: object
      allOf:
        - $ref: '#/components/schemas/DvAmount'
      properties:
        _type:
          type: string
          default: DV_PROPORTION
        numerator:
          type: number
        denominator:
          type: number
        semantic_type:
          type: integer
        precision:
          type: integer
      x-discriminator-value: DV_PROPORTION
    DvQuantity:
      title: DV_QUANTITY
      required:
        - magnitude
        - units
      type: object
      allOf:
        - $ref: '#/components/schemas/DvAmount'
      properties:
        _type:
          type: string
          default: DV_QUANTITY
        magnitude:
          type: number
        precision:
          type: integer
        units:
          type: string
        units_system:
          type: string
        units_display_name:
          type: string
      x-discriminator-value: DV_QUANTITY
    DvScale:
      title: DV_SCALE
      required:
        - symbol
        - value
      type: object
      allOf:
        - $ref: '#/components/schemas/DvOrdered'
      properties:
        _type:
          type: string
          default: DV_SCALE
        symbol:
          $ref: '#/components/schemas/DvCodedText'
        value:
          type: number
      x-discriminator-value: DV_SCALE
    DvState:
      title: DV_STATE
      required:
        - value
        - is_terminal
      type: object
      allOf:
        - $ref: '#/components/schemas/DataValue'
      properties:
        _type:
          type: string
          default: DV_STATE
        value:
          $ref: '#/components/schemas/DvCodedText'
        is_terminal:
          type: boolean
      x-discriminator-value: DV_STATE
    DvTime:
      title: DV_TIME
      required:
        - value
      type: object
      allOf:
        - $ref: '#/components/schemas/DvTemporal'
      properties:
        _type:
          type: string
          default: DV_TIME
        value:
          type: string
          format: time
      example:
        _type: DV_DATE
        value: '2017-08-15'
      x-discriminator-value: DV_TIME
    Element:
      title: ELEMENT
      type: object
      allOf:
        - $ref: '#/components/schemas/Item'
      properties:
        _type:
          type: string
          default: ELEMENT
        null_flavour:
          $ref: '#/components/schemas/DvCodedText'
        value:
          $ref: '#/components/schemas/DataValue'
        null_reason:
          $ref: '#/components/schemas/DvText'
      x-discriminator-value: ELEMENT
    ItemSingle:
      title: ITEM_SINGLE
      required:
        - item
      type: object
      allOf:
        - $ref: '#/components/schemas/ItemStructure'
      properties:
        _type:
          type: string
          default: ITEM_SINGLE
        item:
          $ref: '#/components/schemas/Element'
      x-discriminator-value: ITEM_SINGLE
    ItemList:
      title: ITEM_LIST
      type: object
      allOf:
        - $ref: '#/components/schemas/ItemStructure'
      properties:
        _type:
          type: string
          default: ITEM_LIST
        items:
          type: array
          items:
            $ref: '#/components/schemas/Element'
      x-discriminator-value: ITEM_LIST
    Clstr:
      title: CLUSTER
      required:
        - items
      type: object
      allOf:
        - $ref: '#/components/schemas/Item'
      properties:
        _type:
          type: string
          default: CLUSTER
        items:
          type: array
          items:
            $ref: '#/components/schemas/Item'
      x-discriminator-value: CLUSTER
    ItemTable:
      title: ITEM_TABLE
      type: object
      allOf:
        - $ref: '#/components/schemas/ItemStructure'
      properties:
        _type:
          type: string
          default: ITEM_TABLE
        items:
          type: array
          items:
            $ref: '#/components/schemas/Clstr'
      x-discriminator-value: ITEM_TABLE
    ItemTree:
      title: ITEM_TREE
      type: object
      allOf:
        - $ref: '#/components/schemas/ItemStructure'
      properties:
        _type:
          type: string
          default: ITEM_TREE
        items:
          type: array
          items:
            $ref: '#/components/schemas/Item'
      x-discriminator-value: ITEM_TREE
    FeederAuditDetails:
      title: FEEDER_AUDIT_DETAILS
      required:
        - system_id
      type: object
      properties:
        system_id:
          type: string
        location:
          $ref: '#/components/schemas/PartyIdentified'
        subject:
          $ref: '#/components/schemas/PartyProxy'
        provider:
          $ref: '#/components/schemas/PartyIdentified'
        time:
          $ref: '#/components/schemas/DvDateTime'
        version_id:
          type: string
        other_details:
          $ref: '#/components/schemas/ItemStructure'
    FeederAudit:
      title: FEEDER_AUDIT
      required:
        - originating_system_audit
      type: object
      properties:
        originating_system_item_ids:
          type: array
          items:
            $ref: '#/components/schemas/DvIdentifier'
        feeder_system_item_ids:
          type: array
          items:
            $ref: '#/components/schemas/DvIdentifier'
        original_content:
          $ref: '#/components/schemas/DvEncapsulated'
        originating_system_audit:
          $ref: '#/components/schemas/FeederAuditDetails'
        feeder_system_audit:
          $ref: '#/components/schemas/FeederAuditDetails'
    Versionable:
      title: Versionable
      type: object
      allOf:
        - $ref: '#/components/schemas/Locatable'
      description: A Versionable resource
      discriminator:
        propertyName: _type
        mapping:
          COMPOSITION: '#/components/schemas/Composition'
          EHR_STATUS: '#/components/schemas/EhrStatus'
    VersionedObject:
      title: VERSIONED_OBJECT
      required:
        - uid
        - owner_id
        - time_created
      type: object
      properties:
        _type:
          type: string
        uid:
          $ref: '#/components/schemas/HierObjectId'
        owner_id:
          $ref: '#/components/schemas/ObjectRef'
        time_created:
          $ref: '#/components/schemas/DvDateTime'
      discriminator:
        propertyName: _type
        mapping:
          VERSIONED_COMPOSITION: '#/components/schemas/VersionedComposition'
          VERSIONED_EHR_STATUS: '#/components/schemas/VersionedEhrStatus'
    DvIntervalOfDateTime:
      title: DV_INTERVAL_of_DATE_TIME
      type: object
      allOf:
        - $ref: '#/components/schemas/DvInterval'
      properties:
        _type:
          type: string
          default: DV_INTERVAL
        lower:
          $ref: '#/components/schemas/DvDateTime'
        upper:
          $ref: '#/components/schemas/DvDateTime'
      x-discriminator-value: DV_INTERVAL_of_DATE_TIME
    Participation:
      title: PARTICIPATION
      required:
        - function
        - performer
      type: object
      properties:
        function:
          $ref: '#/components/schemas/DvText'
        mode:
          $ref: '#/components/schemas/DvCodedText'
        performer:
          $ref: '#/components/schemas/PartyProxy'
        time:
          $ref: '#/components/schemas/DvIntervalOfDateTime'
    EventContext:
      title: EVENT_CONTEXT
      required:
        - start_time
        - setting
      type: object
      allOf:
        - $ref: '#/components/schemas/Pathable'
      properties:
        start_time:
          $ref: '#/components/schemas/DvDateTime'
        end_time:
          $ref: '#/components/schemas/DvDateTime'
        location:
          type: string
        setting:
          $ref: '#/components/schemas/DvCodedText'
        other_context:
          $ref: '#/components/schemas/ItemStructure'
        health_care_facility:
          $ref: '#/components/schemas/PartyIdentified'
        participations:
          type: array
          items:
            $ref: '#/components/schemas/Participation'
      x-discriminator-value: EVENT_CONTEXT
    ContentItem:
      title: CONTENT_ITEM
      type: object
      allOf:
        - $ref: '#/components/schemas/Locatable'
      discriminator:
        propertyName: _type
        mapping:
          ACTION: '#/components/schemas/Action'
          ADMIN_ENTRY: '#/components/schemas/AdminEntry'
          CARE_ENTRY: '#/components/schemas/CareEntry'
          ENTRY: '#/components/schemas/AbstractEntry'
          EVALUATION: '#/components/schemas/Evaluation'
          INSTRUCTION: '#/components/schemas/Instruction'
          OBSERVATION: '#/components/schemas/Observation'
    AbstractEntry:
      title: ENTRY
      required:
        - language
        - encoding
        - subject
      type: object
      allOf:
        - $ref: '#/components/schemas/ContentItem'
      properties:
        language:
          $ref: '#/components/schemas/CodePhrase'
        encoding:
          $ref: '#/components/schemas/CodePhrase'
        other_participations:
          type: array
          items:
            $ref: '#/components/schemas/Participation'
        workflow_id:
          $ref: '#/components/schemas/ObjectRef'
        subject:
          $ref: '#/components/schemas/PartyProxy'
        provider:
          $ref: '#/components/schemas/PartyProxy'
      discriminator:
        propertyName: _type
        mapping:
          ACTION: '#/components/schemas/Action'
          ADMIN_ENTRY: '#/components/schemas/AdminEntry'
          CARE_ENTRY: '#/components/schemas/CareEntry'
          EVALUATION: '#/components/schemas/Evaluation'
          INSTRUCTION: '#/components/schemas/Instruction'
          OBSERVATION: '#/components/schemas/Observation'
    AdminEntry:
      title: ADMIN_ENTRY
      required:
        - data
      type: object
      allOf:
        - $ref: '#/components/schemas/AbstractEntry'
      properties:
        _type:
          type: string
          default: ADMIN_ENTRY
        data:
          $ref: '#/components/schemas/ItemStructure'
      x-discriminator-value: ADMIN_ENTRY
    CareEntry:
      title: CARE_ENTRY
      type: object
      allOf:
        - $ref: '#/components/schemas/AbstractEntry'
      properties:
        protocol:
          $ref: '#/components/schemas/ItemStructure'
        guideline_id:
          $ref: '#/components/schemas/ObjectRef'
      discriminator:
        propertyName: _type
        mapping:
          ACTION: '#/components/schemas/Action'
          EVALUATION: '#/components/schemas/Evaluation'
          INSTRUCTION: '#/components/schemas/Instruction'
          OBSERVATION: '#/components/schemas/Observation'
    Event:
      title: EVENT
      required:
        - time
        - data
      type: object
      allOf:
        - $ref: '#/components/schemas/Locatable'
      properties:
        _type:
          type: string
          default: EVENT
        time:
          $ref: '#/components/schemas/DvDateTime'
        state:
          $ref: '#/components/schemas/ItemStructure'
        data:
          $ref: '#/components/schemas/ItemStructure'
      x-discriminator-value: EVENT
    History:
      title: HISTORY
      required:
        - origin
      type: object
      allOf:
        - $ref: '#/components/schemas/Locatable'
      properties:
        _type:
          type: string
          default: HISTORY
        origin:
          $ref: '#/components/schemas/DvDateTime'
        period:
          $ref: '#/components/schemas/DvDuration'
        duration:
          $ref: '#/components/schemas/DvDuration'
        summary:
          $ref: '#/components/schemas/ItemStructure'
        events:
          type: array
          items:
            $ref: '#/components/schemas/Event'
      x-discriminator-value: HISTORY
    Observation:
      title: OBSERVATION
      required:
        - data
      type: object
      allOf:
        - $ref: '#/components/schemas/CareEntry'
      properties:
        _type:
          type: string
          default: OBSERVATION
        data:
          $ref: '#/components/schemas/History'
        state:
          $ref: '#/components/schemas/History'
      x-discriminator-value: OBSERVATION
    Evaluation:
      title: EVALUATION
      required:
        - data
      type: object
      allOf:
        - $ref: '#/components/schemas/CareEntry'
      properties:
        _type:
          type: string
          default: EVALUATION
        data:
          $ref: '#/components/schemas/ItemStructure'
      x-discriminator-value: EVALUATION
    Activity:
      title: ACTIVITY
      required:
        - action_archetype_id
        - description
      type: object
      allOf:
        - $ref: '#/components/schemas/Locatable'
      properties:
        _type:
          type: string
          default: ACTIVITY
        timing:
          $ref: '#/components/schemas/DvParsable'
        action_archetype_id:
          type: string
        description:
          $ref: '#/components/schemas/ItemStructure'
      x-discriminator-value: ACTIVITY
    Instruction:
      title: INSTRUCTION
      required:
        - narrative
      type: object
      allOf:
        - $ref: '#/components/schemas/CareEntry'
      properties:
        _type:
          type: string
          default: INSTRUCTION
        narrative:
          $ref: '#/components/schemas/DvText'
        expiry_time:
          $ref: '#/components/schemas/DvDateTime'
        wf_definition:
          $ref: '#/components/schemas/DvParsable'
        activities:
          type: array
          items:
            $ref: '#/components/schemas/Activity'
      x-discriminator-value: INSTRUCTION
    IsmTransition:
      title: ISM_TRANSITION
      required:
        - current_state
      type: object
      allOf:
        - $ref: '#/components/schemas/Pathable'
      properties:
        _type:
          type: string
          default: ISM_TRANSITION
        current_state:
          $ref: '#/components/schemas/DvCodedText'
        transition:
          $ref: '#/components/schemas/DvCodedText'
        careflow_step:
          $ref: '#/components/schemas/DvCodedText'
        reason:
          type: array
          items:
            $ref: '#/components/schemas/DvText'
      x-discriminator-value: ISM_TRANSITION
    LocatableRef:
      title: LOCATABLE_REF
      required:
        - namespace
        - type
        - id
      type: object
      properties:
        namespace:
          type: string
        type:
          type: string
        id:
          $ref: '#/components/schemas/UidBasedId'
        path:
          type: string
    InstructionDetails:
      title: INSTRUCTION_DETAILS
      required:
        - instruction_id
        - activity_id
      type: object
      allOf:
        - $ref: '#/components/schemas/Pathable'
      properties:
        _type:
          type: string
          default: INSTRUCTION_DETAILS
        instruction_id:
          $ref: '#/components/schemas/LocatableRef'
        activity_id:
          type: string
        wf_details:
          $ref: '#/components/schemas/ItemStructure'
      x-discriminator-value: INSTRUCTION_DETAILS
    Action:
      title: ACTION
      required:
        - time
        - ism_transition
        - description
      type: object
      allOf:
        - $ref: '#/components/schemas/CareEntry'
      properties:
        _type:
          type: string
          default: ACTION
        time:
          $ref: '#/components/schemas/DvDateTime'
        ism_transition:
          $ref: '#/components/schemas/IsmTransition'
        instruction_details:
          $ref: '#/components/schemas/InstructionDetails'
        description:
          $ref: '#/components/schemas/ItemStructure'
      x-discriminator-value: ACTION
    AuditDetails:
      title: AUDIT_DETAILS
      required:
        - system_id
        - time_committed
        - change_type
        - committer
      type: object
      properties:
        _type:
          type: string
          default: AUDIT_DETAILS
        system_id:
          type: string
        time_committed:
          $ref: '#/components/schemas/DvDateTime'
        change_type:
          $ref: '#/components/schemas/DvCodedText'
        description:
          $ref: '#/components/schemas/DvText'
        committer:
          $ref: '#/components/schemas/PartyProxy'
      description: The set of attributes required to document the committal of an information item to a repository.
      example:
        system_id: 9624982A-9F42-41A5-9318-AE13D5F5031F
        committer:
          _type: PARTY_IDENTIFIED
          name: A user name
        time_committed:
          value: '2017-08-15T10:37:15.422+02:00'
        change_type:
          value: creation
          defining_code:
            terminology_id:
              value: openehr
            code_string: '249'
        description:
          value: Description text
      x-discriminator-value: AUDIT_DETAILS
    TerminologyCode:
      title: TERMINOLOGY_CODE
      required:
        - terminology_id
        - code_string
      type: object
      properties:
        terminology_id:
          type: string
        terminology_version:
          type: string
        code_string:
          type: string
        uri:
          type: string
          format: uri
      example:
        terminology_id: snomed_ct
        code_string: '308335008'
    UpdateAudit:
      title: UPDATE_AUDIT
      required:
        - change_type
        - committer
      type: object
      properties:
        _type:
          type: string
          default: UPDATE_AUDIT
        change_type:
          $ref: '#/components/schemas/TerminologyCode'
        description:
          $ref: '#/components/schemas/DvText'
        committer:
          $ref: '#/components/schemas/PartyProxy'
      description: The set of attributes required to document the committal of an information item to a repository. Used by the server to create an AUDIT_DETAILS object.
      example:
        change_type:
          value: creation
          defining_code:
            terminology_id: openehr
            code_string: '249'
        description: Description text
        committer:
          _type: PARTY_IDENTIFIED
          name: A user name
      x-discriminator-value: UPDATE_AUDIT
      discriminator:
        propertyName: _type
        mapping:
          UPDATE_ATTESTATION: '#/components/schemas/UpdateAttestation'
    UpdateAttestation:
      title: UPDATE_ATTESTATION
      required:
        - reason
        - is_pending
      type: object
      allOf:
        - $ref: '#/components/schemas/UpdateAudit'
      properties:
        _type:
          type: string
          default: UPDATE_ATTESTATION
        attested_view:
          $ref: '#/components/schemas/DvMultimedia'
        proof:
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/DvEhrUri'
        reason:
          $ref: '#/components/schemas/DvText'
        is_pending:
          type: boolean
      x-discriminator-value: UPDATE_ATTESTATION
    UpdateVersion:
      title: UPDATE_VERSION
      required:
        - lifecycle_state
        - data
        - commit_audit
      type: object
      properties:
        preceding_version_uid:
          $ref: '#/components/schemas/ObjectVersionId'
        signature:
          type: string
        lifecycle_state:
          $ref: '#/components/schemas/TerminologyCode'
        attestations:
          type: array
          items:
            $ref: '#/components/schemas/UpdateAttestation'
        data:
          $ref: '#/components/schemas/Versionable'
        commit_audit:
          $ref: '#/components/schemas/UpdateAudit'
    AQL:
      title: AQL
      type: string
      description: |
        The given AQL query.
      example: SELECT e/ehr_id/value, c/context/start_time/value as startTime, obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude AS systolic, c/uid/value AS cid, c/name FROM EHR e CONTAINS COMPOSITION c[openEHR-EHR-COMPOSITION.encounter.v1] CONTAINS OBSERVATION obs[openEHR-EHR-OBSERVATION.blood_pressure.v1] WHERE obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude >= $systolic_bp
    Offset:
      title: Offset
      type: integer
      description: |
        The row number in result-set to start result-set from (`0`-based), default is `0`.
      format: int32
      default: 0
      example: 10
    Fetch:
      title: Fetch
      type: integer
      description: |
        Number of rows to fetch (the default depends on the implementation).
      format: int32
      example: 10
    QueryParameters:
      title: QueryParameters
      type: object
      description: |
        A set of query parameters.
      example:
        ehr_id: 7d44b88c-4199-4bad-97dc-d78268e01398
        systolic_bp: 140
      additionalProperties: true
    ResultSetMetadata:
      title: ResultSetMetadata
      type: object
      properties:
        _href:
          type: string
          description: URL of the executed query (only for GET endpoint).
          format: uri
        _type:
          type: string
          description: The type of the serialized result object.
        _schema_version:
          type: string
          description: The version of the specification defining the serialized object.
        _created:
          type: string
          description: Result creation time (in the extended ISO 8601 format).
          format: date-time
        _generator:
          type: string
          description: Some identifier of the application that generated the result, useful for debugging.
        _executed_aql:
          type: string
          description: |
            The actual AQL query that was executed by the server, after replacing the query parameters. 
            This attribute is not mandatory, but is useful for debugging.
      description: |
        RESULT_SET metadata.
      example:
        _href: https://openEHRSys.example.com/v1/query/org.openehr::compositions
        _type: RESULTSET
        _schema_version: 1.0.0
        _created: '2017-08-19T00:25:47.568+02:00'
        _generator: openEHRSys.ResultSets.Serialization.Json.ResultSetJsonWriter (5.0.0.0)
        _executed_aql: SELECT e/ehr_id/value, c/context/start_time/value as startTime, obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude AS systolic, c/uid/value AS cid, c/name FROM EHR e CONTAINS COMPOSITION c[openEHR-EHR-COMPOSITION.encounter.v1] CONTAINS OBSERVATION obs[openEHR-EHR-OBSERVATION.blood_pressure.v1] WHERE obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude >= 50
      additionalProperties: true
    QueryName:
      title: QueryName
      type: string
      description: |
        The (fully qualified) name of the query (when is registered as a stored query), in a format of `[{namespace}::]{query-name}`. 
        The `namespace` prefix is optional, and when used it should be in a form of a reverse domain name.
      example: org.openehr::compositions
    ResultSetColumn:
      title: RESULT_SET_COLUMN
      required:
        - name
      type: object
      properties:
        name:
          type: string
          description: |
            Name of the column. 
            When column alias is not present in the AQL, a `0`-based column index is used prefixed by a hash sign (i.e. `#0`, `#1`...)
        path:
          type: string
          description: |
            Path from the given AQL of the specified column.
      description: |
        An AQL column specification (e.g. a pair of column `name` and associated AQL `path`).
      example:
        name: '#0'
        path: /ehr_id/value
    ResultSetRow:
      title: RESULT_SET_ROW
      type: array
      items: {}
      description: |
        A set of cells representing a RESULT_SET row, one cell for each column. 
        Content of a cell is `ANY` (i.e. a `OBJECT` in most programming languages).
      example:
        - 81433066-c417-4813-9b29-79783e7bed23
        - '2017-02-16T13:50:11.308+01:00'
        - 140
        - 90910cf0-66a0-4382-b1f8-c0f27e81b42d::openEHRSys.example.com::1
        - _type: DV_TEXT
          value: Labs
    QueryType:
      title: QueryType
      type: string
      description: |
        Query formalism type.
      default: AQL
      example: AQL
    QueryVersion:
      title: QueryVersion
      type: string
      description: |
        The SEMVER version number of the Stored Query.
      example: 1.0.1
    StoredQuery:
      title: StoredQuery
      required:
        - name
        - type
        - version
        - saved
        - q
      type: object
      properties:
        name:
          $ref: '#/components/schemas/QueryName'
        type:
          $ref: '#/components/schemas/QueryType'
        version:
          $ref: '#/components/schemas/QueryVersion'
        saved:
          type: string
          format: date-time
        q:
          $ref: '#/components/schemas/AQL'
      description: |
        Stored Query content meta information.
      example:
        name: org.openehr::compositions
        type: aql
        version: 1.0.1
        saved: '2017-07-16T19:20:30.450+01:00'
        q: SELECT c FROM EHR e[ehr_id/value=$ehr_id] CONTAINS COMPOSITION c[$compositionid] WHERE c/name/value = 'Vitals'
    LocalizedNames:
      title: LocalizedNames
      required:
        - en
      type: object
      properties:
        en:
          type: string
      example:
        en: Vital Signs
    LocalizedDescriptions:
      title: LocalizedDescriptions
      required:
        - sl
      type: object
      properties:
        sl:
          type: string
      example:
        sl: Generic encounter or progress note composition
    LocalizedNames1:
      title: LocalizedNames1
      required:
        - sl
      type: object
      properties:
        sl:
          type: string
      example:
        sl: Podrobnosti
    LocalizedNames2:
      title: LocalizedNames2
      required:
        - sl
      type: object
      properties:
        sl:
          type: string
        en:
          type: string
      example:
        sl: Tagi
    Annotations:
      title: Annotations
      type: object
      properties:
        comment:
          type: string
        default:
          type: string
      example:
        comment: Tags applied to the composition. They can contain various ids, such as episode id, central case id or other types of information forming composition meta-data.
    Precision:
      title: Precision
      required:
        - minOp
        - min
        - maxOp
        - max
      type: object
      properties:
        minOp:
          type: string
        min:
          type: integer
          format: int32
        maxOp:
          type: string
        max:
          type: integer
          format: int32
      example:
        minOp: '>='
        min: 1
        maxOp: <=
        max: 1
    Range:
      title: Range
      required:
        - minOp
        - min
      type: object
      properties:
        minOp:
          type: string
        min:
          type: integer
          format: int32
        maxOp:
          type: string
        max:
          type: integer
          format: int32
      example:
        minOp: '>='
        min: 0
        maxOp: <
        max: 1000
    Validation:
      title: Validation
      type: object
      properties:
        precision:
          $ref: '#/components/schemas/Precision'
        range:
          $ref: '#/components/schemas/Range'
      example:
        precision:
          minOp: '>='
          min: 1
          maxOp: <=
          max: 1
    LocalizedLabels:
      title: LocalizedLabels
      required:
        - sl
      type: object
      properties:
        sl:
          type: string
      example:
        sl: Gol
    List:
      title: List
      required:
        - value
        - label
      type: object
      properties:
        value:
          type: string
        label:
          type: string
        validation:
          $ref: '#/components/schemas/Validation'
        localizedLabels:
          $ref: '#/components/schemas/LocalizedLabels'
        localizedDescriptions:
          $ref: '#/components/schemas/LocalizedDescriptions'
      example:
        value: °C
        label: °C
        validation:
          precision:
            minOp: '>='
            min: 1
            maxOp: <=
            max: 1
    Validation1:
      title: Validation1
      required:
        - range
      type: object
      properties:
        range:
          $ref: '#/components/schemas/Range'
        precision:
          $ref: '#/components/schemas/Precision'
      example:
        range:
          minOp: '>='
          min: 0
          maxOp: <
          max: 1000
        precision:
          minOp: '>='
          min: 0
          maxOp: <=
          max: 0
    Input:
      title: Input
      required:
        - type
      type: object
      properties:
        type:
          type: string
        suffix:
          type: string
        list:
          type: array
          items:
            $ref: '#/components/schemas/List'
          description: ''
        defaultValue:
          type: string
        validation:
          $ref: '#/components/schemas/Validation1'
      example:
        type: TEXT
    SNOMEDCT:
      title: SNOMEDCT
      required:
        - value
        - terminologyId
      type: object
      properties:
        value:
          type: string
        terminologyId:
          type: string
      example:
        value: '163030003'
        terminologyId: SNOMED-CT(2003)
    TermBindings:
      title: TermBindings
      required:
        - SNOMED-CT
      type: object
      properties:
        SNOMED-CT:
          $ref: '#/components/schemas/SNOMEDCT'
      example:
        SNOMED-CT:
          value: '163030003'
          terminologyId: SNOMED-CT(2003)
    Input1:
      title: Input1
      required:
        - type
      type: object
      properties:
        type:
          type: string
        suffix:
          type: string
      example:
        type: INTEGER
    Child3:
      title: Child3
      required:
        - id
        - localizedName
        - rmType
        - nodeId
        - min
        - max
        - localizedNames
        - localizedDescriptions
        - aqlPath
        - inputs
      type: object
      properties:
        id:
          type: string
        localizedName:
          type: string
        rmType:
          type: string
        nodeId:
          type: string
        min:
          type: integer
          format: int32
        max:
          type: integer
          format: int32
        localizedNames:
          $ref: '#/components/schemas/LocalizedNames1'
        localizedDescriptions:
          $ref: '#/components/schemas/LocalizedDescriptions'
        aqlPath:
          type: string
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/Input1'
          description: ''
        name:
          type: string
      example:
        id: count_value
        localizedName: Size
        rmType: DV_COUNT
        nodeId: ''
        min: 0
        max: 1
        localizedNames:
          sl: Velikost
        localizedDescriptions:
          sl: Velikost naprave
        aqlPath: /content[openEHR-EHR-OBSERVATION.blood_pressure.v1]/protocol[at0011]/items[openEHR-EHR-CLUSTER.device.v1]/items[at0016]/value
        inputs:
          - type: INTEGER
    Child2:
      title: Child2
      required:
        - id
        - name
        - localizedName
        - rmType
        - nodeId
        - min
        - max
        - localizedNames
        - localizedDescriptions
        - aqlPath
        - inputs
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        localizedName:
          type: string
        rmType:
          type: string
        nodeId:
          type: string
        min:
          type: integer
          format: int32
        max:
          type: integer
          format: int32
        localizedNames:
          $ref: '#/components/schemas/LocalizedNames2'
        localizedDescriptions:
          $ref: '#/components/schemas/LocalizedDescriptions'
        annotations:
          $ref: '#/components/schemas/Annotations'
        aqlPath:
          type: string
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/Input'
          description: ''
        dependsOn:
          type: array
          items:
            type: string
          description: ''
        inContext:
          type: boolean
        termBindings:
          $ref: '#/components/schemas/TermBindings'
        children:
          type: array
          items:
            $ref: '#/components/schemas/Child3'
          description: ''
      example:
        id: tags
        name: Tags
        localizedName: Tags
        rmType: DV_TEXT
        nodeId: at0008
        min: 1
        max: -1
        localizedNames:
          sl: Tagi
        localizedDescriptions:
          sl: '*'
        annotations:
          comment: Tags applied to the composition. They can contain various ids, such as episode id, central case id or other types of information forming composition meta-data.
        aqlPath: /context/other_context[at0001]/items[openEHR-EHR-CLUSTER.context_detail.v1]/items[at0008]/value
        inputs:
          - type: TEXT
    List1:
      title: List1
      required:
        - value
        - label
        - localizedLabels
        - localizedDescriptions
      type: object
      properties:
        value:
          type: string
        label:
          type: string
        localizedLabels:
          $ref: '#/components/schemas/LocalizedLabels'
        localizedDescriptions:
          $ref: '#/components/schemas/LocalizedDescriptions'
      example:
        value: at0022
        label: Mouth
        localizedLabels:
          sl: Usta
        localizedDescriptions:
          sl: '*Temperature is measured within the mouth(en)'
    Input2:
      title: Input2
      required:
        - type
      type: object
      properties:
        type:
          type: string
        suffix:
          type: string
        list:
          type: array
          items:
            $ref: '#/components/schemas/List1'
          description: ''
      example:
        type: DATETIME
    Annotations1:
      title: Annotations1
      type: object
      properties:
        comment:
          type: string
        view:pass_through:
          type: string
      example:
        comment: 'Perloff D, Grim C, Flack J, Frohlich ED, Hill M, McDonald M, Morgenstern BZ. Human blood pressure determination by sphygmomanometry. Circulation 1993;88;2460-2470. '
    Child1:
      title: Child1
      required:
        - id
        - name
        - rmType
        - min
        - max
        - aqlPath
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        localizedName:
          type: string
        rmType:
          type: string
        nodeId:
          type: string
        min:
          type: integer
          format: int32
        max:
          type: integer
          format: int32
        localizedNames:
          $ref: '#/components/schemas/LocalizedNames1'
        localizedDescriptions:
          $ref: '#/components/schemas/LocalizedDescriptions'
        aqlPath:
          type: string
        children:
          type: array
          items:
            $ref: '#/components/schemas/Child2'
          description: ''
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/Input2'
          description: ''
        inContext:
          type: boolean
        dependsOn:
          type: array
          items:
            type: string
          description: ''
        annotations:
          $ref: '#/components/schemas/Annotations1'
        termBindings:
          $ref: '#/components/schemas/TermBindings'
        proportionTypes:
          type: array
          items:
            type: string
          description: ''
      example:
        id: context_detail
        name: Context detail
        localizedName: Context detail
        rmType: CLUSTER
        nodeId: openEHR-EHR-CLUSTER.context_detail.v1
        min: 0
        max: -1
        localizedNames:
          sl: Podrobnosti
        localizedDescriptions:
          sl: Dodatni podatki o kontekstu
        aqlPath: /context/other_context[at0001]/items[openEHR-EHR-CLUSTER.context_detail.v1]
        children:
          - id: tags
            name: Tags
            localizedName: Tags
            rmType: DV_TEXT
            nodeId: at0008
            min: 1
            max: -1
            localizedNames:
              sl: Tagi
            localizedDescriptions:
              sl: '*'
            annotations:
              comment: Tags applied to the composition. They can contain various ids, such as episode id, central case id or other types of information forming composition meta-data.
            aqlPath: /context/other_context[at0001]/items[openEHR-EHR-CLUSTER.context_detail.v1]/items[at0008]/value
            inputs:
              - type: TEXT
    List2:
      title: List2
      required:
        - value
        - label
        - localizedLabels
      type: object
      properties:
        value:
          type: string
        label:
          type: string
        localizedLabels:
          $ref: '#/components/schemas/LocalizedLabels'
      example:
        value: '433'
        label: event
        localizedLabels:
          sl: ''
    Input3:
      title: Input3
      required:
        - suffix
        - type
      type: object
      properties:
        suffix:
          type: string
        type:
          type: string
        list:
          type: array
          items:
            $ref: '#/components/schemas/List2'
          description: ''
        terminology:
          type: string
      example:
        suffix: code
        type: CODED_TEXT
        list:
          - value: '433'
            label: event
            localizedLabels:
              sl: ''
        terminology: openehr
    Child:
      title: Child
      required:
        - id
        - rmType
        - min
        - max
        - aqlPath
      type: object
      properties:
        id:
          type: string
        rmType:
          type: string
        nodeId:
          type: string
        min:
          type: integer
          format: int32
        max:
          type: integer
          format: int32
        aqlPath:
          type: string
        children:
          type: array
          items:
            $ref: '#/components/schemas/Child1'
          description: ''
        name:
          type: string
        localizedName:
          type: string
        localizedNames:
          $ref: '#/components/schemas/LocalizedNames1'
        localizedDescriptions:
          $ref: '#/components/schemas/LocalizedDescriptions'
        termBindings:
          $ref: '#/components/schemas/TermBindings'
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/Input3'
          description: ''
        inContext:
          type: boolean
      example:
        id: context
        rmType: EVENT_CONTEXT
        nodeId: ''
        min: 1
        max: 1
        aqlPath: /context
        children:
          - id: context_detail
            name: Context detail
            localizedName: Context detail
            rmType: CLUSTER
            nodeId: openEHR-EHR-CLUSTER.context_detail.v1
            min: 0
            max: -1
            localizedNames:
              sl: Podrobnosti
            localizedDescriptions:
              sl: Dodatni podatki o kontekstu
            aqlPath: /context/other_context[at0001]/items[openEHR-EHR-CLUSTER.context_detail.v1]
            children:
              - id: tags
                name: Tags
                localizedName: Tags
                rmType: DV_TEXT
                nodeId: at0008
                min: 1
                max: -1
                localizedNames:
                  sl: Tagi
                localizedDescriptions:
                  sl: '*'
                annotations:
                  comment: Tags applied to the composition. They can contain various ids, such as episode id, central case id or other types of information forming composition meta-data.
                aqlPath: /context/other_context[at0001]/items[openEHR-EHR-CLUSTER.context_detail.v1]/items[at0008]/value
                inputs:
                  - type: TEXT
          - id: start_time
            name: Start_time
            rmType: DV_DATE_TIME
            min: 0
            max: 1
            aqlPath: /context/start_time
            inputs:
              - type: DATETIME
            inContext: true
          - id: setting
            name: Setting
            rmType: DV_CODED_TEXT
            min: 0
            max: 1
            aqlPath: /context/setting
            inputs:
              - suffix: code
                type: TEXT
              - suffix: value
                type: TEXT
            inContext: true
    Tree:
      title: Tree
      required:
        - id
        - name
        - localizedName
        - rmType
        - nodeId
        - min
        - max
        - localizedNames
        - localizedDescriptions
        - aqlPath
        - children
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        localizedName:
          type: string
        rmType:
          type: string
        nodeId:
          type: string
        min:
          type: integer
          format: int32
        max:
          type: integer
          format: int32
        localizedNames:
          $ref: '#/components/schemas/LocalizedNames'
        localizedDescriptions:
          $ref: '#/components/schemas/LocalizedDescriptions'
        aqlPath:
          type: string
        children:
          type: array
          items:
            $ref: '#/components/schemas/Child'
x-tagGroups:
  - name: EHR Resources
    tags:
      - EHR_schema
      - EHR_STATUS_schema
      - COMPOSITION_schema
      - DIRECTORY_schema
      - CONTRIBUTION_schema
  - name: Query Resources
    tags:
      - Query_schema
      - RESULT_SET_schema
  - name: Definition Resources
    tags:
      - TemplateList_schema
      - Template_schema
      - StoredQuery_schema
