201709 Terminology Services Track
Terminology Services
Submitting WG/Project/Implementer Group
FHIR Management Group (FMG)
Justification
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 set resource, and the underlying code systems. 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.
David Hay's blog post on Terminology Services
Proposed Track Lead
Coordinator: Rob Hausam (There is a dedicated Zulip topic on the implementers stream for Terminology Services - https://chat.fhir.org/#narrow/stream/implementers/subject/Connectathon.20Terminology.20Services.20Track
Expected participants
- Health Intersections - server
- AEGIS - Touchstone tool and test scripts
- Apelon - Terminology Server (uid/pwd dtsadminuser/dtsadmin): http://fhir.ext.apelon.com/dtsserverws/fhir
- Lantana - FHIR services on Trifolia
- CSIRO - server
- NLM - FHIR services on VSAC
- IMO - FHIR services on IMO ProblemIT/ProcedureIT
- Patients First NZ - Server
- Health Language FHIR terminology services (new)
- Hausam Consulting test server
- Additional servers and clients
Roles
FHIR Terminology Server
For service providers, implement the following operations from http://hl7.org/fhir/terminology-service.html:
- $expand - Value Set Expansion
- $validate-code - Value Set Validation
- $lookup - Concept Lookup
- $subsumes - Subsumption Testing
- $translate - Concept Translation
- $closure - Maintaining a Closure Table
Support additional capabilities:
- Expansion Profile (Maturity Level: 2) - Defining constraints on the Expansion of a FHIR ValueSet
- SNOMED CT and LOINC implicit value sets - using SNOMED CT with FHIR using LOINC with FHIR
- $compose - Code Composition based on supplied properties (experimental)
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, or 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
- Experiment with the capabilities of the expansion profile (see description above of the expected capabilities and scenarios)
- 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://fhir3.healthintersections.com.au). Other servers, including the Apelon server (http://fhir.ext.apelon.com/dtsserverws/fhir) and the others listed above will support several of these operations and capabilities. For a list of functions supported by the Apelon Server, see the demo web app (http://fhir.ext.apelon.com/DtsOnFhirDemo, uid/pwd dtsadminuser/dtsadmin).
Scenarios
Scenarios - See server and client roles as listed above
TestScripts
The supporting TestScripts and corresponding fixtures have been committed to the FHIR SVN repository at: http://gforge.hl7.org/gf/project/fhir/scmsvn/?action=browse&path=%2Ftrunk%2Fconnectathons%2FMadridMay2017%2FConnectathon15%2FTerminology%2F [Will be updated for San Diego]