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

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)

Davera Gabriel dgabrie4@jhmi.edu

Track Lead Email(s)

dgabrie4@jhmi.edu

Related Tracks

FHIR Version

Current build: FHIR R4, R5

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)

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

Artifacts of focus

Expected participants

Zulip stream


Friday

 Friday April 229, 9:30-10:30a EASTERN

Join Zoom Meeting
https://hl7-org.zoom.us/j/6855093136

Meeting ID: 685 509 3136
One tap mobile
+13017158592,,6855093136# US (Washington DC)
+13126266799,,6855093136# US (Chicago)

Dial by your location
        +1 301 715 8592 US (Washington DC)
        +1 312 626 6799 US (Chicago)
        +1 646 558 8656 US (New York)
        +1 669 900 9128 US (San Jose)
        +1 253 215 8782 US (Tacoma)
        +1 346 248 7799 US (Houston)
Meeting ID: 685 509 3136
Find your local number: https://hl7-org.zoom.us/u/abY9Z2vCXy

Join by Skype for Business
https://hl7-org.zoom.us/skype/6855093136


In-track Welcome & Kick-off Session: Monday May 2, 11a-noon EASTERN

Track Details

Breakout Sessions 

"Ask the Expert" Office Hours

An open, unstructured discussion of HL7 FHIR Terminology current events, resources, and implementation "tips and tricks."  Pull up a chair and bring your Connectathon comments, discoveries and unresolved terminology issues to the table.  All are welcome.

HL7 Vocabulary Office Hours – Rob McClure      Tuesday, May 3 & Wednesday, May 4 10-11a (2 sessions)
Dr. Rob McClure, MD, FAMIA is a Vocabulary Working Group co-Chair, the Terminology Services Management Group representative to the Technical Steering Committee, and currently co-leads the Gender Harmony project.  Rob has a strong clinical background practicing in Pediatrics and Internal Medicine for 10 years, before focusing on informatics, where he has worked for over 30 years.  Rob had a pivotal role in launching the National Library of Medicine’s Value Set Authority Center and served on the National Quality Forum Value Set Harmonization Committee. He has supported the development of terminology-focused work at HL7; including the Value Set Expansion (VSE) Project, Vocabulary Binding Semantics (VBS) Project, the Characteristics of a Value Set Definition (VSD) Project, development of the Unified Terminology Governance process and the Terminology at HL7 resource infrastructure. Rob will be bringing his considerable experience and expertise to this Office Hours session to answer your policy process and general questions about HL7 Vocabulary and its utilization within FHIR


Normative FHIR Terminology Server  Capability Statement – Peter Jordan  Monday, May 2, 6-7p
Peter Jordan is an Affiliate Director on the HL7 International Board; Co-Chair of the HL7 International Council; a Co-Chair of the SNOMED on FHIR Terminology Services Group; chairperson HL7 New Zealand and member of the Terminology Services Working Group. Peter has over 3 decades of IT experience, with emphasis in in healthcare information modelling, exchange and security. He contracts as a Solutions Architect, with various organizations, to provide implementation expertise on standards and architecture in support of the NZ Digital Health Work Program – including HL7® FHIR® Terminology Services.

In addition to bringing his considerable terminology expertise to the session, Peter will be discussing issues pertaining to the normative terminology service capability statement recently surfaced in the Trans-Tasman Connectathon (April29 -30, 2022), including

  • Resource properties on ValueSet, CodeSystem & Concept Map. - date & version
  • Operation input parameters on ValueSet $expand - date & version
  • Operation input parameters on ValueSet & CodeSystem $validate-code - version, date, Coding & CodeableConcept


HL7 Terminology Implementation Issues Office Hours - Reuben Daniels              Monday, May 2 & Tuesday May3 5-6 p (2 sessions)

Reuben Daniels is a Board Director of the Australian HL7 Affiliate (HL7 Australia), co-chair of the HL7 Vocabulary Working Group, Vice-chair of the HL7 Terminology Authority (HTA), co-chair of the HL7 Terminology Services Management Group (TSMG) and Principal Consultant at Saludax which provides architecture, standards, interoperability, and education consulting services primarily to the Australian digital health sector.  Reuben has more than a decade's experience leading standards implementations for software vendors, healthcare organizations, state and federal health departments, and brings his considerable technical knowledge dealing with terminology implementation issues to this session. He has considerable experience in the design, deployment and operation of FHIR-based state and national terminology services. 


Terminology Servers & Tooling Office Hours - Michael Lawley             Monday, May 2  7-8p

