Skip to content

Latest commit

 

History

History
222 lines (192 loc) · 7.3 KB

codesystem-code-composition.md

File metadata and controls

222 lines (192 loc) · 7.3 KB

CodeSystem Code Composition

Overview

Given a set of properties, return one or more possible matching codes. For more details, see the official FHIR terminology documentation CodeSystem Code Composition

$compose may return 3 possible types of match

  • complete match - a code that represents all the provided properties correctly
  • partial match - a code that represents some of the provided properties correctly and not others
  • possible match - code that may represent the provided properties closely

When send exact parameter is true - $compose operation only returns complete and partial matches. When exact is false - $compose include possible matches to a response. Default value is true; that means that by default returning only complete and partial matches.

Api

GET/POST URL: [base]/ValueSet/$compose
GET/POST URL: [base]/ValueSet/[id]/$compose

Parameters

Parameter Type Status Example
system uri supported property
version string not supported
exact boolean supported exact
property supported property
property.code code supported
property.value code Coding string
property.subproperty not supported
property.subproperty.code code not supported
property.subproperty.value code Coding string
compositional boolean not supported

property

One or more properties that contain information to be composed into the code.

Example: Compose from system http://hl7.org/fhir/goal-status where code is proposed

{% tabs %} {% tab title="Request" %}

POST [BASE]/CodeSystem/$compose
content-type: text/yaml

resourceType: Parameters
parameter:
- {name: system, valueUri: 'http://hl7.org/fhir/goal-status'}
- {name: exact, valueUri: true}
- name: property
  part:
  - {name: code, valueCode: code}
  - {name: value, valueString: proposed}

{% endtab %}

{% tab title="Response" %}

resourceType: Parameters
parameter:
- name: match
  part:
  - name: code
    valueCoding: {code: proposed, module: fhir-3.3.0, system: 'http://hl7.org/fhir/goal-status', display: Proposed, definition: A goal is proposed for this patient}

{% endtab %} {% endtabs %}

Example: Compose from system http://hl7.org/fhir/goal-status where code is proposed or accepted

{% tabs %} {% tab title="Request" %}

POST [BASE]/CodeSystem/$compose
content-type: text/yaml

resourceType: Parameters
parameter:
- {name: system, valueUri: 'http://hl7.org/fhir/goal-status'}
- {name: exact, valueUri: true}
- name: property
  part:
  - {name: code, valueCode: code}
  - {name: value, valueString: proposed}
  - {name: value, valueString: accepted}

{% endtab %}

{% tab title="Response" %}

resourceType: Parameters
parameter:
- name: match
  part:
  - name: code
    valueCoding:
      code: accepted
      module: fhir-3.3.0
      system: 'http://hl7.org/fhir/goal-status'
      display: Accepted
      definition: A proposed goal was accepted or acknowledged
  - name: code
    valueCoding:
      code: proposed
      module: fhir-3.3.0
      system: 'http://hl7.org/fhir/goal-status'
      display: Proposed
      definition: A goal is proposed for this patient

{% endtab %} {% endtabs %}

Example: Compose from system http://hl7.org/fhir/goal-status where code is proposed or accepted and/or where definition is Planned

{% tabs %} {% tab title="Request" %}

POST [BASE]/CodeSystem/$compose
content-type: text/yaml

resourceType: Parameters
parameter:
- {name: system, valueUri: 'http://hl7.org/fhir/goal-status'}
- {name: exact, valueUri: true}
- name: property
  part:
  - {name: code, valueCode: code}
  - {name: value, valueString: proposed}
  - {name: value, valueString: accepted}
- name: property
  part:
  - {name: code, valueCode: display}
  - {name: value, valueString: Planned}

{% endtab %}

{% tab title="Response" %}

resourceType: Parameters
parameter:
- name: match
  part:
  - name: code
    valueCoding:
      code: accepted
      module: fhir-3.3.0
      system: 'http://hl7.org/fhir/goal-status'
      display: Accepted
      definition: A proposed goal was accepted or acknowledged
  - name: code
    valueCoding:
      code: proposed
      module: fhir-3.3.0
      system: 'http://hl7.org/fhir/goal-status'
      display: Proposed
      definition: A goal is proposed for this patient
  - name: code
    valueCoding:
      code: planned
      module: fhir-3.3.0
      system: http://hl7.org/fhir/goal-status
      display: Planned
      hierarchy: [accepted]
      definition: A goal is planned for this patient

{% endtab %} {% endtabs %}

exact

Whether the operation is being used by a human, or a machine. When false include to response possible matches.

Example: lets try to compose code system from concepts where the code contains on-

{% tabs %} {% tab title="Request" %}

POST [BASE]/CodeSystem/$compose
content-type: text/yaml

resourceType: Parameters
parameter:
- {name: system, valueUri: 'http://hl7.org/fhir/goal-status'}
- {name: exact, valueUri: false}
- name: property
  part:
  - {name: code, valueCode: code}
  - {name: value, valueString: on-}

{% endtab %}

{% tab title="Response" %}

resourceType: Parameters
parameter:
- name: match
  part:
  - name: code
    valueCoding:
      code: on-target
      module: fhir-3.3.0
      system: http://hl7.org/fhir/goal-status
      display: On Target
      hierarchy: [accepted, in-progress]
      definition: The goal is on schedule for the planned timelines
  - name: code
    valueCoding:
      code: on-hold
      module: fhir-3.3.0
      system: http://hl7.org/fhir/goal-status
      display: On Hold
      hierarchy: [accepted]
      definition: The goal remains a long term objective but is no longer being actively pursued for a temporary period of time.

{% endtab %} {% endtabs %}