Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • An orthopaedic clinician wants to record the procedure "Closed reduction of fracture of left radius"
    • We assume the EHR system supports searching precoordinated codes and, if necessary, creating postcoordinated codes
    • However, this EHR can only store codes up to 18 digits in length
    • The clinician selects the 87971000 |Closed reduction of fracture of radius (procedure)| with 272741003 |Laterality (attribute)| = 7771000 |Left (qualifier value)|

  • Then the orthopaedic departments department wants to report on the number of closed reduction vs. open reduction procedures.

Solution Overview

  • A CodeSystem supplement will be used to act as an expression library
  • A ConceptMap will be used to translate expressions to (and from) shorter codes for systems with restricted code lengths

...

  • Create ValueSet for expressions (can't use CodeSystem.valueSet because not a real code system)
  • Create CodeSystem for generated identifiers - specifiy specify CodeSystem.valueSet 
  • Create the ConceptMap to automatically translate expressions to generated short identifiers (only needed if EHR cannot store expressions) 
    • A SNOMED Namespace is required for identifier generation
      • The Implementation Support Team have has ideas about how to simplify the process of namespace assignment for postcoordination

...

The EHR system attempts to update the CodeSystem supplement with the expression, using either classifiable-form or close-to-user form depending on what is supported by the terminology server.
Example expression in close-to-user form: 87971000 |Closed reduction of fracture of radius (procedure)| : 272741003 |Laterality (attribute)| = 7771000 |Left (qualifier value)|

PATCH /CodeSystem/example-pce-lib123005

{
   "concept": [{
      "code": "87971000:272741003=7771000"
  }]
}

...

The terminology server must perform MRCM domain-attribute and attribute-range validation. If close-to-user form is supported, then the expression should be transformed to classifiable form before MRCM validation. The terminology server may also classify the expression at this point to reduce the processing required during subsequent operations that use the hierarchy.

...

  • Expand an intentional ValueSet using the expression library and ECL "< 86052008 |Closed reduction of fracture (procedure)|"
  1. GET /ValueSet/$expand?url=http://snomed.info/xsct/1234005?fhir_vs=ecl/<86052008
  2. GET /ValueSet/$expand?url=http://snomed.info/sct/900000000000207008#http://snomed.info/xsct/1234005?fhir_vs=ecl/<86052008

----------------------

  1. GET /ValueSet/$expand?url=http://snomed.info/xsct/1234005;module/98763002?fhir_vs=ecl/<86052008
  2. GET /ValueSet/$expand?url=http://snomed.info/sct/900000000000207008;module/98763002#http://snomed.info/xsct/1234005?fhir_vs=ecl/<86052008

---------------------


Feedback

  • ML - this syntax would not work today. Perhaps use a POST with a ValueSet def based on a SNOMED CT code system, including the code system supplement.. there is a ticket related to referencing supplements
    • The code system and supplement in the definition would need to match (inc version)

The terminology server will expand the ECL using the current version of the CodeSystem supplement and the precoordinated SNOMED CT Edition and the version that the supplement is dependant dependent on. The results will contain a mixture of simple codes and expressions:

...