Maintenance Alert - This service will be undergoing planned maintenance from Tuesday 23 April 2024, 07:00UTC until Tuesday 23 April 2024, 09:00UTC. During this time the service will be unavailable.

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Case sensitivity: To be discussed.


10 July 2018

Determined that it would be best to have multiple response parameters to capture the various possible scenarios so the client can choose the correct behaviour. Specifically discussed was adding a well known set of extension parameters which can be considered as optional response parameters in the specification in future.

The table below is intended to be built out to cover the various scenarios. Note that the philosophy with the boolean result parameter from validate-code is that it should return true if the code is correct, and only false if the text provided does not match at all, this is considered most fault tolerant for clients that don't use the additional parameters to discern the result more closely.

scenarioresultmessagedisplaycode validity codedisplay validity code
codetermValueSet term
valid codeno termnotrue
code system preferred displayvalid code in ValueSet-
valid codeno termyestrue
ValueSet display for codevalid code in ValueSet-
code not in ValueSetno termn/afalseexplanation the code is invalidcode system preferred displayvalid code not in ValueSet-
code not in ValueSetpreferred displayn/afalseexplanation the code is invalidcode system preferred displayvalid code not in ValueSetcorrect display term
code not in ValueSetacceptable termn/afalseexplanation the code is invalid and warning that the display was not the preferred displaycode system preferred displayvalid code in ValueSetacceptable display term
code not in ValueSetactive but unacceptable term for localen/afalseexplanation the code is invalid and warning that the display matches an active term for the code, but not an acceptable onecode system preferred displayvalid code in ValueSetactive display term
code not in ValueSetinactive/historical term for coden/afalseexplanation the code is invalid and warning the provided term is historical for the code and not activecode system preferred displayvalid code in ValueSethistorical display term
code not in ValueSetunknown term for code systemn/afalseexplanation the code is invalid and explanation that the term was unknowncode system preferred display
valid code in ValueSetunknown term
valid codepreferred displaynotrue
code system preferred displayvalid code in ValueSetcorrect display term
valid code preferred displayyestrueexplanation the display was valid for the code but didn't match the ValueSetValueSet display for codevalid code in ValueSetcorrect display term
valid codeacceptable termnotruewarning that the display was not the preferred displaycode system preferred displayvalid code in ValueSetacceptable display term
valid codeacceptable termyestrueexplanation the display was not preferred for the code and didn't match the ValueSetValueSet display for codevalid code in ValueSetcorrect display term
valid codeactive but unacceptable term for localenotruewarning that the display matches an active term for the code, but not an acceptable onecode system preferred displayvalid code in ValueSetactive display term
valid codeactive but unacceptable term for localeyestruewarning the display was not acceptable for the code and didn't match the ValueSetValueSet display for codevalid code in ValueSetcorrect display term
valid codeinactive/historical term for codenotruewarning the provided term is historical for the code and not activecode system preferred displayvalid code in ValueSethistorical display term
valid codeinactive/historical term for codeyestruewarning the provided term is historical for the code and didn't match the ValueSetValueSet display for codevalid code in ValueSetcorrect display term
valid codeunknown term for code systemnofalseexplanation that the term was unknowncode system preferred display
valid code in ValueSetunknown term
valid codeunknown term for code systemyestrue
ValueSet display for code
valid code in ValueSetcorrect display term
known code for code system family, but not in code system versionno termn/afalseexplanation the code was not valid for the code system versioncode system preferred displayknown code not in code system version-
known code for code system family, but not in code system version
preferred displayn/afalseexplanation the code was not valid for the code system versioncode system preferred displayknown code not in code system version
correct display term
known code for code system family, but not in code system version
acceptable termn/afalseexplanation the code was not valid for the code system versioncode system preferred displayknown code not in code system version
acceptable display term
known code for code system family, but not in code system version
active but unacceptable term for localen/afalseexplanation the code was not valid for the code system versioncode system preferred displayknown code not in code system version
active display term
known code for code system family, but not in code system version
inactive/historical term for coden/afalseexplanation the code was not valid for the code system versioncode system preferred displayknown code not in code system version
historical display term
known code for code system family, but not in code system version
unknown term for code systemn/afalseexplanation the code was not valid for the code system versioncode system preferred display
known code not in code system version
unknown term
syntactically valid code (i.e. concept SCTID) but not known to any version on the serverunknown or no termn/afalseexplanation the code was not valid for any known version for this code system-unknown but syntactically valid code
valid identifier for component other than a concept (e.g. description or relationship)unknown or no termn/afalseexplanation the code is not for the right type of component-incorrect identifier type
syntactically invalid codeunknown or no termn/afalseexplanation the code is syntactically invalid, doesn't meet the code system's scheme-code not valid for code system scheme

code validity and display validity are intended to be extensible bindings to a Code datatype.

This table needs further refinement and consideration of particularly whether all scenarios are worth the effort. Description handling is somewhat SNOMED CT specific, but generalisable to other code systems as most would fall under a subset of the scenarios (i.e. may not draw all the distinctions SNOMED CT does wrt term preferences).

Case significance status in SNOMED CT should also be taken into account, so "Heart structure" and "heart structure" would be matched equally for 80891009 and get the same display validity code as they are equivalent once case significance is taken into account.