Page tree
Skip to end of metadata
Go to start of metadata

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 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 Connectathons.  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 by other Connectathon tracks.

David Hay's blog post on Terminology Services

Agenda

Wednesday, January 13

  • 4:00 PM – 7:00 PM PST Connectathon
  • 4:00 PM PST Connectathon 26 Kick Off
  • 5:00 PM PST  Terminology Services Track Kick-Off Meeting
  • 6:00 PM PST  Testing FHIR terminology servers

Thursday, January 14

  • 7:00 AM PST UTG Proposal Creation and Submission, Overview of UTG voting process
  • 8:00 AM – 7:00 PM PST Connectathon
  • 11:00 - 12:00 PT - Intro to FHIR Terminology
  • 12:00 - 1:00 PT - Updated designation-use value set and updated proposed designation-use-context extension design and testing
  • 2:00 PM PT - NamingSystem - representation and use of "deprecated" code system (and value set) identifiers, $translate-id proposed operation (R5)

  • 3:00 - 4:00 PT Office hours "Ask the expert" Q&A

Friday, January 15

  • 8:00 AM – 4:00 PM PST Connectathon
  • 9:00 AM PST UTG Proposal Creation and Submission, Overview of UTG voting process
  • 11:00 - 12:30 PM PT Office hours "Ask the expert" Q&A
  • 12:30 - 12:45 PM PST Terminology Services Track Highlights
  • 3:30 PM - 4:00 PM PST Terminology Services Track Wrap Up Session
  • 4:00 – 4:30 PM PST Wrap Up Session
  • 4:30 – 5:30 PM PST Virtual Happy Hour

Type

Test the design of a Resource/set of Resources/Service

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

Vocabulary WG

Proposed Track Lead

Rob Hausam, rrhausam@gmail.com

Peter Jordan, pkjordan@xtra.co.nz

Related Tracks

FHIR Version

R4, Current build (Connectathon build)

Specification(s) this track uses

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

http://build.fhir.org/conceptmap.html (proposed R5 changes to ConceptMap)

Artifacts of focus

See above.

Clinical input requested (if any)

Clinician involvement and input is certainly welcome.  We generally do have leadership and regular participants in the track who have backgrounds with significant clinical experience.

Patient input requested (if any)

No specific request.

Expected participants

https://chat.fhir.org/#narrow/stream/179207-connectathon-mgmt/topic/Terminology.20Services.20Track (Connectathon Terminology Services track topic)

https://chat.fhir.org/#narrow/stream/179202-terminology (Terminology stream - multiple topics)

https://zoom.us/j/7183806281?pwd=WHVnUUlkWWhhcnRaYk9sWWQyOEkvUT09

Track Orientation Date

To be determined.

Track Orientation Details

The track orientation webinar materials (from the January 2018 WGM in New Orleans) are here:

Also consider joining and participating in the SNOMED on FHIR project Terminology Services (TS) calls here.

Track Details

Prerequisites

For all levels of testing the required pre-requisite is the fundamental requirement that all FHIR servers SHALL support the capabilities interaction.

The FHIR Terminology Servers under test are expected to have already downloaded and installed the required resources (Code Systems, Value Sets & Concept Maps).

Breakout Sessions

Detailed list of sessions to be determined.

Expected and suggested topics (to be scheduled during Kickoff session):

  • 11:00 - 12:00 PT - Intro to FHIR Terminology 
  • 12:00 - 1:00 PT - Updated designation-use value set and updated proposed designation-use-context extension design and testing
  • 2:00 PM PT - Representation and use of "deprecated" code system (and value set) identifiers in NamingSystem
    • NamingSystem $translate-id proposed operation (R5)
  • Wed 5:00 PM PT Testing FHIR servers
  • Office hours ("Ask the expert")
    • Thurs 3:00 PM PT
    • Fri 11:15 - 12:15 PM PT

Additional topics:

  • NamingSystem use (boundaries with CodeSystem, etc.)
  • Designations (multiple languages, consumer-friendly, etc.)
  • ConceptMap - R5 updates and issues planning for R4B / R5 release
  • UTG integration to FHIR IG build process
  • Return code system supplement properties and designations in expansion results
  • Code validation service (for "difficult" code systems - UCUM, X12, etc.) - new "binding type" vs. federation?
  • Code System and Value Set Versioning (pre-release codes)
  • TerminologyCapabilities (maturity, use, etc.)

Previous breakout sessions (Connectathon 25):

  • Intro to FHIR Terminology
  • NamingSystem use (boundaries with CodeSystem, etc.)
  • Designations (multiple languages, consumer-friendly, etc.)
  • ConceptMap - R5 updates and issues planning for R4B / R5 release
  • Code System and Value Set Versioning (pre-release codes)
  • TerminologyCapabilities (maturity, use, etc.)

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

