R6 Ballot (2nd Draft)

Publish-box (todo)

Terminology Infrastructure icon Work Group Maturity Level: NNormative Compartments: N/A

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 B 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 canonical 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:
Name Scope Cardinality Type Binding Profile Documentation
codeA 0..1 code

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

codeB 0..1 code

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

system type 0..1 uri

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

version type 0..1 string

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

codingA 0..1 Coding

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

codingB 0..1 Coding

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:
Name Scope Cardinality Type Binding Profile Documentation
outcome 1..1 code Concept Subsumption Outcome (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"/>
    <valueString 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.