Difference between revisions of "201801 Terminology Services Track"
(Copy and update of content from Connectathon 16 track proposals) |
|||
(25 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
+ | [http://wiki.hl7.org/index.php?title=FHIR_Connectathon_17 Return to Connectathon 17 page] | ||
+ | |||
[http://wiki.hl7.org/index.php?title=Category:201801_FHIR_Connectathon_Track_Proposals Return to Jan 2018 Proposals] | [http://wiki.hl7.org/index.php?title=Category:201801_FHIR_Connectathon_Track_Proposals Return to Jan 2018 Proposals] | ||
[[Category:201801_FHIR_Connectathon_Track_Proposals|Jan 2018 Proposals]] | [[Category:201801_FHIR_Connectathon_Track_Proposals|Jan 2018 Proposals]] | ||
Line 10: | Line 12: | ||
==Justification== | ==Justification== | ||
<!--Why is this an important track to include in the connectathon - include implementer need, impact on ballot, FMM readiness of the resources, etc. --> | <!--Why is this an important track to include in the connectathon - include implementer need, impact on ballot, FMM readiness of the resources, etc. --> | ||
− | The FHIR specification includes support for the provision of a [http://hl7.org/fhir/terminology-service.html 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. | + | The FHIR specification includes support for the provision of a [http://hl7.org/fhir/2018Jan/terminology-service.html 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. |
[https://fhirblog.com/2016/09/16/terminology-services/ David Hay's blog post on Terminology Services] | [https://fhirblog.com/2016/09/16/terminology-services/ David Hay's blog post on Terminology Services] | ||
Line 18: | Line 20: | ||
Coordinator: [mailto:rrhausam@gmail.com Rob Hausam] | Coordinator: [mailto:rrhausam@gmail.com Rob Hausam] | ||
− | Management & Communications: [https://chat.fhir.org/#narrow/stream/connectathon.20mgmt/topic/ | + | Management & Communications: [https://chat.fhir.org/#narrow/stream/connectathon.20mgmt/topic/Terminology.20Services.20Track Zulip Chat Stream] |
Test Support: [mailto:richard.ettema@aegis.net Richard Ettema] | Test Support: [mailto:richard.ettema@aegis.net Richard Ettema] | ||
+ | |||
+ | Orientation Slides: [https://drive.google.com/open?id=1E5bzAiLdRi4ZjA8ZrJv7N2duunW5vY-N Terminology Services Track Orientation Slides] | ||
+ | |||
+ | Orientation Recording: [https://youtu.be/ezv3bGZfLQk Click here to play recording] | ||
=='''Terminology Services Track Report'''== | =='''Terminology Services Track Report'''== | ||
Line 28: | Line 34: | ||
==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 --> | ||
− | *[http://test.fhir.org/ | + | *[http://test.fhir.org/r4 Health Intersections - FHIR Server] |
*[https://touchstone.aegis.net/touchstone AEGIS - Touchstone tool and test scripts] | *[https://touchstone.aegis.net/touchstone AEGIS - Touchstone tool and test scripts] | ||
− | *Apelon | + | *Apelon (Terminology Service): http://fhir.ext.apelon.com:7080/dtsserverws/fhir and Demo Page at http://fhir.ext.apelon.com:7080/DtsOnFhirDemo/logon/Logon.action |
+ | **Through a collaboration with the American Medical Association, the Current Procedural Terminology (CPT®) is now available for use in FHIR development efforts through the Apelon DTS on FHIR® service. Authentication is required. Please send an email to support@apelon.com (or on-site to cmacumber@apelon.com) for a user/pass. Please note that use of CPT® for production or commercial purposes through this service is prohibited.* | ||
*Lantana - FHIR services on Trifolia | *Lantana - FHIR services on Trifolia | ||
*[https://ontoserver.csiro.au/stu3-latest CSIRO Australia - Ontoserver] | *[https://ontoserver.csiro.au/stu3-latest CSIRO Australia - Ontoserver] | ||
*[[NLM - FHIR services on VSAC]] | *[[NLM - FHIR services on VSAC]] | ||
− | *[ | + | *[https://fhir-terminology-demo.e-imo.com/api/swagger/ui/index IMO - FHIR services on FHIR R4] |
*[http://its.patientsfirst.org.nz/RestService.svc/Terminz Patients First NZ Terminology Server] | *[http://its.patientsfirst.org.nz/RestService.svc/Terminz Patients First NZ Terminology Server] | ||
*[[Health Language FHIR terminology services]] | *[[Health Language FHIR terminology services]] | ||
Line 45: | Line 52: | ||
===FHIR Terminology Server=== | ===FHIR Terminology Server=== | ||
<!-- 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/2018Jan/terminology-service.html: |
− | * $expand - [http://hl7.org/fhir/valueset-operations.html#expand Value Set Expansion] | + | * $expand - [http://hl7.org/fhir/2018Jan/valueset-operations.html#expand Value Set Expansion] |
− | * $validate-code - [http://hl7.org/fhir/valueset-operations.html#validate-code Value Set Validation] | + | * $validate-code - [http://hl7.org/fhir/2018Jan/valueset-operations.html#validate-code Value Set Validation] |
− | * $lookup - [http://hl7.org/fhir/codesystem-operations.html#lookup Concept Lookup] | + | * $lookup - [http://hl7.org/fhir/2018Jan/codesystem-operations.html#lookup Concept Lookup] |
− | * $subsumes - [http://hl7.org/fhir/codesystem-operations.html#subsumes Subsumption Testing] | + | * $validate-code - [http://hl7.org/fhir/2018Jan/codesystem-operations.html#validate-code Code System Validation] |
− | * $translate - [http://hl7.org/fhir/conceptmap-operations.html#translate Concept Translation] | + | * $subsumes - [http://hl7.org/fhir/2018Jan/codesystem-operations.html#subsumes Subsumption Testing] |
− | * $closure - [http://hl7.org/fhir/conceptmap-operations.html#closure Maintaining a Closure Table] | + | * $translate - [http://hl7.org/fhir/2018Jan/conceptmap-operations.html#translate Concept Translation] |
+ | * $closure - [http://hl7.org/fhir/2018Jan/conceptmap-operations.html#closure Maintaining a Closure Table] | ||
Support additional capabilities: | Support additional capabilities: | ||
− | * Expansion Profile (Maturity Level: 2) - [http://hl7.org/fhir/expansionprofile.html Defining constraints on the Expansion of a FHIR ValueSet] | + | * Capability Statement [http://hl7.org/fhir/2018Jan/capabilitystatement-terminology-server.html Produce a Terminology Service Capability Statement] |
− | * SNOMED CT and LOINC implicit value sets - [http://hl7.org/fhir/snomedct.html using SNOMED CT with FHIR] and [http://hl7.org/fhir/loinc.html using LOINC with FHIR] | + | * Expansion Profile (Maturity Level: 2) - [http://hl7.org/fhir/2018Jan/expansionprofile.html Defining constraints on the Expansion of a FHIR ValueSet] |
− | * $compose - [http://hl7.org/fhir/codesystem-operations.html#compose Code Composition based on supplied properties (experimental)] | + | * SNOMED CT and LOINC implicit value sets - [http://hl7.org/fhir/2018Jan/snomedct.html using SNOMED CT with FHIR] and [http://hl7.org/fhir/2018Jan/loinc.html using LOINC with FHIR] |
+ | * $compose - [http://hl7.org/fhir/2018Jan/codesystem-operations.html#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). | 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 64: | Line 73: | ||
* 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, LOINC or SNOMED CT | * 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) | * 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 | ||
Line 71: | Line 81: | ||
* Create (POST, PUT) ValueSet resources referencing in-line and/or external code systems | * 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/ | + | At least one server supports all of these operations and capabilities (http://test.fhir.org/r4). 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). |
==Pre-Requisites== | ==Pre-Requisites== | ||
− | '''For all levels of testing the required pre-requisite is the fundamental requirement that all FHIR servers ''SHALL'' support the [http://hl7.org/fhir/http.html#capabilities capabilities] interaction.''' | + | '''For all levels of testing the required pre-requisite is the fundamental requirement that all FHIR servers ''SHALL'' support the [http://hl7.org/fhir/2018Jan/http.html#capabilities capabilities] interaction.''' |
==Test Scripts== | ==Test Scripts== | ||
Line 81: | Line 91: | ||
Starting with the Connectathon 16 event in San Diego, this track now includes additional levels of testing that introduce more formalized execution and reporting of test results. Furthermore, none of the Client and Server Assigned Id Test Scripts, used for the $expand and $validate-code operations in previous events, have been carried forward to this Connectathon. The expectation now is that the FHIR Terminology Servers under test will have already downloaded and installed the required resources (Code Systems, Value Sets & Concept Maps). | Starting with the Connectathon 16 event in San Diego, this track now includes additional levels of testing that introduce more formalized execution and reporting of test results. Furthermore, none of the Client and Server Assigned Id Test Scripts, used for the $expand and $validate-code operations in previous events, have been carried forward to this Connectathon. The expectation now is that the FHIR Terminology Servers under test will have already downloaded and installed the required resources (Code Systems, Value Sets & Concept Maps). | ||
− | These resources, and the corresponding TestScripts, | + | These resources, and the corresponding TestScripts, have been committed to the FHIR documents Github repository at: |
− | [https://github.com/FHIR/documents/tree/master/connectathons | + | [https://github.com/FHIR/documents/tree/master/connectathons/NewOrleansJan2018/Connectathon17/Terminology-Formal NewOrleansJan2018/Connectathon17/Terminology-Formal] |
Please contact [mailto:grahame@healthintersections.com.au Graham Grieve] if you require commit privileges to this repository; otherwise, you may forward your TestScripts and related artifacts to [mailto:richard.ettema@aegis.net Richard Ettema] who will get them committed. | Please contact [mailto:grahame@healthintersections.com.au Graham Grieve] if you require commit privileges to this repository; otherwise, you may forward your TestScripts and related artifacts to [mailto:richard.ettema@aegis.net Richard Ettema] who will get them committed. | ||
Line 106: | Line 116: | ||
Pre-connectathon testing is highly encouraged in order to be better prepared for the actual Connectathon event and become familiar with the public testing platforms that will be used for the formal testing. | Pre-connectathon testing is highly encouraged in order to be better prepared for the actual Connectathon event and 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 [http://hl7.org/fhir/testreport.html 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. | + | Testing and test reporting will be done using the public testing platforms which will provide test results via the new FHIR [http://hl7.org/fhir/2018Jan/testreport.html 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. |
====Test Scripts - Supported Formats==== | ====Test Scripts - Supported Formats==== | ||
Line 115: | Line 125: | ||
====Test Scripts - ValueSet Expand - $expand==== | ====Test Scripts - ValueSet Expand - $expand==== | ||
− | * '''connectathon- | + | * '''connectathon-17-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- | + | * '''connectathon-17-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. |
====Test Scripts - CodeSystem Lookup - $lookup==== | ====Test Scripts - CodeSystem Lookup - $lookup==== | ||
− | * '''connectathon- | + | * '''connectathon-17-ts-lookup-loinc''' - $lookup tests where the FHIR Terminology server is expected to have the LOINC code systems available. |
− | * '''connectathon- | + | * '''connectathon-17-ts-lookup-snomed''' - $lookup tests where the FHIR Terminology server is expected to have the SNOMED-CT code systems available. |
====Test Scripts - CodeSystem Subsumes - $subsumes==== | ====Test Scripts - CodeSystem Subsumes - $subsumes==== | ||
− | * '''connectathon- | + | * '''connectathon-17-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- | + | * '''connectathon-17-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- | + | * '''connectathon-17-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- | + | * '''connectathon-17-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- | + | * '''connectathon-17-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- | + | * '''connectathon-17-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==== | ====Test Scripts - CodeSystem Translate - $translate==== | ||
− | * '''connectathon- | + | * '''connectathon-17-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- | + | * '''connectathon-17-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- | + | * '''connectathon-17-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- | + | * '''connectathon-17-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- | + | * '''connectathon-17-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- | + | * '''connectathon-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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==== | ====Test Scripts - ValueSet Validate Code - $validate-code==== | ||
− | * '''connectathon- | + | * '''connectathon-17-ts-validate-code''' - $validate-code tests where the FHIR Terminology server is expected to have the LOINC and SNOMED-CT code systems available. |
− | * '''connectathon- | + | * '''connectathon-17-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. |
Latest revision as of 18:27, 23 October 2018
Return to Connectathon 17 page
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
Track Administration
Coordinator: Rob Hausam
Management & Communications: Zulip Chat Stream
Test Support: Richard Ettema
Orientation Slides: Terminology Services Track Orientation Slides
Orientation Recording: Click here to play recording
Terminology Services Track Report
FHIR Connectathon 17 will be held on January 27-28, 2018 in New Orleans.
A link to download the report will be available after the conclusion of the Connectathon.
Expected participants
- Health Intersections - FHIR Server
- AEGIS - Touchstone tool and test scripts
- Apelon (Terminology Service): http://fhir.ext.apelon.com:7080/dtsserverws/fhir and Demo Page at http://fhir.ext.apelon.com:7080/DtsOnFhirDemo/logon/Logon.action
- Through a collaboration with the American Medical Association, the Current Procedural Terminology (CPT®) is now available for use in FHIR development efforts through the Apelon DTS on FHIR® service. Authentication is required. Please send an email to support@apelon.com (or on-site to cmacumber@apelon.com) for a user/pass. Please note that use of CPT® for production or commercial purposes through this service is prohibited.*
- Lantana - FHIR services on Trifolia
- CSIRO Australia - Ontoserver
- NLM - FHIR services on VSAC
- IMO - FHIR services on FHIR R4
- Patients First NZ Terminology Server
- Health Language FHIR terminology services
- Hausam Consulting test server
- Additional servers and clients
Roles
FHIR Terminology Server
For service providers, implement the following operations from http://hl7.org/fhir/2018Jan/terminology-service.html:
- $expand - Value Set Expansion
- $validate-code - Value Set Validation
- $lookup - Concept Lookup
- $validate-code - Code System Validation
- $subsumes - Subsumption Testing
- $translate - Concept Translation
- $closure - Maintaining a Closure Table
Support additional capabilities:
- Capability Statement Produce a Terminology Service Capability Statement
- 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 and 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, 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
- 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://test.fhir.org/r4). 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).
Pre-Requisites
For all levels of testing the required pre-requisite is the fundamental requirement that all FHIR servers SHALL support the capabilities interaction.
Test Scripts
Starting with the Connectathon 16 event in San Diego, this track now includes additional levels of testing that introduce more formalized execution and reporting of test results. Furthermore, none of the Client and Server Assigned Id Test Scripts, used for the $expand and $validate-code operations in previous events, have been carried forward to this Connectathon. The expectation now is that the FHIR Terminology Servers under test will have already downloaded and installed the required resources (Code Systems, Value Sets & Concept Maps).
These resources, and the corresponding TestScripts, have been committed to the FHIR documents Github repository at: NewOrleansJan2018/Connectathon17/Terminology-Formal Please contact Graham 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:
- Terminology Test Definition Spreadsheet - Example proposals for Terminology tests (positive and negative) from the Connectathon 16 event held in San Diego
Scenarios & Tasks
Level 1 - Introduction to Terminology
This has been and will remain the 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 publically-available FHIR Terminology Servers listed above.
Testing and test reporting at the Connectathon event will be self-attested using the Results tab of the Tracking Spreadsheet (link TBD) and primarily involve peer-to-peer execution between known FHIR clients and/or servers.
Level 2 - Formal Testing of Terminology - Participants with FHIR experience
(Level 1 +) This level 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 is significantly leveraged for both automated testing (testing tool to FHIR 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 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.
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-17-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-17-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.
Test Scripts - CodeSystem Lookup - $lookup
- connectathon-17-ts-lookup-loinc - $lookup tests where the FHIR Terminology server is expected to have the LOINC code systems available.
- connectathon-17-ts-lookup-snomed - $lookup tests where the FHIR Terminology server is expected to have the SNOMED-CT code systems available.
Test Scripts - CodeSystem Subsumes - $subsumes
- connectathon-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-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-17-ts-validate-code - $validate-code tests where the FHIR Terminology server is expected to have the LOINC and SNOMED-CT code systems available.
- connectathon-17-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.