1 - Introduction to Terminology

This has been and will remain a primary purpose of this track and provides a 'friendly introduction' for those new to 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.

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

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

2 - ConceptMap R5 Changes

For FHIR R5 significant changes have been made to the ConceptMap resource, including:

  1. Replace the previous 'equivalence' element with a new 'relationship' element.
  2. Revise the concept-map-relationship (previously concept-map-equivalence) code system and value set so that the codes are easier and simpler to understand and choose and so that the mapping relationship direction is clearly specified.
  3. Related changes to the $translate and $closure operations based on the above code changes.  

Connectathon testing and implementation experience is needed to progress the revised ConceptMap resource through the maturity levels toward normative status.  

3 - NamingSystem R5 Changes and $translate-id operation

We want to explore and clarify the role and use of the NamingSystem resource in and with FHIR terminology services and its applications in profiles and IGs.  Explore the proposed new $translate-id operation.

4 - Federated Terminology Servers

We need to obtain Connectathon and implementation experience in this important area.  In order to practically implement full terminology service capabilities and utilization, a single terminology server may not be capable of handling all needed requests, but it is clearly desirable for clients to be able to point to a single terminology services endpoint for application needs.  Some initial work has been done in implementing federated networks composed of multiple FHIR terminology servers for responding to terminology service queries, and this needs to be tested and expanded in the Connectathon.  

5 - Coronavirus/COVID-19 ValueSets

Multiple standard terminologies, including SNOMED CT, LOINC, CPT and other have developed and released (or pre-released) new Coronavirus/COVID-19 terminology content in response to the ongoing COVID-19 pandemic.  This is obviously a very timely topic for further testing in the Connectathon.   

6 - Formal Testing of Terminology - Participants with FHIR experience

This scenario introduces a more formalized testing approach for those participants that have been working the FHIR Terminology specification and wish to move beyond basic testing and may have systems that are in active development, deployed or soon to be deployed into a production environment. Automated testing tooling is significantly leveraged for both automated terminology server testing (testing tool to FHIR terminology server) and surveillance of peer-to-peer testing (external FHIR client to external FHIR server).

Pre-connectathon testing is highly encouraged in order to be better prepared for the actual Connectathon event and to become familiar with the public testing platforms that will be used for the formal testing.

Testing and test reporting will be done using the public testing platforms which will provide test results via the new FHIR TestReport resource type as well as any specific reporting capabilities of those testing platforms. These reports will provide qualitative and quantitative analysis of the system under test and its conformance to the FHIR specification.

7 - TerminologyCapabilities resource

Further testing of this resource. working toward increasing the maturity level (beyond draft status). 

  • Identifying and further developing reference implementations
  • Gathering client requirements
    • How does IG Publisher use this resource?
    • Other current or potential clients (Forge, Trifolia, etc.?)

8 - Returning context-specific designations in $expand and $lookup

  • Multiple languages - specifying "preferred" language
  • "Consumer friendly" terms

9 - NamingSystem $translate-id proposed operation testing (R5)

TestScript(s)

This track includes formal testing and reporting of test results utilizing a defined set of test scripts.
[Note:  The test scripts and repository location will be updated for Virtual Connectathon 26.]

AEGIS Touchstone TestScripts are available HERE for Connectation 26.  Please email Touchstone_Support@aegis.net for any questions about using Touchstone.

The TestScript and terminology content resources will be committed to the FHIR documents Github repository at: https://github.com/FHIR/documents/tree/master/connectathons/VirtualJan2021

Please contact Grahame Grieve if you require commit privileges to this repository; otherwise, you may forward your TestScripts and related artifacts to Richard Ettema who will get them committed.

Additional Resources:

Available Test Script Sets

The test scripts listed below will be updated for Connectathon 26 and scripts for additional tests may be added.

Test Scripts - Supported Formats

  • JSON - TestScripts and fixtures are available under the JSON Format folder
  • XML - TestScripts and fixtures are available under the XML Format folder

Test Scripts - ValueSet Expand - $expand

  • connectathon-26-ts-expand - Terminology tests for $expand where the FHIR server is expected to have the existing ValueSet resources for extensional and intensional test cases.
  • connectathon-26-ts-expand-filter - Terminology tests for $expand with filter options where the FHIR server is expected to have the existing ValueSet resources for extensional and intensional test cases.
  • terminology-c26-expand-version-extensional1-01-ok (FHIR R4 Only) - $expand operation with a valid version parameter test for ValueSet extensional-case-1 where the expected outcome is a successful response.
  • terminology-c26-expand-version-extensional1-02-notok (FHIR R4 Only) - $expand operation with an invalid version parameter test for ValueSet extensional-case-1 where the expected outcome is a failure response with a returned OperationOutcome.

