FHIR Terminology Ecosystem IG
1.6.6 - Release 0.2.0 International flag

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

Test Case Registry

Test cases

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.

Registry

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