FHIR Terminology Ecosystem IG
1.9.0 - Release International flag

This page is part of the HL7 Terminology Ecosystem IG (v1.9.0: Releases - Informative) based on FHIR (HL7® FHIR® Standard) v5.0.0. This is the current published version. For a full list of available versions, 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.

The test cases are in version R5, but the tests will run against either an R4 or an R5 server. See R4 and the Test Cases

Running the tests

The tests can be run by any runner that processes the tests correctly, but the easiest way to execute the tests is to use the standard Java FHIR Validator. Run with the parameters:

-txTests -tx {server} -version? {version} -externals {file} -output {folder} -mode? {flat}?

Notes:

  • server is the URL of the server to test for conformance
  • the version defaults to 'current' - the version of the tests in the ci-build of the this IG
  • externals is a file that allows the server to use it's own messages - they don't have to match the tx.fhir.org messages. Just copy the file tests/messages-tx.fhir.org.json for the format.
  • the output folder will default to your temporary directory. It produces output for the failed tests that you can compare with the /tests directory in the package for this IG with a comparison software of your choice (winmerge, beyondCompare, etc)
  • modes - see below. you can pass in multiple modes if necessary, separated by commas

Test Templates

$$: any value

$xx$: value specifier: id, semver, url, token, string, date, version, uuid, instant,

$optional-properties" : an array of string of properties that are allowed to be omitted

$optional$ : a boolean that can mark an object in an array as optional

$external:N$ : reference to string N in a list of external strings

$count-array$ : ignore what's in the array, and just check the count

$choice: array $: a list of allowed values

$fragments$: ??

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 general

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 count-based 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 offset and count-based 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-expand-regexp-prop $expand

Expansion containing a filter on the code system using regex on the property values of prop

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 with a different code

simple-expand-all-count $expand

Expansion containing all the code system, but only a count

parameters general

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

Expand the active-codes value set including inactive codes (activeOnly=false)

parameters-expand-inactive-inactive $expand

Expand the inactive-codes value set including inactive codes (activeOnly=false)

parameters-expand-enum-inactive $expand

Expand the enumerated value set including inactive codes (activeOnly=false)

parameters-expand-isa-inactive $expand

Expand the is-a filter value set including inactive codes (activeOnly=false)

parameters-expand-all-designations $expand

Expand all codes with includeDesignations=true

parameters-expand-enum-designations $expand

Expand the enumerated value set with includeDesignations=true

parameters-expand-isa-designations $expand

Expand the is-a filter value set with includeDesignations=true

parameters-expand-all-definitions $expand

Expand all codes with includeDesignations=true and includeDefinition=true

parameters-expand-enum-definitions $expand

Expand the enumerated value set with includeDesignations=true and includeDefinition=true

parameters-expand-isa-definitions $expand

Expand the is-a filter value set with includeDesignations=true and includeDefinition=true

parameters-expand-all-definitions2 $expand

Expand all codes with includeDefinition=true and property=definition (explicit property request)

parameters-expand-enum-definitions2 $expand

Expand the enumerated value set with includeDefinition=true and property=definition (explicit property request)

parameters-expand-enum-definitions3 $expand

specifically to test out http://hl7.org/fhir/StructureDefinition/valueset-concept-definition

parameters-expand-isa-definitions2 $expand

Expand the is-a filter value set with includeDefinition=true and property=definition (explicit property request)

parameters-expand-all-property $expand

Expand all codes with property=prop to include a specific property in the expansion

parameters-expand-enum-property $expand

Expand the enumerated value set with property=prop to include a specific property in the expansion

parameters-expand-isa-property $expand

Expand the is-a filter value set with property=prop to include a specific property in the expansion

parameters-expand-supplement-none $expand

Base line for supplement tests

parameters-expand-supplement-good $expand

Make sure the useSupplement parameter works

parameters-expand-supplement-bad $expand

Make sure the useSupplement parameter fails when it's not valid

parameters-validate-supplement-none $validate-code

Base line for supplement tests - validation

parameters-validate-supplement-good $validate-code

Make sure the useSupplement parameter works for validation

parameters-validate-supplement-bad $validate-code

Make sure the useSupplement parameter fails when it's not valid - for validation

parameters-lookup-supplement-none $lookup

Base line for supplement tests - lookup

parameters-lookup-supplement-good $lookup

Make sure the useSupplement parameter works for lookup

parameters-lookup-supplement-bad $lookup

Make sure the useSupplement parameter fails when it's not valid - for lookup

language general

Testing returning language by request, getting the right designation


Testing returning language by request, getting the right designation
language-echo-en-none $expand

Expand English-only code system with no displayLanguage filter

language-echo-de-none $expand

Expand German-only code system with no displayLanguage filter

language-echo-en-multi-none $expand

Expand English with multiple designations code system with no displayLanguage filter

language-echo-de-multi-none $expand

Expand German with multiple designations code system with no displayLanguage filter

language-echo-en-en-param $expand

Expand English-only code system with en language filter via displayLanguage parameter

language-echo-en-en-vs $expand

Expand English-only code system with en language filter via language specified in the value set compose

language-echo-en-en-header $expand

Expand English-only code system with en language filter via Accept-Language HTTP header

language-echo-en-en-vslang $expand

Expand English-only code system with en language filter via ValueSet.language

language-echo-en-en-mixed $expand

Expand English-only code system with en language filter via mixed displayLanguage parameter (en,it,*)

language-echo-de-de-param $expand

Expand German-only code system with de language filter via displayLanguage parameter

language-echo-de-de-vs $expand

Expand German-only code system with de language filter via language specified in the value set compose

language-echo-de-de-header $expand

Expand German-only code system with de language filter via Accept-Language HTTP header

language-echo-en-multi-en-param $expand

Expand English with multiple designations code system with en language filter via displayLanguage parameter

language-echo-en-multi-en-vs $expand

Expand English with multiple designations code system with en language filter via language specified in the value set compose

language-echo-en-multi-en-header $expand

Expand English with multiple designations code system with en language filter via Accept-Language HTTP header

language-echo-de-multi-de-param $expand

Expand German with multiple designations code system with de language filter via displayLanguage parameter

language-echo-de-multi-de-vs $expand

Expand German with multiple designations code system with de language filter via language specified in the value set compose

language-echo-de-multi-de-header $expand

Expand German with multiple designations code system with de language filter via Accept-Language HTTP header

language-xform-en-multi-de-soft $expand

Expand English multi-designation code system requesting German display with soft language matching

language-xform-en-multi-de-hard $expand

Expand English multi-designation code system requesting German display with hard language matching

language-xform-en-multi-de-default $expand

Expand English multi-designation code system requesting German display with default language matching

language-xform-de-multi-en-soft $expand

Expand German multi-designation code system requesting English display with soft language matching

language-xform-de-multi-en-hard $expand

Expand German multi-designation code system requesting English display with hard language matching

language-xform-de-multi-en-default $expand

Expand German multi-designation code system requesting English display with default language matching

language-echo-en-designation $expand

Expand English code system with designation filter for a specific use

language-echo-en-designations $expand

Expand English code system with includeDesignations=true

language2 general

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

$validate-code with correct display with German displayLanguage against code system with English-only designations

validation-right-de-ende-N $validate-code

$validate-code with correct display with German displayLanguage against code system with English and German designations (no language tag on default)

validation-right-de-ende $validate-code

$validate-code with correct display with German displayLanguage against code system with English and German designations

validation-right-de-none $validate-code

$validate-code with correct display with German displayLanguage against code system with no language-tagged designations

validation-right-en-en $validate-code

$validate-code with correct display with English displayLanguage against code system with English-only designations

validation-right-en-ende-N $validate-code

$validate-code with correct display with English displayLanguage against code system with English and German designations (no language tag on default)

validation-right-en-ende $validate-code

$validate-code with correct display with English displayLanguage against code system with English and German designations

validation-right-en-none $validate-code

$validate-code with correct display with English displayLanguage against code system with no language-tagged designations

validation-right-none-en $validate-code

$validate-code with correct display with no displayLanguage against code system with English-only designations

validation-right-none-ende-N $validate-code

$validate-code with correct display with no displayLanguage against code system with English and German designations (no language tag on default)

validation-right-none-ende $validate-code

$validate-code with correct display with no displayLanguage against code system with English and German designations

validation-right-none-none $validate-code

$validate-code with correct display with no displayLanguage against code system with no language-tagged designations

validation-wrong-de-en $validate-code

$validate-code with incorrect display with German displayLanguage against code system with English-only designations

validation-wrong-de-en-bad $validate-code

Same request, but with an invalid displayName parameter

validation-wrong-de-ende-N $validate-code

$validate-code with incorrect display with German displayLanguage against code system with English and German designations (no language tag on default)

validation-wrong-de-ende $validate-code

$validate-code with incorrect display with German displayLanguage against code system with English and German designations

validation-wrong-de-none $validate-code

$validate-code with incorrect display with German displayLanguage against code system with no language-tagged designations

validation-wrong-en-en $validate-code

$validate-code with incorrect display with English displayLanguage against code system with English-only designations

validation-wrong-en-ende-N $validate-code

$validate-code with incorrect display with English displayLanguage against code system with English and German designations (no language tag on default)

