Current Build
Vocabulary Work Group Maturity Level: 5Normative Compartments: N/A

Normative Candidate Note: This page is candidate normative content for R4 in the Conformance Package. Once normative, it will lose it's Maturity Level, and breaking changes will no longer be made.

Test the subsumption relationship between code/Coding A and code/Coding B given the semantics of subsumption in the underlying code system (see hierarchyMeaning).

When invoking this operation, a client SHALL provide both a and codes, either as code or Coding parameters. The system parameter is required unless the operation is invoked on an instance of a code system resource. Other parameters are optional.

The official URL for this operation definition is

 http://hl7.org/fhir/OperationDefinition/CodeSystem-subsumes

Formal Definition (as a OperationDefinition).

URL: [base]/CodeSystem/$subsumes

URL: [base]/CodeSystem/[id]/$subsumes

This is an idempotent operation

In Parameters:
NameCardinalityTypeBindingProfileDocumentation
codeA0..1code

The "A" code that is to be tested. If a code is provided, a system must be provided

codeB0..1code

The "B" code that is to be tested. If a code is provided, a system must be provided

system0..1uri

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

version0..1string

The version of the code system, if one was provided in the source data

codingA0..1Coding

The "A" Coding that is to be tested. The code system does not have to match the specified subsumption code system, but the relationships between the code systems must be well established

codingB0..1Coding

The "B" Coding that is to be tested. The code system does not have to match the specified subsumption code system, but the relationships between the code systems must be well established

Out Parameters:
NameCardinalityTypeBindingProfileDocumentation
outcome1..1codeConceptSubsumptionOutcome (Required)

The subsumption relationship between code/Coding "A" and code/Coding "B". There are 4 possible codes to be returned (equivalent, subsumes, subsumed-by, and not-subsumed) as defined in the concept-subsumption-outcome value set. If the server is unable to determine the relationship between the codes/Codings, then it returns an error response with an OperationOutcome.

Request: Using simple parameters: is 'Viral hepatitis' (3738000) a 'Disorder of liver' (235856003)?

GET [base]/CodeSystem/$subsumes?system=http://snomed.info/sct&codeA=3738000&codeB=235856003

Request: Using Codings

POST [base]/CodeSystem/$subsumes
[other headers]

<Parameters xmlns="http://hl7.org/fhir">
  <!-- Subsumption testing - use SNOMED CT rules -->
  <parameter>
    <name value="system"/>
    <valueUri value="http://snomed.info/sct"/>
  </parameter>
  <!-- Australian distribution -->
  <parameter>
    <name value="version"/>
    <valuString value="http://snomed.info/sct/32506021000036107/version/20160430"/>
  </parameter>
  <parameter>
    <name value="codingA"/>
    <valueCoding>
      <system value="http://snomed.info/sct"/>
      <code value="3738000"/>
    </valueCoding>
  </parameter>
  <parameter>
    <name value="codingB"/>
    <valueCoding>
      <system value="http://snomed.info/sct"/>
      <code value="235856003"/>
    </valueCoding>
  </parameter>
</Parameters>

Response: When the request can be processed ok


HTTP/1.1 200 OK
[other headers]

{
  "resourceType" : "Parameters",
  "parameter" : [
    {
    "name" : "outcome",
    "valueCode" : "subsumed-by"
  }
}

Response: When the subsumption cannot be tested



HTTP/1.1 500 Error
[other headers]

{
  "resourceType": "OperationOutcome",
  "id": "exception",
  "text": {
    "status": "additional",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Version "XXX" for http://acme.com/fhir/CodeSystem/some-id is no longer available</div>"
  },
  "issue": [
    {
      "severity": "error",
      "code": "not-supported",
      "details": {
        "text": "Version "XXX" for http://acme.com/fhir/CodeSystem/some-id is no longer available"
      }
    }
  ]
}

 

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