CodeSystem Code Composition (deprecated)
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
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}
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}
Example: Compose from system http://hl7.org/fhir/goal-status where code is proposed or accepted
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}
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
Example: Compose from system http://hl7.org/fhir/goal-status where code is proposed or accepted and/or where definition is Planned
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}
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
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-
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-}
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.