validation-wrong-en-ende $validate-code

$validate-code with incorrect display with English displayLanguage against code system with English and German designations

validation-wrong-en-none $validate-code

$validate-code with incorrect display with English displayLanguage against code system with no language-tagged designations

validation-wrong-none-en $validate-code

$validate-code with incorrect display with no displayLanguage against code system with English-only designations

validation-wrong-none-ende-N $validate-code

$validate-code with incorrect display with no displayLanguage against code system with English and German designations (no language tag on default)

validation-wrong-none-ende $validate-code

$validate-code with incorrect display with no displayLanguage against code system with English and German designations

validation-wrong-none-none $validate-code

$validate-code with incorrect display with no displayLanguage against code system with no language-tagged designations

extensions general

Testing proper handling of extensions, which depends on the extension

extensions-echo-all $expand

Expand all codes from extensions code system with includeDesignations=true

extensions-echo-enumerated $expand

Expand enumerated codes from extensions code system with includeDesignations=true

extensions-echo-bad-supplement $expand

Expand value set referencing a bad/invalid code system supplement (expects error)

validate-code-bad-supplement $validate-code

$validate-code using code+system against value set with bad supplement (expects error)

validate-coding-bad-supplement $validate-code

$validate-code using Coding against value set with bad supplement (expects error)

validate-coding-bad-supplement-url $cs-validate-code

$validate-code for Coding from the supplement code system URL directly (expects error)

validate-codeableconcept-bad-supplement $validate-code

$validate-code using CodeableConcept against value set with bad supplement (expects error)

validate-coding-good-supplement $validate-code

$validate-code using Coding with display against enumerated value set with valid supplement

validate-coding-good2-supplement $validate-code

$validate-code using Coding with display and displayLanguage=nl against value set with valid supplement

validate-code-inactive-display $cs-validate-code

Check handling of a deprecated designation

validate-code-inactive $cs-validate-code

Check handling of a deprecated concept

validation general

Testing various validation parameter combinations

validation-simple-code-good $validate-code

$validate-code using system+code parameters with valid code

validation-simple-code-implied-good $validate-code

$validate-code using code with inferSystem=true with valid code

validation-simple-coding-good $validate-code

$validate-code using Coding with valid code

validation-simple-codeableconcept-good $validate-code

$validate-code using CodeableConcept with valid code

validation-simple-code-bad-code $validate-code

$validate-code using system+code parameters with invalid code

validation-simple-code-implied-bad-code $validate-code

$validate-code using code with inferSystem=true with invalid code

validation-simple-coding-bad-code $validate-code

$validate-code using Coding with invalid code

validation-simple-coding-bad-code-inactive $validate-code

$validate-code using Coding with inactive code

validation-simple-codeableconcept-bad-code $validate-code

$validate-code using CodeableConcept with invalid code

validation-simple-code-bad-valueSet $validate-code

$validate-code using system+code parameters with non-existent value set URL

validation-simple-coding-bad-valueSet $validate-code

$validate-code using Coding with non-existent value set URL

validation-simple-codeableconcept-bad-valueSet $validate-code

$validate-code using CodeableConcept with non-existent value set URL

validation-simple-code-bad-import $validate-code

$validate-code using system+code parameters with value set with unresolvable import

validation-simple-coding-bad-import $validate-code

$validate-code using Coding with value set with unresolvable import

validation-simple-codeableconcept-bad-import $validate-code

$validate-code using CodeableConcept with value set with unresolvable import

validation-simple-code-bad-system $validate-code

$validate-code using system+code parameters with wrong code system URL

validation-simple-coding-bad-system $validate-code

$validate-code using Coding with wrong code system URL

validation-simple-coding-bad-system2 $validate-code

$validate-code using Coding with value set URL used as system (common mistake)

validation-simple-coding-bad-system-local $validate-code

$validate-code using Coding with bare resource type name as system (invalid URL)

validation-simple-coding-no-system $validate-code

$validate-code using Coding with Coding with no system

validation-simple-codeableconcept-bad-system $validate-code

$validate-code using CodeableConcept with wrong code system URL

validation-simple-code-good-display $validate-code

$validate-code using system+code parameters with valid code and correct display

validation-simple-coding-good-display $validate-code

$validate-code using Coding with valid code and correct display

validation-simple-codeableconcept-good-display $validate-code

$validate-code using CodeableConcept with valid code and correct display

validation-simple-code-bad-display $validate-code

$validate-code using system+code parameters with valid code but incorrect display

validation-simple-code-bad-display-ws $validate-code

$validate-code using system+code parameters with valid code but display with extra whitespace

validation-simple-coding-bad-display $validate-code

$validate-code using Coding with valid code but incorrect display

validation-simple-codeableconcept-bad-display $validate-code

$validate-code using CodeableConcept with valid code but incorrect display

validation-simple-code-bad-display-warning $validate-code

$validate-code using system+code parameters with valid code but incorrect display (warning mode)

validation-simple-coding-bad-display-warning $validate-code

$validate-code using Coding with valid code but incorrect display (warning mode)

validation-simple-codeableconcept-bad-display-warning $validate-code

$validate-code using CodeableConcept with valid code but incorrect display (warning mode)

validation-simple-code-good-language $validate-code

$validate-code using system+code parameters with valid code with displayLanguage

validation-simple-coding-good-language $validate-code

$validate-code using Coding with valid code with displayLanguage

validation-simple-codeableconcept-good-language $validate-code

$validate-code using CodeableConcept with valid code with displayLanguage

validation-simple-code-bad-language $validate-code

$validate-code using system+code parameters with valid code with wrong display for specified language

validation-simple-code-good-regex $validate-code

$validate-code using system+code parameters with code matching regex filter value set

validation-simple-code-bad-regex $validate-code

$validate-code using system+code parameters with code not matching regex filter value set

validation-simple-coding-bad-language $validate-code

$validate-code using Coding with valid code with wrong display for specified language

validation-simple-coding-bad-language-header $validate-code

$validate-code using Coding with valid code with wrong display and language via Accept-Language header

validation-simple-coding-bad-language-vs $validate-code

$validate-code using Coding with valid code with wrong display and language via value set

validation-simple-coding-bad-language-vslang $validate-code

$validate-code using Coding with valid code with wrong display and language via ValueSet.language

validation-simple-codeableconcept-bad-language $validate-code

$validate-code using CodeableConcept with valid code with wrong display for specified language

validation-complex-codeableconcept-full $validate-code

$validate-code using CodeableConcept with versioned system against versioned value set (full validation)

validation-complex-codeableconcept-vsonly $validate-code

$validate-code using CodeableConcept with valueset-membership-only=true (membership check only)

validation-cs-code-good $cs-validate-code

CodeSystem $validate-code with a valid code

validation-cs-code-bad-code $cs-validate-code

CodeSystem $validate-code with an invalid code

version general

Testing various version issues. There's two versions of a code system, and three value sets that select different versions

version-simple-code-bad-version1 $validate-code

Code. Invalid CodeSystem version. No ValueSet version pinning. No version parameters

version-simple-coding-bad-version1 $validate-code

Coding. Invalid CodeSystem version. No ValueSet version pinning. No version parameters

version-simple-codeableconcept-bad-version1 $validate-code

CodeableConcept. Invalid CodeSystem version. No ValueSet version pinning. No version parameters

version-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

version-simple-code-good-version $validate-code

Code. Valid CodeSystem version. ValueSet pinned to same version. No version parameters

version-simple-coding-good-version $validate-code

Coding. Valid CodeSystem version. ValueSet pinned to same version. No version parameters

version-simple-codeableconcept-good-version $validate-code

CodeableConcept. Valid CodeSystem version. ValueSet pinned to same version. No version parameters

version-version-profile-none $validate-code

$validate-code against versioned value set with no version specified in request

version-version-profile-default $validate-code

$validate-code against versioned value set with valueSetVersion=1.0.0 parameter

validation-version-profile-coding $validate-code

$validate-code against versioned value set with version specified in the Coding

coding-vnn-vsnn $validate-code

Coding. No CodeSystem version. No ValueSet version pinning. No version parameters

coding-v10-vs1w $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.x. No version parameters

coding-v10-vs1wb $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.x (bad compose version). No version parameters

coding-v10-vs10 $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.0. No version parameters

coding-v10-vs20 $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.2. No version parameters

coding-v10-vsbb $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). No version parameters

coding-v10-vsbb $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). No version parameters

coding-v10-vsnn $validate-code

Coding. CodeSystem version 1.0. No ValueSet version pinning. No version parameters

coding-vbb-vs10 $validate-code

Coding. CodeSystem version 2.4 (bad). ValueSet version pinned to 1.0. No version parameters

coding-vbb-vsnn $validate-code

Coding. CodeSystem version 2.4 (bad). No ValueSet version pinning. No version parameters

coding-vnn-vs1w $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 1.x. No version parameters

coding-vnn-vs1wb $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 1.x (bad compose version). No version parameters

coding-vnn-vs10 $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 1.0. No version parameters

coding-vnn-vsbb $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 2.4 (bad). No version parameters

coding-vnn-vsnn-default $validate-code

Coding. No CodeSystem version. No ValueSet version pinning. Version Parameter: default to 1.2.0