Dr. Michael Lawley is a Group Leader at the Commonwealth Scientific and Industrial Research Organisation (CSIRO) and leads the Health Informatics Group in the Australian E-Health Research Centre. He is a SNOMED on FHIR co-chair and a member of SNOMED International’s Modelling Advisory Group.  In his role with CSIRO, Michael leads the development of technical solutions aiming to address interoperability, terminology and ontological aspects of health research and innovation for Australia, having spent nearly 2 decades prior developing and implementing technology solutions in health research.  In this session, Michael will share his significant expertise as a developer of terminology-focused applications, servers, and tools supporting SNOMED CT and FHIR. 

Additional Breakouts

Clinical Genomics Terminology Operations Breakout - Bob Dolin, Bret Heale  Tuesday, May 3, 12:30 - 2p

The Clinical Genomics WG has developed a new specification that implements code-based searching.  In this break-out session, Bob & Bret will review some of the terminology components that are implicit in the FHIR Genomics Operations, such as token vs. codeSystem / code searching and mapping normalization strategies when more than one coding system is permitted by the specification (e.g.: SNOMED CT & Disease Ontology). 


Clinical Quality Measures Joint Session  - Bryn Rhodes  Tuesday, May 3, 4-5p (also listed in the Clinical Reasoning Track)

Of interest to the Vocabulary community: a joint session with members of the FHIR-based Quality Measures for use in Quality Measurement programs group focused on their use of the Measures Terminology Service and Value Set version validation.


Terminology Queries & Representation Syntax - Lloyd McKenzie, Michael Lawley, Josh Mandel, Grahame Grieve  Tuesday, May 3 6-7:30p 

The need to expose a common general hierarchical and filter-based query syntax for use in defining value sets and performing inline queries has come up yet again as evidenced by a recent Zulip chat in the Terminology stream. This session aims to provide a real-time discussion of the topic, and identify the next steps to resolution.


Vocabulary Normalization Requirements & Strategies Across HL7 Standards - Lisa Nelson  Wednesday, May 4 11a-noon

When there is a need to make a move from C-CDA representations to US Core FHIR profile conformant FHIR Resources, a set of best practices is needed where there may not be a need for traditional mapping, as is supported by the ConceptMap resource or other code system-to-code system mappings. In the cases where there is a need to normalize the received information, and possibly add additional codings, what are the rules which will preserve the original information and its provenance, that also add codes which are introduced by an assembler system? Where in the HL7 workflow is this added, and where is the newly added "normalizing" information stored?  The purpose of this breakout is to talk through some of the scenarios where the incoming information is C-CDA or V2 and being converted to FHIR resources.


R5 Concept Map Review - Rob Hausam  Wednesday, May 4, 1-2p

In this late-breaking session, Rob Hausam will provide an overview of the FHIR Concept Map resource, with a focus on changes between R4 and R5

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/r5). Other servers (see the list above) will support several of these operations and capabilities.

Scenarios

1 - Testing Proposed 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. 
  4. Updates to group.element.target.dependsOn and group.element.target.product

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

2 - 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.

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

Executing the use of the NamingSystem resource in and with FHIR terminology services and its applications in profiles and IGs, testing the $translate-id operation functionality

4 - Minimum Capabilities for a Terminology Server

A FHIR Terminology Server should be able to support a minimum set of capabilities (behaviors).  This activity will provide the opportunity to test whether a terminology server's capability statement is conformant to the minimum set of requirements as established by a vocabulary WG task force described here.  As a first step to developing a complete profile and test scenario for minimum Terminology Server capabilities, the $implements on the CapabilityStatement resource is leveraged.   Resource testing can be achieved via a POST to https://terminz.azurewebsites.net/fhir/CapabilityStatement/$implements with a CapabilityStatement resource.  An OperationOutcome resource with a series of issue elements of varying types will be returned.  This server is configured to accommodate the capabilities identified by the task force for a minimum Terminology Server as referenced above. 

TestScript(s):

This track includes formal testing and reporting of test results utilizing a defined set of test scripts.

AEGIS Touchstone TestScripts will be available for Connectation 30.  Please email Touchstone_Support@aegis.net for any questions about using Touchstone.

Available  Connectathon 30 Test Script Sets

The test scripts listed below have been updated for Connectathon 30 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-30-terminology-expand - Terminology tests for $expand where the FHIR server is expected to have the existing ValueSet resources for extensional and intensional test cases.
  • connectathon-30-terminology-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-30-expand-version-extensional1-01-ok  - $expand operation with a valid version parameter test for ValueSet extensional-case-1 where the expected outcome is a successful response.
  • terminology-30-expand-version-extensional1-02-notok - $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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-validate-cs-loinc-03-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-validate-cs-sct-03-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-30-terminology-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-30-terminology-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-30-terminology-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-30-terminology-validate-code - $validate-code tests where the FHIR Terminology server is expected to have the LOINC and SNOMED-CT code systems available.
  • connectathon-30-terminology-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-30-terminology-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-30-terminology-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 30 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).