Test Scripts - CodeSystem Lookup - $lookup

  • connectathon-26-ts-lookup-loinc-01-ok-get-simple - CodeSystem $lookup simple tests against known LOINC codes where the expected outcome is a successful response with valid name and display value. All $lookup operations are performed using the FHIR Operation Framework HTTP GET method.
  • connectathon-26-ts-lookup-loinc-02-ok-post-code-simple - CodeSystem $lookup simple tests against known LOINC codes where the expected outcome is a successful response with valid name and display value. All $lookup operations are performed using the FHIR Operation Framework HTTP POST method with Parameters of system and code.
  • connectathon-26-ts-lookup-loinc-03-ok-post-coding-simple - CodeSystem $lookup simple tests against known LOINC codes where the expected outcome is a successful response with valid name and display value. All $lookup operations are performed using the FHIR Operation Framework HTTP POST method with Parameters of coding.
  • connectathon-26-ts-lookup-sct-01-ok-get-simple - CodeSystem $lookup simple tests against known SNOMED codes where the expected outcome is a successful response with valid name and display value. All $lookup operations are performed using the FHIR Operation Framework HTTP GET method.
  • connectathon-26-ts-lookup-sct-02-ok-post-code-simple - CodeSystem $lookup simple tests against known SNOMED codes where the expected outcome is a successful response with valid name and display value. All $lookup operations are performed using the FHIR Operation Framework HTTP POST method with Parameters of system and code.
  • connectathon-26-ts-lookup-sct-03-ok-post-coding-simple - CodeSystem $lookup simple tests against known SNOMED codes where the expected outcome is a successful response with valid name and display value. All $lookup operations are performed using the FHIR Operation Framework HTTP POST method with Parameters of coding.

Test Scripts - CodeSystem Subsumes - $subsumes

  • connectathon-26-ts-subsumes-snomed-01-ok-get - $subsumes tests against known SNOMED codes where the expected outcome is a successful response with a valid outcome code value. All $subsumes operations are performed using the FHIR Operation Framework HTTP GET method.
  • connectathon-26-ts-subsumes-snomed-02-ok-post-code - $subsumes tests against known SNOMED codes where the expected outcome is a successful response with a valid outcome code value. All $subsumes operations are performed using the FHIR Operation Framework HTTP POST method with Parameters of system, codeA and codeB.
  • connectathon-26-ts-subsumes-snomed-03-ok-post-coding - $subsumes tests against known SNOMED codes where the expected outcome is a successful response with a valid outcome code value. All $subsumes operations are performed using the FHIR Operation Framework HTTP POST method with Parameters of system, codingA and codingB.
  • connectathon-26-ts-subsumes-snomed-04-notok-get - $subsumes tests against known and unknown SNOMED codes where the expected outcome is a failure response with a returned OperationOutcome. All $subsumes operations are performed using the FHIR Operation Framework HTTP GET method.
  • connectathon-26-ts-subsumes-snomed-05-notok-post-code - $subsumes tests against known and unknown SNOMED codes where the expected outcome is a failure response with a returned OperationOutcome. All $subsumes operations are performed using the FHIR Operation Framework HTTP POST method with Parameters of system, codeA and codeB.
  • connectathon-26-ts-subsumes-snomed-06-notok-post-coding - $subsumes tests against known and unknown SNOMED codes where the expected outcome is a failure response with a returned OperationOutcome. All $subsumes operations are performed using the FHIR Operation Framework HTTP POST method with Parameters of system, codingA and codingB.

Test Scripts - CodeSystem Translate - $translate

  • connectathon-26-ts-translate-01-ok-get - $translate tests against known FHIR code systems where the expected outcome is a successful response with a matched code value from the target system. All $translate operations are performed using the FHIR Operation Framework HTTP GET method.
  • connectathon-26-ts-translate-02-ok-post-code - $translate tests against known FHIR code systems where the expected outcome is a successful response with a matched code value from the target system. All $translate operations are performed using the FHIR Operation Framework HTTP POST method with Parameters of system, codeA and codeB.
  • connectathon-26-ts-translate-03-ok-post-coding - $translate tests against known FHIR code systems where the expected outcome is a successful response with a matched code value from the target system. All $translate operations are performed using the FHIR Operation Framework HTTP POST method with Parameters of system, codingA and codingB.
  • connectathon-26-ts-translate-04-notok-get - $translate tests against known and unknown FHIR code systems where the expected outcome is a failure response with a returned OperationOutcome. All $translate operations are performed using the FHIR Operation Framework HTTP GET method.
  • connectathon-26-ts-translate-05-notok-post-code - $translate tests against known and unknown FHIR code systems where the expected outcome is a failure response with a returned OperationOutcome. All $translate operations are performed using the FHIR Operation Framework HTTP POST method with Parameters of system, codeA and codeB.
  • connectathon-26-ts-translate-06-notok-post-coding - $translate tests against known and unknown FHIR code systems where the expected outcome is a failure response with a returned OperationOutcome. All $translate operations are performed using the FHIR Operation Framework HTTP POST method with Parameters of system, codingA and codingB.