coding-v10-vs1w-default $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.x. Version Parameter: default to 1.2.0

coding-v10-vs1wb-default $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.x (bad compose version). Version Parameter: default to 1.2.0

coding-v10-vs10-default $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.0. Version Parameter: default to 1.2.0

coding-v10-vs20-default $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.2. Version Parameter: default to 1.2.0

coding-v10-vsbb-default $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). Version Parameter: default to 1.2.0

coding-v10-vsnn-default $validate-code

Coding. CodeSystem version 1.0. No ValueSet version pinning. Version Parameter: default to 1.2.0

coding-vbb-vs10-default $validate-code

Coding. CodeSystem version 2.4 (bad). ValueSet version pinned to 1.0. Version Parameter: default to 1.2.0

coding-vbb-vsnn-default $validate-code

Coding. CodeSystem version 2.4 (bad). No ValueSet version pinning. Version Parameter: default to 1.2.0

coding-vnn-vs1w-default $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 1.x. Version Parameter: default to 1.2.0

coding-vnn-vs1wb-default $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 1.x (bad compose version). Version Parameter: default to 1.2.0

coding-vnn-vs10-default $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 1.0. Version Parameter: default to 1.2.0

coding-vnn-vsbb-default $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 2.4 (bad). Version Parameter: default to 1.2.0

coding-vnn-vsnn-check $validate-code

Coding. No CodeSystem version. No ValueSet version pinning. Version Parameter: check is 1.2.0

coding-v10-vs1w-check $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.x. Version Parameter: check is 1.2.0

coding-v10-vs1wb-check $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.x (bad compose version). Version Parameter: check is 1.2.0

coding-v10-vs10-check $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.0. Version Parameter: check is1.2.0

coding-v10-vs20-check $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.2. Version Parameter: check is 1.2.0

coding-v10-vsbb-check $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). Version Parameter: check is 1.2.0

coding-v10-vsnn-check $validate-code

Coding. CodeSystem version 1.0. No ValueSet version pinning. Version Parameter: check is 1.2.0

coding-vbb-vs10-check $validate-code

Coding. CodeSystem version 2.4 (bad). ValueSet version pinned to 1.0. Version Parameter: check is 1.2.0

coding-vbb-vsnn-check $validate-code

Coding. CodeSystem version 2.4 (bad). No ValueSet version pinning. Version Parameter: check is 1.2.0

coding-vnn-vs1w-check $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 1.x. Version Parameter: check is 1.2.0

coding-vnn-vs1wb-check $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 1.x (bad compose version). Version Parameter: check is 1.2.0

coding-vnn-vs10-check $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 1.0. Version Parameter: check is 1.2.0

coding-vnn-vsbb-check $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 2.4 (bad). Version Parameter: check is 1.2.0

coding-vnn-vsnn-force $validate-code

Coding. No CodeSystem version. No ValueSet version pinning. Version Parameter: force to 1.2.0

coding-v10-vs1w-force $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.x. Version Parameter: force to 1.2.0

coding-v10-vs1wb-force $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.x (bad compose version). Version Parameter: force to 1.2.0

coding-v10-vs10-force $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.0. Version Parameter: force to 1.2.0

coding-v10-vs20-force $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 1.2. Version Parameter: force to 1.2.0

coding-v10-vsbb-force $validate-code

Coding. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). Version Parameter: force to 1.2.0

coding-v10-vsnn-force $validate-code

Coding. CodeSystem version 1.0. No ValueSet version pinning. Version Parameter: force to 1.2.0

coding-vbb-vs10-force $validate-code

Coding. CodeSystem version 2.4 (bad). ValueSet version pinned to 1.0. Version Parameter: force to 1.2.0

coding-vbb-vsnn-force $validate-code

Coding. CodeSystem version 2.4 (bad). No ValueSet version pinning. Version Parameter: force to 1.2.0

coding-vnn-vs1w-force $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 1.x. Version Parameter: force to 1.2.0

coding-vnn-vs1wb-force $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 1.x (bad compose version). Version Parameter: force to 1.2.0

coding-vnn-vs10-force $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 1.0. Version Parameter: force to 1.2.0

coding-vnn-vsbb-force $validate-code

Coding. No CodeSystem version. ValueSet version pinned to 2.4 (bad). Version Parameter: force to 1.2.0

codeableconcept-vnn-vsnn $validate-code

CodeableConcept. No CodeSystem version. No ValueSet version pinning. No version parameters

codeableconcept-v10-vs1w $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.x. No version parameters

codeableconcept-v10-vs1wb $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.x (bad compose version). No version parameters

codeableconcept-v10-vs10 $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.0. No version parameters

codeableconcept-v10-vs20 $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.2. No version parameters

codeableconcept-v10-vsbb $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). No version parameters

codeableconcept-v10-vsbb $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). No version parameters

codeableconcept-v10-vsnn $validate-code

CodeableConcept. CodeSystem version 1.0. No ValueSet version pinning. No version parameters

codeableconcept-vbb-vs10 $validate-code

CodeableConcept. CodeSystem version 2.4 (bad). ValueSet version pinned to 1.0. No version parameters

codeableconcept-vbb-vsnn $validate-code

CodeableConcept. CodeSystem version 2.4 (bad). No ValueSet version pinning. No version parameters

codeableconcept-vnn-vs1w $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 1.x. No version parameters

codeableconcept-vnn-vs1wb $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 1.x (bad compose version). No version parameters

codeableconcept-vnn-vs10 $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 1.0. No version parameters

codeableconcept-vnn-vsbb $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 2.4 (bad). No version parameters

codeableconcept-vnn-vsnn-default $validate-code

CodeableConcept. No CodeSystem version. No ValueSet version pinning. Version Parameter: default to 1.2.0

codeableconcept-v10-vs1w-default $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.x. Version Parameter: default to 1.2.0

codeableconcept-v10-vs1wb-default $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.x (bad compose version). Version Parameter: default to 1.2.0

codeableconcept-v10-vs10-default $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.0. Version Parameter: default to 1.2.0

codeableconcept-v10-vs20-default $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.2. Version Parameter: default to 1.2.0

codeableconcept-v10-vsbb-default $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). Version Parameter: default to 1.2.0

codeableconcept-v10-vsnn-default $validate-code

CodeableConcept. CodeSystem version 1.0. No ValueSet version pinning. Version Parameter: default to 1.2.0

codeableconcept-vbb-vs10-default $validate-code

CodeableConcept. CodeSystem version 2.4 (bad). ValueSet version pinned to 1.0. Version Parameter: default to 1.2.0

codeableconcept-vbb-vsnn-default $validate-code

CodeableConcept. CodeSystem version 2.4 (bad). No ValueSet version pinning. Version Parameter: default to 1.2.0

codeableconcept-vnn-vs1w-default $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 1.x. Version Parameter: default to 1.2.0

codeableconcept-vnn-vs1wb-default $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 1.x (bad compose version). Version Parameter: default to 1.2.0

codeableconcept-vnn-vs10-default $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 1.0. Version Parameter: default to 1.2.0

codeableconcept-vnn-vsbb-default $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 2.4 (bad). Version Parameter: default to 1.2.0

codeableconcept-vnn-vsnn-check $validate-code

CodeableConcept. No CodeSystem version. No ValueSet version pinning. Version Parameter: check is 1.2.0

codeableconcept-v10-vs1w-check $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.x. Version Parameter: check is 1.2.0

codeableconcept-v10-vs1wb-check $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.x (bad compose version). Version Parameter: check is 1.2.0

codeableconcept-v10-vs10-check $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.0. Version Parameter: check is1.2.0

codeableconcept-v10-vs20-check $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.2. Version Parameter: check is 1.2.0

codeableconcept-v10-vsbb-check $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). Version Parameter: check is 1.2.0

codeableconcept-v10-vsnn-check $validate-code

CodeableConcept. CodeSystem version 1.0. No ValueSet version pinning. Version Parameter: check is 1.2.0

codeableconcept-vbb-vs10-check $validate-code

CodeableConcept. CodeSystem version 2.4 (bad). ValueSet version pinned to 1.0. Version Parameter: check is 1.2.0

codeableconcept-vbb-vsnn-check $validate-code

CodeableConcept. CodeSystem version 2.4 (bad). No ValueSet version pinning. Version Parameter: check is 1.2.0

codeableconcept-vnn-vs1w-check $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 1.x. Version Parameter: check is 1.2.0

codeableconcept-vnn-vs1wb-check $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 1.x (bad compose version). Version Parameter: check is 1.2.0

codeableconcept-vnn-vs10-check $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 1.0. Version Parameter: check is 1.2.0

codeableconcept-vnn-vsbb-check $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 2.4 (bad). Version Parameter: check is 1.2.0

codeableconcept-vnn-vsnn-force $validate-code

CodeableConcept. No CodeSystem version. No ValueSet version pinning. Version Parameter: force to 1.2.0

codeableconcept-v10-vs1w-force $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.x. Version Parameter: force to 1.2.0

codeableconcept-v10-vs1wb-force $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.x (bad compose version). Version Parameter: force to 1.2.0

codeableconcept-v10-vs10-force $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.0. Version Parameter: force to 1.2.0

