Implementing Terminology Services with SNOMED CT

Implementing Terminology Services with SNOMED CT

A number of FHIR Terminology Service Operations have unique considerations when working with SNOMED CT

Operation Name

Resource

Considerations

Priority for implementation

Operation Name

Resource

Considerations

Priority for implementation

$validate-code

ValueSet

Further discussion by the SNOMED on FHIR working group can be read here: Implementing Terminology Services with SNOMED CT

2b

$validate-code

CodeSystem



2b

$expand

ValueSet

Implicit valuesets (Valuesets defined using ECL), filters, POST (upload) valuesets

1

$lookup

CodeSystem



2

$translate

ConceptMap



5

$subsumes

CodeSystem



3

$closure

ConceptMap



4

$find-matches

CodeSystem

See Find Matches, however using the $expand operation with ECL will allow for more expressive querying.

6


Best Practice Discussions

Paging - note that the $expand operation defines its own offset and count (count be 0 if you're interested in the total number of matches)

Limits on value set sizes - 1M configurable limit, default page size of 1K

Default language considerations - http headers, server settings (Link to Reuben's work and discussion of X-headers for LangRefsets)

Algorithms for text searching (reference implementation course eg "PNE PNE" finding Pneumococcal pneumonia)

Implementation Notes

  • Default to JSON response

  • Discuss authentication for public server

  • Swagger interface to HAPI?

  • Response to context-root access

  • Command line switch

Copyright © 2025, SNOMED International