This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "201605 Terminology Services Track Proposal"

From HL7Wiki
Jump to navigation Jump to search
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
+
[http://wiki.hl7.org/index.php?title=Category:201605_FHIR_Connectathon_Track_Proposals Return to May 2016 Proposals]
 
[[Category:201605_FHIR_Connectathon_Track_Proposals|May 2016 Proposals]]
 
[[Category:201605_FHIR_Connectathon_Track_Proposals|May 2016 Proposals]]
 
__NOTOC__
 
__NOTOC__
Line 14: Line 14:
 
==Proposed Track Lead==
 
==Proposed Track Lead==
 
<!-- Name, email and Skype id of individual who will coordinate the track at the connectathon -->
 
<!-- Name, email and Skype id of individual who will coordinate the track at the connectathon -->
Coordinator: [mailto:rrhausam@gmail.com Rob Hausam]  (There is a dedicated skype chat for terminology services - https://join.skype.com/ti2MOnoKB1zJ - or Contact Rob to be included - skype id rhausam)
+
Coordinator: [mailto:rrhausam@gmail.com 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
See [[Connectathon_Track_Lead_Responsibilities]]
 
  
 
==Expected participants==
 
==Expected participants==
 
<!-- List of the individuals and/or organizations that have indicated a desire to attend the connectathon and implement this track -->
 
<!-- List of the individuals and/or organizations that have indicated a desire to attend the connectathon and implement this track -->
*Health Intersections - server
+
*[http://fhir3.healthintersections.com.au/open Health Intersections - server]
*AEGIS - Touchstone tool and test scripts
+
*[https://touchstone.aegis.net/touchstone/testdefinitions# AEGIS - Touchstone tool and test scripts]
*Apelon - server
+
*[http://fhir.ext.apelon.com:8081/dtsserverws/fhir Apelon - server]
 
*Lantana - FHIR services on Trifolia
 
*Lantana - FHIR services on Trifolia
*CSIRO - server
+
*[http://52.63.0.196:8080/fhir CSIRO - server]
*NLM - FHIR services on VSAC
+
*[[NLM - FHIR services on VSAC]]
*IMO - FHIR services on IMO ProblemIT
+
*[http://implementation.e-imo.com/fhir/Lexical IMO - FHIR services on IMO ProblemIT/ProcedureIT]
*Multiple additional servers
+
*[http://its.patientsfirst.org.nz/RestService.svc/Terminz/ Terminz]
*Multiple clients
+
*[http://test.hausamconsulting.com/fhir/ Hausam Consulting test server]
 +
*Additional servers and clients
  
 
==Roles==
 
==Roles==
Line 34: Line 34:
 
<!-- Provide a description of the capabilities this role will have within the connectathon -->
 
<!-- Provide a description of the capabilities this role will have within the connectathon -->
 
For service providers, implement the following operations from http://hl7.org/fhir/terminology-service.html:
 
For service providers, implement the following operations from http://hl7.org/fhir/terminology-service.html:
* $expand - [http://hl7.org/fhir/terminology-service.html#2.5.1.3 Value Set Expansion]
+
* $expand - [http://hl7.org/fhir/2016May/terminology-service.html#2.5.1.3 Value Set Expansion]
* $validate-code - [http://hl7.org/fhir/terminology-service.html#2.5.1.5 Value Set Validation] (note: there are a few typos on the terminology service page where this operation is referred to as "validate" but is actually "validate-code" - editorial oversight)
+
* $validate-code - [http://hl7.org/fhir/2016May/terminology-service.html#2.5.1.5 Value Set Validation]
* $lookup - [http://hl7.org/fhir/terminology-service.html#2.5.1.4 Concept Lookup]
+
* $lookup - [http://hl7.org/fhir/2016May/terminology-service.html#2.5.1.4 Concept Lookup]
* $translate - [http://hl7.org/fhir/terminology-service.html#2.5.1.8 Translations] (note: there is a typo on the terminology service page for Batch Translation where the text states "validate" not "translate")
+
* $translate - [http://hl7.org/fhir/2016May/terminology-service.html#2.5.1.8 Translations] (note: there is a typo on the terminology service page for Batch Translation where the text states "validate" not "translate")
* $closure - [http://hl7.org/fhir/terminology-service.html#closure Maintaining a Closure Table]
+
* $closure - [http://hl7.org/fhir/2016May/terminology-service.html#closure Maintaining a Closure Table]
 
Support additional capabilities:
 
Support additional capabilities:
 
* Expansion Profile (experimental) - [http://wiki.hl7.org/index.php?title=ExpansionProfile_FHIR_Resource_Proposal Expansion Profile FHIR Resource Proposal]
 
* Expansion Profile (experimental) - [http://wiki.hl7.org/index.php?title=ExpansionProfile_FHIR_Resource_Proposal Expansion Profile FHIR Resource Proposal]
 
* SNOMED CT and LOINC implicit value sets - [http://hl7-fhir.github.io/snomedct.html#implicit]  [http://hl7-fhir.github.io/loinc.html#1.25.1.3.7]
 
* SNOMED CT and LOINC implicit value sets - [http://hl7-fhir.github.io/snomedct.html#implicit]  [http://hl7-fhir.github.io/loinc.html#1.25.1.3.7]
* Support ValueSet resources and operations ($expand, $validate-code, $lookup) using the new CodeSystem resource instead of ValueSet.codeSystem''' - NEW'''
+
* Support ConceptMap, ValueSet resources and operations ($expand, $validate-code, $lookup) referencing code systems using the new CodeSystem resource (instead of ValueSet.codeSystem)''' - NEW'''
  
 
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).
 
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).
Line 49: Line 49:
 
<!-- Provide a description of the capabilities this role will have within the connectathon -->
 
<!-- Provide a description of the capabilities this role will have within the connectathon -->
 
Implement any one or more of:  
 
Implement any one or more of:  
* do a value set expansion of one of the value sets in the spec
+
* 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
+
* 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)
+
* 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
+
* 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
+
* 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)
+
* 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
+
* References to SNOMED CT and LOINC implicit value sets
 +
* Create (POST, PUT) ValueSet resources referencing in-line and/or external code systems
 +
* Create and perform operations ($expand, $validate-code, $lookup) on ValueSet resources referencing code systems using the new CodeSystem resource (instead of ValueSet.codeSystem)''' - NEW'''
  
 
At least one server supports all of these operations and capabilities (http://fhir2.healthintersections.com.au). Other servers, including the Apelon server (http://fhir.ext.apelon.com:8081/DtsOnFhirDemo) and the others listed above will support several of these operations and capabilities.
 
At least one server supports all of these operations and capabilities (http://fhir2.healthintersections.com.au). Other servers, including the Apelon server (http://fhir.ext.apelon.com:8081/DtsOnFhirDemo) and the others listed above will support several of these operations and capabilities.
Line 71: Line 73:
 
-->
 
-->
 
The supporting TestScripts and corresponding fixtures have been committed to the FHIR SVN repository at:
 
The supporting TestScripts and corresponding fixtures have been committed to the FHIR SVN repository at:
http://gforge.hl7.org/svn/fhir/trunk/connectathons/MontrealMay2016/Connectathon12/Track2-Terminology
+
http://gforge.hl7.org/gf/project/fhir/scmsvn/?action=browse&path=%2Ftrunk%2Fconnectathons%2FMontrealMay2016%2FConnectathon12%2FTrack-16-Terminology%2F
  
 
===TestScript Definitions===
 
===TestScript Definitions===
Line 80: Line 82:
 
====Expand Operation - $expand====
 
====Expand Operation - $expand====
 
:: '''<u>Client Assigned (Resource) Id</u>'''
 
:: '''<u>Client Assigned (Resource) Id</u>'''
:: * '''track2-ts-suite1-expand-client-id''' -- Terminology test suite 1 for $expand where the FHIR client assigns the ValueSet resource id in the setup.
+
:: * '''connectathon-12-track-16-ts-expand-client-id''' -- Terminology test suite 1 for $expand where the FHIR client assigns the ValueSet resource id in the setup.
:: * '''track2-ts-suite2-expand-filter-client-id''' -- Terminology test suite 1 for $expand with filter options where the FHIR client assigns the ValueSet resource id in the setup.
+
:: * '''connectathon-12-track-16-ts-expand-filter-client-id''' -- Terminology test suite 1 for $expand with filter options where the FHIR client assigns the ValueSet resource id in the setup.
 
:: '''<u>Client Assigned (Resource) Id</u>'''
 
:: '''<u>Client Assigned (Resource) Id</u>'''
:: * '''track2-ts-suite1-expand-server-id''' -- Terminology test suite 1 for $expand where the FHIR server assigns the ValueSet resource id in the setup.
+
:: * '''connectathon-12-track-16-ts-expand-server-id''' -- Terminology test suite 1 for $expand where the FHIR server assigns the ValueSet resource id in the setup.
:: * '''track2-ts-suite2-expand-filter-server-id''' -- Terminology test suite 1 for $expand with filter options where the FHIR server assigns the ValueSet resource id in the setup.
+
:: * '''connectathon-12-track-16-ts-expand-filter-server-id''' -- Terminology test suite 1 for $expand with filter options where the FHIR server assigns the ValueSet resource id in the setup.
 
:: '''<u>Use Expected Existing ValueSet Resources</u>'''
 
:: '''<u>Use Expected Existing ValueSet Resources</u>'''
:: * '''track2-ts-suite1-expand-existing-id''' -- Terminology test suite 1 for $expand where the FHIR server is expected to have the existing ValueSet resource.
+
:: * '''connectathon-12-track-16-ts-expand-existing-id''' -- Terminology test suite 1 for $expand where the FHIR server is expected to have the existing ValueSet resource.
:: * '''track2-ts-suite2-expand-filter-existing-id''' -- Terminology test suite 1 for $expand with filter options where the FHIR server is expected to have the existing ValueSet resource.
+
:: * '''connectathon-12-track-16-ts-expand-filter-existing-id''' -- Terminology test suite 1 for $expand with filter options where the FHIR server is expected to have the existing ValueSet resource.
  
 
====Validate Code Operation - $validate-code====
 
====Validate Code Operation - $validate-code====
 
:: '''<u>Client Assigned (Resource) Id</u>'''
 
:: '''<u>Client Assigned (Resource) Id</u>'''
:: * '''track2-ts-suite3-validate-code-client-id''' -- Terminology test suite 3 for $validate-code where the FHIR client assigns the ValueSet resource id in the setup.
+
:: * '''connectathon-12-track-16-ts-validate-code-client-id''' -- Terminology test suite 3 for $validate-code where the FHIR client assigns the ValueSet resource id in the setup.
:: * '''track2-ts-suite4-validate-code-client-id''' -- Terminology test suite 4 for $validate-code with optional invocations where the FHIR client assigns the ValueSet resource id in the setup.
+
:: * '''connectathon-12-track-16-ts-validate-code-client-id''' -- Terminology test suite 4 for $validate-code with optional invocations where the FHIR client assigns the ValueSet resource id in the setup.
 
:: '''<u>Client Assigned (Resource) Id</u>'''
 
:: '''<u>Client Assigned (Resource) Id</u>'''
:: * '''track2-ts-suite3-validate-code-server-id''' -- Terminology test suite 3 for $validate-code where the FHIR server assigns the ValueSet resource id in the setup.
+
:: * '''connectathon-12-track-16-ts-validate-code-server-id''' -- Terminology test suite 3 for $validate-code where the FHIR server assigns the ValueSet resource id in the setup.
:: * '''track2-ts-suite4-validate-code-server-id''' -- Terminology test suite 4 for $validate-code with optional invocations where the FHIR server assigns the ValueSet resource id in the setup.
+
:: * '''connectathon-12-track-16-ts-validate-code-server-id''' -- Terminology test suite 4 for $validate-code with optional invocations where the FHIR server assigns the ValueSet resource id in the setup.
 
:: '''<u>Use Expected Existing ValueSet Resources</u>'''
 
:: '''<u>Use Expected Existing ValueSet Resources</u>'''
:: * '''track2-ts-suite3-validate-code-existing-id''' -- Terminology test suite 3 for $validate-code where the FHIR server is expected to have the existing ValueSet resource.
+
:: * '''connectathon-12-track-16-ts-validate-code-existing-id''' -- Terminology test suite 3 for $validate-code where the FHIR server is expected to have the existing ValueSet resource.
:: * '''track2-ts-suite4-validate-code-existing-id''' -- Terminology test suite 4 for $validate-code with optional invocations where the FHIR server is expected to have the existing ValueSet resource.
+
:: * '''connectathon-12-track-16-ts-validate-code-existing-id''' -- Terminology test suite 4 for $validate-code with optional invocations where the FHIR server is expected to have the existing ValueSet resource.
  
 
====Lookup Operation - $lookup====
 
====Lookup Operation - $lookup====
:: * '''track2-ts-suite5-loinc-lookup-xml''' -- Terminology test suite 5 for $lookup operations against the LOINC set of terminology codes.
+
:: * '''connectathon-12-track-16-ts-loinc-lookup-xml''' -- Terminology test suite 5 for $lookup operations against the LOINC set of terminology codes.
:: * '''track2-ts-suite5-snomed-lookup-xml''' -- Terminology test suite 5 for $lookup operations against the SNOMED-CT set of terminology codes.
+
:: * '''connectathon-12-track-16-ts-snomed-lookup-xml''' -- Terminology test suite 5 for $lookup operations against the SNOMED-CT set of terminology codes.
  
 
====Translate Operation - $translate====
 
====Translate Operation - $translate====
:: * '''track2-ts-suite6-translate-xml''' -- Terminology test suite 6 for $translate operations against the ConceptMap for FHIR/v3 Address Use Mapping.
+
:: * '''connectathon-12-track-16-ts-translate-xml''' -- Terminology test suite 6 for $translate operations against the ConceptMap for FHIR/v3 Address Use Mapping.
  
 
===Conventions Used===
 
===Conventions Used===

Latest revision as of 15:26, 7 May 2016

Return to May 2016 Proposals

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

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

Roles

FHIR Terminology Server

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

Support additional capabilities:

  • Expansion Profile (experimental) - Expansion Profile FHIR Resource Proposal
  • SNOMED CT and LOINC implicit value sets - [1] [2]
  • Support ConceptMap, ValueSet resources and operations ($expand, $validate-code, $lookup) referencing code systems using the new CodeSystem resource (instead of ValueSet.codeSystem) - NEW

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
  • Create and perform operations ($expand, $validate-code, $lookup) on ValueSet resources referencing code systems using the new CodeSystem resource (instead of ValueSet.codeSystem) - NEW

At least one server supports all of these operations and capabilities (http://fhir2.healthintersections.com.au). Other servers, including the Apelon server (http://fhir.ext.apelon.com:8081/DtsOnFhirDemo) and the others listed above will support several of these operations and capabilities.

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%2FMontrealMay2016%2FConnectathon12%2FTrack-16-Terminology%2F

TestScript Definitions

The TestScript resources in this folder represent an evolution** of the TestScript originally used at the 1st Terminology Services Connectathon held in Washington, February 2014 and then subsequently expanded upon at the FHIR Connectathon 10 in Atlanta, GA and 11 in Orlando, FL.

**This representation of the Terminology Services tests is not meant to be definitive and complete. This is one example of how these tests can be defined in the current DSTU2 format of the TestScript resource. Constructive feedback, suggestions and criticisms are welcome.

Expand Operation - $expand

Client Assigned (Resource) Id
* connectathon-12-track-16-ts-expand-client-id -- Terminology test suite 1 for $expand where the FHIR client assigns the ValueSet resource id in the setup.
* connectathon-12-track-16-ts-expand-filter-client-id -- Terminology test suite 1 for $expand with filter options where the FHIR client assigns the ValueSet resource id in the setup.
Client Assigned (Resource) Id
* connectathon-12-track-16-ts-expand-server-id -- Terminology test suite 1 for $expand where the FHIR server assigns the ValueSet resource id in the setup.
* connectathon-12-track-16-ts-expand-filter-server-id -- Terminology test suite 1 for $expand with filter options where the FHIR server assigns the ValueSet resource id in the setup.
Use Expected Existing ValueSet Resources
* connectathon-12-track-16-ts-expand-existing-id -- Terminology test suite 1 for $expand where the FHIR server is expected to have the existing ValueSet resource.
* connectathon-12-track-16-ts-expand-filter-existing-id -- Terminology test suite 1 for $expand with filter options where the FHIR server is expected to have the existing ValueSet resource.

Validate Code Operation - $validate-code

Client Assigned (Resource) Id
* connectathon-12-track-16-ts-validate-code-client-id -- Terminology test suite 3 for $validate-code where the FHIR client assigns the ValueSet resource id in the setup.
* connectathon-12-track-16-ts-validate-code-client-id -- Terminology test suite 4 for $validate-code with optional invocations where the FHIR client assigns the ValueSet resource id in the setup.
Client Assigned (Resource) Id
* connectathon-12-track-16-ts-validate-code-server-id -- Terminology test suite 3 for $validate-code where the FHIR server assigns the ValueSet resource id in the setup.
* connectathon-12-track-16-ts-validate-code-server-id -- Terminology test suite 4 for $validate-code with optional invocations where the FHIR server assigns the ValueSet resource id in the setup.
Use Expected Existing ValueSet Resources
* connectathon-12-track-16-ts-validate-code-existing-id -- Terminology test suite 3 for $validate-code where the FHIR server is expected to have the existing ValueSet resource.
* connectathon-12-track-16-ts-validate-code-existing-id -- Terminology test suite 4 for $validate-code with optional invocations where the FHIR server is expected to have the existing ValueSet resource.

Lookup Operation - $lookup

* connectathon-12-track-16-ts-loinc-lookup-xml -- Terminology test suite 5 for $lookup operations against the LOINC set of terminology codes.
* connectathon-12-track-16-ts-snomed-lookup-xml -- Terminology test suite 5 for $lookup operations against the SNOMED-CT set of terminology codes.

Translate Operation - $translate

* connectathon-12-track-16-ts-translate-xml -- Terminology test suite 6 for $translate operations against the ConceptMap for FHIR/v3 Address Use Mapping.

Conventions Used

The execution of the TestScript resources contained in this folder are constrained by the following conventions:

Fixtures - All resource reference values can be either url paths or local local file system paths. The convention for these TestScript resources use local file system paths where the execution engine is expected to resolve this path based on the following:

  • Leading '/' character - this is resolved as an absolute path based on a known root path.
  • No leading '/' character - this is resolved as a relative path based on the location of the TestScript resource file.