codeableconcept-v10-vs20-force $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 1.2. Version Parameter: force to 1.2.0

codeableconcept-v10-vsbb-force $validate-code

CodeableConcept. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). Version Parameter: force to 1.2.0

codeableconcept-v10-vsnn-force $validate-code

CodeableConcept. CodeSystem version 1.0. No ValueSet version pinning. Version Parameter: force to 1.2.0

codeableconcept-vbb-vs10-force $validate-code

CodeableConcept. CodeSystem version 2.4 (bad). ValueSet version pinned to 1.0. Version Parameter: force to 1.2.0

codeableconcept-vbb-vsnn-force $validate-code

CodeableConcept. CodeSystem version 2.4 (bad). No ValueSet version pinning. Version Parameter: force to 1.2.0

codeableconcept-vnn-vs1w-force $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 1.x. Version Parameter: force to 1.2.0

codeableconcept-vnn-vs1wb-force $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 1.x (bad compose version). Version Parameter: force to 1.2.0

codeableconcept-vnn-vs10-force $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 1.0. Version Parameter: force to 1.2.0

codeableconcept-vnn-vsbb-force $validate-code

CodeableConcept. No CodeSystem version. ValueSet version pinned to 2.4 (bad). Version Parameter: force to 1.2.0

code-vnn-vsnn $validate-code

code. No CodeSystem version. No ValueSet version pinning. No version parameters

code-v10-vs1w $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.x. No version parameters

code-v10-vs1wb $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.x (bad compose version). No version parameters

code-v10-vs10 $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.0. No version parameters

code-v10-vs20 $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.2. No version parameters

code-v10-vsbb $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). No version parameters

code-v10-vsnn $validate-code

code. CodeSystem version 1.0. No ValueSet version pinning. No version parameters

code-vbb-vs10 $validate-code

code. CodeSystem version 2.4 (bad). ValueSet version pinned to 1.0. No version parameters

code-vbb-vsnn $validate-code

code. CodeSystem version 2.4 (bad). No ValueSet version pinning. No version parameters

code-vnn-vs1w $validate-code

code. No CodeSystem version. ValueSet version pinned to 1.x. No version parameters

code-vnn-vs1wb $validate-code

code. No CodeSystem version. ValueSet version pinned to 1.x (bad compose version). No version parameters

code-vnn-vs10 $validate-code

code. No CodeSystem version. ValueSet version pinned to 1.0. No version parameters

code-vnn-vsbb $validate-code

code. No CodeSystem version. ValueSet version pinned to 2.4 (bad). No version parameters

code-vnn-vsnn-default $validate-code

code. No CodeSystem version. No ValueSet version pinning. Version Parameter: default to 1.2.0

code-v10-vs1w-default $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.x. Version Parameter: default to 1.2.0

code-v10-vs1wb-default $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.x (bad compose version). Version Parameter: default to 1.2.0

code-v10-vs10-default $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.0. Version Parameter: default to 1.2.0

code-v10-vs20-default $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.2. Version Parameter: default to 1.2.0

code-v10-vsbb-default $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). Version Parameter: default to 1.2.0

code-v10-vsnn-default $validate-code

code. CodeSystem version 1.0. No ValueSet version pinning. Version Parameter: default to 1.2.0

code-vbb-vs10-default $validate-code

code. CodeSystem version 2.4 (bad). ValueSet version pinned to 1.0. Version Parameter: default to 1.2.0

code-vbb-vsnn-default $validate-code

code. CodeSystem version 2.4 (bad). No ValueSet version pinning. Version Parameter: default to 1.2.0

code-vnn-vs1wb-default $validate-code

code. No CodeSystem version. ValueSet version pinned to 1.x. Version Parameter: default to 1.2.0

code-vnn-vs10-default $validate-code

code. No CodeSystem version. ValueSet version pinned to 1.0. Version Parameter: default to 1.2.0

code-vnn-vsbb-default $validate-code

code. No CodeSystem version. ValueSet version pinned to 2.4 (bad). Version Parameter: default to 1.2.0

code-vnn-vsnn-check $validate-code

code. No CodeSystem version. No ValueSet version pinning. Version Parameter: check is 1.2.0

code-v10-vs1w-check $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.x. Version Parameter: check is 1.2.0

code-v10-vs1wb-check $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.x (bad compose version). Version Parameter: check is 1.2.0

code-v10-vs10-check $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.0. Version Parameter: check is1.2.0

code-v10-vs20-check $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.2. Version Parameter: check is 1.2.0

code-v10-vsbb-check $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). Version Parameter: check is 1.2.0

code-v10-vsnn-check $validate-code

code. CodeSystem version 1.0. No ValueSet version pinning. Version Parameter: check is 1.2.0

code-vbb-vs10-check $validate-code

code. CodeSystem version 2.4 (bad). ValueSet version pinned to 1.0. Version Parameter: check is 1.2.0

code-vbb-vsnn-check $validate-code

code. CodeSystem version 2.4 (bad). No ValueSet version pinning. Version Parameter: check is 1.2.0

code-vnn-vs1w-check $validate-code

code. No CodeSystem version. ValueSet version pinned to 1.x. Version Parameter: check is 1.2.0

code-vnn-vs1wb-check $validate-code

code. No CodeSystem version. ValueSet version pinned to 1.x (bad compose version). Version Parameter: check is 1.2.0

code-vnn-vs10-check $validate-code

code. No CodeSystem version. ValueSet version pinned to 1.0. Version Parameter: check is 1.2.0

code-vnn-vsbb-check $validate-code

code. No CodeSystem version. ValueSet version pinned to 2.4 (bad). Version Parameter: check is 1.2.0

code-vnn-vsnn-force $validate-code

code. No CodeSystem version. No ValueSet version pinning. Version Parameter: force to 1.2.0

code-v10-vs1w-force $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.x. Version Parameter: force to 1.2.0

code-v10-vs1wb-force $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.x (bad compose version). Version Parameter: force to 1.2.0

code-v10-vs10-force $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.0. Version Parameter: force to 1.2.0

code-v10-vs20-force $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 1.2. Version Parameter: force to 1.2.0

code-v10-vsbb-force $validate-code

code. CodeSystem version 1.0. ValueSet version pinned to 2.4 (bad). Version Parameter: force to 1.2.0

code-v10-vsnn-force $validate-code

code. CodeSystem version 1.0. No ValueSet version pinning. Version Parameter: force to 1.2.0

code-vbb-vs10-force $validate-code

code. CodeSystem version 2.4 (bad). ValueSet version pinned to 1.0. Version Parameter: force to 1.2.0

code-vbb-vsnn-force $validate-code

code. CodeSystem version 2.4 (bad). No ValueSet version pinning. Version Parameter: force to 1.2.0

code-vnn-vs1w-force $validate-code

code. No CodeSystem version. ValueSet version pinned to 1.x. Version Parameter: force to 1.2.0

code-vnn-vs1wb-force $validate-code

code. No CodeSystem version. ValueSet version pinned to 1.x (bad compose version). Version Parameter: force to 1.2.0

code-vnn-vs10-force $validate-code

code. No CodeSystem version. ValueSet version pinned to 1.0. Version Parameter: force to 1.2.0

code-vnn-vsbb-force $validate-code

code. No CodeSystem version. ValueSet version pinned to 2.4 (bad). Version Parameter: force to 1.2.0

code-vnn-vsmix-1 $validate-code

code (1). No CodeSystem version. ValueSet version includes both versions of the code system. No Version Parameter

code-vnn-vsmix-2 $validate-code

code (2). No CodeSystem version. ValueSet version includes both versions of the code system. No Version Parameter

vs-expand-all-v $expand

version specific expand tests

vs-expand-all-v1 $expand

Version-specific expand: version-all-1

vs-expand-all-v2 $expand

Version-specific expand: version-all|1.2.0

vs-expand-v-mixed $expand

Version-specific expand: version-mixed

vs-expand-v-n-request $expand

Version-specific expand: version-n

vs-expand-v-w $expand

Version-specific expand: version-w

vs-expand-v-wb $expand

Version-specific expand: version-w-bad

vs-expand-v1 $expand

Version-specific expand: version|1.0.0

vs-expand-v2 $expand

Version-specific expand: version|1.2.0

vs-expand-all-v-force $expand

Version-specific expand: version-all with force version parameter

vs-expand-all-v1-force $expand

Version-specific expand: version-all-1 with force version parameter

vs-expand-all-v2-force $expand

Version-specific expand: version-all|1.2.0 with force version parameter

vs-expand-v-mixed-force $expand

Version-specific expand: version-mixed with force version parameter

vs-expand-v-n-force-request $expand

Version-specific expand: version-n with force version parameter

vs-expand-v-w-force $expand

Version-specific expand: version-w with force version parameter

vs-expand-v-wb-force $expand

Version-specific expand: version-w-bad with force version parameter

vs-expand-v1-force $expand

Version-specific expand: version|1.0.0 with force version parameter

vs-expand-v2-force $expand

Version-specific expand: version|1.2.0 with force version parameter

vs-expand-all-v-default $expand

Version-specific expand: version-all with default version parameter

vs-expand-all-v1-default $expand

Version-specific expand: version-all-1 with default version parameter

