Terminology Track

Acknowledgement

The given structure of this track is mainly based on HL7 International's Connectathon Terminology Service Track definition.


Short Description

Terminology, and the proper use of it, is fundamental for everything that we do in FHIR.  The purpose of this track is to test and enhance the capabilities of FHIR Terminology Services provided by the new Austrian e-Health Terminology Server and promote their use throughout the FHIR implementation community.

Long Description

The FHIR specification includes support for the provision of a terminology service - that is, a service that lets healthcare applications make use of codes and value sets without having to become experts in the fine details of the value sets and underlying code systems and their related resources. The management and proper use of terminology is fundamental to effective, interoperable data exchange, so this is an important capability to provide and test in the HL7 AT FHIR Hackathon. We expect and hope to achieve: (1) improved capabilities of terminology servers measured by testing performance, (2) improved and more extensive terminology service testing, (3) implementation and implementer experience with aspects of the terminology services specifications, including experience with newer and previously lesser used terminology service operations and operation capabilities, (4) identify potential improvements as well as deficiencies and possibly errors in the FHIR terminology service specifications based on implementation and testing experience, and (5) increased awareness and utilization of terminology services.

David Hay's blog post on Terminology Services

Type

Test the design of a Resource/set of Resources

Submitting Work Group/
Project/
Accelerator/
Affiliate/
Implementer Group  

Terminology Services Management Group

Track Lead(s)

Track Lead Email(s)

tc-fhir@hl7.at

Related Tracks

FHIR Version

FHIR R4

Specification(s) this track uses

http://hl7.org/fhir/terminology-service.html (Terminology Services)

http://www.hl7.org/fhir/valueset.html (ValueSet)

http://www.hl7.org/fhir/codesystem.html (CodeSystem)

https://hl7.org/fhir/conceptmap.html (ConceptMap)

https://www.hl7.org/fhir/terminologycapabilities.html (Terminology Capabilities)

Artifacts of focus

Expected participants

Date / Time

Thursday May 19, 01:00-05:00pm CEST

Test Servers

See Test Servers

Track Details

Prerequisites (recommended)
System roles
FHIR Terminology Server

For service providers, implement the following operations from http://hl7.org/fhir/terminology-service.html:

Support additional capabilities:

Service providers are not required to implement all of this functionality - it's a lot to do. For new implementers, start at the top and work down (generally).

FHIR Terminology Client Consumer

Implement any one or more of:

  • Do a value set expansion of one of the value sets in the spec
  • Validate a code using the spec against a FHIR value set, a v2 value set, LOINC or SNOMED CT
  • Validate a code using the spec against a code system such as LOINC or SNOMED CT
  • Look up a display for a code (most appropriate for v2/FHIR conversion)
  • Translate a code from one value set to another, based on the existing value set and ConceptMap resources, and/or other additional knowledge available to the server
  • Maintain a client-side closure table based on server-side terminological logic
  • References to SNOMED CT and LOINC implicit value sets
  • Create (POST, PUT) ValueSet resources referencing in-line and/or external code systems

At least one server supports all of these operations and capabilities (http://test.fhir.org/r4/). Other servers (see the list above) will support several of these operations and capabilities.

Scenarios

For all described scenarios suitable REST requests are provided in the following Postman collection: HL7 AT FHIR Hackathon - Terminology Track.postman_collection.json

Please note: The Postman collection generally uses PUT to add instances to a FHIR server in order to specify the ID of resource. For your usage it might be advisable to use POST for the creation of new resources. You have to note the ID created by the FHIR server in those cases.

1 - Introduction to Terminology

For starters this scenario provides a 'friendly introduction' for those new to the Terminology Track in FHIR. Attendees participate in this track using a simple scenario that can be met with limited domain knowledge. It is quite feasible to complete the client side terminology interaction of the track within a day with only knowledge of a development environment and some previous FHIR knowledge (such as Patient). If creating a server, advanced preparation will be required.

Basic tasks in this scenario are

  • fetching a specific terminology (CodeSystem and/or ValueSet)
  • fetching a specific version of a terminology
  • Leverage the operations specified under "System roles"

Pre-connectathon testing is encouraged, but not required, where the participants can utilize the publically-available FHIR Terminology Servers listed above.

Testing and test reporting at the Hackathon event will be self-attested and primarily involves peer-to-peer execution between known FHIR clients and/or servers.

2 - Dealing with hierarchical ValueSets

Within the Austrian e-Health Terminology Server there are a lot of ValueSets which do have a specified hierarchy. The difference between retrieving the whole ValueSet resource (GET) and the execution of the $expand operation shall be evaluated. Furthermore, an in-depth analysis of the parameters available for the $expand operation could be carried out.

Examples for ValueSets having hierarchies specified:

3 - Validation of Codes

Given that CodeSystems and ValueSets are provided on the Austrian e-Health Terminology Server it is interesting if and how a FHIR resource (e.g. a Patient) is being validated that is uploaded on another FHIR server but referencing one of the terminologies hosted on the Austrian e-Health Terminology Server.

4 - Canonicals

Currently, the CodeSystem.url and ValueSet.url of all resources on the Austrian e-Health Terminology Server start with https://termgit.elga.gv.at/ 

The answers to the following questions shall be found

  • Is it correct to use https://termgit.elga.gv.at/ for all terminologies within their canonicals?
  • How to deal with terminologies from external terminology providers (e.g. HL7, LOINC, etc.)?
  • Do the canonicals have to be the same as where the Austrian e-Health Terminology Server is being hosted?
5 - Dealing with Deprecated Codes

Certain codes may be deprecated within a CodeSystem and/or within a ValueSet.

  • How can this be realized in the CodeSystem and/or ValueSet resource?
6 - Git / GitLab API 

Use Git and/or the GitLab API to retrieve terminologies. Refer to documentation of https://termgit.elga.gv.at/:

Security and Privacy Considerations

Most FHIR terminology terminology service endpoints are open (at present).  This may change in the future as adoption and implementation experience increases in order to more directly manage external (non-HL7) terminology licensing considerations.  Some servers do allow or require authentication.