Release 4

This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

4.8.21.4 Operation $find-matches on CodeSystem

Given a set of properties (and text), return one or more possible matching codes

This operation takes a set of properties, and examines the code system looking for codes in the code system that match a set of known properties.

When looking for matches, there are 3 possible types of match:

  • a complete match - a code that represents all the provided properties correctly
  • a partial match - a code that represents some of the provided properties correctly, and not others
  • a possible match - a code that may represent the provided properties closely, but may capture less or more precise information for some of the properties

The $find-matches operation can be called in one of 2 modes:

  • By a human, looking for the best match for a set of properties. In this mode, the server returns a list of complete, possible or partial matches (possibly with comments), so that the user can choose (or not) the most appropriate code
  • By a machine (typically in a system interface performing a transformation). In this mode, the server returns only a list of complete and partial matches, but no possible matches. The machine can choose a code from the list (or not) based on what properties are not coded

These modes are differentiated by the 'exact' parameter, so the client can indicate whether it only wants exact matches (including partial matches) or whether potential matches based on text matching are desired

The find-matches operation is still preliminary. The interface can be expected to change as more experience is gained from implementations.

The official URL for this operation definition is

 http://hl7.org/fhir/OperationDefinition/CodeSystem-find-matches

Formal Definition (as a OperationDefinition).

URL: [base]/CodeSystem/$find-matches

URL: [base]/CodeSystem/[id]/$find-matches

This is an idempotent operation

In Parameters:
Name Cardinality Type Binding Profile Documentation
system 0..1 uri

The system in which composition is to be performed. This must be provided unless the operation is invoked on a code system instance

version 0..1 string

The version of the system for the inferencing to be performed

property 0..*

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

property.code 1..1 code

Identifies the property provided

property.value 0..1 code | Coding | string | integer | boolean | dateTime

The value of the property provided

property.subproperty 0..*

Nested Properties (mainly used for SNOMED CT composition, for relationship Groups)

property.subproperty.code 1..1 code

Identifies the sub-property provided

property.subproperty.value 1..1 code | Coding | string | integer | boolean | dateTime

The value of the sub-property provided

exact 1..1 boolean

Whether the operation is being used by a human ('false'), or a machine ('true'). If the operation is being used by a human, the terminology server can return a list of possible matches, with commentary. For a machine, the server returns complete or partial matches, not possible matches. The default value is 'false'

compositional 0..1 boolean

Post-coordinated expressions are allowed to be returned in the matching codes (mainly for SNOMED CT). Default = false

Out Parameters:
Name Cardinality Type Binding Profile Documentation
match 0..*

Concepts returned by the server as a result of the inferencing operation

match.code 1..1 Coding

A code that matches the properties provided

match.unmatched 0..*

One or more properties that contain properties that could not be matched into the code

match.unmatched.code 1..1 code

Identifies the property provided

match.unmatched.value 1..1 code | Coding | string | integer | boolean | dateTime

The value of the property provided

match.unmatched.property 0..*

Nested Properties (mainly used for SNOMED CT composition, for relationship Groups)

match.unmatched.property.code 1..1 code

Identifies the sub-property provided

match.unmatched.property.value 1..1 code | Coding | string | integer | boolean | dateTime

The value of the sub-property provided

match.comment 0..1 string

Information about the quality of the match, if operation is for a human

4.8.21.4.1 Examples

Request:

<Parameters xmlns="http://hl7.org/fhir">
 <parameter>
 <name value="system"/>
 <valueUri value="http://snomed.info/sct"/>
 </parameter>
 <parameter>
 <name value="exact"/>
 <valueBoolean value="true"/>
 </parameter>
 <parameter>
 <name value="property"/>
 <part>
 <name value="code"/>
 <valueCode value="focus"/>
 </part>
 <part>
 <name value="value"/>
 <!-- Measurement finding -->
 <valueCode value="118245000"/>
 </part>
 </parameter>
 <parameter>
 <name value="property"/>
 <part>
 <name value="code"/>
 <!-- Interprets -->
 <valueCode value="363714003"/>
 </part>
 <part>
 <name value="value"/>
 <!-- Bilirubin -->
 <valueCode value="302787001"/>
 </part>
 </parameter>
</Parameters>

Response: SNOMED Composition - provide 2 properties, and ask for a single code for the whole

HTTP/1.1 200 OK
[other headers]
<Parameters xmlns="http://hl7.org/fhir">
 <parameter>
 <name value="match" />
 <part>
 <name value="code" />
 <valueCoding>
 <system value="http://snomed.info/sct" />
 <code value="365786009" />
 <display value="Bilirubin level - finding" />
 </valueCoding>
 </part>
 </parameter>
</Parameters>

For more information about operations, including how they are invoked, see Operations.

AltStyle によって変換されたページ (->オリジナル) /