vs-expand-all-v2-default $expand

Version-specific expand: version-all|1.2.0 with default version parameter

vs-expand-v-mixed-default $expand

Version-specific expand: version-mixed with default version parameter

vs-expand-v-n-default-request $expand

Version-specific expand: version-n with default version parameter

vs-expand-v-w-default $expand

Version-specific expand: version-w with default version parameter

vs-expand-v-wb-default $expand

Version-specific expand: version-w-bad with default version parameter

vs-expand-v1-default $expand

Version-specific expand: version|1.0.0 with default version parameter

vs-expand-v2-default $expand

Version-specific expand: version|1.2.0 with default version parameter

vs-expand-all-v-check $expand

Version-specific expand: version-all with check version parameter

vs-expand-all-v1-check $expand

Version-specific expand: version-all-1 with check version parameter

vs-expand-all-v2-check $expand

Version-specific expand: version-all|1.2.0 with check version parameter

vs-expand-v-mixed-check $expand

Version-specific expand: version-mixed with check version parameter

vs-expand-v-n-check-request $expand

Version-specific expand: version-n with check version parameter

vs-expand-v-w-check $expand

Version-specific expand: version-w with check version parameter

vs-expand-v-wb-check $expand

Version-specific expand: version-w-bad with check version parameter

vs-expand-v1-check $expand

Version-specific expand: version|1.0.0 with check version parameter

vs-expand-v2-check $expand

Version-specific expand: version|1.2.0 with check version parameter

fragment general

Testing handling a code system fragment

validation-fragment-code-good $validate-code

if a code is a in a fragment, then it's all ok

validation-fragment-coding-good $validate-code

if a coding is a in a fragment, then it's all ok

validation-fragment-codeableconcept-good $validate-code

if a codeableconcept is a in a fragment, then it's all ok

validation-fragment-code-bad-code $validate-code

if a code is not in the fragment, we can't call it invalid (code variant)

validation-fragment-coding-bad-code $validate-code

if a code is not in the fragment, we can't call it invalid (coding variant)

validation-fragment-codeableconcept-bad-code $validate-code

if a code is not in the fragment, we can't call it invalid (CodeableConcept variant)

big general

Testing handling a big code system

big-echo-no-limit $expand

Expand a large code system with no count/offset limit (expects too-costly error)

big-echo-zero-fifty-limit $expand

Expand a large code system with count=50, offset=0 (first page)

big-echo-fifty-fifty-limit $expand

Expand a large code system with count=50, offset=50 (second page)

big-circle-bang $expand

Expand a value set with circular import references (expects error)

big-circle-validate $validate-code

$validate-code against a value set with circular import references (expects error)

other general

Misc tests based on issues submitted by users

dual-filter $expand

Expand a value set with two filters applied simultaneously

validation-dual-filter-in $validate-code

$validate-code for a code that matches both filters in a dual-filter value set (valid)

validation-dual-filter-out $validate-code

$validate-code for a code that does not match both filters in a dual-filter value set (invalid)

errors general

Testing Various Error Conditions

unknown-system1 $validate-code

Value set & request refers to an unknown system

unknown-system2 $validate-code

Value set & request refers to an unknown system; request is a different unknown system

broken-filter-validate $validate-code

Make sure that filters without value cause an error

broken-filter2-validate $validate-code

Make sure that filters without value cause an error (extension only)

broken-filter-expand $expand

Make sure that filters without value cause an error on $expand

combination-ok $validate-code

A value set that contains two identical codes - validates ok

combination-bad $validate-code

A value set that contains two identical codes - error if inferSystem is true

deprecated general

Testing Deprecated+Withdrawn warnings

withdrawn $expand

Expand a value set containing withdrawn/retired codes

not-withdrawn $expand

Expand a value set excluding withdrawn/retired codes

withdrawn-validate $validate-code

$validate-code for a code in a value set that includes withdrawn codes

not-withdrawn-validate $validate-code

$validate-code for a code in a value set that excludes withdrawn codes

experimental $expand

Expand a value set from an experimental code system

experimental-validate $validate-code

$validate-code for a code in an experimental code system

draft $expand

Expand a value set from a draft code system

draft-validate $validate-code

$validate-code for a code in a draft code system

vs-deprecation $expand

Deprecating a code in a valueset

deprecating-validate $validate-code

Validating a code that has been deprecated in the value set using a deprecated extension

deprecating-validate-2 $validate-code

Validating a code that has been deprecated in the value set

notSelectable general

Testing notSelectable

notSelectable-prop-all $expand

Expand all codes from code system with notSelectable property declared

notSelectable-noprop-all $expand

Expand all codes from code system with notSelectable property not declared in CS definition

notSelectable-reprop-all $expand

Expand all codes from code system with not-selectable property (renamed)

notSelectable-unprop-all $expand

Expand all codes from code system with notSelectable property declared (alternate handling)

notSelectable-prop-true $expand

Expand notSelectable=true codes only from code system with notSelectable property declared

notSelectable-prop-trueUC $expand

Expand notSelectable=True (uppercase) codes only from code system with notSelectable property declared

notSelectable-noprop-true $expand

Expand notSelectable=true codes only from code system with notSelectable property not declared in CS definition

notSelectable-reprop-true $expand

Expand notSelectable=true codes only from code system with not-selectable property (renamed)

notSelectable-unprop-true $expand

Expand notSelectable=true codes only from code system with notSelectable property declared (alternate handling)

notSelectable-prop-false $expand

Expand notSelectable=false codes only from code system with notSelectable property declared

notSelectable-noprop-false $expand

Expand notSelectable=false codes only from code system with notSelectable property not declared in CS definition

notSelectable-reprop-false $expand

Expand notSelectable=false codes only from code system with not-selectable property (renamed)

notSelectable-unprop-false $expand

Expand notSelectable=false codes only from code system with notSelectable property declared (alternate handling)

notSelectable-prop-in $expand

Expand notSelectable codes included from code system with notSelectable property declared

notSelectable-prop-out $expand

Expand notSelectable codes excluded from code system with notSelectable property declared

notSelectable-prop-true-true $validate-code

$validate-code for a notSelectable code (codeNS) against notSelectable=true codes only value set (notSelectable property declared)

notSelectable-prop-trueUC-true $validate-code

$validate-code for a notSelectable code (codeNS) against notSelectable=True (uppercase) codes only value set (notSelectable property declared)

notSelectable-prop-in-true $validate-code

$validate-code for a notSelectable code (codeNS) against notSelectable codes included value set (notSelectable property declared)

notSelectable-prop-out-true $validate-code

$validate-code for a notSelectable code (codeNS) against notSelectable codes excluded value set (notSelectable property declared)

notSelectable-noprop-true-true $validate-code

$validate-code for a notSelectable code (codeNS) against notSelectable=true codes only value set (notSelectable property not declared in CS definition)

notSelectable-reprop-true-true $validate-code

$validate-code for a notSelectable code (codeNS) against notSelectable=true codes only value set (not-selectable property (renamed))

notSelectable-unprop-true-true $validate-code

$validate-code for a notSelectable code (codeNS) against notSelectable=true codes only value set (notSelectable property declared (alternate handling))

notSelectable-prop-true-false $validate-code

$validate-code for a selectable code (codeS) against notSelectable=true codes only value set (notSelectable property declared)

notSelectable-prop-in-false $validate-code

$validate-code for a selectable code (codeS) against notSelectable codes included value set (notSelectable property declared)

notSelectable-prop-in-unknown $validate-code

$validate-code for a code with no notSelectable property (codeU) against notSelectable codes included value set (notSelectable property declared)

notSelectable-prop-out-unknown $validate-code

$validate-code for a code with no notSelectable property (codeU) against notSelectable codes excluded value set (notSelectable property declared)

notSelectable-prop-out-false $validate-code

$validate-code for a selectable code (codeS) against notSelectable codes excluded value set (notSelectable property declared)

notSelectable-noprop-true-false $validate-code

$validate-code for a selectable code (codeS) against notSelectable=true codes only value set (notSelectable property not declared in CS definition)

notSelectable-reprop-true-false $validate-code

$validate-code for a selectable code (codeS) against notSelectable=true codes only value set (not-selectable property (renamed))

notSelectable-unprop-true-false $validate-code

$validate-code for a selectable code (codeS) against notSelectable=true codes only value set (notSelectable property declared (alternate handling))

notSelectable-prop-false-true $validate-code

$validate-code for a notSelectable code (codeNS) against notSelectable=false codes only value set (notSelectable property declared)

notSelectable-noprop-false-true $validate-code

$validate-code for a notSelectable code (codeNS) against notSelectable=false codes only value set (notSelectable property not declared in CS definition)

notSelectable-reprop-false-true $validate-code

$validate-code for a notSelectable code (codeNS) against notSelectable=false codes only value set (not-selectable property (renamed))

notSelectable-unprop-false-true $validate-code

$validate-code for a notSelectable code (codeNS) against notSelectable=false codes only value set (notSelectable property declared (alternate handling))

notSelectable-prop-false-false $validate-code

$validate-code for a selectable code (codeS) against notSelectable=false codes only value set (notSelectable property declared)

notSelectable-noprop-false-false $validate-code

