FHIR Terminology Ecosystem IG, published by HL7 FHIR Product Director. This guide is not an authorized publication; it is the continuous build for version 1.6.6 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-tx-ecosystem-ig/ and changes regularly. See the Directory of published versions
The tests assume that the server can accept code systems on the fly. If servers do not accept code systems on the fly, server authors will have to adapt these tests by rewriting them for their own actual support code systems. Either way, servers that do SHOULD pass all the tests, but the FHIR product director will review the test outcomes in order to approve a server.
Name | Operation | Flags | Description |
metadata |
tests for minimal requirements for metadata statements |
||
metadata | $metadata | Check that the minimum expected things are found in the server CapabilityStatement |
|
term-caps | $term-caps | Check that the minimum expected things are found in the server TerminologyCapabilities |
|
simple-cases |
basic tests, setting up for the API tests to come |
||
simple-expand-all | $expand | Expansion containing all the code system |
|
simple-expand-active | $expand | Expansion containing only the active codes in the code system |
|
simple-expand-inactive | $expand | Expansion containing only the inactive codes in the code system |
|
simple-expand-enum | $expand | Expansion containing an enumerated set of codes in the code system |
|
simple-expand-enum-bad | $expand | Expansion containing an enumerated set of codes in the code system, including invalid codes |
|
simple-expand-isa | $expand | Expansion containing a filter on the code system using is-a relationship |
|
simple-expand-isa-o2 | $expand | tx.fhir.org | Expansion containing a filter on the code system using is-a relationship with paging (tx.fhir.org internal test) |
simple-expand-isa-c2 | $expand | tx.fhir.org | Expansion containing a filter on the code system using is-a relationship with paging (tx.fhir.org internal test) |
simple-expand-isa-o2c2 | $expand | tx.fhir.org | Expansion containing a filter on the code system using is-a relationship with paging (tx.fhir.org internal test) |
simple-expand-prop | $expand | Expansion containing a filter on the code system using a property value |
|
simple-expand-regex | $expand | Expansion containing a filter on the code system using regex on the codes |
|
simple-expand-regex2 | $expand | Expansion containing a filter on the code system using regex on the codes using a regex known to cause a problem on at least one server |
|
simple-lookup-1 | $lookup | Check that $lookup works (there's not many tests for $lookup because it's not used much by the tools) |
|
simple-lookup-2 | $lookup | Check that $lookup works (there's not many tests for $lookup because it's not used much by the tools) |
|
parameters |
Testing out the various expansion parameters that the IG publisher makes use of |
||
parameters-expand-all-hierarchy | $expand | Expand an entire code system, and check that the code system replicates the hierarchy. Note that for all the hierarchical expansions, the flag 'flat' means that the server is not expected to provide a hierarchical expansion |
|
parameters-expand-enum-hierarchy | $expand | Expand an enumerated value set - no hierarchy in this case |
|
parameters-expand-isa-hierarchy | $expand | Expand an is-a value set, and preserve the hierarchy |
|
parameters-expand-all-active | $expand | expand all the active codes - hierarchy is preserved |
|
parameters-expand-active-active | $expand | Expand all the active codes, and specify active codes in a parameter |
|
parameters-expand-inactive-active | $expand | Expand all the codes, including inactive ones, but specify active codes only in a parameter |
|
parameters-expand-enum-active | $expand | Expand an enumerated value set, with active codes only in a parameter |
|
parameters-expand-isa-active | $expand | Expand an is-a value set, only the active codes |
|
parameters-expand-all-inactive | $expand | expand all the active codes, including inactive codes - hierarchy is preserved |
|
parameters-expand-active-inactive | $expand | to be provided |
|
parameters-expand-inactive-inactive | $expand | to be provided |
|
parameters-expand-enum-inactive | $expand | to be provided |
|
parameters-expand-isa-inactive | $expand | to be provided |
|
parameters-expand-all-designations | $expand | to be provided |
|
parameters-expand-enum-designations | $expand | to be provided |
|
parameters-expand-isa-designations | $expand | to be provided |
|
parameters-expand-all-definitions | $expand | to be provided |
|
parameters-expand-enum-definitions | $expand | to be provided |
|
parameters-expand-isa-definitions | $expand | to be provided |
|
parameters-expand-all-definitions2 | $expand | to be provided |
|
parameters-expand-enum-definitions2 | $expand | to be provided |
|
parameters-expand-enum-definitions3 | $expand | specifically to test out http://hl7.org/fhir/StructureDefinition/valueset-concept-definition |
|
parameters-expand-isa-definitions2 | $expand | to be provided |
|
parameters-expand-all-property | $expand | to be provided |
|
parameters-expand-enum-property | $expand | to be provided |
|
parameters-expand-isa-property | $expand | to be provided |
|
language |
Testing returning language by request, getting the right designation Testing returning language by request, getting the right designation |
||
language-echo-en-none | $expand | to be provided |
|
language-echo-de-none | $expand | to be provided |
|
language-echo-en-multi-none | $expand | to be provided |
|
language-echo-de-multi-none | $expand | to be provided |
|
language-echo-en-en-param | $expand | to be provided |
|
language-echo-en-en-vs | $expand | to be provided |
|
language-echo-en-en-header | $expand | to be provided |
|
language-echo-en-en-vslang | $expand | to be provided |
|
language-echo-en-en-mixed | $expand | to be provided |
|
language-echo-de-de-param | $expand | to be provided |
|
language-echo-de-de-vs | $expand | to be provided |
|
language-echo-de-de-header | $expand | to be provided |
|
language-echo-en-multi-en-param | $expand | to be provided |
|
language-echo-en-multi-en-vs | $expand | to be provided |
|
language-echo-en-multi-en-header | $expand | to be provided |
|
language-echo-de-multi-de-param | $expand | to be provided |
|
language-echo-de-multi-de-vs | $expand | to be provided |
|
language-echo-de-multi-de-header | $expand | to be provided |
|
language-xform-en-multi-de-soft | $expand | to be provided |
|
language-xform-en-multi-de-hard | $expand | to be provided |
|
language-xform-en-multi-de-default | $expand | to be provided |
|
language-xform-de-multi-en-soft | $expand | to be provided |
|
language-xform-de-multi-en-hard | $expand | to be provided |
|
language-xform-de-multi-en-default | $expand | to be provided |
|
language-echo-en-designation | $expand | to be provided |
|
language-echo-en-designations | $expand | to be provided |
|
language2 |
A series of tests that test display name validation for various permutations of languages A series of tests that test display name validation for various permutations of languages |
||
validation-right-de-en | $validate-code | to be provided |
|
validation-right-de-ende-N | $validate-code | to be provided |
|
validation-right-de-ende | $validate-code | to be provided |
|
validation-right-de-none | $validate-code | to be provided |
|
validation-right-en-en | $validate-code | to be provided |
|
validation-right-en-ende-N | $validate-code | to be provided |
|
validation-right-en-ende | $validate-code | to be provided |
|
validation-right-en-none | $validate-code | to be provided |
|
validation-right-none-en | $validate-code | to be provided |
|
validation-right-none-ende-N | $validate-code | to be provided |
|
validation-right-none-ende | $validate-code | to be provided |
|
validation-right-none-none | $validate-code | to be provided |
|
validation-wrong-de-en | $validate-code | to be provided |
|
validation-wrong-de-ende-N | $validate-code | to be provided |
|
validation-wrong-de-ende | $validate-code | to be provided |
|
validation-wrong-de-none | $validate-code | to be provided |
|
validation-wrong-en-en | $validate-code | to be provided |
|
validation-wrong-en-ende-N | $validate-code | to be provided |
|
validation-wrong-en-ende | $validate-code | to be provided |
|
validation-wrong-en-none | $validate-code | to be provided |
|
validation-wrong-none-en | $validate-code | to be provided |
|
validation-wrong-none-ende-N | $validate-code | to be provided |
|
validation-wrong-none-ende | $validate-code | to be provided |
|
validation-wrong-none-none | $validate-code | to be provided |
|
extensions |
Testing proper handling of extensions, which depends on the extension |
||
extensions-echo-all | $expand | to be provided |
|
extensions-echo-all-alt | $expand | to be provided |
|
extensions-echo-enumerated | $expand | to be provided |
|
extensions-echo-bad-supplement | $expand | to be provided |
|
validate-code-bad-supplement | $validate-code | to be provided |
|
validate-coding-bad-supplement | $validate-code | to be provided |
|
validate-coding-bad-supplement-url | $cs-validate-code | to be provided |
|
validate-codeableconcept-bad-supplement | $validate-code | to be provided |
|
validate-coding-good-supplement | $validate-code | to be provided |
|
validate-coding-good2-supplement | $validate-code | to be provided |
|
validation |
Testing various validation parameter combinations |
||
validation-simple-code-good | $validate-code | to be provided |
|
validation-simple-code-implied-good | $validate-code | to be provided |
|
validation-simple-coding-good | $validate-code | to be provided |
|
validation-simple-codeableconcept-good | $validate-code | to be provided |
|
validation-simple-code-bad-code | $validate-code | to be provided |
|
validation-simple-code-implied-bad-code | $validate-code | to be provided |
|
validation-simple-coding-bad-code | $validate-code | to be provided |
|
validation-simple-coding-bad-code-inactive | $validate-code | to be provided |
|
validation-simple-codeableconcept-bad-code | $validate-code | to be provided |
|
validation-simple-code-bad-valueSet | $validate-code | to be provided |
|
validation-simple-coding-bad-valueSet | $validate-code | to be provided |
|
validation-simple-codeableconcept-bad-valueSet | $validate-code | to be provided |
|
validation-simple-code-bad-import | $validate-code | to be provided |
|
validation-simple-coding-bad-import | $validate-code | to be provided |
|
validation-simple-codeableconcept-bad-import | $validate-code | to be provided |
|
validation-simple-code-bad-system | $validate-code | to be provided |
|
validation-simple-coding-bad-system | $validate-code | to be provided |
|
validation-simple-coding-bad-system2 | $validate-code | to be provided |
|
validation-simple-coding-bad-system-local | $validate-code | to be provided |
|
validation-simple-coding-no-system | $validate-code | to be provided |
|
validation-simple-codeableconcept-bad-system | $validate-code | to be provided |
|
validation-simple-code-bad-version1 | $validate-code | to be provided |
|
validation-simple-coding-bad-version1 | $validate-code | to be provided |
|
validation-simple-codeableconcept-bad-version1 | $validate-code | to be provided |
|
validation-simple-codeableconcept-bad-version2 | $validate-code | Check that a bad system with a version doesn't generate a warning that the version can't be found |
|
validation-simple-code-good-version | $validate-code | to be provided |
|
validation-simple-coding-good-version | $validate-code | to be provided |
|
validation-simple-codeableconcept-good-version | $validate-code | to be provided |
|
validation-simple-code-good-display | $validate-code | to be provided |
|
validation-simple-coding-good-display | $validate-code | to be provided |
|
validation-simple-codeableconcept-good-display | $validate-code | to be provided |
|
validation-simple-code-bad-display | $validate-code | to be provided |
|
validation-simple-code-bad-display-ws | $validate-code | to be provided |
|
validation-simple-coding-bad-display | $validate-code | to be provided |
|
validation-simple-codeableconcept-bad-display | $validate-code | to be provided |
|
validation-simple-code-bad-display-warning | $validate-code | to be provided |
|
validation-simple-coding-bad-display-warning | $validate-code | to be provided |
|
validation-simple-codeableconcept-bad-display-warning | $validate-code | to be provided |
|
validation-simple-code-good-language | $validate-code | to be provided |
|
validation-simple-coding-good-language | $validate-code | to be provided |
|
validation-simple-codeableconcept-good-language | $validate-code | to be provided |
|
validation-simple-code-bad-language | $validate-code | to be provided |
|
validation-simple-code-good-regex | $validate-code | to be provided |
|
validation-simple-code-bad-regex | $validate-code | to be provided |
|
validation-simple-coding-bad-language | $validate-code | to be provided |
|
validation-simple-coding-bad-language-header | $validate-code | to be provided |
|
validation-simple-coding-bad-language-vs | $validate-code | to be provided |
|
validation-simple-coding-bad-language-vslang | $validate-code | to be provided |
|
validation-simple-codeableconcept-bad-language | $validate-code | to be provided |
|
validation-complex-codeableconcept-full | $validate-code | to be provided |
|
validation-complex-codeableconcept-vsonly | $validate-code | to be provided |
|
validation-version-profile-none | $validate-code | to be provided |
|
validation-version-profile-default | $validate-code | to be provided |
|
validation-version-profile-coding | $validate-code | to be provided |
|
validation-cs-code-good | $cs-validate-code | to be provided |
|
validation-cs-code-bad-code | $cs-validate-code | to be provided |
|
big |
Testing handling a big code system |
||
big-echo-no-limit | $expand | to be provided |
|
big-echo-zero-fifty-limit | $expand | to be provided |
|
big-echo-fifty-fifty-limit | $expand | to be provided |
|
big-circle-bang | $expand | to be provided |
|
big-circle-validate | $validate-code | to be provided |
|
other |
Misc tests based on issues submitted by users |
||
dual-filter | $expand | to be provided |
|
validation-dual-filter-in | $validate-code | to be provided |
|
validation-dual-filter-out | $validate-code | to be provided |
|
errors |
Testing Various Error Conditions |
||
unknown-system1 | $validate-code | to be provided |
|
unknown-system2 | $validate-code | to be provided |
|
deprecated |
Testing Deprecated+Withdrawn warnings |
||
withdrawn | $expand | to be provided |
|
not-withdrawn | $expand | to be provided |
|
withdrawn-validate | $validate-code | to be provided |
|
not-withdrawn-validate | $validate-code | to be provided |
|
experimental | $expand | to be provided |
|
experimental-validate | $validate-code | to be provided |
|
draft | $expand | to be provided |
|
draft-validate | $validate-code | to be provided |
|
notSelectable |
Testing notSelectable |
||
notSelectable-prop-all | $expand | to be provided |
|
notSelectable-noprop-all | $expand | to be provided |
|
notSelectable-reprop-all | $expand | to be provided |
|
notSelectable-unprop-all | $expand | to be provided |
|
notSelectable-prop-true | $expand | to be provided |
|
notSelectable-prop-trueUC | $expand | to be provided |
|
notSelectable-noprop-true | $expand | to be provided |
|
notSelectable-reprop-true | $expand | to be provided |
|
notSelectable-unprop-true | $expand | to be provided |
|
notSelectable-prop-false | $expand | to be provided |
|
notSelectable-noprop-false | $expand | to be provided |
|
notSelectable-reprop-false | $expand | to be provided |
|
notSelectable-unprop-false | $expand | to be provided |
|
notSelectable-prop-in | $expand | to be provided |
|
notSelectable-prop-out | $expand | to be provided |
|
notSelectable-prop-true-true | $validate-code | to be provided |
|
notSelectable-prop-trueUC-true | $validate-code | to be provided |
|
notSelectable-prop-in-true | $validate-code | to be provided |
|
notSelectable-prop-out-true | $validate-code | to be provided |
|
notSelectable-noprop-true-true | $validate-code | to be provided |
|
notSelectable-reprop-true-true | $validate-code | to be provided |
|
notSelectable-unprop-true-true | $validate-code | to be provided |
|
notSelectable-prop-true-false | $validate-code | to be provided |
|
notSelectable-prop-in-false | $validate-code | to be provided |
|
notSelectable-prop-in-unknown | $validate-code | to be provided |
|
notSelectable-prop-out-unknown | $validate-code | to be provided |
|
notSelectable-prop-out-false | $validate-code | to be provided |
|
notSelectable-noprop-true-false | $validate-code | to be provided |
|
notSelectable-reprop-true-false | $validate-code | to be provided |
|
notSelectable-unprop-true-false | $validate-code | to be provided |
|
notSelectable-prop-false-true | $validate-code | to be provided |
|
notSelectable-noprop-false-true | $validate-code | to be provided |
|
notSelectable-reprop-false-true | $validate-code | to be provided |
|
notSelectable-unprop-false-true | $validate-code | to be provided |
|
notSelectable-prop-false-false | $validate-code | to be provided |
|
notSelectable-noprop-false-false | $validate-code | to be provided |
|
notSelectable-reprop-false-false | $validate-code | to be provided |
|
notSelectable-unprop-false-false | $validate-code | to be provided |
|
notSelectable-noprop-true-unknown | $validate-code | to be provided |
|
notSelectable-reprop-true-unknown | $validate-code | to be provided |
|
notSelectable-unprop-true-unknown | $validate-code | to be provided |
|
notSelectable-prop-true-unknown | $validate-code | to be provided |
|
notSelectable-prop-false-unknown | $validate-code | to be provided |
|
notSelectable-noprop-false-unknown | $validate-code | to be provided |
|
notSelectable-reprop-false-unknown | $validate-code | to be provided |
|
notSelectable-unprop-false-unknown | $validate-code | to be provided |
|
inactive |
Testing Inactive codes |
||
inactive-expand | $expand | to be provided |
|
inactive-inactive-expand | $expand | to be provided |
|
inactive-active-expand | $expand | to be provided |
|
inactive-1-validate | $validate-code | to be provided |
|
inactive-2-validate | $validate-code | to be provided |
|
inactive-3-validate | $validate-code | to be provided |
|
inactive-1a-validate | $validate-code | to be provided |
|
inactive-2a-validate | $validate-code | to be provided |
|
inactive-3a-validate | $validate-code | to be provided |
|
inactive-1b-validate | $validate-code | to be provided |
|
inactive-2b-validate | $validate-code | to be provided |
|
inactive-3b-validate | $validate-code | to be provided |
|
case |
Test Case Sensitivity handling |
||
case-insensitive-code1-1 | $validate-code | to be provided |
|
case-insensitive-code1-2 | $validate-code | to be provided |
|
case-insensitive-code1-3 | $validate-code | to be provided |
|
case-sensitive-code1-1 | $validate-code | to be provided |
|
case-sensitive-code1-2 | $validate-code | to be provided |
|
case-sensitive-code1-3 | $validate-code | to be provided |
|
translate |
Tests for ConceptMap.$translate |
||
translate-1 | $translate | to be provided |
|
tho |
Misc assorted test cases from tho |
||
act-class | $expand | to be provided |
|
valueset-version |
Test the valueset-version parameter |
||
direct-expand-one | $expand | Test the actual value set directly - v1 |
|
direct-expand-two | $expand | Test the actual value set directly - v2 |
|
indirect-expand-one | $expand | Test the actual value set indirectly - v1 |
|
indirect-expand-two | $expand | Test the actual value set indirectly - v2 |
|
indirect-expand-zero | $expand | Test the actual value set indirectly - versionless |
|
indirect-expand-zero-pinned | $expand | Test the actual value set indirectly - versionless, and specify a version |
|
indirect-expand-zero-pinned-wrong | $expand | Test the actual value set indirectly - versionless, and specify a version that doesn't exist |
|
indirect-validation-one | $validate-code | Test the value set indirectly |
|
indirect-validation-two | $validate-code | Test the value set indirectly |
|
indirect-validation-zero | $validate-code | Test the value set indirectly |
|
indirect-validation-zero-pinned | $validate-code | Test the value set indirectly |
|
indirect-validation-zero-pinned-wrong | $validate-code | Test the value set indirectly |
|
tx.fhir.org | tx.fhir.org |
These are tx.fhir.org specific tests. There's no expectation that other servers will pass these tests, and they are not executed by default. (other servers can, but they depend on other set up not controlled by the tests |
|
snomed-validation-1 | $cs-validate-code | to be provided |
|
loinc-lookup-code | $lookup | to be provided |
|
loinc-lookup-part | $lookup | to be provided |
|
loinc-lookup-list | $lookup | to be provided |
|
loinc-lookup-answer | $lookup | to be provided |
|
loinc-validate-code | $cs-validate-code | to be provided |
|
loinc-validate-part | $cs-validate-code | to be provided |
|
loinc-validate-list | $cs-validate-code | to be provided |
|
loinc-validate-answer | $cs-validate-code | to be provided |
|
loinc-validate-invalid | $cs-validate-code | to be provided |
|
loinc-expand-enum | $expand | to be provided |
|
loinc-expand-all | $expand | to be provided |
|
loinc-expand-all-limited | $expand | to be provided |
|
loinc-expand-enum-bad | $expand | to be provided |
|
loinc-expand-status | $expand | to be provided |
|
loinc-expand-class-regex | $expand | to be provided |
|
loinc-expand-prop-component | $expand | to be provided |
|
loinc-expand-prop-method | $expand | to be provided |
|
loinc-expand-prop-component-str | $expand | to be provided |
|
loinc-expand-prop-order-obs | $expand | to be provided |
|
loinc-expand-concept-is-a | $expand | to be provided |
|
loinc-expand-copyright | $expand | to be provided |
|
loinc-expand-scale-type | $expand | to be provided |
|
loinc-validate-enum-good | $validate-code | to be provided |
|
loinc-validate-enum-bad | $validate-code | to be provided |
|
loinc-validate-filter-prop-component-good | $validate-code | to be provided |
|
loinc-validate-filter-prop-component-bad | $validate-code | to be provided |
|
loinc-validate-filter-status-good | $validate-code | to be provided |
|
loinc-validate-filter-status-bad | $validate-code | to be provided |
|
loinc-validate-filter-class-regex-good | $validate-code | to be provided |
|
loinc-validate-filter-class-regex-bad | $validate-code | to be provided |
|
loinc-validate-filter-scale-type-good | $validate-code | to be provided |
|
loinc-validate-filter-scale-type-bad | $validate-code | to be provided |
|
loinc-expand-list-request-parameters | $expand | to be provided |
|
loinc-validate-list-good | $validate-code | to be provided |
|
loinc-validate-list-bad | $validate-code | to be provided |
|
loinc-expand-filter-list-request-parameters | $expand | to be provided |
|
loinc-validate-filter-list-type-good | $validate-code | to be provided |
|
loinc-validate-filter-list-bad | $validate-code | to be provided |
|
loinc-expand-filter-dockind-request-parameters | $expand | to be provided |
|
loinc-validate-filter-dockind-type-good | $validate-code | to be provided |
|
loinc-validate-filter-dockind-bad | $validate-code | to be provided |