Versions Compared

Key

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

...

code_x MATCHES {terminology://system=http://systema.org/systema?system_version=0.1?valueset=http://somthing.org/vsA/0_1?vs_version=1.2}


Grammar is accessible here:

View file
nameterminologyurl.g4
height250
 

Definition of parameters

...

  • code_x: the code to check if it belongs to the set of codes represented by the result of the TS request.
  • system: the CodeSystem (terminology system) of code_x

...

  • system_version: the version of the system
  • valueset: the uri of the valueset used to query if code_x belongs to.
  • vs_version: the version of the valueset

In Example 1. code_x belongs to system A. System A has uri http://systemA.org/systemA), the version of system A considered is 0.1. The valueset uri is http://somthing.org/vsA. The version of the VS is 1.2.

There are two main scenarios:

  1. Explicit ValueSets (i.e. in a nutshell an explicit VS is cached list of codes with an id and some metadata like system, version, etc.):

...

Code Block
languagexml
terminology://system=http://snomed.info/sct/32506021000036107?system_version=20130531?valueset=http://highmed.org/24?vs_version=2.52

...

       2.Implicit ValueSets

Code Block
languagexml
terminology://system=http://snomed.info/sct/32506021000036107?system_version=20130531?valueset=http://snomed.info/sct?fhir_vs=isa/50697003

In implicit ValueSets there is not a specific identified resource exposed by the terminology server that corresponds to the ValueSet. The ValueSet should be created “on demand” by the terminology server based on the logic expression specified in the URI.

Aspects to consider

QUESTION 1) An outstanding question is... if we just consider that the only operation will be $validate (i.e. validate if code is in the ValueSet and the request to the server only returns a boolean true/false) as per Diego (https://openehrspecs.slack.com/archives/C2CD84RUL/p1547819288129100 ), or we will also accept $expand (the server returns a list of codes, the format of the codes needs to be determined as per the discussion in https://openehrspecs.slack.com/archives/C2CD84RUL/p1549550758046800)??

If we go only for validate, then the current matches syntax should be slightly modified (instead of matches it should be something like “VALIDATE code_x IN {terminology://……..}”)??

...

Alternatives have been proposed by Tom, Bjorn, and Ian in (https://openehrspecs.slack.com/archives/C2CD84RUL/p1549554234061500 , https://openehrspecs.slack.com/archives/C2CD84RUL/p1549552584056700?thread_ts=1549550758.046800&cid=C2CD84RUL , https://openehrspecs.slack.com/archives/C2CD84RUL/p1549551743054400?thread_ts=1549550758.046800&cid=C2CD84RUL )

EXAMPLES IN FHIR AND THE PROPOSAL FOR OPENEHR

EXAMPLES EXPLICIT VALUE SETS:

Example request 1:

Fhir:


Code Block
{{url}}/ValueSet/$validate-code?system=http://loinc.org&code=45276-3&url=http:/loinc.org/vsac/BloodCulture&display=Bacteria identified in Blood by Anaerobe culture 25 degree C incubation

(parameters display, operation) are not the business of AQL but are left for completeness)


openEHR:

Code Block
terminology://system=http://loinc.

...

org?system_version=2.65?valueset=http://highmed.org/24?vs_version=1.0.5


Example request 2:

Fhir:


{{url}}/ValueSet/$validate-code?system=http://snomed.info/sct&code=30346009&url=http://vsac.highmed.org/vsac/episodes&display=Evaluation and management of established outpatient in office or other outpatient facility

...