$validate-code for a selectable code (codeS) against notSelectable=false codes only value set (notSelectable property not declared in CS definition)

notSelectable-reprop-false-false $validate-code

$validate-code for a selectable code (codeS) against notSelectable=false codes only value set (not-selectable property (renamed))

notSelectable-unprop-false-false $validate-code

$validate-code for a selectable code (codeS) against notSelectable=false codes only value set (notSelectable property declared (alternate handling))

notSelectable-noprop-true-unknown $validate-code

$validate-code for a code with no notSelectable property (codeU) against notSelectable=true codes only value set (notSelectable property not declared in CS definition)

notSelectable-reprop-true-unknown $validate-code

$validate-code for a code with no notSelectable property (codeU) against notSelectable=true codes only value set (not-selectable property (renamed))

notSelectable-unprop-true-unknown $validate-code

$validate-code for a code with no notSelectable property (codeU) against notSelectable=true codes only value set (notSelectable property declared (alternate handling))

notSelectable-prop-true-unknown $validate-code

$validate-code for a code with no notSelectable property (codeU) against notSelectable=true codes only value set (notSelectable property declared)

notSelectable-prop-false-unknown $validate-code

$validate-code for a code with no notSelectable property (codeU) against notSelectable=false codes only value set (notSelectable property declared)

notSelectable-noprop-false-unknown $validate-code

$validate-code for a code with no notSelectable property (codeU) against notSelectable=false codes only value set (notSelectable property not declared in CS definition)

notSelectable-reprop-false-unknown $validate-code

$validate-code for a code with no notSelectable property (codeU) against notSelectable=false codes only value set (not-selectable property (renamed))

notSelectable-unprop-false-unknown $validate-code

$validate-code for a code with no notSelectable property (codeU) against notSelectable=false codes only value set (notSelectable property declared (alternate handling))

notSelectable-prop-true-true-param-true $validate-code

$validate-code for a notSelectable code (codeNS) against notSelectable=true codes only value set (notSelectable property declared) with lenient-display-validation=true

notSelectable-prop-true-true-param-false $validate-code

$validate-code for a notSelectable code (codeNS) against notSelectable=true codes only value set (notSelectable property declared) with lenient-display-validation=false

notSelectable-prop-false-false-param-true $validate-code

$validate-code for a selectable code (codeS) against notSelectable=false codes only value set (notSelectable property declared) with lenient-display-validation=true

notSelectable-prop-false-false-param-false $validate-code

$validate-code for a selectable code (codeS) against notSelectable=false codes only value set (notSelectable property declared) with lenient-display-validation=false

inactive general

Testing Inactive codes

inactive-expand $expand

Expand all codes from code system with inactive/retired codes

inactive-inactive-expand $expand

Expand only inactive codes from code system with inactive/retired codes

inactive-active-expand $expand

Expand only active codes from code system with inactive/retired codes

inactive-1-validate $validate-code

$validate-code for active code (codeActive) against all-codes value set

inactive-2-validate $validate-code

$validate-code for inactive code (codeInactive) against all-codes value set

inactive-3-validate $validate-code

$validate-code for retired code (codeRetired) against all-codes value set

inactive-1a-validate $validate-code

$validate-code for active code (codeActive) against active-only value set

inactive-2a-validate $validate-code

$validate-code for inactive code (codeInactive) against active-only value set

inactive-3a-validate $validate-code

$validate-code for retired code (codeRetired) against active-only value set

inactive-1b-validate $validate-code

$validate-code for active code (codeActive) against inactive-only value set

inactive-2b-validate $validate-code

$validate-code for inactive code (codeInactive) against inactive-only value set

inactive-3b-validate $validate-code

$validate-code for retired code (codeRetired) against inactive-only value set

case general

Test Case Sensitivity handling

case-insensitive-code1-1 $validate-code

$validate-code with code1 (original case) against case-insensitive code system

case-insensitive-code1-2 $validate-code

$validate-code with CODE1 (uppercase) against case-insensitive code system

case-insensitive-code1-3 $validate-code

$validate-code with Code1 (mixed case) against case-insensitive code system

case-sensitive-code1-1 $validate-code

$validate-code with code1 (original case) against case-sensitive code system

case-sensitive-code1-2 $validate-code

$validate-code with CODE1 (uppercase) against case-sensitive code system

case-sensitive-code1-3 $validate-code

$validate-code with Code1 (mixed case) against case-sensitive code system

translate general

Tests for ConceptMap.$translate

translate-1 $translate

$translate a code from source to target code system using a concept map

tho general

Misc assorted test cases from tho

act-class $expand

act class - don't remember what bug this was testing for but now it tests for proper handling of retired and deprecated codes

act-class-activeonly $expand

tests for proper handling of retired and deprecated codes (part 2)

exclude general

Tests for proper functioning of exclude

exclude-1 $expand

Test a simple exclude

exclude-2 $expand

Test a simple exclude combined with a filter

exclude-zero $expand

include and exclude the same code

default-valueset-version general

Test the default-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 with version two

indirect-validation-zero $validate-code

Test the value set indirectly with version zero

indirect-validation-zero-pinned $validate-code

Test the value set indirectly with version zero pinned

indirect-validation-zero-pinned-wrong $validate-code

Test the value set indirectly with version zero pinned to wrong version

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

CodeSystem $validate-code for invalid SNOMED CT code (too many digits)

loinc-lookup-code $lookup

$lookup for LOINC code 2339-0 (a standard lab code)

loinc-lookup-part $lookup

$lookup for LOINC part LP111373-9

loinc-lookup-list $lookup

$lookup for LOINC answer list LL2972-9

loinc-lookup-answer $lookup

$lookup for LOINC answer code LA4489-6

loinc-validate-code $cs-validate-code

CodeSystem $validate-code for valid LOINC code 2339-0

loinc-validate-discouraged-code $cs-validate-code

CodeSystem $validate-code for a discouraged LOINC code

loinc-validate-code-supp1 $cs-validate-code

LOINC supplement test - code in the supplement, but english

loinc-validate-code-supp2 $cs-validate-code

LOINC supplement test - code in the supplement, but german from the supplement

loinc-validate-part $cs-validate-code

CodeSystem $validate-code for LOINC part LP111373-9

loinc-validate-list $cs-validate-code

CodeSystem $validate-code for LOINC answer list LL2972-9

loinc-validate-answer $cs-validate-code

CodeSystem $validate-code for LOINC answer code LA4489-6

loinc-validate-invalid $cs-validate-code

CodeSystem $validate-code for invalid LOINC code XX111373-9

loinc-expand-enum $expand

Expand enumerated LOINC value set

loinc-expand-all $expand

Expand all LOINC codes (expects too-costly error)

loinc-expand-all-limited $expand

Expand all LOINC codes with count/offset paging limit

loinc-expand-enum-bad $expand

Expand enumerated LOINC value set with invalid code included

loinc-expand-status $expand

Expand LOINC value set filtered by status property

loinc-expand-class-regex $expand

Expand LOINC value set filtered by CLASS property using regex

loinc-expand-prop-component $expand

Expand LOINC value set filtered by COMPONENT property

loinc-expand-prop-method $expand

Expand LOINC value set filtered by METHOD property

loinc-expand-prop-component-str $expand

Expand LOINC value set filtered by COMPONENT property (string match)

loinc-expand-prop-order-obs $expand

Expand LOINC value set filtered by ORDER_OBS property

loinc-expand-concept-is-a $expand

Expand LOINC value set using concept is-a filter

loinc-expand-copyright $expand

Expand LOINC value set filtered by copyright property

loinc-expand-scale-type $expand

Expand LOINC value set filtered by SCALE_TYP property

loinc-validate-enum-good $validate-code

$validate-code for valid code against enumerated LOINC value set

loinc-validate-enum-bad $validate-code

$validate-code for invalid code against enumerated LOINC value set

loinc-validate-filter-prop-component-good $validate-code

$validate-code for valid code against LOINC COMPONENT-filtered value set

loinc-validate-filter-prop-component-bad $validate-code

$validate-code for invalid code against LOINC COMPONENT-filtered value set

loinc-validate-filter-status-good $validate-code

$validate-code for valid code against LOINC status-filtered value set

loinc-validate-filter-status-bad $validate-code

$validate-code for invalid code against LOINC status-filtered value set

loinc-validate-filter-class-regex-good $validate-code

$validate-code for valid code against LOINC CLASS regex-filtered value set

loinc-validate-filter-class-regex-bad $validate-code

$validate-code for invalid code against LOINC CLASS regex-filtered value set

loinc-validate-filter-scale-type-good $validate-code

$validate-code for valid code against LOINC SCALE_TYP-filtered value set

loinc-validate-filter-scale-type-bad $validate-code

$validate-code for invalid code against LOINC SCALE_TYP-filtered value set

loinc-expand-list-request-parameters $expand

Expand LOINC value set using answer list filter

loinc-validate-list-good $validate-code

$validate-code for valid code against LOINC answer-list value set

loinc-validate-list-bad $validate-code

$validate-code for invalid code against LOINC answer-list value set

loinc-expand-filter-list-request-parameters $expand

Expand LOINC value set using list filter on answer list

loinc-validate-filter-list-type-good $validate-code