Test Scripts - CodeSystem Validate Code - $validate-code

  • connectathon-26-ts-validate-cs-loinc-01-ok-get - $validate-code tests against known LOINC codes where the expected outcome is a successful response using the FHIR Operation Framework HTTP GET method.
  • connectathon-26-ts-validate-cs-loinc-02-ok-post-code - $validate-code tests against known LOINC codes where the expected outcome is a successful response using the FHIR Operation Framework HTTP POST method with Parameters of url, code and display.
  • connectathon-26-ts-validate-cs-loinc-02-ok-post-coding - $validate-code tests against known LOINC codes where the expected outcome is a successful response using the FHIR Operation Framework HTTP POST method with Parameters of url and coding.
  • connectathon-26-ts-validate-cs-loinc-04-notok-get - $validate-code tests against known LOINC codes where the expected outcome is a failure response using the FHIR Operation Framework HTTP GET method.
  • connectathon-26-ts-validate-cs-loinc-05-notok-post-code - $validate-code tests against known LOINC codes where the expected outcome is a failure response using the FHIR Operation Framework HTTP POST method with Parameters of url, code and display.
  • connectathon-26-ts-validate-cs-loinc-06-notok-post-coding - $validate-code tests against known LOINC codes where the expected outcome is a failure response using the FHIR Operation Framework HTTP POST method with Parameters of url and coding.
  • connectathon-26-ts-validate-cs-sct-01-ok-get - $validate-code tests against known SNOMED-CT codes where the expected outcome is a successful response using the FHIR Operation Framework HTTP GET method.
  • connectathon-26-ts-validate-cs-sct-02-ok-post-code - $validate-code tests against known SNOMED-CT codes where the expected outcome is a successful response using the FHIR Operation Framework HTTP POST method with Parameters of url, code and display.
  • connectathon-26-ts-validate-cs-sct-02-ok-post-coding - $validate-code tests against known SNOMED-CT codes where the expected outcome is a successful response using the FHIR Operation Framework HTTP POST method with Parameters of url and coding.
  • connectathon-26-ts-validate-cs-sct-04-notok-get - $validate-code tests against known SNOMED-CT codes where the expected outcome is a failure response using the FHIR Operation Framework HTTP GET method.
  • connectathon-26-ts-validate-cs-sct-05-notok-post-code - $validate-code tests against known SNOMED-CT codes where the expected outcome is a failure response using the FHIR Operation Framework HTTP POST method with Parameters of url, code and display.
  • connectathon-26-ts-validate-cs-sct-06-notok-post-coding - $validate-code tests against known SNOMED-CT codes where the expected outcome is a failure response using the FHIR Operation Framework HTTP POST method with Parameters of url and coding.

Test Scripts - ValueSet Validate Code - $validate-code

  • connectathon-26-ts-validate-code - $validate-code tests where the FHIR Terminology server is expected to have the LOINC and SNOMED-CT code systems available.
  • connectathon-26-ts-validate-code-optional - $validate-code tests with optional invocations where the FHIR Terminology server is expected to have the LOINC and SNOMED-CT code systems available.

Test Scripts - NamingSystem Preferred ID - $preferred-id

  • connectathon-26-ts-preferred-id  - $preferred-id tests against the example NamingSystem resource in the R4 specification namingsystem-example.xml. All $preferred-id operations are performed using the FHIR Operation Framework HTTP GET method.
  • connectathon-26-ts-preferred-id-optional $preferred-id tests against the example NamingSystem resource in the R4 specification namingsystem-example.xml. All $preferred-id operations are performed using the FHIR Operation Framework HTTP POST method with Parameters of id and type

The AEGIS Touchstone testing tool has test scripts available for tracks to test their implementations. See www.touchstone.com to sign in our register if you are a new user.
Below, you will find a link to the tests specific to this HL7 track. Please send questions or issues to touchstone_support@aegis.net and a team member will be glad to assist you.

Terminology Tests for Connectathon 26 are found here:   Terminology Tests in Touchstone

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 (e.g. Apelon - see above).