From c5b2d3cc4226db02aac0a2a3a443fe367d8b4e5d Mon Sep 17 00:00:00 2001 From: Lloyd McKenzie Date: Tue, 10 Sep 2024 08:07:43 -0600 Subject: [PATCH] Made changes as recommended by Grahame and Elliot --- input-cache/txcache/all-systems.cache | 54 +++++++++++---- input-cache/txcache/loinc.cache | 99 ++++++++++++++++++++++++--- input-cache/txcache/snomed.cache | 50 +++++++++++++- input-cache/txcache/system-map.json | 20 ++++++ input-cache/txcache/ucum.cache | 48 ++++++++++++- input/pagecontent/fragments.xml | 12 ++-- 6 files changed, 251 insertions(+), 32 deletions(-) diff --git a/input-cache/txcache/all-systems.cache b/input-cache/txcache/all-systems.cache index b586daf..f70e443 100644 --- a/input-cache/txcache/all-systems.cache +++ b/input-cache/txcache/all-systems.cache @@ -138,7 +138,6 @@ v: { "code" : "text/cql", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -159,7 +158,6 @@ v: { "code" : "text/cql", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -187,7 +185,6 @@ v: { "code" : "application/elm+xml", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -208,7 +205,6 @@ v: { "code" : "application/elm+xml", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -236,7 +232,6 @@ v: { "code" : "application/elm+json", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -257,7 +252,6 @@ v: { "code" : "application/elm+json", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -285,7 +279,6 @@ v: { "code" : "image/png", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -306,7 +299,6 @@ v: { "code" : "image/png", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -334,7 +326,6 @@ v: { "code" : "text/x-sql", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -355,7 +346,6 @@ v: { "code" : "text/x-sql", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -383,7 +373,6 @@ v: { "code" : "application/pdf", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -404,7 +393,6 @@ v: { "code" : "application/pdf", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -432,7 +420,6 @@ v: { "code" : "image/jpeg", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -453,6 +440,47 @@ v: { "code" : "image/jpeg", "system" : "urn:ietf:bcp:13", "server" : "http://tx.fhir.org/r4", + "issues" : { + "resourceType" : "OperationOutcome" +} + +} +------------------------------------------------------------------------------------- +{"code" : { + "code" : "de" +}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "4.0.1", "langs":"en-CA", "useServer":"true", "useClient":"true", "guessSystem":"true", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": { + "resourceType" : "Parameters", + "parameter" : [{ + "name" : "x-system-cache-id", + "valueString" : "dc8fd4bc-091a-424a-8a3b-6198ef146891" + }] +}}#### +v: { + "display" : "German", + "code" : "de", + "system" : "urn:ietf:bcp:47", + "server" : "http://tx.fhir.org/r4", + "unknown-systems" : "", + "issues" : { + "resourceType" : "OperationOutcome" +} + +} +------------------------------------------------------------------------------------- +{"code" : { + "code" : "fr" +}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "4.0.1", "langs":"en-CA", "useServer":"true", "useClient":"true", "guessSystem":"true", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": { + "resourceType" : "Parameters", + "parameter" : [{ + "name" : "x-system-cache-id", + "valueString" : "dc8fd4bc-091a-424a-8a3b-6198ef146891" + }] +}}#### +v: { + "display" : "French", + "code" : "fr", + "system" : "urn:ietf:bcp:47", + "server" : "http://tx.fhir.org/r4", "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" diff --git a/input-cache/txcache/loinc.cache b/input-cache/txcache/loinc.cache index 71bba38..1c9bf82 100644 --- a/input-cache/txcache/loinc.cache +++ b/input-cache/txcache/loinc.cache @@ -15,7 +15,6 @@ v: { "system" : "http://loinc.org", "version" : "2.78", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -38,7 +37,6 @@ v: { "system" : "http://loinc.org", "version" : "2.78", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -61,7 +59,6 @@ v: { "system" : "http://loinc.org", "version" : "2.78", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -84,7 +81,6 @@ v: { "system" : "http://loinc.org", "version" : "2.78", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -107,7 +103,6 @@ v: { "system" : "http://loinc.org", "version" : "2.78", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -130,7 +125,6 @@ v: { "system" : "http://loinc.org", "version" : "2.78", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -153,7 +147,6 @@ v: { "system" : "http://loinc.org", "version" : "2.78", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -176,7 +169,6 @@ v: { "system" : "http://loinc.org", "version" : "2.78", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -199,6 +191,97 @@ v: { "system" : "http://loinc.org", "version" : "2.78", "server" : "http://tx.fhir.org/r4", + "issues" : { + "resourceType" : "OperationOutcome" +} + +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "8480-6" +}, "valueSet" :null, "langs":"en, en-US, de", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": { + "resourceType" : "Parameters", + "parameter" : [{ + "name" : "x-system-cache-id", + "valueString" : "dc8fd4bc-091a-424a-8a3b-6198ef146891" + }] +}}#### +v: { + "display" : "Systolic blood pressure", + "code" : "8480-6", + "system" : "http://loinc.org", + "version" : "2.78", + "server" : "http://tx.fhir.org/r4", + "unknown-systems" : "", + "issues" : { + "resourceType" : "OperationOutcome" +} + +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "8462-4" +}, "valueSet" :null, "langs":"en, en-US, de", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": { + "resourceType" : "Parameters", + "parameter" : [{ + "name" : "x-system-cache-id", + "valueString" : "dc8fd4bc-091a-424a-8a3b-6198ef146891" + }] +}}#### +v: { + "display" : "Diastolic blood pressure", + "code" : "8462-4", + "system" : "http://loinc.org", + "version" : "2.78", + "server" : "http://tx.fhir.org/r4", + "unknown-systems" : "", + "issues" : { + "resourceType" : "OperationOutcome" +} + +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "8480-6" +}, "valueSet" :null, "langs":"en, en-US, fr", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": { + "resourceType" : "Parameters", + "parameter" : [{ + "name" : "x-system-cache-id", + "valueString" : "dc8fd4bc-091a-424a-8a3b-6198ef146891" + }] +}}#### +v: { + "display" : "Systolic blood pressure", + "code" : "8480-6", + "system" : "http://loinc.org", + "version" : "2.78", + "server" : "http://tx.fhir.org/r4", + "unknown-systems" : "", + "issues" : { + "resourceType" : "OperationOutcome" +} + +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "8462-4" +}, "valueSet" :null, "langs":"en, en-US, fr", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": { + "resourceType" : "Parameters", + "parameter" : [{ + "name" : "x-system-cache-id", + "valueString" : "dc8fd4bc-091a-424a-8a3b-6198ef146891" + }] +}}#### +v: { + "display" : "Diastolic blood pressure", + "code" : "8462-4", + "system" : "http://loinc.org", + "version" : "2.78", + "server" : "http://tx.fhir.org/r4", "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" diff --git a/input-cache/txcache/snomed.cache b/input-cache/txcache/snomed.cache index e4e9d79..1184ce9 100644 --- a/input-cache/txcache/snomed.cache +++ b/input-cache/txcache/snomed.cache @@ -19,7 +19,6 @@ v: { "error" : "Wrong Display Name 'Angina (disorder)' for http://snomed.info/sct#194828000. Valid display is one of 0 choices: [] (for the language(s) 'en-AU')", "class" : "UNKNOWN", "server" : "https://tx.ontoserver.csiro.au/fhir", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome", "issue" : [{ @@ -63,7 +62,6 @@ v: { "error" : "Wrong Display Name 'Myocardial infarction (disorder)' for http://snomed.info/sct#22298006. Valid display is one of 0 choices: [] (for the language(s) 'en-AU')", "class" : "UNKNOWN", "server" : "https://tx.ontoserver.csiro.au/fhir", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome", "issue" : [{ @@ -87,3 +85,51 @@ v: { } ------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://snomed.info/sct", + "code" : "194828000", + "display" : "Angina (disorder)" +}, "valueSet" :null, "langs":"en-CA", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": { + "resourceType" : "Parameters", + "parameter" : [{ + "name" : "x-system-cache-id", + "valueString" : "dc8fd4bc-091a-424a-8a3b-6198ef146891" + }] +}}#### +v: { + "display" : "Angina", + "code" : "194828000", + "system" : "http://snomed.info/sct", + "version" : "http://snomed.info/sct/900000000000207008/version/20240201", + "server" : "http://tx.fhir.org/r4", + "unknown-systems" : "", + "issues" : { + "resourceType" : "OperationOutcome" +} + +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://snomed.info/sct", + "code" : "22298006", + "display" : "Myocardial infarction (disorder)" +}, "valueSet" :null, "langs":"en-CA", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": { + "resourceType" : "Parameters", + "parameter" : [{ + "name" : "x-system-cache-id", + "valueString" : "dc8fd4bc-091a-424a-8a3b-6198ef146891" + }] +}}#### +v: { + "display" : "Myocardial infarction", + "code" : "22298006", + "system" : "http://snomed.info/sct", + "version" : "http://snomed.info/sct/900000000000207008/version/20240201", + "server" : "http://tx.fhir.org/r4", + "unknown-systems" : "", + "issues" : { + "resourceType" : "OperationOutcome" +} + +} +------------------------------------------------------------------------------------- diff --git a/input-cache/txcache/system-map.json b/input-cache/txcache/system-map.json index bfcd1b7..9306960 100644 --- a/input-cache/txcache/system-map.json +++ b/input-cache/txcache/system-map.json @@ -10,6 +10,16 @@ "authoritative" : [], "candidates" : [] }, + { + "system" : "http://example.org/system/code/questions", + "authoritative" : [], + "candidates" : [] + }, + { + "system" : "http://example.org/system/code/sections", + "authoritative" : [], + "candidates" : [] + }, { "system" : "http://loinc.org", "authoritative" : [], @@ -25,6 +35,11 @@ "authoritative" : [], "candidates" : [] }, + { + "system" : "http://snomed.info/sct", + "authoritative" : [], + "candidates" : ["http://tx.fhir.org/r4", "https://tx.ontoserver.csiro.au/fhir"] + }, { "system" : "http://terminology.hl7.org/CodeSystem/definition-use", "authoritative" : ["http://tx.fhir.org/r4"], @@ -44,6 +59,11 @@ "system" : "urn:ietf:bcp:13", "authoritative" : [], "candidates" : ["http://tx.fhir.org/r4"] + }, + { + "system" : "urn:ietf:bcp:47", + "authoritative" : [], + "candidates" : ["http://tx.fhir.org/r4", "https://tx.ontoserver.csiro.au/fhir"] } ] } diff --git a/input-cache/txcache/ucum.cache b/input-cache/txcache/ucum.cache index 94df8e3..0962dba 100644 --- a/input-cache/txcache/ucum.cache +++ b/input-cache/txcache/ucum.cache @@ -15,7 +15,6 @@ v: { "system" : "http://unitsofmeasure.org", "version" : "2.0.1", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -38,7 +37,6 @@ v: { "system" : "http://unitsofmeasure.org", "version" : "2.0.1", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -61,7 +59,6 @@ v: { "system" : "http://unitsofmeasure.org", "version" : "2.0.1", "server" : "http://tx.fhir.org/r4", - "unknown-systems" : "", "issues" : { "resourceType" : "OperationOutcome" } @@ -78,6 +75,51 @@ v: { "valueString" : "dc8fd4bc-091a-424a-8a3b-6198ef146891" }] }}#### +v: { + "display" : "mm[Hg]", + "code" : "mm[Hg]", + "system" : "http://unitsofmeasure.org", + "version" : "2.0.1", + "server" : "http://tx.fhir.org/r4", + "issues" : { + "resourceType" : "OperationOutcome" +} + +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://unitsofmeasure.org", + "code" : "mm[Hg]" +}, "valueSet" :null, "langs":"en, en-US, de", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": { + "resourceType" : "Parameters", + "parameter" : [{ + "name" : "x-system-cache-id", + "valueString" : "dc8fd4bc-091a-424a-8a3b-6198ef146891" + }] +}}#### +v: { + "display" : "mm[Hg]", + "code" : "mm[Hg]", + "system" : "http://unitsofmeasure.org", + "version" : "2.0.1", + "server" : "http://tx.fhir.org/r4", + "unknown-systems" : "", + "issues" : { + "resourceType" : "OperationOutcome" +} + +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://unitsofmeasure.org", + "code" : "mm[Hg]" +}, "valueSet" :null, "langs":"en, en-US, fr", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"true", "profile": { + "resourceType" : "Parameters", + "parameter" : [{ + "name" : "x-system-cache-id", + "valueString" : "dc8fd4bc-091a-424a-8a3b-6198ef146891" + }] +}}#### v: { "display" : "mm[Hg]", "code" : "mm[Hg]", diff --git a/input/pagecontent/fragments.xml b/input/pagecontent/fragments.xml index ac05bd7..e46c31a 100644 --- a/input/pagecontent/fragments.xml +++ b/input/pagecontent/fragments.xml @@ -1,6 +1,6 @@

- This page describes how to embed 'fragments' of a resource within a page, possibly ellipsing out portions + This page describes how to embed 'fragments' of a resource within a page, possibly elliding out portions of the instance to only show the portions that are relevant to what the surrounding text needs to talk about.

@@ -30,18 +30,18 @@

Ellipsing

- Sometimes you want to perform more filtering than only selecting an element within your instance. You want to only show a portion of that element, hiding (ellipsing) the content you don't care about. There are two ways to do this: you can either define the specific elements you want to ellipse; or you can define the elements you don't want to ellipse. + Sometimes you want to perform more filtering than only selecting an element within your instance. You want to only show a portion of that element, hiding (ellipsing) the content you don't care about. There are two ways to do this: you can either define the specific elements you want to ellide (replace with '...'); or you can define the elements you don't want to ellide.

-

The 'ELLIPSE:' filter can only be specified once, but with FHIRPath '|', you can express as many elements as you like. For example, {% raw %}{% fragment Patient/example XML BASE:name.where(use='official').first() ELLIPSE:use|given[1]|period %}{% endraw %} will look like this:

- {% fragment Patient/example XML BASE:name.where(use='official').first() ELLIPSE:use|given[1]|period %} +

The 'ELLIDE:' filter can only be specified once, but with FHIRPath '|', you can express as many elements as you like. For example, {% raw %}{% fragment Patient/example XML BASE:name.where(use='official').first() ELLIDE:use|given[1]|period %}{% endraw %} will look like this:

+ {% fragment Patient/example XML BASE:name.where(use='official').first() ELLIDE:use|given[1]|period %}

- 'EXCEPT:' works slightly differently. With Except you identify the elements to retain (be unellipsed) but you can also specify a descendant 'BASE:' element those expressions are evaluated within. For example, the following expression will return the patient showing only id an names, and within name, will ellipse everything except the family name: {% raw %}{% fragment Patient/example XML EXCEPT:id|name EXCEPT:family BASE:name %}{% endraw %} + 'EXCEPT:' works slightly differently. With Except you identify the elements to retain (be unellided) but you can also specify a descendant 'BASE:' element those expressions are evaluated within. For example, the following expression will return the patient showing only id an names, and within name, will ellide everything except the family name: {% raw %}{% fragment Patient/example XML EXCEPT:id|name EXCEPT:family BASE:name %}{% endraw %}

{% fragment Patient/example XML EXCEPT:id|name EXCEPT:family BASE:name %}

The overall syntax for fragments is as follows: - {% raw %}{% fragment [resource]/[id] [XML|JSON] (BASE:[base FHIRPath])? (ELLIPSE:[ellipse elements path])? (EXCEPT:[except elements FHIRPath] (BASE:[except base FHIRPath])?)* %}{% endraw %} + {% raw %}{% fragment [resource]/[id] [XML|JSON] (BASE:[base FHIRPath])? (ELLIDE:[ellide elements path])? (EXCEPT:[except elements FHIRPath] (BASE:[except base FHIRPath])?)* %}{% endraw %}