$validate-code for valid code against LOINC list-filtered value set

loinc-validate-filter-list-bad $validate-code

$validate-code for invalid code against LOINC list-filtered value set

loinc-expand-filter-dockind-request-parameters $expand

Expand LOINC value set filtered by document kind property

loinc-validate-filter-dockind-type-good $validate-code

$validate-code for valid code against LOINC document-kind-filtered value set

loinc-validate-filter-dockind-bad $validate-code

$validate-code for invalid code against LOINC document-kind-filtered value set

loinc-validate-filter-classtype-good $validate-code

test classtype filter (numerical)

loinc-validate-filter-classtype-bad $validate-code

test classtype filter (numerical) - invalid code

loinc-expand-filter-answers-for1 $expand

Test answers-for filters with LL code

loinc-expand-filter-answers-for2 $expand

Test answers-for filters with normal code

loinc-expand-filter-answer-list $expand

Test answer-list filters with normal code

snomed snomed

This snomed tests are based on the subset distributed with the tx-ecosystem IG

snomed-inactive-display $cs-validate-code

check that inactive displays are validated properly

snomed-procedure-in-display $validate-code

check that procedure codes are validated properly (is-a heirachy) - in the value set

snomed-procedure-out-display $validate-code

check that procedure codes are validated properly (is-a heirachy) - not in the value set

snomed-expand-inactive $expand

check that inactive concepts and displays are expanded properly

snomed-expand-diabetes $expand

check that diabetes concepts and displays are expanded properly (is-a)

snomed-expand-procedures $expand

check that procedures concepts and displays are expanded properly - as in - too many

lookup $lookup

Tests the $lookup operation for a simple SCT concept

lookup-pc $lookup

Tests the $lookup operation for a complex SCT expression

validate-code-pc-good $cs-validate-code

Tests the $validate-code operation for a complex SCT expression

validate-code-pc-bad1 $cs-validate-code

Tests the $validate-code operation for a complex SCT expression with a wrong qualifier code

validate-code-pc-bad2 $cs-validate-code

Tests the $validate-code operation for a complex SCT expression with a wrong qualifier code - the codes are valid but they are reversed

validate-code-pc-none $validate-code

Checks that a valid expression is not allowed when expressions are not allowed

validate-code-pc-list $validate-code

Checks that a valid expression is allowed when expressions are listed

validate-code-pc-list-no-pc $validate-code

Checks that a valid expression is not allowed just because it's primacy code is listed

validate-code-pc-filter $validate-code

Checks that a valid expression is allowed when expressions are allowed

expand-pc-none $expand

Expands no expresssions allowed - check settings

expand-pc-list $expand

Checks that an expand of a value set that lists codes does not include post-coordinated expressions

expand-pc-filter $expand

Checks that an expand of a value set that allows expressions includes post-coordinated expressions

batch general

Test Batch Validation

batch-validate $batch-validate

Simple use of the batch validate operation

batch-validate-bad $batch-validate

Batch validate operation with invalid codes

omop omop

Tests for OMOP implementations. Note that some servers only do OMOP (and some don't). The tests are based on a stable subset of OMOP maintained by Davera Gabriel

omop-basic-validation-code-good $cs-validate-code

Just validate a randomly chosen real OMOP code provided as system and code

omop-basic-validation-coding-good $cs-validate-code

Just validate a randomly chosen real OMOP code provided as coding

omop-basic-validation-codeableconcept-good $cs-validate-code

Just validate a randomly chosen real OMOP code provided as codeableConcept

omop-basic-validation-code-bad $cs-validate-code

Just validate a randomly chosen fake OMOP code that is not valid provided as system and code

omop-basic-validation-coding-bad $cs-validate-code

Just validate a randomly chosen fake OMOP code that is not valid provided as coding

omop-basic-validation-codeableconcept-bad $cs-validate-code

Just validate a randomly chosen fake OMOP code that is not valid provided as CodeableConcept

omop-basic-validation-code-bad-display $cs-validate-code

Just validate a randomly chosen real OMOP code with a wrong display provided as system, code and display

omop-basic-validation-coding-bad-display $cs-validate-code

Just validate a randomly chosen real OMOP code with a wrong display provided as coding

omop-basic-validation-codeableconcept-bad-display $cs-validate-code

Just validate a randomly chosen real OMOP code with a wrong display provided as CodeableConcept

omop-basic-validation-code-bad-version $cs-validate-code

Just validate a randomly chosen real OMOP code with a wrong version provided as system, code and display

omop-basic-validation-coding-bad-version $cs-validate-code

Just validate a randomly chosen real OMOP code with a wrong version provided as coding

omop-basic-validation-codeableconcept-bad-version $cs-validate-code

Just validate a randomly chosen real OMOP code with a wrong version provided as CodeableConcept

omop-basic-validation-code-good-vs $validate-code

Just validate a randomly chosen real OMOP code provided as system and code and require that it's in a particular domain by value set (it is!)

omop-basic-validation-coding-good-vs $validate-code

Just validate a randomly chosen real OMOP code provided as a coding and require that it's in a particular domain by value set (it is!)

omop-basic-validation-codeableconcept-good-vs $validate-code

Just validate a randomly chosen real OMOP code provided as a CodeableConcept and require that it's in a particular domain by value set (it is!)

omop-basic-validation-code-bad-vs $validate-code

Just validate a randomly chosen real OMOP code provided as system and code and require that it's in a particular domain by value set (it is not!)

omop-basic-validation-coding-bad-vs $validate-code

Just validate a randomly chosen real OMOP code provided as a coding and require that it's in a particular domain by value set (it is not!)

omop-basic-validation-codeableconcept-bad-vs $validate-code

Just validate a randomly chosen real OMOP code provided as a CodeableConcept and require that it's in a particular domain by value set (it is not!)

omop-lookup-code $lookup

Lookup a standard OMOP code

omop-lookup-code2 $lookup

lookup a non-standard OMOP Code

omop-lookup-code3 $lookup

lookup another non-standard OMOP Code

omop-basic-validation-code-good-vs-url $validate-code

Same as omop-basic-validation-code-good-vs but passing a value set in

omop-basic-validation-code-bad-vs-url $validate-code

Same as omop-basic-validation-code-bad-vs but passing a value set in

omop-expand-explicit $expand

Expand an OMOP value set

translate-loinc-implicit $translate

translating sucessfully from OMOP to LOINC, leaving it to the server to choose a concept map if it can find one. Note that not all servers are willing to let the client trust it like this, so this test is optional

translate-loinc-implicit-bad $translate

translating unsucessfully from OMOP to LOINC, leaving it to the server to choose a concept map if it can find one, Also this test - and the last one - assume that the server has no other source of OMOP -> LOINC mappings available

UCUM tx.fhir.org

UCUM Test Cases

lookup $lookup

Tests the $lookup operation

lookup-with-annotation $lookup

Tests the $lookup operation with annotation

expand-ucum-all-4 $expand

Tests the $expand operation for all codes (this is a special case). The special value set changed between R4 and R5

expand-ucum-all-5 $expand

Tests the $expand operation for all codes (R5 special value set URL)

expand-ucum-canonical $expand

Tests the $expand operation for all codes (this is a special case)

validate-ucum-canonical-good $validate-code

Tests the $validate-code operation for a valid UCUM code

validate-ucum-canonical-bad $validate-code

Tests the $validate-code operation for an valid UCUM code not in the canonicl value set

validate-all-canonical-good $validate-code

Tests the $validate-code operation for a valid UCUM code against the all-UCUM value set

validate-ucum-all-bad $validate-code

Tests the $validate-code operation for an invalid UCUM code

related tx.fhir.org

Tests for candidate new 'related' operation

related-all $related

Checks that an all value is the same as itself

related-active $related

Checks that an all value is the same as itself, in the presence of the active flag = true

related-inactive $related

Checks that an all value is the same as itself, in the presence of the active flag = false

related-enumerated $related

Checks that an all value is the same as itself, in the presence of an enumerated list

related-is-a $related

Checks that an all value is the same as itself, in the presence of an is-a filter

related-regex-1 $related

Checks that an all value is the same as itself, in the presence of an regex filter

related-regex-2 $related

Checks that an all value is the same as itself, in the presence of a property regex filter

related-lists $related

Checks that two enumerated value sets are the same (concept order is different)

related-lists-more $related

Checks that two enumerated value sets are related such that the other contains this

related-lists-less $related

Checks that two enumerated value sets are related such that this contains the other

related-lists-over $related

Checks that two enumerated value sets are overlapping

related-lists-disj $related

Checks that two enumerated value sets are the disjoint

related-systems $related

Checks that two valuesets that import the same entire code systems are identical

related-systems $related

Checks that two valuesets that import the same entire code systems are identical

related-systems-less $related

Checks relationship between two value sets importing code systems where the second is a subset

related-systems-more $related

Checks relationship between two value sets importing code systems where the second is a superset

related-system-disj $related

Checks relationship between two value sets importing disjoint code systems

related-system-over $related

Checks relationship between two value sets importing overlapping code systems

related-filters-1 $related

Checks that two valuesets that haev the same filters in different orders (as filters)

related-filters-2 $related

Checks that two valuesets that haev the same filters in different orders (as includes)

related-filters-3 $related

Checks that two valuesets that haev the same filters in different orders (as includes from the same system)

related-mixed-1 $related

Checks that two valuesets that have the same content with incompatible definitions are considered the same

related-mixed-1-less $related

Checks relationship between two value sets with mixed definitions where the second is a subset

related-mixed-1-more $related

Checks relationship between two value sets with mixed definitions where the second is a superset

related-mixed-1-disj $related

Checks relationship between two value sets with mixed definitions where the value sets are disjoint

related-mixed-1-over $related

Checks relationship between two value sets with mixed definitions where the value sets overlap

related-filters-less $related

Checks relationship between two value sets with different filters where the second is a subset

related-filters-more $related

Checks relationship between two value sets with different filters where the second is a superset

bugs tx.fhir.org

A series of tests that deal with discovered bugs in FHIRsmith. These tests are specific to FHIRsmith - internal QA

country-codes $expand

Expand ISO 3166 country codes value set (full enumeration)

cpt $expand

Expand CPT code system (expects error: grammar-based system cannot be enumerated)

sct-ver-ex $expand

Expand SNOMED CT code with explicit edition version (system-version parameter)

undefined $validate-code

$validate-code for a coding against a value set composed of undefined/external value set imports

no-system $cs-validate-code

$validate-code for CodeSystem with a coding that has no system specified

sct-parse $cs-validate-code

$validate-code for SNOMED CT with a non-SNOMED free-text code value

sct-parse-pc $cs-validate-code

$validate-code for SNOMED CT with a post-coordinated expression (22298006:363698007=80891009)

lang-case $cs-validate-code

$validate-code for BCP-47 language tag with incorrect case (en-us instead of en-US)

lang-case2 $cs-validate-code

$validate-code for BCP-47 language tag with correct case (en-US)

provenance $cs-validate-code

$validate-code for event-status code system (checks draft/experimental status warning)

country-code $cs-validate-code

$validate-code for ISO 3166 with user-assigned country code AA

sct-isa $validate-code

$validate-code for SNOMED CT code against a value set with multiple is-a filters

sct-ver $cs-validate-code

$validate-code for SNOMED CT with an invalid/unknown version string (2017-09)

sct-msg-4 $validate-code

$validate-code for SNOMED CT medication form code against value set (FHIR R4 version)

sct-msg-5 $validate-code

$validate-code for SNOMED CT medication form code against value set (FHIR R5 version)

sct-display-1 $cs-validate-code

$validate-code for SNOMED CT code 48546005 (Diazepam) - display check

sct-display-2 $cs-validate-code

$validate-code for SNOMED CT code 409063005 (Counselling) - display check

ndc $cs-validate-code

$validate-code for NDC code (0777-3105-02) - checks inactive concept handling

x12-bad $cs-validate-code

$validate-code for X12 code system that is not known to the server

permutations general

A set of permutations generated by Claude with the goal of increasing test coverage.

bad-cc1-all-request $validate-code

$validate-code with invalid CodeableConcept (single coding) against all-codes value set

bad-cc1-enumerated-request $validate-code

$validate-code with invalid CodeableConcept (single coding) against enumerated value set

bad-cc1-exclude-filter-request $validate-code

$validate-code with invalid CodeableConcept (single coding) against value set with exclude filter

bad-cc1-exclude-import-request $validate-code

$validate-code with invalid CodeableConcept (single coding) against value set with exclude import

bad-cc1-exclude-list-request $validate-code

$validate-code with invalid CodeableConcept (single coding) against value set with exclude list

bad-cc1-import-request $validate-code

$validate-code with invalid CodeableConcept (single coding) against imported value set

bad-cc1-isa-request $validate-code

$validate-code with invalid CodeableConcept (single coding) against is-a filter value set

bad-cc2-all-request $validate-code

$validate-code with invalid CodeableConcept (two codings, first invalid) against all-codes value set

bad-cc2-enumerated-request $validate-code

$validate-code with invalid CodeableConcept (two codings, first invalid) against enumerated value set

bad-cc2-exclude-filter-request $validate-code

$validate-code with invalid CodeableConcept (two codings, first invalid) against value set with exclude filter

bad-cc2-exclude-import-request $validate-code

$validate-code with invalid CodeableConcept (two codings, first invalid) against value set with exclude import

bad-cc2-exclude-list-request $validate-code

$validate-code with invalid CodeableConcept (two codings, first invalid) against value set with exclude list

bad-cc2-import-request $validate-code

$validate-code with invalid CodeableConcept (two codings, first invalid) against imported value set

bad-cc2-isa-request $validate-code

$validate-code with invalid CodeableConcept (two codings, first invalid) against is-a filter value set

bad-coding-all-request $validate-code

$validate-code with invalid Coding against all-codes value set

bad-coding-enumerated-request $validate-code

$validate-code with invalid Coding against enumerated value set

bad-coding-exclude-filter-request $validate-code

$validate-code with invalid Coding against value set with exclude filter

bad-coding-exclude-import-request $validate-code

$validate-code with invalid Coding against value set with exclude import

bad-coding-exclude-list-request $validate-code

$validate-code with invalid Coding against value set with exclude list

bad-coding-import-request $validate-code

$validate-code with invalid Coding against imported value set

bad-coding-isa-request $validate-code

$validate-code with invalid Coding against is-a filter value set

bad-scd-all-request $validate-code

$validate-code with invalid system+code+display parameters against all-codes value set

bad-scd-enumerated-request $validate-code

$validate-code with invalid system+code+display parameters against enumerated value set

bad-scd-exclude-filter-request $validate-code

$validate-code with invalid system+code+display parameters against value set with exclude filter

bad-scd-exclude-import-request $validate-code

$validate-code with invalid system+code+display parameters against value set with exclude import

bad-scd-exclude-list-request $validate-code

$validate-code with invalid system+code+display parameters against value set with exclude list

bad-scd-import-request $validate-code

$validate-code with invalid system+code+display parameters against imported value set

bad-scd-isa-request $validate-code

$validate-code with invalid system+code+display parameters against is-a filter value set

good-cc1-all-request $validate-code

$validate-code with valid CodeableConcept (single coding) against all-codes value set

good-cc1-enumerated-request $validate-code

$validate-code with valid CodeableConcept (single coding) against enumerated value set

good-cc1-exclude-filter-request $validate-code

$validate-code with valid CodeableConcept (single coding) against value set with exclude filter

good-cc1-exclude-import-request $validate-code

$validate-code with valid CodeableConcept (single coding) against value set with exclude import

good-cc1-exclude-list-request $validate-code

$validate-code with valid CodeableConcept (single coding) against value set with exclude list

good-cc1-import-request $validate-code

$validate-code with valid CodeableConcept (single coding) against imported value set

good-cc1-isa-request $validate-code

$validate-code with valid CodeableConcept (single coding) against is-a filter value set

good-cc2-all-request $validate-code

$validate-code with valid CodeableConcept (two codings, first valid) against all-codes value set

good-cc2-enumerated-request $validate-code

$validate-code with valid CodeableConcept (two codings, first valid) against enumerated value set

good-cc2-exclude-filter-request $validate-code

$validate-code with valid CodeableConcept (two codings, first valid) against value set with exclude filter

good-cc2-exclude-import-request $validate-code

$validate-code with valid CodeableConcept (two codings, first valid) against value set with exclude import

good-cc2-exclude-list-request $validate-code

$validate-code with valid CodeableConcept (two codings, first valid) against value set with exclude list

good-cc2-import-request $validate-code

$validate-code with valid CodeableConcept (two codings, first valid) against imported value set

good-cc2-isa-request $validate-code

$validate-code with valid CodeableConcept (two codings, first valid) against is-a filter value set

good-coding-all-request $validate-code

$validate-code with valid Coding against all-codes value set

good-coding-enumerated-request $validate-code

$validate-code with valid Coding against enumerated value set

good-coding-exclude-filter-request $validate-code

$validate-code with valid Coding against value set with exclude filter

good-coding-exclude-import-request $validate-code

$validate-code with valid Coding against value set with exclude import

good-coding-exclude-list-request $validate-code

$validate-code with valid Coding against value set with exclude list

good-coding-import-request $validate-code

$validate-code with valid Coding against imported value set

good-coding-isa-request $validate-code

$validate-code with valid Coding against is-a filter value set

good-scd-all-request $validate-code

$validate-code with valid system+code+display parameters against all-codes value set

good-scd-enumerated-request $validate-code

$validate-code with valid system+code+display parameters against enumerated value set

good-scd-exclude-filter-request $validate-code

$validate-code with valid system+code+display parameters against value set with exclude filter

good-scd-exclude-import-request $validate-code

$validate-code with valid system+code+display parameters against value set with exclude import

good-scd-exclude-list-request $validate-code

$validate-code with valid system+code+display parameters against value set with exclude list

good-scd-import-request $validate-code

$validate-code with valid system+code+display parameters against imported value set

good-scd-isa-request $validate-code

$validate-code with valid system+code+display parameters against is-a filter value set

icd-11 icd-11

ICD-11 Test Cases

term-caps $term-caps

Check that the minimum expected things are found in the server TerminologyCapabilities for ICD-11 servers