From 5ff453bc6a2e1e5f60ce32a206247e45871bd3c6 Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Wed, 18 Oct 2023 10:36:51 +0200 Subject: [PATCH 01/16] change format of VS (fsh -> json) --- .../ResultsLaboratoryObservation.fsh | 61 ----- ...ch-elm-results-laboratory-observation.json | 223 ++++++++++++++++++ sushi-config.yaml | 7 +- 3 files changed, 229 insertions(+), 62 deletions(-) delete mode 100644 input/fsh/terminology/ResultsLaboratoryObservation.fsh create mode 100644 input/resources/ValueSet-ch-elm-results-laboratory-observation.json diff --git a/input/fsh/terminology/ResultsLaboratoryObservation.fsh b/input/fsh/terminology/ResultsLaboratoryObservation.fsh deleted file mode 100644 index 80e4ccc..0000000 --- a/input/fsh/terminology/ResultsLaboratoryObservation.fsh +++ /dev/null @@ -1,61 +0,0 @@ -ValueSet: ChElmResultsLaboratoryObservation -Id: ch-elm-results-laboratory-observation -Title: "CH ELM Results Laboratory Observation" -Description: "This CH ELM value set includes the codes for the laboratory test results (organism)." -* ^status = #active -* ^experimental = false - -* $loinc#14127-5 "Neisseria gonorrhoeae [Presence] in Anal by Organism specific culture" -* $loinc#21415-5 "Neisseria gonorrhoeae DNA [Presence] in Urethra by NAA with probe detection" -* $loinc#21416-3 "Neisseria gonorrhoeae DNA [Presence] in Urine by NAA with probe detection" -* $loinc#24111-7 "Neisseria gonorrhoeae DNA [Presence] in Specimen by NAA with probe detection" -* $loinc#32705-6 "Neisseria gonorrhoeae DNA [Presence] in Vaginal fluid by NAA with probe detection" -* $loinc#43305-2 "Neisseria gonorrhoeae rRNA [Presence] in Specimen by NAA with probe detection" -* $loinc#47387-6 "Neisseria gonorrhoeae DNA [Presence] in Genital specimen by NAA with probe detection" -* $loinc#50388-8 "Neisseria gonorrhoeae rRNA [Presence] in Cervix by NAA with probe detection" -* $loinc#53879-3 "Neisseria gonorrhoeae rRNA [Presence] in Vaginal fluid by NAA with probe detection" -* $loinc#53927-0 "Neisseria gonorrhoeae rRNA [Presence] in Urethra by NAA with probe detection" -* $loinc#57458-2 "Neisseria gonorrhoeae rRNA [Presence] in Anal by NAA with probe detection" -* $loinc#60255-7 "Neisseria gonorrhoeae rRNA [Presence] in Throat by NAA with probe detection" -* $loinc#60256-5 "Neisseria gonorrhoeae rRNA [Presence] in Urine by NAA with probe detection" -* $loinc#688-2 "Neisseria gonorrhoeae [Presence] in Cervix by Organism specific culture" -* $loinc#691-6 "Neisseria gonorrhoeae [Presence] in Genital specimen by Organism specific culture" -* $loinc#693-2 "Neisseria gonorrhoeae [Presence] in Vaginal fluid by Organism specific culture" -* $loinc#694-0 "Neisseria gonorrhoeae [Presence] in Semen by Organism specific culture" -* $loinc#696-5 "Neisseria gonorrhoeae [Presence] in Throat by Organism specific culture" -* $loinc#697-3 "Neisseria gonorrhoeae [Presence] in Urethra by Organism specific culture" -* $loinc#698-1 "Neisseria gonorrhoeae [Presence] in Specimen by Organism specific culture" -* $loinc#80366-8 "Neisseria gonorrhoeae rRNA [Presence] in Anorectal by NAA with probe detection" -* $loinc#80368-4 "Neisseria gonorrhoeae [Presence] in Anorectal by Organism specific culture" -* $loinc#88224-1 "Neisseria gonorrhoeae DNA [Presence] in Anorectal by NAA with probe detection" -* $loinc#88225-8 "Neisseria gonorrhoeae DNA [Presence] in Throat by NAA with probe detection" -* $loinc#96599-6 "Neisseria gonorrhoeae DNA [Presence] in Cervix by NAA with probe detection" - -* $loinc#14463-4 "Chlamydia trachomatis [Presence] in Cervix by Organism specific culture" -* $loinc#14464-2 "Chlamydia trachomatis [Presence] in Vaginal fluid by Organism specific culture" -* $loinc#14465-9 "Chlamydia trachomatis [Presence] in Urethra by Organism specific culture" -* $loinc#16600-9 "Chlamydia trachomatis rRNA [Presence] in Genital specimen by probe" -* $loinc#21190-4 "Chlamydia trachomatis DNA [Presence] in Cervix by NAA with probe detection" -* $loinc#21191-2 "Chlamydia trachomatis DNA [Presence] in Urethra by NAA with probe detection" -* $loinc#21613-5 "Chlamydia trachomatis DNA [Presence] in Specimen by NAA with probe detection" -* $loinc#23838-6 "Chlamydia trachomatis rRNA [Presence] in Genital fluid by probe" -* $loinc#31777-6 "Chlamydia trachomatis Ag [Presence] in Specimen" -* $loinc#42931-6 "Chlamydia trachomatis rRNA [Presence] in Urine by NAA with probe detection" -* $loinc#43304-5 "Chlamydia trachomatis rRNA [Presence] in Specimen by NAA with probe detection" -* $loinc#45084-1 "Chlamydia trachomatis DNA [Presence] in Vaginal fluid by NAA with probe detection" -* $loinc#45090-8 "Chlamydia trachomatis DNA [Presence] in Anal by NAA with probe detection" -* $loinc#45093-2 "Chlamydia trachomatis [Presence] in Anal by Organism specific culture" -* $loinc#45095-7 "Chlamydia trachomatis [Presence] in Genital specimen by Organism specific culture" -* $loinc#50387-0 "Chlamydia trachomatis rRNA [Presence] in Cervix by NAA with probe detection" -* $loinc#51578-3 "Chlamydia trachomatis DNA [Presence] in Semen by NAA with probe detection" -* $loinc#53925-4 "Chlamydia trachomatis rRNA [Presence] in Urethra by NAA with probe detection" -* $loinc#53926-2 "Chlamydia trachomatis rRNA [Presence] in Vaginal fluid by NAA with probe detection" -* $loinc#57287-5 "Chlamydia trachomatis rRNA [Presence] in Anal by NAA with probe detection" -* $loinc#6349-5 "Chlamydia trachomatis [Presence] in Specimen by Organism specific culture" -* $loinc#6356-0 "Chlamydia trachomatis DNA [Presence] in Genital specimen by NAA with probe detection" -* $loinc#6357-8 "Chlamydia trachomatis DNA [Presence] in Urine by NAA with probe detection" -* $loinc#80363-5 "Chlamydia trachomatis DNA [Presence] in Anorectal by NAA with probe detection" -* $loinc#80364-3 "Chlamydia trachomatis rRNA [Presence] in Anorectal by NAA with probe detection" -* $loinc#80367-6 "Chlamydia trachomatis [Presence] in Anorectal by Organism specific culture" - - diff --git a/input/resources/ValueSet-ch-elm-results-laboratory-observation.json b/input/resources/ValueSet-ch-elm-results-laboratory-observation.json new file mode 100644 index 0000000..c25e41d --- /dev/null +++ b/input/resources/ValueSet-ch-elm-results-laboratory-observation.json @@ -0,0 +1,223 @@ +{ + "resourceType": "ValueSet", + "id": "ch-elm-results-laboratory-observation", + "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-laboratory-observation", + "name": "ChElmResultsLaboratoryObservation", + "title": "CH ELM Results Laboratory Observation", + "status": "active", + "experimental": false, + "description": "This CH ELM value set includes the codes for the laboratory test results (organism).", + "compose": { + "include": [ + { + "system": "http://loinc.org", + "concept": [ + { + "code": "14127-5", + "display": "Neisseria gonorrhoeae [Presence] in Anal by Organism specific culture" + }, + { + "code": "21415-5", + "display": "Neisseria gonorrhoeae DNA [Presence] in Urethra by NAA with probe detection" + }, + { + "code": "21416-3", + "display": "Neisseria gonorrhoeae DNA [Presence] in Urine by NAA with probe detection" + }, + { + "code": "24111-7", + "display": "Neisseria gonorrhoeae DNA [Presence] in Specimen by NAA with probe detection" + }, + { + "code": "32705-6", + "display": "Neisseria gonorrhoeae DNA [Presence] in Vaginal fluid by NAA with probe detection" + }, + { + "code": "43305-2", + "display": "Neisseria gonorrhoeae rRNA [Presence] in Specimen by NAA with probe detection" + }, + { + "code": "47387-6", + "display": "Neisseria gonorrhoeae DNA [Presence] in Genital specimen by NAA with probe detection" + }, + { + "code": "50388-8", + "display": "Neisseria gonorrhoeae rRNA [Presence] in Cervix by NAA with probe detection" + }, + { + "code": "53879-3", + "display": "Neisseria gonorrhoeae rRNA [Presence] in Vaginal fluid by NAA with probe detection" + }, + { + "code": "53927-0", + "display": "Neisseria gonorrhoeae rRNA [Presence] in Urethra by NAA with probe detection" + }, + { + "code": "57458-2", + "display": "Neisseria gonorrhoeae rRNA [Presence] in Anal by NAA with probe detection" + }, + { + "code": "60255-7", + "display": "Neisseria gonorrhoeae rRNA [Presence] in Throat by NAA with probe detection" + }, + { + "code": "60256-5", + "display": "Neisseria gonorrhoeae rRNA [Presence] in Urine by NAA with probe detection" + }, + { + "code": "688-2", + "display": "Neisseria gonorrhoeae [Presence] in Cervix by Organism specific culture" + }, + { + "code": "691-6", + "display": "Neisseria gonorrhoeae [Presence] in Genital specimen by Organism specific culture" + }, + { + "code": "693-2", + "display": "Neisseria gonorrhoeae [Presence] in Vaginal fluid by Organism specific culture" + }, + { + "code": "694-0", + "display": "Neisseria gonorrhoeae [Presence] in Semen by Organism specific culture" + }, + { + "code": "696-5", + "display": "Neisseria gonorrhoeae [Presence] in Throat by Organism specific culture" + }, + { + "code": "697-3", + "display": "Neisseria gonorrhoeae [Presence] in Urethra by Organism specific culture" + }, + { + "code": "698-1", + "display": "Neisseria gonorrhoeae [Presence] in Specimen by Organism specific culture" + }, + { + "code": "80366-8", + "display": "Neisseria gonorrhoeae rRNA [Presence] in Anorectal by NAA with probe detection" + }, + { + "code": "80368-4", + "display": "Neisseria gonorrhoeae [Presence] in Anorectal by Organism specific culture" + }, + { + "code": "88224-1", + "display": "Neisseria gonorrhoeae DNA [Presence] in Anorectal by NAA with probe detection" + }, + { + "code": "88225-8", + "display": "Neisseria gonorrhoeae DNA [Presence] in Throat by NAA with probe detection" + }, + { + "code": "96599-6", + "display": "Neisseria gonorrhoeae DNA [Presence] in Cervix by NAA with probe detection" + }, + { + "code": "14463-4", + "display": "Chlamydia trachomatis [Presence] in Cervix by Organism specific culture" + }, + { + "code": "14464-2", + "display": "Chlamydia trachomatis [Presence] in Vaginal fluid by Organism specific culture" + }, + { + "code": "14465-9", + "display": "Chlamydia trachomatis [Presence] in Urethra by Organism specific culture" + }, + { + "code": "16600-9", + "display": "Chlamydia trachomatis rRNA [Presence] in Genital specimen by probe" + }, + { + "code": "21190-4", + "display": "Chlamydia trachomatis DNA [Presence] in Cervix by NAA with probe detection" + }, + { + "code": "21191-2", + "display": "Chlamydia trachomatis DNA [Presence] in Urethra by NAA with probe detection" + }, + { + "code": "21613-5", + "display": "Chlamydia trachomatis DNA [Presence] in Specimen by NAA with probe detection" + }, + { + "code": "23838-6", + "display": "Chlamydia trachomatis rRNA [Presence] in Genital fluid by probe" + }, + { + "code": "31777-6", + "display": "Chlamydia trachomatis Ag [Presence] in Specimen" + }, + { + "code": "42931-6", + "display": "Chlamydia trachomatis rRNA [Presence] in Urine by NAA with probe detection" + }, + { + "code": "43304-5", + "display": "Chlamydia trachomatis rRNA [Presence] in Specimen by NAA with probe detection" + }, + { + "code": "45084-1", + "display": "Chlamydia trachomatis DNA [Presence] in Vaginal fluid by NAA with probe detection" + }, + { + "code": "45090-8", + "display": "Chlamydia trachomatis DNA [Presence] in Anal by NAA with probe detection" + }, + { + "code": "45093-2", + "display": "Chlamydia trachomatis [Presence] in Anal by Organism specific culture" + }, + { + "code": "45095-7", + "display": "Chlamydia trachomatis [Presence] in Genital specimen by Organism specific culture" + }, + { + "code": "50387-0", + "display": "Chlamydia trachomatis rRNA [Presence] in Cervix by NAA with probe detection" + }, + { + "code": "51578-3", + "display": "Chlamydia trachomatis DNA [Presence] in Semen by NAA with probe detection" + }, + { + "code": "53925-4", + "display": "Chlamydia trachomatis rRNA [Presence] in Urethra by NAA with probe detection" + }, + { + "code": "53926-2", + "display": "Chlamydia trachomatis rRNA [Presence] in Vaginal fluid by NAA with probe detection" + }, + { + "code": "57287-5", + "display": "Chlamydia trachomatis rRNA [Presence] in Anal by NAA with probe detection" + }, + { + "code": "6349-5", + "display": "Chlamydia trachomatis [Presence] in Specimen by Organism specific culture" + }, + { + "code": "6356-0", + "display": "Chlamydia trachomatis DNA [Presence] in Genital specimen by NAA with probe detection" + }, + { + "code": "6357-8", + "display": "Chlamydia trachomatis DNA [Presence] in Urine by NAA with probe detection" + }, + { + "code": "80363-5", + "display": "Chlamydia trachomatis DNA [Presence] in Anorectal by NAA with probe detection" + }, + { + "code": "80364-3", + "display": "Chlamydia trachomatis rRNA [Presence] in Anorectal by NAA with probe detection" + }, + { + "code": "80367-6", + "display": "Chlamydia trachomatis [Presence] in Anorectal by Organism specific culture" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/sushi-config.yaml b/sushi-config.yaml index b91235e..b30eecb 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -75,4 +75,9 @@ parameters: - input/resources - fsh-generated/resources no-narrative: Bundle/* - excludettl: true \ No newline at end of file + excludettl: true + +resources: + ValueSet/ch-elm-results-laboratory-observation: + name: CH ELM Results Laboratory Observation + exampleBoolean: false From dcff48a824da1699e4dd4ba6a5a702d211f2c2d5 Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Wed, 18 Oct 2023 11:03:46 +0200 Subject: [PATCH 02/16] add version to vs, add version parameters --- .../ValueSet-ch-elm-results-laboratory-observation.json | 1 + sushi-config.yaml | 2 ++ 2 files changed, 3 insertions(+) diff --git a/input/resources/ValueSet-ch-elm-results-laboratory-observation.json b/input/resources/ValueSet-ch-elm-results-laboratory-observation.json index c25e41d..54bbeae 100644 --- a/input/resources/ValueSet-ch-elm-results-laboratory-observation.json +++ b/input/resources/ValueSet-ch-elm-results-laboratory-observation.json @@ -2,6 +2,7 @@ "resourceType": "ValueSet", "id": "ch-elm-results-laboratory-observation", "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-laboratory-observation", + "version": "2023-10-18", "name": "ChElmResultsLaboratoryObservation", "title": "CH ELM Results Laboratory Observation", "status": "active", diff --git a/sushi-config.yaml b/sushi-config.yaml index b30eecb..e4da978 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -76,6 +76,8 @@ parameters: - fsh-generated/resources no-narrative: Bundle/* excludettl: true + apply-version: false + default-version: true resources: ValueSet/ch-elm-results-laboratory-observation: From d6e3312f229ffcb5e6a804bcf4fb02e149dd622c Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Wed, 18 Oct 2023 17:03:57 +0200 Subject: [PATCH 03/16] ChElmExtExpectedMaterialsGroup added --- input/fsh/profiles/Extension.fsh | 12 ++++++++++ ...ch-elm-results-laboratory-observation.json | 24 +++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/input/fsh/profiles/Extension.fsh b/input/fsh/profiles/Extension.fsh index 5f466be..059afe3 100644 --- a/input/fsh/profiles/Extension.fsh +++ b/input/fsh/profiles/Extension.fsh @@ -8,3 +8,15 @@ Description: "This CH ELM extension enables the representation of a department ( * value[x] 1.. * value[x] only string * valueString. ^short = "Name of the department" + + +Extension: ChElmExtExpectedMaterialsGroup +Id: ch-elm-ext-expected-materials-group +Title: "CH ELM Extension: Expected Materials Group" +Description: "This CH ELM extension is added in the value set CH ELM Results Laboratory Observation (Observation.code) to those leading LOINC codes that need to be complemented by a SNOMED CT code for the expected material (Specimen.type)." +* ^context[+].type = #element +* ^context[=].expression = "ValueSet.compose.include.concept" +* . ^short = "CH ELM Extension: Expected Materials Group" +* value[x] 1.. +* value[x] only url +* valueUrl. ^short = "Value set with the completing SNOMED CT codes included" diff --git a/input/resources/ValueSet-ch-elm-results-laboratory-observation.json b/input/resources/ValueSet-ch-elm-results-laboratory-observation.json index 54bbeae..cb40af9 100644 --- a/input/resources/ValueSet-ch-elm-results-laboratory-observation.json +++ b/input/resources/ValueSet-ch-elm-results-laboratory-observation.json @@ -138,6 +138,12 @@ "display": "Chlamydia trachomatis DNA [Presence] in Urethra by NAA with probe detection" }, { + "extension": [ + { + "url": "http://fhir.ch/ig/ch-elm/StructureDefinition/ch-elm-ext-expected-materials-group", + "valueUrl": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-lab-specimen-types-chlamydia-trachomatis" + } + ], "code": "21613-5", "display": "Chlamydia trachomatis DNA [Presence] in Specimen by NAA with probe detection" }, @@ -146,6 +152,12 @@ "display": "Chlamydia trachomatis rRNA [Presence] in Genital fluid by probe" }, { + "extension": [ + { + "url": "http://fhir.ch/ig/ch-elm/StructureDefinition/ch-elm-ext-expected-materials-group", + "valueUrl": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-lab-specimen-types-chlamydia-trachomatis" + } + ], "code": "31777-6", "display": "Chlamydia trachomatis Ag [Presence] in Specimen" }, @@ -154,6 +166,12 @@ "display": "Chlamydia trachomatis rRNA [Presence] in Urine by NAA with probe detection" }, { + "extension": [ + { + "url": "http://fhir.ch/ig/ch-elm/StructureDefinition/ch-elm-ext-expected-materials-group", + "valueUrl": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-lab-specimen-types-chlamydia-trachomatis" + } + ], "code": "43304-5", "display": "Chlamydia trachomatis rRNA [Presence] in Specimen by NAA with probe detection" }, @@ -194,6 +212,12 @@ "display": "Chlamydia trachomatis rRNA [Presence] in Anal by NAA with probe detection" }, { + "extension": [ + { + "url": "http://fhir.ch/ig/ch-elm/StructureDefinition/ch-elm-ext-expected-materials-group", + "valueUrl": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-lab-specimen-types-chlamydia-trachomatis" + } + ], "code": "6349-5", "display": "Chlamydia trachomatis [Presence] in Specimen by Organism specific culture" }, From b6e3bd206f96f979758f6c69b36abe56704afbf9 Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Fri, 20 Oct 2023 15:42:20 +0200 Subject: [PATCH 04/16] updates --- input/fsh/profiles/Extension.fsh | 12 - input/fsh/profiles/Observation.fsh | 16 +- input/fsh/terminology/LabSpecimenTypes.fsh | 79 ----- .../LabSpecimenTypesChlamydiaTrachomatis.fsh | 15 - ...LabStudyTypes.fsh => VS_LabStudyTypes.fsh} | 0 ... => VS_ObservationInterpretationCodes.fsh} | 0 ...sh => VS_ResultsCodedValuesLaboratory.fsh} | 0 input/ignoreWarnings.txt | 3 + input/pagecontent/guidance.md | 33 +- input/pagecontent/terminology.md | 9 +- ...deSystem-ch-elm-results-completing-vs.json | 93 ++++++ ...erials-group-to-results-completing-vs.json | 61 ++++ ...ueSet-ch-elm-expected-materials-group.json | 36 +++ .../ValueSet-ch-elm-lab-specimen-types.json | 299 ++++++++++++++++++ ...ValueSet-ch-elm-results-completing-vs.json | 98 ++++++ .../ValueSet-ch-elm-results-geni-spec.json | 48 +++ ...ch-elm-results-laboratory-observation.json | 24 -- sushi-config.yaml | 7 +- 18 files changed, 686 insertions(+), 147 deletions(-) delete mode 100644 input/fsh/terminology/LabSpecimenTypes.fsh delete mode 100644 input/fsh/terminology/LabSpecimenTypesChlamydiaTrachomatis.fsh rename input/fsh/terminology/{LabStudyTypes.fsh => VS_LabStudyTypes.fsh} (100%) rename input/fsh/terminology/{ObservationInterpretationCodes.fsh => VS_ObservationInterpretationCodes.fsh} (100%) rename input/fsh/terminology/{ResultsCodedValuesLaboratory.fsh => VS_ResultsCodedValuesLaboratory.fsh} (100%) create mode 100644 input/resources/CodeSystem-ch-elm-results-completing-vs.json create mode 100644 input/resources/ConceptMap-ch-elm-expected-materials-group-to-results-completing-vs.json create mode 100644 input/resources/ValueSet-ch-elm-expected-materials-group.json create mode 100644 input/resources/ValueSet-ch-elm-lab-specimen-types.json create mode 100644 input/resources/ValueSet-ch-elm-results-completing-vs.json create mode 100644 input/resources/ValueSet-ch-elm-results-geni-spec.json diff --git a/input/fsh/profiles/Extension.fsh b/input/fsh/profiles/Extension.fsh index 059afe3..5f466be 100644 --- a/input/fsh/profiles/Extension.fsh +++ b/input/fsh/profiles/Extension.fsh @@ -8,15 +8,3 @@ Description: "This CH ELM extension enables the representation of a department ( * value[x] 1.. * value[x] only string * valueString. ^short = "Name of the department" - - -Extension: ChElmExtExpectedMaterialsGroup -Id: ch-elm-ext-expected-materials-group -Title: "CH ELM Extension: Expected Materials Group" -Description: "This CH ELM extension is added in the value set CH ELM Results Laboratory Observation (Observation.code) to those leading LOINC codes that need to be complemented by a SNOMED CT code for the expected material (Specimen.type)." -* ^context[+].type = #element -* ^context[=].expression = "ValueSet.compose.include.concept" -* . ^short = "CH ELM Extension: Expected Materials Group" -* value[x] 1.. -* value[x] only url -* valueUrl. ^short = "Value set with the completing SNOMED CT codes included" diff --git a/input/fsh/profiles/Observation.fsh b/input/fsh/profiles/Observation.fsh index 1f048a5..6c659c1 100644 --- a/input/fsh/profiles/Observation.fsh +++ b/input/fsh/profiles/Observation.fsh @@ -13,9 +13,21 @@ Description: "This CH ELM base profile constrains the Observation resource for t * effectiveDateTime 1.. * effectiveDateTime obeys ch-elm-dateTime * value[x] 1.. -* valueCodeableConcept 1.. +* valueQuantity 0..1 +// * valueQuantity only ChElmQuantity +* valueCodeableConcept 0..1 * valueCodeableConcept only ChElmCodeableConcept -* valueCodeableConcept from ChElmResultsCodedValuesLaboratory (required) +* valueCodeableConcept from ChElmResultsCodedValuesLaboratory (preferred) // (required) +// https://build.fhir.org/ig/FHIR/fhir-tools-ig/StructureDefinition-additional-binding.html +/* +* valueCodeableConcept ^binding.extension[0].url = "http://hl7.org/fhir/tools/StructureDefinition/additional-binding" +* valueCodeableConcept ^binding.extension[=].extension[0].url = "purpose" +* valueCodeableConcept ^binding.extension[=].extension[=].valueCode = #candidate +* valueCodeableConcept ^binding.extension[=].extension[+].url = "valueSet" +* valueCodeableConcept ^binding.extension[=].extension[=].valueCanonical = "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-microorganism" +* valueCodeableConcept ^binding.extension[=].extension[+].url = "documentation" +* valueCodeableConcept ^binding.extension[=].extension[=].valueMarkdown = "Additional conformance binding to be able to represent additional organisms, with codes from the ValueSet CH ELM Results Microorganism." +*/ * performer 1..1 * performer only Reference(ChElmOrganizationLab) * specimen only Reference(ChElmSpecimen) diff --git a/input/fsh/terminology/LabSpecimenTypes.fsh b/input/fsh/terminology/LabSpecimenTypes.fsh deleted file mode 100644 index 34292f6..0000000 --- a/input/fsh/terminology/LabSpecimenTypes.fsh +++ /dev/null @@ -1,79 +0,0 @@ -ValueSet: ChElmLabSpecimenTypes -Id: ch-elm-lab-specimen-types -Title: "CH ELM Lab Specimen Types" -Description: "This CH ELM value set includes the codes for the laboratory specimen." -* ^status = #active -* ^experimental = false - -* $sct#257261003 "Swab" // 1=swab -* $sct#123038009 "Specimen" // 2=other -* $sct#258500001 "Nasopharyngeal swab" // 3=nasopharyngeal swab -* $sct#461911000124106 "Oropharyngeal swab" // 4=oropharyngeal swab -* $sct#258529004 "Throat swab" // 5=throat swab -* $sct#258607008 "Bronchoalveolar lavage fluid" // 6=bronchoalveolar lavage -* $sct#119339001 "Faeces specimen" // 7=faeces -* $sct#119334006 "Sputum specimen" // 8=sputum -* $sct#119297000 "Blood specimen" // 9=full blood -* $sct#119342007 "Saliva specimen" // 10=saliva -* $sct#447154002 "Specimen from nose" // 11=specimen from nose -* $sct#119371008 "Specimen from abscess" // 12 abscess -* $sct#447955000 "Specimen from rectum" // 13 anal/rectum -* $sct#168139001 "Peritoneal fluid" // 14 peritoneal fluid -* $sct#119399004 "Specimen from eye" // 15 eye -* $sct#119401005 "Specimen from conjunctiva" // 16 conjunctival specimen -* $sct#258415003 "Biopsy specimen" // 17 biopsy -* $sct#119395005 "Specimen from uterine cervix" // 18 cervix -* $sct#119344008 "Specimen from genital system" // 19 genital -* $sct#258450006 "Cerebrospinal fluid specimen" // 20 cerebrospinal fluid -* $sct#258589002 "Lymph node specimen" // 21 lymph node -* $sct#258426009 "Placental membrane tissue specimen" // 22 placental tissue -* $sct#57711000052109 "Specimen obtained by puncture procedure" // 23 punctate -* $sct#119347001 "Seminal fluid" // 24 seminal fluid -* $sct#122575003 "Urine specimen" // 25 urine -* $sct#119394009 "Specimen from vagina" // 26 vaginal -* $sct#119365002 "Specimen from wound" // 27 wound -* $sct#119393003 "Specimen from urethra" // 28 urethra -* $sct#119364003 "Serum specimen" // 29 serum -* $sct#309051001 "Body fluid specimen" // 30 unspecified body fluid -* $sct#430304001 "Specimen from unspecified body site" // 31 unspecified -* $sct#309132009 "Prostate biopsy specimen" // 32 prostate biopsy - -* $sct#472904006 "Swab from abdomen" -* $sct#258527002 "Anal swab" -* $sct#445160003 "Swab of eye" -* $sct#119300005 "Specimen from blood product" -* $sct#119391001 "Specimen from bronchus" -* $sct#258454002 "Dialysis fluid specimen" -* $sct#122643008 "Tissue specimen from large intestine" -* $sct#119323008 "Pus specimen" -* $sct#119378002 "Endocardial specimen" -* $sct#119373006 "Amniotic fluid specimen" -* $sct#119341000 "Bile specimen" -* $sct#119332005 "Synovial fluid specimen" -* $sct#258508008 "Genital swab" -* $sct#119376003 "Tissue specimen" -* $sct#608969007 "Specimen from skin" -* $sct#119398007 "Specimen from brain" -* $sct#119303007 "Microbial isolate specimen" -* $sct#430268003 "Specimen from bone" -* $sct#445447003 "Specimen from trachea obtained by aspiration" -* $sct#399492000 "Tissue specimen from lung" -* $sct#258459007 "Gastric fluid sample" -* $sct#119359002 "Bone marrow specimen" -* $sct#122556008 "Cord blood specimen" -* $sct#309165001 "Ear sample" -* $sct#119343002 "Pancreatic fluid specimen" -* $sct#119361006 "Plasma specimen" -* $sct#122736005 "Tissue specimen from placenta" -* $sct#418564007 "Pleural fluid specimen" -* $sct#119386002 "Specimen from prostate" -* $sct#119295008 "Specimen obtained by aspiration" -* $sct#119389009 "Specimen from throat" -* $sct#119396006 "Specimen from endometrium" -* $sct#258465007 "Lacrimal fluid sample" -* $sct#119369008 "Specimen from ulcer" -* $sct#119324002 "Specimen of unknown material" -* $sct#258520000 "Vaginal swab" -* $sct#258580003 "Whole blood sample" -* $sct#258531008 "Wound swab" -* $sct#119368000 "Specimen from cyst" diff --git a/input/fsh/terminology/LabSpecimenTypesChlamydiaTrachomatis.fsh b/input/fsh/terminology/LabSpecimenTypesChlamydiaTrachomatis.fsh deleted file mode 100644 index ea2925f..0000000 --- a/input/fsh/terminology/LabSpecimenTypesChlamydiaTrachomatis.fsh +++ /dev/null @@ -1,15 +0,0 @@ -ValueSet: ChElmLabSpecimenTypesChlamydiaTrachomatis -Id: ch-elm-lab-specimen-types-chlamydia-trachomatis -Title: "CH ELM Lab Specimen Types: Chlamydia Trachomatis" -Description: "This restricted CH ELM value set includes the codes for the laboratory specimen if, in addition to the leading LOINC code, the collection material must be given in coded form." -* ^status = #active -* ^experimental = false - -* $sct#119395005 "Specimen from uterine cervix" -* $sct#258527002 "Anal swab" -* $sct#258508008 "Genital swab" -* $sct#258520000 "Vaginal swab" -* $sct#119393003 "Specimen from urethra" -* $sct#119347001 "Seminal fluid" -* $sct#119396006 "Specimen from endometrium" - diff --git a/input/fsh/terminology/LabStudyTypes.fsh b/input/fsh/terminology/VS_LabStudyTypes.fsh similarity index 100% rename from input/fsh/terminology/LabStudyTypes.fsh rename to input/fsh/terminology/VS_LabStudyTypes.fsh diff --git a/input/fsh/terminology/ObservationInterpretationCodes.fsh b/input/fsh/terminology/VS_ObservationInterpretationCodes.fsh similarity index 100% rename from input/fsh/terminology/ObservationInterpretationCodes.fsh rename to input/fsh/terminology/VS_ObservationInterpretationCodes.fsh diff --git a/input/fsh/terminology/ResultsCodedValuesLaboratory.fsh b/input/fsh/terminology/VS_ResultsCodedValuesLaboratory.fsh similarity index 100% rename from input/fsh/terminology/ResultsCodedValuesLaboratory.fsh rename to input/fsh/terminology/VS_ResultsCodedValuesLaboratory.fsh diff --git a/input/ignoreWarnings.txt b/input/ignoreWarnings.txt index 7f71a47..48a8cf7 100644 --- a/input/ignoreWarnings.txt +++ b/input/ignoreWarnings.txt @@ -20,3 +20,6 @@ The link 'StructureDefinition-LaboratoryReport-mappings.html#mappings-for-ch-elm # Narrative Rule dom-6: 'A resource should have narrative for robust management' Failed (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation) + +# https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/New.20ConceptMap.20Warning.20--.20induced.20by.20IG.20Publisher +The modifier extension http://hl7.org/fhir/1.0/StructureDefinition/extension-ConceptMap.element.target.equivalence from FHIR version {3} is not allowed to be used at this point (allowed = e:ConceptMap.element.target; this element is [[BackboneElement, ConceptMap.group.element.target]; this is a warning since contexts may be renamed between FHIR versions) diff --git a/input/pagecontent/guidance.md b/input/pagecontent/guidance.md index e00d236..69802fa 100644 --- a/input/pagecontent/guidance.md +++ b/input/pagecontent/guidance.md @@ -34,30 +34,47 @@ The laboratory report is currently either of the type [organism detection](#orga * `Observation.interpretation` = Resistant/Susceptible ([CH ELM Observation Interpretation Codes](ValueSet-ch-elm-observation-interpretation-codes.html)) ### Laboratory Result -The laboratory result is represented by a so called leading LOINC code and laboratories are requested to choose the code from the provided ValueSet ([CH ELM Results Laboratory Observation](ValueSet-ch-elm-results-laboratory-observation.html)) that corresponds to the test parameters performed. The LOINC code reflects a 4-axis model and ideally, the chosen LOINC code covers all 4 axes. -[Example](Bundle-1Doc-NeisseriaGonorrhoeae.html): LOINC [697-3 Neisseria gonorrhoeae [Presence] in Urethra by Organism specific culture](https://loinc.org/697-3/): +#### Leading LOINC Code +The laboratory result is represented by a so called leading LOINC code and laboratories are requested to choose the code from the provided ([ValueSet CH ELM Results Laboratory Observation](ValueSet-ch-elm-results-laboratory-observation.html)) that corresponds to the test parameters performed. The LOINC code reflects a 4-axis model and ideally, the chosen LOINC code covers all 4 axes. + +[Example Neisseria gonorrhoeae](Bundle-1Doc-NeisseriaGonorrhoeae.html): The leading LOINC code [697-3 Neisseria gonorrhoeae [Presence] in Urethra by Organism specific culture](https://loinc.org/697-3/) covering all 4 axes: * **Organism**: Neisseria gonorrhoeae * **Detection**: organism growth * **Detection method**: organism specific culture * **Collection material**: urethra -If the leading LOINC code does not cover all axes, the missing axis must be complemented by a SNOMED CT code (see below “Collection Material“). +Note: The Specimen.type.text element in this case contains a fixed text as value: “Material declared by LOINC system axis”. + +Important note: The ([ValueSet CH ELM Results Laboratory Observation](ValueSet-ch-elm-results-laboratory-observation.html)) is a selection of LOINC codes related to notifiable diseases and their legal basis. The ValueSet can be adapted according to laboratory-specific needs - please contact the FOPH in this regard. -[Example](Bundle-2Doc-ChlamydiaTrachomatis.html): The leading LOINC code (Observation.code = LOINC 6349-5), complemented by a SNOMED CT code for the collection material (Specimen.type = SNOMED CT 119393003) +#### Complementing the LOINC Code +If the leading LOINC code does not cover all axes, the missing axis must be complemented by a SNOMED CT code. -**Important note**: The [ValueSet](ValueSet-ch-elm-results-laboratory-observation.html) is a selection of LOINC codes related to notifiable diseases and their legal basis. The [ValueSet](ValueSet-ch-elm-results-laboratory-observation.html) can be adapted according to laboratory-specific needs - please contact the FOPH in this regard. +TODO: Allgemeinen Mechanismus beschreiben -#### Collection Material -In the cases described below, the collection material must be explicitly specified. +##### Expected Materials Group +In some cases, the collection material must be explicitly specified, e.g.: * Chlamydia trachomatis * if Observation.code = LOINC 21613-5 / 31777-6 / 43304-5 / 6349-5 - * use a Specimen.type form the [ValueSet CH ELM Lab Specimen Types: Chlamydia Trachomatis](ValueSet-ch-elm-lab-specimen-types-chlamydia-trachomatis.html) + * use a Specimen.type form the [ValueSet CH ELM Results Geni Spec](ValueSet-ch-elm-results-geni-spec.html) + * [Example Chlamydia trachomatis](Bundle-2Doc-ChlamydiaTrachomatis.html): The leading LOINC code (Observation.code = LOINC 6349-5), is complemented by a SNOMED CT code for the collection material (Specimen.type = SNOMED CT 119393003). In all other cases, the Specimen.type has to be defined as fixed text: “Material declared by LOINC system axis”. +##### Expected Organisms Group +In some cases, an additional organism must be specified, e.g.: + +* TODO + * if Observation.code = LOINC ... + * use a ... from the [ValueSet CH ELM ...]() + * [Example]() + +In all other cases, the ... + + ### Multiplex Cases The exchange format defines the [FHIR document](document.html) for reporting to the FOPH so that **one document per organism per patient** is submitted. diff --git a/input/pagecontent/terminology.md b/input/pagecontent/terminology.md index e42d728..f3c3363 100644 --- a/input/pagecontent/terminology.md +++ b/input/pagecontent/terminology.md @@ -2,7 +2,14 @@ {% include list-simple-valuesets.xhtml %} +### CodeSystems + +{% include list-simple-codesystems.xhtml %} + +### ConceptMaps + +{% include list-simple-conceptmaps.xhtml %} + ### NamingSystems {% include list-simple-namingsystems.xhtml %} - diff --git a/input/resources/CodeSystem-ch-elm-results-completing-vs.json b/input/resources/CodeSystem-ch-elm-results-completing-vs.json new file mode 100644 index 0000000..1d0f1c2 --- /dev/null +++ b/input/resources/CodeSystem-ch-elm-results-completing-vs.json @@ -0,0 +1,93 @@ +{ + "resourceType": "CodeSystem", + "id": "ch-elm-results-completing-vs", + "url": "http://fhir.ch/ig/ch-elm/CodeSystem/ch-elm-results-completing-vs", + "version": "2023-10-18", + "name": "ChElmResultsCompletingValueSets", + "title": "CH ELM Results Completing ValueSets", + "status": "active", + "experimental": false, + "description": "This CH ELM code system defines the value set URLs as codes to map in the concept maps the leading LOINC codes, which must be complemented with SNOMED CT codes.", + "caseSensitive": false, + "content": "complete", + "concept": [ + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-sterile-spec" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-geni-spec" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-bot-spec" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-diph-spec" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-tub-spec" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-mpx-sash" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-mpx-ctng" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-inf-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-mea-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-ehec-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-shi-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-diph-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-pneu-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-tub-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-sal-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-haem-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-lis-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-chol-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-hiv-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-bru-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-mpx-sashec" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-men-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-cpe-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-mal-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-bot-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-tub-gen-org" + } + ] +} diff --git a/input/resources/ConceptMap-ch-elm-expected-materials-group-to-results-completing-vs.json b/input/resources/ConceptMap-ch-elm-expected-materials-group-to-results-completing-vs.json new file mode 100644 index 0000000..5d663ea --- /dev/null +++ b/input/resources/ConceptMap-ch-elm-expected-materials-group-to-results-completing-vs.json @@ -0,0 +1,61 @@ +{ + "resourceType": "ConceptMap", + "id": "ch-elm-expected-materials-group-to-results-completing-vs", + "url": "http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expected-materials-group-to-results-completing-vs", + "version": "2023-10-18", + "name": "ChElmExpectedMaterialsGroupToResultsCompletingValueSets", + "title": "CH ELM Expected Materials Group To Results Completing ValueSets Mapping", + "status": "active", + "experimental": false, + "description": "This CH ELM concept map shows which leading LOINC codes have to be complemented by a SNOMED CT code. The target code shows the URL of the value set from which the completing codes for the expected materials group must to come.", + "sourceCanonical": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group", + "targetCanonical": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-completing-vs", + "group": [ + { + "source": "http://loinc.org", + "target": "http://fhir.ch/ig/ch-elm/CodeSystem/ch-elm-results-completing-vs", + "element": [ + { + "code": "21613-5", + "display": "Chlamydia trachomatis DNA [Presence] in Specimen by NAA with probe detection", + "target": [ + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-geni-spec", + "equivalence": "relatedto" + } + ] + }, + { + "code": "31777-6", + "display": "Chlamydia trachomatis Ag [Presence] in Specimen", + "target": [ + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-geni-spec", + "equivalence": "relatedto" + } + ] + }, + { + "code": "43304-5", + "display": "Chlamydia trachomatis rRNA [Presence] in Specimen by NAA with probe detection", + "target": [ + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-geni-spec", + "equivalence": "relatedto" + } + ] + }, + { + "code": "6349-5", + "display": "Chlamydia trachomatis [Presence] in Specimen by Organism specific culture", + "target": [ + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-geni-spec", + "equivalence": "relatedto" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/input/resources/ValueSet-ch-elm-expected-materials-group.json b/input/resources/ValueSet-ch-elm-expected-materials-group.json new file mode 100644 index 0000000..85caa02 --- /dev/null +++ b/input/resources/ValueSet-ch-elm-expected-materials-group.json @@ -0,0 +1,36 @@ +{ + "resourceType": "ValueSet", + "id": "ch-elm-expected-materials-group", + "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group", + "version": "2023-10-18", + "name": "ChElmExpectedMaterialsGroup", + "title": "CH ELM Expected Materials Group", + "status": "active", + "experimental": false, + "description": "This CH ELM value set includes the leading LOINC codes for the laboratory test results, which have to be complemented by a SNOMED CT code for the expected materials.", + "compose": { + "include": [ + { + "system": "http://loinc.org", + "concept": [ + { + "code": "21613-5", + "display": "Chlamydia trachomatis DNA [Presence] in Specimen by NAA with probe detection" + }, + { + "code": "31777-6", + "display": "Chlamydia trachomatis Ag [Presence] in Specimen" + }, + { + "code": "43304-5", + "display": "Chlamydia trachomatis rRNA [Presence] in Specimen by NAA with probe detection" + }, + { + "code": "6349-5", + "display": "Chlamydia trachomatis [Presence] in Specimen by Organism specific culture" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/input/resources/ValueSet-ch-elm-lab-specimen-types.json b/input/resources/ValueSet-ch-elm-lab-specimen-types.json new file mode 100644 index 0000000..8d7672e --- /dev/null +++ b/input/resources/ValueSet-ch-elm-lab-specimen-types.json @@ -0,0 +1,299 @@ +{ + "resourceType": "ValueSet", + "id": "ch-elm-lab-specimen-types", + "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-lab-specimen-types", + "name": "ChElmLabSpecimenTypes", + "title": "CH ELM Lab Specimen Types", + "status": "active", + "experimental": false, + "description": "This CH ELM value set includes the codes for the laboratory specimen.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "257261003", + "display": "Swab" + }, + { + "code": "123038009", + "display": "Specimen" + }, + { + "code": "258500001", + "display": "Nasopharyngeal swab" + }, + { + "code": "461911000124106", + "display": "Oropharyngeal swab" + }, + { + "code": "258529004", + "display": "Throat swab" + }, + { + "code": "258607008", + "display": "Bronchoalveolar lavage fluid" + }, + { + "code": "119339001", + "display": "Faeces specimen" + }, + { + "code": "119334006", + "display": "Sputum specimen" + }, + { + "code": "119297000", + "display": "Blood specimen" + }, + { + "code": "119342007", + "display": "Saliva specimen" + }, + { + "code": "447154002", + "display": "Specimen from nose" + }, + { + "code": "119371008", + "display": "Specimen from abscess" + }, + { + "code": "447955000", + "display": "Specimen from rectum" + }, + { + "code": "168139001", + "display": "Peritoneal fluid" + }, + { + "code": "119399004", + "display": "Specimen from eye" + }, + { + "code": "119401005", + "display": "Specimen from conjunctiva" + }, + { + "code": "258415003", + "display": "Biopsy specimen" + }, + { + "code": "119395005", + "display": "Specimen from uterine cervix" + }, + { + "code": "119344008", + "display": "Specimen from genital system" + }, + { + "code": "258450006", + "display": "Cerebrospinal fluid specimen" + }, + { + "code": "258589002", + "display": "Lymph node specimen" + }, + { + "code": "258426009", + "display": "Placental membrane tissue specimen" + }, + { + "code": "57711000052109", + "display": "Specimen obtained by puncture procedure" + }, + { + "code": "119347001", + "display": "Seminal fluid" + }, + { + "code": "119394009", + "display": "Specimen from vagina" + }, + { + "code": "119365002", + "display": "Specimen from wound" + }, + { + "code": "119393003", + "display": "Specimen from urethra" + }, + { + "code": "119364003", + "display": "Serum specimen" + }, + { + "code": "309051001", + "display": "Body fluid specimen" + }, + { + "code": "430304001", + "display": "Specimen from unspecified body site" + }, + { + "code": "309132009", + "display": "Prostate biopsy specimen" + }, + { + "code": "472904006", + "display": "Swab from abdomen" + }, + { + "code": "258527002", + "display": "Anal swab" + }, + { + "code": "445160003", + "display": "Swab of eye" + }, + { + "code": "119300005", + "display": "Specimen from blood product" + }, + { + "code": "119391001", + "display": "Specimen from bronchus" + }, + { + "code": "258454002", + "display": "Dialysis fluid specimen" + }, + { + "code": "122643008", + "display": "Tissue specimen from large intestine" + }, + { + "code": "119323008", + "display": "Pus specimen" + }, + { + "code": "119378002", + "display": "Endocardial specimen" + }, + { + "code": "119373006", + "display": "Amniotic fluid specimen" + }, + { + "code": "119341000", + "display": "Bile specimen" + }, + { + "code": "119332005", + "display": "Synovial fluid specimen" + }, + { + "code": "258508008", + "display": "Genital swab" + }, + { + "code": "119376003", + "display": "Tissue specimen" + }, + { + "code": "608969007", + "display": "Specimen from skin" + }, + { + "code": "119398007", + "display": "Specimen from brain" + }, + { + "code": "119303007", + "display": "Microbial isolate specimen" + }, + { + "code": "430268003", + "display": "Specimen from bone" + }, + { + "code": "445447003", + "display": "Specimen from trachea obtained by aspiration" + }, + { + "code": "399492000", + "display": "Tissue specimen from lung" + }, + { + "code": "258459007", + "display": "Gastric fluid sample" + }, + { + "code": "119359002", + "display": "Bone marrow specimen" + }, + { + "code": "122556008", + "display": "Cord blood specimen" + }, + { + "code": "309165001", + "display": "Ear sample" + }, + { + "code": "119343002", + "display": "Pancreatic fluid specimen" + }, + { + "code": "119361006", + "display": "Plasma specimen" + }, + { + "code": "122736005", + "display": "Tissue specimen from placenta" + }, + { + "code": "418564007", + "display": "Pleural fluid specimen" + }, + { + "code": "119386002", + "display": "Specimen from prostate" + }, + { + "code": "119295008", + "display": "Specimen obtained by aspiration" + }, + { + "code": "119389009", + "display": "Specimen from throat" + }, + { + "code": "119396006", + "display": "Specimen from endometrium" + }, + { + "code": "258465007", + "display": "Lacrimal fluid sample" + }, + { + "code": "119369008", + "display": "Specimen from ulcer" + }, + { + "code": "119324002", + "display": "Specimen of unknown material" + }, + { + "code": "258520000", + "display": "Vaginal swab" + }, + { + "code": "258580003", + "display": "Whole blood sample" + }, + { + "code": "258531008", + "display": "Wound swab" + }, + { + "code": "119368000", + "display": "Specimen from cyst" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/input/resources/ValueSet-ch-elm-results-completing-vs.json b/input/resources/ValueSet-ch-elm-results-completing-vs.json new file mode 100644 index 0000000..fb4c07d --- /dev/null +++ b/input/resources/ValueSet-ch-elm-results-completing-vs.json @@ -0,0 +1,98 @@ +{ + "resourceType": "ValueSet", + "id": "ch-elm-results-completing-vs", + "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-completing-vs", + "version": "2023-10-18", + "name": "ChElmResultsCompletingValueSets", + "title": "CH ELM Results Completing ValueSets", + "status": "active", + "experimental": false, + "description": "This CH ELM value set includes the value set URLs as codes to map in the concept maps the leading LOINC codes, which must be complemented with SNOMED CT codes.", + "compose": { + "include": [ + { + "system": "http://fhir.ch/ig/ch-elm/CodeSystem/ch-elm-results-completing-vs", + "concept": [ + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-sterile-spec" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-geni-spec" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-bot-spec" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-diph-spec" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-tub-spec" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-mpx-sash" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-mpx-ctng" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-inf-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-mea-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-ehec-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-shi-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-diph-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-pneu-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-tub-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-sal-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-haem-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-lis-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-chol-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-hiv-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-bru-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-mpx-sashec" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-men-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-cpe-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-mal-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-bot-org" + }, + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-tub-gen-org" + } + ] + } + ] + } +} diff --git a/input/resources/ValueSet-ch-elm-results-geni-spec.json b/input/resources/ValueSet-ch-elm-results-geni-spec.json new file mode 100644 index 0000000..a708aaa --- /dev/null +++ b/input/resources/ValueSet-ch-elm-results-geni-spec.json @@ -0,0 +1,48 @@ +{ + "resourceType": "ValueSet", + "id": "ch-elm-results-geni-spec", + "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-geni-spec", + "version": "2023-10-18", + "name": "ChElmResultsGeniSpec", + "title": "CH ELM Results Geni Spec", + "status": "active", + "experimental": false, + "description": "This CH ELM value set includes the codes for the laboratory test results to complement the leading LOINC code with a SNOMED CT code.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "119395005", + "display": "Specimen from uterine cervix" + }, + { + "code": "258527002", + "display": "Anal swab" + }, + { + "code": "258508008", + "display": "Genital swab" + }, + { + "code": "258520000", + "display": "Vaginal swab" + }, + { + "code": "119393003", + "display": "Specimen from urethra" + }, + { + "code": "119347001", + "display": "Seminal fluid" + }, + { + "code": "119396006", + "display": "Specimen from endometrium" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/input/resources/ValueSet-ch-elm-results-laboratory-observation.json b/input/resources/ValueSet-ch-elm-results-laboratory-observation.json index cb40af9..54bbeae 100644 --- a/input/resources/ValueSet-ch-elm-results-laboratory-observation.json +++ b/input/resources/ValueSet-ch-elm-results-laboratory-observation.json @@ -138,12 +138,6 @@ "display": "Chlamydia trachomatis DNA [Presence] in Urethra by NAA with probe detection" }, { - "extension": [ - { - "url": "http://fhir.ch/ig/ch-elm/StructureDefinition/ch-elm-ext-expected-materials-group", - "valueUrl": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-lab-specimen-types-chlamydia-trachomatis" - } - ], "code": "21613-5", "display": "Chlamydia trachomatis DNA [Presence] in Specimen by NAA with probe detection" }, @@ -152,12 +146,6 @@ "display": "Chlamydia trachomatis rRNA [Presence] in Genital fluid by probe" }, { - "extension": [ - { - "url": "http://fhir.ch/ig/ch-elm/StructureDefinition/ch-elm-ext-expected-materials-group", - "valueUrl": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-lab-specimen-types-chlamydia-trachomatis" - } - ], "code": "31777-6", "display": "Chlamydia trachomatis Ag [Presence] in Specimen" }, @@ -166,12 +154,6 @@ "display": "Chlamydia trachomatis rRNA [Presence] in Urine by NAA with probe detection" }, { - "extension": [ - { - "url": "http://fhir.ch/ig/ch-elm/StructureDefinition/ch-elm-ext-expected-materials-group", - "valueUrl": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-lab-specimen-types-chlamydia-trachomatis" - } - ], "code": "43304-5", "display": "Chlamydia trachomatis rRNA [Presence] in Specimen by NAA with probe detection" }, @@ -212,12 +194,6 @@ "display": "Chlamydia trachomatis rRNA [Presence] in Anal by NAA with probe detection" }, { - "extension": [ - { - "url": "http://fhir.ch/ig/ch-elm/StructureDefinition/ch-elm-ext-expected-materials-group", - "valueUrl": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-lab-specimen-types-chlamydia-trachomatis" - } - ], "code": "6349-5", "display": "Chlamydia trachomatis [Presence] in Specimen by Organism specific culture" }, diff --git a/sushi-config.yaml b/sushi-config.yaml index e4da978..6aae957 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -8,7 +8,7 @@ canonical: http://fhir.ch/ig/ch-elm name: CH_ELM title: "CH ELM (R4)" description: FHIR® Implementation Guide for the Electronic Laboratory Report of the Swiss Federal Office of Public Health -status: draft +status: draft # draft | active | retired | unknown license: CC0-1.0 copyright: CC0-1.0 jurisdiction: urn:iso:std:iso:3166#CHE @@ -78,8 +78,3 @@ parameters: excludettl: true apply-version: false default-version: true - -resources: - ValueSet/ch-elm-results-laboratory-observation: - name: CH ELM Results Laboratory Observation - exampleBoolean: false From 7a174dd3492cb8204440d0f8558af7dcbbd5bac7 Mon Sep 17 00:00:00 2001 From: oliveregger Date: Mon, 23 Oct 2023 22:09:04 +0200 Subject: [PATCH 05/16] add constraints ch-elm-expected-materials-group --- input/fsh/invariants.fsh | 10 ++++++++++ input/fsh/profiles/Observation.fsh | 2 ++ 2 files changed, 12 insertions(+) diff --git a/input/fsh/invariants.fsh b/input/fsh/invariants.fsh index 0b23575..8c79e5f 100644 --- a/input/fsh/invariants.fsh +++ b/input/fsh/invariants.fsh @@ -14,3 +14,13 @@ Invariant: ch-elm-practrole Description: "Must have at least a practitioner or an organization." Severity: #error Expression: "practitioner.exists() or practitioner.exists()" + +Invariant: ch-elm-expected-materials-group +Description: "if Observation.code is a member of http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group, then specimen.type must be a member of the mapped ValueSet in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expected-materials-group-to-results-completing-vs" +Severity: #error +Expression: "code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group') implies specimen.resolve().exists() and specimen.resolve().type.exists() and specimen.resolve().type.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expected-materials-group-to-results-completing-vs'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).target.first().code)" + +Invariant: ch-elm-material-declared-by-loinc +Description: "Material declared by LOINC system axis" +Severity: #error +Expression: "code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group').not() implies specimen.resolve().exists() and specimen.resolve().type.exists() and specimen.resolve().type.text.exists() and specimen.resolve().type.text='Material declared by LOINC system axis'" \ No newline at end of file diff --git a/input/fsh/profiles/Observation.fsh b/input/fsh/profiles/Observation.fsh index 6c659c1..99a881f 100644 --- a/input/fsh/profiles/Observation.fsh +++ b/input/fsh/profiles/Observation.fsh @@ -3,6 +3,8 @@ Parent: ChLabObservationResultsLaboratory Id: ch-elm-observation-results-laboratory Title: "CH ELM Observation Results: Laboratory" Description: "This CH ELM base profile constrains the Observation resource for the purpose of laboratory test reports." +* obeys ch-elm-expected-materials-group +* obeys ch-elm-material-declared-by-loinc * . ^short = "CH ELM Observation Results: Laboratory" * status = #final * code from ChElmResultsLaboratoryObservation (required) From f200dde57be9601d3a06c11b036653ddde860e80 Mon Sep 17 00:00:00 2001 From: Michaela Ziegler <32767151+ziegm@users.noreply.github.com> Date: Tue, 24 Oct 2023 07:42:57 +0200 Subject: [PATCH 06/16] Typo --- input/fsh/invariants.fsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/input/fsh/invariants.fsh b/input/fsh/invariants.fsh index 8c79e5f..771f7c1 100644 --- a/input/fsh/invariants.fsh +++ b/input/fsh/invariants.fsh @@ -16,11 +16,11 @@ Severity: #error Expression: "practitioner.exists() or practitioner.exists()" Invariant: ch-elm-expected-materials-group -Description: "if Observation.code is a member of http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group, then specimen.type must be a member of the mapped ValueSet in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expected-materials-group-to-results-completing-vs" +Description: "If Observation.code is a member of http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group, then Specimen.type must be a member of the mapped ValueSet in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expected-materials-group-to-results-completing-vs" Severity: #error Expression: "code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group') implies specimen.resolve().exists() and specimen.resolve().type.exists() and specimen.resolve().type.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expected-materials-group-to-results-completing-vs'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).target.first().code)" Invariant: ch-elm-material-declared-by-loinc Description: "Material declared by LOINC system axis" Severity: #error -Expression: "code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group').not() implies specimen.resolve().exists() and specimen.resolve().type.exists() and specimen.resolve().type.text.exists() and specimen.resolve().type.text='Material declared by LOINC system axis'" \ No newline at end of file +Expression: "code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group').not() implies specimen.resolve().exists() and specimen.resolve().type.exists() and specimen.resolve().type.text.exists() and specimen.resolve().type.text='Material declared by LOINC system axis'" From f640ca338c09f99b49ec7543dbd0445bcd467442 Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Mon, 30 Oct 2023 14:10:11 +0100 Subject: [PATCH 07/16] rename terminology --- .../1bSpec-NeisseriaGonorrhoeae.fsh | 2 +- .../1Spec-NeisseriaGonorrhoeae.fsh | 2 +- input/fsh/invariants.fsh | 14 ++++---- input/fsh/profiles/Observation.fsh | 4 +-- input/fsh/profiles/Specimen.fsh | 6 ++-- input/pagecontent/guidance.md | 35 ++++++++++--------- ...deSystem-ch-elm-result-completion-vs.json} | 12 +++---- ...specification-to-result-completion-vs.json | 31 ++++++++++++++++ ...pecification-to-result-completion-vs.json} | 18 +++++----- ...-elm-expecting-organism-specification.json | 18 ++++++++++ ...elm-expecting-specimen-specification.json} | 12 +++---- ...ValueSet-ch-elm-result-completion-vs.json} | 12 +++---- .../ValueSet-ch-elm-results-geni-spec.json | 2 +- 13 files changed, 109 insertions(+), 59 deletions(-) rename input/resources/{CodeSystem-ch-elm-results-completing-vs.json => CodeSystem-ch-elm-result-completion-vs.json} (88%) create mode 100644 input/resources/ConceptMap-ch-elm-expecting-organism-specification-to-result-completion-vs.json rename input/resources/{ConceptMap-ch-elm-expected-materials-group-to-results-completing-vs.json => ConceptMap-ch-elm-expecting-specimen-specification-to-result-completion-vs.json} (77%) create mode 100644 input/resources/ValueSet-ch-elm-expecting-organism-specification.json rename input/resources/{ValueSet-ch-elm-expected-materials-group.json => ValueSet-ch-elm-expecting-specimen-specification.json} (69%) rename input/resources/{ValueSet-ch-elm-results-completing-vs.json => ValueSet-ch-elm-result-completion-vs.json} (91%) diff --git a/input/fsh/examples/1-NeisseriaGonorrhoeae-Broker/1bSpec-NeisseriaGonorrhoeae.fsh b/input/fsh/examples/1-NeisseriaGonorrhoeae-Broker/1bSpec-NeisseriaGonorrhoeae.fsh index 7150c5a..36f32a2 100644 --- a/input/fsh/examples/1-NeisseriaGonorrhoeae-Broker/1bSpec-NeisseriaGonorrhoeae.fsh +++ b/input/fsh/examples/1-NeisseriaGonorrhoeae-Broker/1bSpec-NeisseriaGonorrhoeae.fsh @@ -3,7 +3,7 @@ InstanceOf: ChElmSpecimen Usage: #example Title: "1bSpec - Neisseria Gonorrhoeae" Description: "Example for a CH ELM Specimen: Laboratory" -* type.text = "Material declared by LOINC system axis" +* type.text = "Material declared by leading code (Observation.code)" * subject = Reference(1Pat-DM) * collection.collectedDateTime = "2023-07-10T14:10:00+02:00" diff --git a/input/fsh/examples/1-NeisseriaGonorrhoeae/1Spec-NeisseriaGonorrhoeae.fsh b/input/fsh/examples/1-NeisseriaGonorrhoeae/1Spec-NeisseriaGonorrhoeae.fsh index 72ab502..3f975cb 100644 --- a/input/fsh/examples/1-NeisseriaGonorrhoeae/1Spec-NeisseriaGonorrhoeae.fsh +++ b/input/fsh/examples/1-NeisseriaGonorrhoeae/1Spec-NeisseriaGonorrhoeae.fsh @@ -3,7 +3,7 @@ InstanceOf: ChElmSpecimen Usage: #example Title: "1Spec - Neisseria Gonorrhoeae" Description: "Example for a CH ELM Specimen: Laboratory" -* type.text = "Material declared by LOINC system axis" +* type.text = "Material declared by leading code (Observation.code)" * subject = Reference(1Pat-DM) * collection.collectedDateTime = "2023-07-01" diff --git a/input/fsh/invariants.fsh b/input/fsh/invariants.fsh index 771f7c1..a6e4dc9 100644 --- a/input/fsh/invariants.fsh +++ b/input/fsh/invariants.fsh @@ -3,24 +3,22 @@ Description: "At least the format YYYY-MM-DD is required." Severity: #error Expression: "$this.toString().length() >= 10" - Invariant: ch-elm-doc-identifier Description: "The identifier must be an UUID." Severity: #error Expression: "startsWith('urn:uuid:')" - Invariant: ch-elm-practrole Description: "Must have at least a practitioner or an organization." Severity: #error Expression: "practitioner.exists() or practitioner.exists()" -Invariant: ch-elm-expected-materials-group -Description: "If Observation.code is a member of http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group, then Specimen.type must be a member of the mapped ValueSet in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expected-materials-group-to-results-completing-vs" +Invariant: ch-elm-expecting-specimen-specification +Description: "If Observation.code is a member of http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-specimen-specification, then Specimen.type must be a member of the mapped ValueSet in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-specimen-specification-to-result-completion-vs" Severity: #error -Expression: "code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group') implies specimen.resolve().exists() and specimen.resolve().type.exists() and specimen.resolve().type.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expected-materials-group-to-results-completing-vs'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).target.first().code)" +Expression: "code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-specimen-specification') implies specimen.resolve().exists() and specimen.resolve().type.exists() and specimen.resolve().type.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-specimen-specification-to-result-completion-vs'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).target.first().code)" -Invariant: ch-elm-material-declared-by-loinc -Description: "Material declared by LOINC system axis" +Invariant: ch-elm-material-declared-by-leading-code +Description: "Material declared by leading code (Observation.code)" Severity: #error -Expression: "code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group').not() implies specimen.resolve().exists() and specimen.resolve().type.exists() and specimen.resolve().type.text.exists() and specimen.resolve().type.text='Material declared by LOINC system axis'" +Expression: "code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-specimen-specification').not() implies specimen.resolve().exists() and specimen.resolve().type.exists() and specimen.resolve().type.text.exists() and specimen.resolve().type.text='Material declared by leading code (Observation.code)'" diff --git a/input/fsh/profiles/Observation.fsh b/input/fsh/profiles/Observation.fsh index 99a881f..1e07e19 100644 --- a/input/fsh/profiles/Observation.fsh +++ b/input/fsh/profiles/Observation.fsh @@ -3,8 +3,8 @@ Parent: ChLabObservationResultsLaboratory Id: ch-elm-observation-results-laboratory Title: "CH ELM Observation Results: Laboratory" Description: "This CH ELM base profile constrains the Observation resource for the purpose of laboratory test reports." -* obeys ch-elm-expected-materials-group -* obeys ch-elm-material-declared-by-loinc +* obeys ch-elm-expecting-specimen-specification +* obeys ch-elm-material-declared-by-leading-code * . ^short = "CH ELM Observation Results: Laboratory" * status = #final * code from ChElmResultsLaboratoryObservation (required) diff --git a/input/fsh/profiles/Specimen.fsh b/input/fsh/profiles/Specimen.fsh index d0a5c8a..4ef14e5 100644 --- a/input/fsh/profiles/Specimen.fsh +++ b/input/fsh/profiles/Specimen.fsh @@ -6,11 +6,11 @@ Description: "This CH ELM base profile constrains the Specimen resource for the * . ^short = "CH Lab Specimen: Laboratory" * type 1.. // Req. EU LAB -* type.coding ^short = "If the collection material is not declared by LOINC system axis (Observation.code)" +* type.coding ^short = "If the collection material is not declared by leading code (Observation.code)" * type.coding only ChElmCoding * type from ChElmLabSpecimenTypes (extensible) // 'required' not possible: No code provided, and a code is required from the value set 'CH ELM Lab Specimen Types' (http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-lab-specimen-types|0.1.0) -* type.text ^short = "If the collection material is declared by LOINC system axis (Observation.code)" -* type.text = "Material declared by LOINC system axis" +* type.text ^short = "If the collection material is declared by leading code (Observation.code)" +* type.text = "Material declared by leading code (Observation.code)" * subject 1.. * subject only Reference(ChElmPatient) diff --git a/input/pagecontent/guidance.md b/input/pagecontent/guidance.md index 69802fa..329fb4d 100644 --- a/input/pagecontent/guidance.md +++ b/input/pagecontent/guidance.md @@ -35,8 +35,8 @@ The laboratory report is currently either of the type [organism detection](#orga ### Laboratory Result -#### Leading LOINC Code -The laboratory result is represented by a so called leading LOINC code and laboratories are requested to choose the code from the provided ([ValueSet CH ELM Results Laboratory Observation](ValueSet-ch-elm-results-laboratory-observation.html)) that corresponds to the test parameters performed. The LOINC code reflects a 4-axis model and ideally, the chosen LOINC code covers all 4 axes. +#### Leading Code +The laboratory result is represented by a so called leading code (in most cases LOINC) and laboratories are requested to choose the code from the provided ([ValueSet CH ELM Results Laboratory Observation](ValueSet-ch-elm-results-laboratory-observation.html)) that corresponds to the test parameters performed. The leading code reflects a 4-axis model and ideally, the chosen code covers all 4 axes. [Example Neisseria gonorrhoeae](Bundle-1Doc-NeisseriaGonorrhoeae.html): The leading LOINC code [697-3 Neisseria gonorrhoeae [Presence] in Urethra by Organism specific culture](https://loinc.org/697-3/) covering all 4 axes: @@ -45,26 +45,29 @@ The laboratory result is represented by a so called leading LOINC code and labor * **Detection method**: organism specific culture * **Collection material**: urethra -Note: The Specimen.type.text element in this case contains a fixed text as value: “Material declared by LOINC system axis”. +Note: The Specimen.type.text element in this case contains a fixed text as value: “Material declared by leading code (Observation.code)”. -Important note: The ([ValueSet CH ELM Results Laboratory Observation](ValueSet-ch-elm-results-laboratory-observation.html)) is a selection of LOINC codes related to notifiable diseases and their legal basis. The ValueSet can be adapted according to laboratory-specific needs - please contact the FOPH in this regard. +Important note: +The ([ValueSet CH ELM Results Laboratory Observation](ValueSet-ch-elm-results-laboratory-observation.html)) is a selection of LOINC codes related to notifiable diseases and their legal basis. The ValueSet can be adapted according to laboratory-specific needs - please contact the FOPH in this regard. -#### Complementing the LOINC Code -If the leading LOINC code does not cover all axes, the missing axis must be complemented by a SNOMED CT code. +#### Completion of the Leading Code +If the leading code does not cover all axes, the missing axis must be completed by an additional code. -TODO: Allgemeinen Mechanismus beschreiben +##### Expecting Specimen Specification +In some cases, the collection material must be explicitly specified. -##### Expected Materials Group -In some cases, the collection material must be explicitly specified, e.g.: +[Example Chlamydia trachomatis](Bundle-2Doc-ChlamydiaTrachomatis.html): The leading code (Observation.code = LOINC 6349-5), is completed by an additional code for the collection material (Specimen.type = SNOMED CT 119393003). -* Chlamydia trachomatis - * if Observation.code = LOINC 21613-5 / 31777-6 / 43304-5 / 6349-5 - * use a Specimen.type form the [ValueSet CH ELM Results Geni Spec](ValueSet-ch-elm-results-geni-spec.html) - * [Example Chlamydia trachomatis](Bundle-2Doc-ChlamydiaTrachomatis.html): The leading LOINC code (Observation.code = LOINC 6349-5), is complemented by a SNOMED CT code for the collection material (Specimen.type = SNOMED CT 119393003). +1. Check if Observation.code is a member of the [CH ELM Expecting Specimen Specification To Result Completion ValueSets Mapping](ConceptMap-ch-elm-expecting-specimen-specification-to-result-completion-vs.html) (Source Code) + * NO: Observation.code does cover all axes, see section [Leading Code](#leading-code) + * YES: The collection material must be explicitly specified, continue with step 2 + * Example Chlamydia trachomatis: LOINC 6349-5 is a member of the ConceptMap +2. The mapping shows from which ValueSet the code for Specimen.type has to come from (Target Code) + * Example Chlamydia trachomatis: http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-geni-spec +3. Define Specimen.type with a code from the [ValueSet CH ELM Results Geni Spec](ValueSet-ch-elm-results-geni-spec.html) + * Example Chlamydia trachomatis: Speciment.type = SNOMED CT 119393003 -In all other cases, the Specimen.type has to be defined as fixed text: “Material declared by LOINC system axis”. - -##### Expected Organisms Group +##### Expecting Organism Specification In some cases, an additional organism must be specified, e.g.: * TODO diff --git a/input/resources/CodeSystem-ch-elm-results-completing-vs.json b/input/resources/CodeSystem-ch-elm-result-completion-vs.json similarity index 88% rename from input/resources/CodeSystem-ch-elm-results-completing-vs.json rename to input/resources/CodeSystem-ch-elm-result-completion-vs.json index 1d0f1c2..772b924 100644 --- a/input/resources/CodeSystem-ch-elm-results-completing-vs.json +++ b/input/resources/CodeSystem-ch-elm-result-completion-vs.json @@ -1,13 +1,13 @@ { "resourceType": "CodeSystem", - "id": "ch-elm-results-completing-vs", - "url": "http://fhir.ch/ig/ch-elm/CodeSystem/ch-elm-results-completing-vs", - "version": "2023-10-18", - "name": "ChElmResultsCompletingValueSets", - "title": "CH ELM Results Completing ValueSets", + "id": "ch-elm-result-completion-vs", + "url": "http://fhir.ch/ig/ch-elm/CodeSystem/ch-elm-result-completion-vs", + "version": "2023-10-30", + "name": "ChElmResultCompletionValueSets", + "title": "CH ELM Result Completion ValueSets", "status": "active", "experimental": false, - "description": "This CH ELM code system defines the value set URLs as codes to map in the concept maps the leading LOINC codes, which must be complemented with SNOMED CT codes.", + "description": "This CH ELM code system defines the value set URLs as codes to map in the concept maps the leading codes, which must be completed with additional codes.", "caseSensitive": false, "content": "complete", "concept": [ diff --git a/input/resources/ConceptMap-ch-elm-expecting-organism-specification-to-result-completion-vs.json b/input/resources/ConceptMap-ch-elm-expecting-organism-specification-to-result-completion-vs.json new file mode 100644 index 0000000..99c80df --- /dev/null +++ b/input/resources/ConceptMap-ch-elm-expecting-organism-specification-to-result-completion-vs.json @@ -0,0 +1,31 @@ +{ + "resourceType": "ConceptMap", + "id": "ch-elm-expecting-organism-specification-to-result-completion-vs", + "url": "http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-organism-specification-to-result-completion-vs", + "version": "2023-10-30", + "name": "ChElmExpectingOrganismSpecificationToResultCompletionValueSets", + "title": "CH ELM Expecting Organism Specification To Result Completion ValueSets Mapping", + "status": "active", + "experimental": false, + "description": "This CH ELM concept map shows which leading codes have to be completed by an additional code. The target code shows the URL of the value set from which the completing codes for the expecting specimen must come from.", + "sourceCanonical": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-organism-specification", + "targetCanonical": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-result-completion-vs", + "group": [ + { + "source": "http://loinc.org", + "target": "http://fhir.ch/ig/ch-elm/CodeSystem/ch-elm-result-completion-vs", + "element": [ + { + "code": "21613-5", + "display": "Chlamydia trachomatis DNA [Presence] in Specimen by NAA with probe detection", + "target": [ + { + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-geni-spec", + "equivalence": "relatedto" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/input/resources/ConceptMap-ch-elm-expected-materials-group-to-results-completing-vs.json b/input/resources/ConceptMap-ch-elm-expecting-specimen-specification-to-result-completion-vs.json similarity index 77% rename from input/resources/ConceptMap-ch-elm-expected-materials-group-to-results-completing-vs.json rename to input/resources/ConceptMap-ch-elm-expecting-specimen-specification-to-result-completion-vs.json index 5d663ea..876c9b8 100644 --- a/input/resources/ConceptMap-ch-elm-expected-materials-group-to-results-completing-vs.json +++ b/input/resources/ConceptMap-ch-elm-expecting-specimen-specification-to-result-completion-vs.json @@ -1,19 +1,19 @@ { "resourceType": "ConceptMap", - "id": "ch-elm-expected-materials-group-to-results-completing-vs", - "url": "http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expected-materials-group-to-results-completing-vs", - "version": "2023-10-18", - "name": "ChElmExpectedMaterialsGroupToResultsCompletingValueSets", - "title": "CH ELM Expected Materials Group To Results Completing ValueSets Mapping", + "id": "ch-elm-expecting-specimen-specification-to-result-completion-vs", + "url": "http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-specimen-specification-to-result-completion-vs", + "version": "2023-10-30", + "name": "ChElmExpectingSpecimenSpecificationToResultCompletionValueSets", + "title": "CH ELM Expecting Specimen Specification To Result Completion ValueSets Mapping", "status": "active", "experimental": false, - "description": "This CH ELM concept map shows which leading LOINC codes have to be complemented by a SNOMED CT code. The target code shows the URL of the value set from which the completing codes for the expected materials group must to come.", - "sourceCanonical": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group", - "targetCanonical": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-completing-vs", + "description": "This CH ELM concept map shows which leading codes have to be completed by an additional code. The target code shows the URL of the value set from which the completing codes for the expecting specimen must come from.", + "sourceCanonical": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-specimen-specification", + "targetCanonical": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-result-completion-vs", "group": [ { "source": "http://loinc.org", - "target": "http://fhir.ch/ig/ch-elm/CodeSystem/ch-elm-results-completing-vs", + "target": "http://fhir.ch/ig/ch-elm/CodeSystem/ch-elm-result-completion-vs", "element": [ { "code": "21613-5", diff --git a/input/resources/ValueSet-ch-elm-expecting-organism-specification.json b/input/resources/ValueSet-ch-elm-expecting-organism-specification.json new file mode 100644 index 0000000..21dc5c2 --- /dev/null +++ b/input/resources/ValueSet-ch-elm-expecting-organism-specification.json @@ -0,0 +1,18 @@ +{ + "resourceType": "ValueSet", + "id": "ch-elm-expecting-organism-specification", + "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-organism-specification", + "version": "2023-10-30", + "name": "ChElmExpectingOrganismSpecification", + "title": "CH ELM Expeting Organism Specification", + "status": "active", + "experimental": false, + "description": "This CH ELM value set includes the leading codes for the laboratory test results, which have to be completed by another code for the expecting organism.", + "compose": { + "include": [ + { + "system": "http://loinc.org" + } + ] + } +} \ No newline at end of file diff --git a/input/resources/ValueSet-ch-elm-expected-materials-group.json b/input/resources/ValueSet-ch-elm-expecting-specimen-specification.json similarity index 69% rename from input/resources/ValueSet-ch-elm-expected-materials-group.json rename to input/resources/ValueSet-ch-elm-expecting-specimen-specification.json index 85caa02..748390f 100644 --- a/input/resources/ValueSet-ch-elm-expected-materials-group.json +++ b/input/resources/ValueSet-ch-elm-expecting-specimen-specification.json @@ -1,13 +1,13 @@ { "resourceType": "ValueSet", - "id": "ch-elm-expected-materials-group", - "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expected-materials-group", - "version": "2023-10-18", - "name": "ChElmExpectedMaterialsGroup", - "title": "CH ELM Expected Materials Group", + "id": "ch-elm-expecting-specimen-specification", + "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-specimen-specification", + "version": "2023-10-30", + "name": "ChElmExpectingSpecimenSpecification", + "title": "CH ELM Expeting Specimen Specification", "status": "active", "experimental": false, - "description": "This CH ELM value set includes the leading LOINC codes for the laboratory test results, which have to be complemented by a SNOMED CT code for the expected materials.", + "description": "This CH ELM value set includes the leading codes for the laboratory test results, which have to be completed by another code for the expecting specimen.", "compose": { "include": [ { diff --git a/input/resources/ValueSet-ch-elm-results-completing-vs.json b/input/resources/ValueSet-ch-elm-result-completion-vs.json similarity index 91% rename from input/resources/ValueSet-ch-elm-results-completing-vs.json rename to input/resources/ValueSet-ch-elm-result-completion-vs.json index fb4c07d..d553b05 100644 --- a/input/resources/ValueSet-ch-elm-results-completing-vs.json +++ b/input/resources/ValueSet-ch-elm-result-completion-vs.json @@ -1,17 +1,17 @@ { "resourceType": "ValueSet", - "id": "ch-elm-results-completing-vs", - "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-completing-vs", + "id": "ch-elm-result-completion-vs", + "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-result-completion-vs", "version": "2023-10-18", - "name": "ChElmResultsCompletingValueSets", - "title": "CH ELM Results Completing ValueSets", + "name": "ChElmResultCompletionValueSets", + "title": "CH ELM Result Completion ValueSets", "status": "active", "experimental": false, - "description": "This CH ELM value set includes the value set URLs as codes to map in the concept maps the leading LOINC codes, which must be complemented with SNOMED CT codes.", + "description": "This CH ELM value set includes the value set URLs as codes to map in the concept maps the leading codes, which must be completed with additional codes.", "compose": { "include": [ { - "system": "http://fhir.ch/ig/ch-elm/CodeSystem/ch-elm-results-completing-vs", + "system": "http://fhir.ch/ig/ch-elm/CodeSystem/ch-elm-result-completion-vs", "concept": [ { "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-sterile-spec" diff --git a/input/resources/ValueSet-ch-elm-results-geni-spec.json b/input/resources/ValueSet-ch-elm-results-geni-spec.json index a708aaa..21201dd 100644 --- a/input/resources/ValueSet-ch-elm-results-geni-spec.json +++ b/input/resources/ValueSet-ch-elm-results-geni-spec.json @@ -7,7 +7,7 @@ "title": "CH ELM Results Geni Spec", "status": "active", "experimental": false, - "description": "This CH ELM value set includes the codes for the laboratory test results to complement the leading LOINC code with a SNOMED CT code.", + "description": "This CH ELM value set includes the codes for the laboratory test results to complete the leading code with an additional code.", "compose": { "include": [ { From ae2db6ab9aa5dc7dc2727cb930cd48326be2a55a Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Mon, 30 Oct 2023 14:30:22 +0100 Subject: [PATCH 08/16] update changelog #25 --- input/pagecontent/changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/input/pagecontent/changelog.md b/input/pagecontent/changelog.md index 6c787e5..344b2e6 100644 --- a/input/pagecontent/changelog.md +++ b/input/pagecontent/changelog.md @@ -12,6 +12,8 @@ All significant changes to this FHIR implementation guide will be documented on * [#19](https://github.com/ahdis/ch-elm/issues/19): Require DiagnosticReport.identifier (equal to Composition.identifier) * [#13](https://github.com/ahdis/ch-elm/issues/13): Update *Fig. 6: Resource Overview* with cardinalities * [#21](https://github.com/ahdis/ch-elm/issues/21): Usage of the IDN instead of the OASI for Patient.identifier Liechtenstein. +* Add a computable way for the concept of leading code and in some cases necessary addition of additional codes to the leading code, see [Guidance - Laboratory Result](guidance.html#laboratory-result) + * [#25](https://github.com/ahdis/ch-elm/issues/25): Renaming of the specimen-specific ValueSet 'CH ELM Lab Specimen Types: Chlamydia Trachomatis' to ValueSet 'CH ELM Results Geni Spec' #### Fixed * [#9](https://github.com/ahdis/ch-elm/issues/9): Set minimum cardinality of Patient.gender to 1 (according to the logical model) From 760874f6ea909afc3174492307c884536e5c990a Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Mon, 30 Oct 2023 14:50:13 +0100 Subject: [PATCH 09/16] remove VS CH ELM Lab Specimen Types #26 --- input/fsh/profiles/Specimen.fsh | 2 +- input/pagecontent/changelog.md | 2 + .../ValueSet-ch-elm-lab-specimen-types.json | 299 ------------------ 3 files changed, 3 insertions(+), 300 deletions(-) delete mode 100644 input/resources/ValueSet-ch-elm-lab-specimen-types.json diff --git a/input/fsh/profiles/Specimen.fsh b/input/fsh/profiles/Specimen.fsh index 4ef14e5..08a3e3f 100644 --- a/input/fsh/profiles/Specimen.fsh +++ b/input/fsh/profiles/Specimen.fsh @@ -6,9 +6,9 @@ Description: "This CH ELM base profile constrains the Specimen resource for the * . ^short = "CH Lab Specimen: Laboratory" * type 1.. // Req. EU LAB +* type ^short = "The mechanism to declare the collection material is described under 'Guidance - Laboratory Result'" * type.coding ^short = "If the collection material is not declared by leading code (Observation.code)" * type.coding only ChElmCoding -* type from ChElmLabSpecimenTypes (extensible) // 'required' not possible: No code provided, and a code is required from the value set 'CH ELM Lab Specimen Types' (http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-lab-specimen-types|0.1.0) * type.text ^short = "If the collection material is declared by leading code (Observation.code)" * type.text = "Material declared by leading code (Observation.code)" diff --git a/input/pagecontent/changelog.md b/input/pagecontent/changelog.md index 344b2e6..961dcf5 100644 --- a/input/pagecontent/changelog.md +++ b/input/pagecontent/changelog.md @@ -14,6 +14,8 @@ All significant changes to this FHIR implementation guide will be documented on * [#21](https://github.com/ahdis/ch-elm/issues/21): Usage of the IDN instead of the OASI for Patient.identifier Liechtenstein. * Add a computable way for the concept of leading code and in some cases necessary addition of additional codes to the leading code, see [Guidance - Laboratory Result](guidance.html#laboratory-result) * [#25](https://github.com/ahdis/ch-elm/issues/25): Renaming of the specimen-specific ValueSet 'CH ELM Lab Specimen Types: Chlamydia Trachomatis' to ValueSet 'CH ELM Results Geni Spec' + * [#26](https://github.com/ahdis/ch-elm/issues/26): Remove ValueSet 'CH ELM Lab Specimen Types'; now handled via the newly introduced mechanism + * Change the fixed value for Specimen.type.text to a more general version: 'Material declared by LOINC system axis' -> 'Material declared by leading code (Observation.code)' #### Fixed * [#9](https://github.com/ahdis/ch-elm/issues/9): Set minimum cardinality of Patient.gender to 1 (according to the logical model) diff --git a/input/resources/ValueSet-ch-elm-lab-specimen-types.json b/input/resources/ValueSet-ch-elm-lab-specimen-types.json deleted file mode 100644 index 8d7672e..0000000 --- a/input/resources/ValueSet-ch-elm-lab-specimen-types.json +++ /dev/null @@ -1,299 +0,0 @@ -{ - "resourceType": "ValueSet", - "id": "ch-elm-lab-specimen-types", - "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-lab-specimen-types", - "name": "ChElmLabSpecimenTypes", - "title": "CH ELM Lab Specimen Types", - "status": "active", - "experimental": false, - "description": "This CH ELM value set includes the codes for the laboratory specimen.", - "compose": { - "include": [ - { - "system": "http://snomed.info/sct", - "concept": [ - { - "code": "257261003", - "display": "Swab" - }, - { - "code": "123038009", - "display": "Specimen" - }, - { - "code": "258500001", - "display": "Nasopharyngeal swab" - }, - { - "code": "461911000124106", - "display": "Oropharyngeal swab" - }, - { - "code": "258529004", - "display": "Throat swab" - }, - { - "code": "258607008", - "display": "Bronchoalveolar lavage fluid" - }, - { - "code": "119339001", - "display": "Faeces specimen" - }, - { - "code": "119334006", - "display": "Sputum specimen" - }, - { - "code": "119297000", - "display": "Blood specimen" - }, - { - "code": "119342007", - "display": "Saliva specimen" - }, - { - "code": "447154002", - "display": "Specimen from nose" - }, - { - "code": "119371008", - "display": "Specimen from abscess" - }, - { - "code": "447955000", - "display": "Specimen from rectum" - }, - { - "code": "168139001", - "display": "Peritoneal fluid" - }, - { - "code": "119399004", - "display": "Specimen from eye" - }, - { - "code": "119401005", - "display": "Specimen from conjunctiva" - }, - { - "code": "258415003", - "display": "Biopsy specimen" - }, - { - "code": "119395005", - "display": "Specimen from uterine cervix" - }, - { - "code": "119344008", - "display": "Specimen from genital system" - }, - { - "code": "258450006", - "display": "Cerebrospinal fluid specimen" - }, - { - "code": "258589002", - "display": "Lymph node specimen" - }, - { - "code": "258426009", - "display": "Placental membrane tissue specimen" - }, - { - "code": "57711000052109", - "display": "Specimen obtained by puncture procedure" - }, - { - "code": "119347001", - "display": "Seminal fluid" - }, - { - "code": "119394009", - "display": "Specimen from vagina" - }, - { - "code": "119365002", - "display": "Specimen from wound" - }, - { - "code": "119393003", - "display": "Specimen from urethra" - }, - { - "code": "119364003", - "display": "Serum specimen" - }, - { - "code": "309051001", - "display": "Body fluid specimen" - }, - { - "code": "430304001", - "display": "Specimen from unspecified body site" - }, - { - "code": "309132009", - "display": "Prostate biopsy specimen" - }, - { - "code": "472904006", - "display": "Swab from abdomen" - }, - { - "code": "258527002", - "display": "Anal swab" - }, - { - "code": "445160003", - "display": "Swab of eye" - }, - { - "code": "119300005", - "display": "Specimen from blood product" - }, - { - "code": "119391001", - "display": "Specimen from bronchus" - }, - { - "code": "258454002", - "display": "Dialysis fluid specimen" - }, - { - "code": "122643008", - "display": "Tissue specimen from large intestine" - }, - { - "code": "119323008", - "display": "Pus specimen" - }, - { - "code": "119378002", - "display": "Endocardial specimen" - }, - { - "code": "119373006", - "display": "Amniotic fluid specimen" - }, - { - "code": "119341000", - "display": "Bile specimen" - }, - { - "code": "119332005", - "display": "Synovial fluid specimen" - }, - { - "code": "258508008", - "display": "Genital swab" - }, - { - "code": "119376003", - "display": "Tissue specimen" - }, - { - "code": "608969007", - "display": "Specimen from skin" - }, - { - "code": "119398007", - "display": "Specimen from brain" - }, - { - "code": "119303007", - "display": "Microbial isolate specimen" - }, - { - "code": "430268003", - "display": "Specimen from bone" - }, - { - "code": "445447003", - "display": "Specimen from trachea obtained by aspiration" - }, - { - "code": "399492000", - "display": "Tissue specimen from lung" - }, - { - "code": "258459007", - "display": "Gastric fluid sample" - }, - { - "code": "119359002", - "display": "Bone marrow specimen" - }, - { - "code": "122556008", - "display": "Cord blood specimen" - }, - { - "code": "309165001", - "display": "Ear sample" - }, - { - "code": "119343002", - "display": "Pancreatic fluid specimen" - }, - { - "code": "119361006", - "display": "Plasma specimen" - }, - { - "code": "122736005", - "display": "Tissue specimen from placenta" - }, - { - "code": "418564007", - "display": "Pleural fluid specimen" - }, - { - "code": "119386002", - "display": "Specimen from prostate" - }, - { - "code": "119295008", - "display": "Specimen obtained by aspiration" - }, - { - "code": "119389009", - "display": "Specimen from throat" - }, - { - "code": "119396006", - "display": "Specimen from endometrium" - }, - { - "code": "258465007", - "display": "Lacrimal fluid sample" - }, - { - "code": "119369008", - "display": "Specimen from ulcer" - }, - { - "code": "119324002", - "display": "Specimen of unknown material" - }, - { - "code": "258520000", - "display": "Vaginal swab" - }, - { - "code": "258580003", - "display": "Whole blood sample" - }, - { - "code": "258531008", - "display": "Wound swab" - }, - { - "code": "119368000", - "display": "Specimen from cyst" - } - ] - } - ] - } -} \ No newline at end of file From eb665a62cd2010a53ebd2c3aeff96bec8f573b8e Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Mon, 30 Oct 2023 15:15:42 +0100 Subject: [PATCH 10/16] update changelog #8 --- input/pagecontent/changelog.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/input/pagecontent/changelog.md b/input/pagecontent/changelog.md index 961dcf5..3b103be 100644 --- a/input/pagecontent/changelog.md +++ b/input/pagecontent/changelog.md @@ -14,8 +14,8 @@ All significant changes to this FHIR implementation guide will be documented on * [#21](https://github.com/ahdis/ch-elm/issues/21): Usage of the IDN instead of the OASI for Patient.identifier Liechtenstein. * Add a computable way for the concept of leading code and in some cases necessary addition of additional codes to the leading code, see [Guidance - Laboratory Result](guidance.html#laboratory-result) * [#25](https://github.com/ahdis/ch-elm/issues/25): Renaming of the specimen-specific ValueSet 'CH ELM Lab Specimen Types: Chlamydia Trachomatis' to ValueSet 'CH ELM Results Geni Spec' - * [#26](https://github.com/ahdis/ch-elm/issues/26): Remove ValueSet 'CH ELM Lab Specimen Types'; now handled via the newly introduced mechanism - * Change the fixed value for Specimen.type.text to a more general version: 'Material declared by LOINC system axis' -> 'Material declared by leading code (Observation.code)' + * [#26](https://github.com/ahdis/ch-elm/issues/26)/[#8](https://github.com/ahdis/ch-elm/issues/8): Remove ValueSet 'CH ELM Lab Specimen Types'; now handled via the newly introduced mechanism + * [#8](https://github.com/ahdis/ch-elm/issues/8): Change the fixed value for Specimen.type.text to a more general version: 'Material declared by LOINC system axis' -> 'Material declared by leading code (Observation.code)' #### Fixed * [#9](https://github.com/ahdis/ch-elm/issues/9): Set minimum cardinality of Patient.gender to 1 (according to the logical model) From 517542cb56c127c2f359680bf1616fd12be371f5 Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Mon, 30 Oct 2023 15:19:05 +0100 Subject: [PATCH 11/16] update changlog #23 --- input/pagecontent/changelog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/input/pagecontent/changelog.md b/input/pagecontent/changelog.md index 3b103be..64ab494 100644 --- a/input/pagecontent/changelog.md +++ b/input/pagecontent/changelog.md @@ -13,6 +13,7 @@ All significant changes to this FHIR implementation guide will be documented on * [#13](https://github.com/ahdis/ch-elm/issues/13): Update *Fig. 6: Resource Overview* with cardinalities * [#21](https://github.com/ahdis/ch-elm/issues/21): Usage of the IDN instead of the OASI for Patient.identifier Liechtenstein. * Add a computable way for the concept of leading code and in some cases necessary addition of additional codes to the leading code, see [Guidance - Laboratory Result](guidance.html#laboratory-result) + * [#23](https://github.com/ahdis/ch-elm/issues/23): Include rules to check if the described mechanism is applied correctly * [#25](https://github.com/ahdis/ch-elm/issues/25): Renaming of the specimen-specific ValueSet 'CH ELM Lab Specimen Types: Chlamydia Trachomatis' to ValueSet 'CH ELM Results Geni Spec' * [#26](https://github.com/ahdis/ch-elm/issues/26)/[#8](https://github.com/ahdis/ch-elm/issues/8): Remove ValueSet 'CH ELM Lab Specimen Types'; now handled via the newly introduced mechanism * [#8](https://github.com/ahdis/ch-elm/issues/8): Change the fixed value for Specimen.type.text to a more general version: 'Material declared by LOINC system axis' -> 'Material declared by leading code (Observation.code)' From 7cfc1de7b5ca8ea7de2060b1ead9b227f3477c37 Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Mon, 30 Oct 2023 15:34:58 +0100 Subject: [PATCH 12/16] change folder level of source file --- .../{2-ChlamydiaTrachomatis => }/2Doc-ChlamydiaTrachomatis.fsh | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename input/fsh/examples/{2-ChlamydiaTrachomatis => }/2Doc-ChlamydiaTrachomatis.fsh (100%) diff --git a/input/fsh/examples/2-ChlamydiaTrachomatis/2Doc-ChlamydiaTrachomatis.fsh b/input/fsh/examples/2Doc-ChlamydiaTrachomatis.fsh similarity index 100% rename from input/fsh/examples/2-ChlamydiaTrachomatis/2Doc-ChlamydiaTrachomatis.fsh rename to input/fsh/examples/2Doc-ChlamydiaTrachomatis.fsh From 641f6ee2c663e0d2db95af1d12a619386cb4951b Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Tue, 31 Oct 2023 10:39:19 +0100 Subject: [PATCH 13/16] typo --- ...lueSet-ch-elm-expecting-organism-specification.json | 10 ++++++++-- ...lueSet-ch-elm-expecting-specimen-specification.json | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/input/resources/ValueSet-ch-elm-expecting-organism-specification.json b/input/resources/ValueSet-ch-elm-expecting-organism-specification.json index 21dc5c2..f3885ca 100644 --- a/input/resources/ValueSet-ch-elm-expecting-organism-specification.json +++ b/input/resources/ValueSet-ch-elm-expecting-organism-specification.json @@ -4,14 +4,20 @@ "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-organism-specification", "version": "2023-10-30", "name": "ChElmExpectingOrganismSpecification", - "title": "CH ELM Expeting Organism Specification", + "title": "CH ELM Expecting Organism Specification", "status": "active", "experimental": false, "description": "This CH ELM value set includes the leading codes for the laboratory test results, which have to be completed by another code for the expecting organism.", "compose": { "include": [ { - "system": "http://loinc.org" + "system": "http://loinc.org", + "concept": [ + { + "code": "85827-4", + "display": "Carbapenem resistance bla OXA-48-like gene [Presence] in Isolate or Specimen by Molecular method" + } + ] } ] } diff --git a/input/resources/ValueSet-ch-elm-expecting-specimen-specification.json b/input/resources/ValueSet-ch-elm-expecting-specimen-specification.json index 748390f..d9f84d2 100644 --- a/input/resources/ValueSet-ch-elm-expecting-specimen-specification.json +++ b/input/resources/ValueSet-ch-elm-expecting-specimen-specification.json @@ -4,7 +4,7 @@ "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-specimen-specification", "version": "2023-10-30", "name": "ChElmExpectingSpecimenSpecification", - "title": "CH ELM Expeting Specimen Specification", + "title": "CH ELM Expecting Specimen Specification", "status": "active", "experimental": false, "description": "This CH ELM value set includes the leading codes for the laboratory test results, which have to be completed by another code for the expecting specimen.", From 74fd299430d4513b6014dbe27a865a1b79e1b565 Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Tue, 31 Oct 2023 10:40:05 +0100 Subject: [PATCH 14/16] update --- input/pagecontent/guidance.md | 25 ++++++++++--------- ...specification-to-result-completion-vs.json | 6 ++--- .../ValueSet-ch-elm-results-cpe-org.json | 24 ++++++++++++++++++ 3 files changed, 40 insertions(+), 15 deletions(-) create mode 100644 input/resources/ValueSet-ch-elm-results-cpe-org.json diff --git a/input/pagecontent/guidance.md b/input/pagecontent/guidance.md index 329fb4d..c33e711 100644 --- a/input/pagecontent/guidance.md +++ b/input/pagecontent/guidance.md @@ -56,7 +56,7 @@ If the leading code does not cover all axes, the missing axis must be completed ##### Expecting Specimen Specification In some cases, the collection material must be explicitly specified. -[Example Chlamydia trachomatis](Bundle-2Doc-ChlamydiaTrachomatis.html): The leading code (Observation.code = LOINC 6349-5), is completed by an additional code for the collection material (Specimen.type = SNOMED CT 119393003). +[Example Chlamydia trachomatis](Bundle-2Doc-ChlamydiaTrachomatis.html): The leading code (Observation.code = LOINC 6349-5) is completed by an additional code for the collection material (Specimen.type = SNOMED CT 119393003). 1. Check if Observation.code is a member of the [CH ELM Expecting Specimen Specification To Result Completion ValueSets Mapping](ConceptMap-ch-elm-expecting-specimen-specification-to-result-completion-vs.html) (Source Code) * NO: Observation.code does cover all axes, see section [Leading Code](#leading-code) @@ -64,21 +64,22 @@ In some cases, the collection material must be explicitly specified. * Example Chlamydia trachomatis: LOINC 6349-5 is a member of the ConceptMap 2. The mapping shows from which ValueSet the code for Specimen.type has to come from (Target Code) * Example Chlamydia trachomatis: http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-geni-spec -3. Define Specimen.type with a code from the [ValueSet CH ELM Results Geni Spec](ValueSet-ch-elm-results-geni-spec.html) - * Example Chlamydia trachomatis: Speciment.type = SNOMED CT 119393003 +3. Define Specimen.type with a code from the ValueSet from step 2 + * Example Chlamydia trachomatis: Speciment.type = SNOMED CT 119393003 from [ValueSet CH ELM Results Geni Spec](ValueSet-ch-elm-results-geni-spec.html) ##### Expecting Organism Specification -In some cases, an additional organism must be specified, e.g.: +In some cases, an additional organism must be specified. -* TODO - * if Observation.code = LOINC ... - * use a ... from the [ValueSet CH ELM ...]() - * [Example]() - -In all other cases, the ... +[Example Carbapenemase-producing Enterobacteriaceae (CPE)](Bundle-3Doc-CPE.html): The leading code (Observation.code = LOINC 85827-4) is completed by an additional code for the organism (Observation.valueCodeableConcept = SNOMED CT 56415008). +1. Check if Observation.code is a member of the [CH ELM Expecting Organism Specification To Result Completion ValueSets Mapping](ConceptMap-ch-elm-expecting-organism-specification-to-result-completion-vs.html) (Source Code) + * NO: Observation.code does cover all axes, see section [Leading Code](#leading-code) + * YES: An additional code for the organism must be specified, continue with step 2 + * Example Carbapenemase-producing Enterobacteriaceae (CPE): LOINC 85827-4 is a member of the ConceptMap +2. The mapping shows from which ValueSet the code for Observation.valueCodeableConcept has to come from (Target Code) + * Example Carbapenemase-producing Enterobacteriaceae (CPE): http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-cpe-org +3. Define Observation.valueCodeableConcept with a code from the ValueSet from step 2 + * Example Carbapenemase-producing Enterobacteriaceae (CPE): Observation.valueCodeableConcept = SNOMED CT 56415008 from [ValueSet CH ELM Results CPE Org](ValueSet-ch-elm-results-cpe-org.html) ### Multiplex Cases The exchange format defines the [FHIR document](document.html) for reporting to the FOPH so that **one document per organism per patient** is submitted. - - diff --git a/input/resources/ConceptMap-ch-elm-expecting-organism-specification-to-result-completion-vs.json b/input/resources/ConceptMap-ch-elm-expecting-organism-specification-to-result-completion-vs.json index 99c80df..45d6314 100644 --- a/input/resources/ConceptMap-ch-elm-expecting-organism-specification-to-result-completion-vs.json +++ b/input/resources/ConceptMap-ch-elm-expecting-organism-specification-to-result-completion-vs.json @@ -16,11 +16,11 @@ "target": "http://fhir.ch/ig/ch-elm/CodeSystem/ch-elm-result-completion-vs", "element": [ { - "code": "21613-5", - "display": "Chlamydia trachomatis DNA [Presence] in Specimen by NAA with probe detection", + "code": "85827-4", + "display": "Carbapenem resistance bla OXA-48-like gene [Presence] in Isolate or Specimen by Molecular method", "target": [ { - "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-geni-spec", + "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-cpe-org", "equivalence": "relatedto" } ] diff --git a/input/resources/ValueSet-ch-elm-results-cpe-org.json b/input/resources/ValueSet-ch-elm-results-cpe-org.json new file mode 100644 index 0000000..74f5f4d --- /dev/null +++ b/input/resources/ValueSet-ch-elm-results-cpe-org.json @@ -0,0 +1,24 @@ +{ + "resourceType": "ValueSet", + "id": "ch-elm-results-cpe-org", + "url": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-cpe-org", + "version": "2023-10-31", + "name": "ChElmResultsCpeOrg", + "title": "CH ELM Results CPE Org", + "status": "active", + "experimental": false, + "description": "This CH ELM value set includes the codes for the laboratory test results to complete the leading code with an additional code.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "56415008", + "display": "Klebsiella pneumoniae (organism)" + } + ] + } + ] + } +} \ No newline at end of file From fbc5b0a665ca73b48d9b14b5ab57f801c3db69dd Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Wed, 1 Nov 2023 09:30:53 +0100 Subject: [PATCH 15/16] add cpe example, div. updates --- .../1bSpec-NeisseriaGonorrhoeae.fsh | 2 +- .../1Spec-NeisseriaGonorrhoeae.fsh | 2 +- input/fsh/examples/3Doc-CPE.fsh | 151 ++++++++++++++++++ input/fsh/invariants.fsh | 6 +- input/fsh/profiles/Observation.fsh | 10 +- input/fsh/profiles/Specimen.fsh | 2 +- input/ignoreWarnings.txt | 3 +- input/pagecontent/changelog.md | 3 +- input/pagecontent/document.md | 5 +- input/pagecontent/guidance.md | 2 +- ...specification-to-result-completion-vs.json | 2 +- ...-elm-expecting-organism-specification.json | 2 +- ...ch-elm-results-laboratory-observation.json | 4 + 13 files changed, 177 insertions(+), 17 deletions(-) create mode 100644 input/fsh/examples/3Doc-CPE.fsh diff --git a/input/fsh/examples/1-NeisseriaGonorrhoeae-Broker/1bSpec-NeisseriaGonorrhoeae.fsh b/input/fsh/examples/1-NeisseriaGonorrhoeae-Broker/1bSpec-NeisseriaGonorrhoeae.fsh index 36f32a2..fb96843 100644 --- a/input/fsh/examples/1-NeisseriaGonorrhoeae-Broker/1bSpec-NeisseriaGonorrhoeae.fsh +++ b/input/fsh/examples/1-NeisseriaGonorrhoeae-Broker/1bSpec-NeisseriaGonorrhoeae.fsh @@ -3,7 +3,7 @@ InstanceOf: ChElmSpecimen Usage: #example Title: "1bSpec - Neisseria Gonorrhoeae" Description: "Example for a CH ELM Specimen: Laboratory" -* type.text = "Material declared by leading code (Observation.code)" +* type.text = "Material declared by Observation.code or non-mandatory" * subject = Reference(1Pat-DM) * collection.collectedDateTime = "2023-07-10T14:10:00+02:00" diff --git a/input/fsh/examples/1-NeisseriaGonorrhoeae/1Spec-NeisseriaGonorrhoeae.fsh b/input/fsh/examples/1-NeisseriaGonorrhoeae/1Spec-NeisseriaGonorrhoeae.fsh index 3f975cb..c72ea80 100644 --- a/input/fsh/examples/1-NeisseriaGonorrhoeae/1Spec-NeisseriaGonorrhoeae.fsh +++ b/input/fsh/examples/1-NeisseriaGonorrhoeae/1Spec-NeisseriaGonorrhoeae.fsh @@ -3,7 +3,7 @@ InstanceOf: ChElmSpecimen Usage: #example Title: "1Spec - Neisseria Gonorrhoeae" Description: "Example for a CH ELM Specimen: Laboratory" -* type.text = "Material declared by leading code (Observation.code)" +* type.text = "Material declared by Observation.code or non-mandatory" * subject = Reference(1Pat-DM) * collection.collectedDateTime = "2023-07-01" diff --git a/input/fsh/examples/3Doc-CPE.fsh b/input/fsh/examples/3Doc-CPE.fsh new file mode 100644 index 0000000..8405311 --- /dev/null +++ b/input/fsh/examples/3Doc-CPE.fsh @@ -0,0 +1,151 @@ +Instance: 3Doc-CPE +InstanceOf: ChElmDocument +Usage: #example +Title: "3Doc - Carbapenemase-producing Enterobacteriaceae (CPE)" +Description: "Example for a CH ELM Document: Laboratory Report (organism in addition to the leading LOINC code)" +* meta.profile[0] = "http://hl7.eu/fhir/laboratory/StructureDefinition/Bundle-eu-lab" +* identifier.system = "urn:ietf:rfc:3986" +* identifier.value = "urn:uuid:1301332d-6012-443f-9690-72913db2e3cc" +* type = #document +* timestamp = "2023-08-05T11:30:00+02:00" +* entry[0].fullUrl = "http://test.fhir.ch/r4/Composition/3Comp-CPE" +* entry[=].resource = 3Comp-CPE +* entry[+].fullUrl = "http://test.fhir.ch/r4/DiagnosticReport/3DR-CPE" +* entry[=].resource = 3DR-CPE +* entry[+].fullUrl = "http://test.fhir.ch/r4/Patient/3Pat-HF" +* entry[=].resource = 3Pat-HF +* entry[+].fullUrl = "http://test.fhir.ch/r4/Observation/3Obs-CPE" +* entry[=].resource = 3Obs-CPE +* entry[+].fullUrl = "http://test.fhir.ch/r4/Specimen/3Spec-Specimen" +* entry[=].resource = 3Spec-Specimen +* entry[+].fullUrl = "http://test.fhir.ch/r4/ServiceRequest/3SR-Order" +* entry[=].resource = 3SR-Order +* entry[+].fullUrl = "http://test.fhir.ch/r4/Organization/3Org-Labor" +* entry[=].resource = 3Org-Labor +* entry[+].fullUrl = "http://test.fhir.ch/r4/PractitionerRole/3PR-KsAbc" +* entry[=].resource = 3PR-KsAbc +* entry[+].fullUrl = "http://test.fhir.ch/r4/Practitioner/3Pract-KsAbc" +* entry[=].resource = 3Pract-KsAbc +* entry[+].fullUrl = "http://test.fhir.ch/r4/Organization/3Org-KsAbc" +* entry[=].resource = 3Org-KsAbc + +Instance: 3Comp-CPE +InstanceOf: Composition +Usage: #inline +* language = #de-CH +* identifier.system = "urn:ietf:rfc:3986" +* identifier.value = "urn:uuid:1301332d-6012-443f-9690-72913db2e3cc" +* status = #final +* type.coding[0].version = "http://snomed.info/sct/2011000195101" +* type.coding[=] = $sct#4241000179101 "Laborbericht" +* type.coding[+] = $loinc#11502-2 "Laboratory report" +* subject = Reference(3Pat-HF) +* date = "2023-08-05T11:30:00+02:00" +* author = Reference(3Org-Labor) +* title = "Laborbericht vom 05.08.2023" +* section.title = "Analyseergebnisse der mikrobiologischen Untersuchung" +* section.code = $loinc#18725-2 "Microbiology studies (set)" +* section.entry = Reference(3Obs-CPE) + +Instance: 3DR-CPE +InstanceOf: DiagnosticReport +Usage: #inline +* extension.url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.composition" +* extension.valueReference = Reference(3Comp-CPE) +* identifier.system = "urn:ietf:rfc:3986" +* identifier.value = "urn:uuid:1301332d-6012-443f-9690-72913db2e3cc" +* basedOn = Reference(3SR-Order) +* status = #final +* code = $loinc#11502-2 "Laboratory report" +* subject = Reference(3Pat-HF) +* performer = Reference(3Org-Labor) +* specimen = Reference(3Spec-Specimen) +* result = Reference(3Obs-CPE) + +Instance: 3Pat-HF +InstanceOf: Patient +Usage: #inline +* identifier.system = "urn:oid:2.16.756.5.32" +* identifier.value = "7561234567897" +* name.family = "F" +* name.given = "H" +* gender = #female +* birthDate = "1985-10-17" +* address.use = #home +* address.city = "Derendingen" +* address.state = "SO" +* address.postalCode = "4552" +* address.country = "CH" +* address.country.extension.url = "http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding" +* address.country.extension.valueCoding = urn:iso:std:iso:3166#CH + + +Instance: 3Obs-CPE +InstanceOf: Observation +Usage: #inline +* status = #final +* category = $observation-category#laboratory "Laboratory" +* code = $loinc#85827-4 "Carbapenem resistance bla OXA-48-like gene [Presence] by Molecular method" +* subject = Reference(3Pat-HF) +* effectiveDateTime = "2023-08-04T08:25:00+02:00" +* performer = Reference(3Org-Labor) +* valueCodeableConcept = $sct#56415008 "Klebsiella pneumoniae (organism)" +* interpretation = $v3-ObservationInterpretation#POS "Positive" +* specimen = Reference(3Spec-Specimen) + +Instance: 3Spec-Specimen +InstanceOf: Specimen +Usage: #inline +* type.text = "Material declared by Observation.code or non-mandatory" +* subject = Reference(3Pat-HF) +* collection.collectedDateTime = "2023-08-01" + +Instance: 3SR-Order +InstanceOf: ServiceRequest +Usage: #inline +* identifier.system = "http://fhir.lab.ch/order-identifier" +* identifier.value = "34854112365" +* status = #completed +* intent = #order +* code = $loinc#85827-4 "Carbapenem resistance bla OXA-48-like gene [Presence] by Molecular method" +* subject = Reference(3Pat-HF) +* requester = Reference(3PR-KsAbc) +* specimen = Reference(3Spec-Specimen) + +Instance: 3Org-Labor +InstanceOf: Organization +Usage: #inline +* identifier.system = "urn:oid:2.51.1.3" +* identifier.value = "7601002331470" +* name = "SanLab" + +Instance: 3PR-KsAbc +InstanceOf: PractitionerRole +Usage: #inline +* practitioner = Reference(3Pract-KsAbc) +* organization = Reference(3Org-KsAbc) + +Instance: 3Pract-KsAbc +InstanceOf: Practitioner +Usage: #inline +* identifier.system = "urn:oid:2.51.1.3" +* identifier.value = "7601000234438" +* name.family = "Giacometti" +* name.given = "Monika" +* telecom[0].system = #email +* telecom[=].value = "m.giacometti@ks-abc.ch" +* telecom[+].system = #phone +* telecom[=].value = "+41 79 111 44 55" + +Instance: 3Org-KsAbc +InstanceOf: Organization +Usage: #inline +* extension.url = "http://fhir.ch/ig/ch-elm/StructureDefinition/ch-elm-ext-department" +* extension.valueString = "Abteilung 2" +* identifier.system = "urn:oid:2.51.1.3" +* identifier.value = "7601888888884" +* name = "Kantonsspital ABC" +* address.line[0] = "Aortastrasse 22" +* address.line[+] = "Postfach 18" +* address.city = "Bern" +* address.postalCode = "3000" diff --git a/input/fsh/invariants.fsh b/input/fsh/invariants.fsh index a6e4dc9..daa6ce3 100644 --- a/input/fsh/invariants.fsh +++ b/input/fsh/invariants.fsh @@ -18,7 +18,7 @@ Description: "If Observation.code is a member of http://fhir.ch/ig/ch-elm/ValueS Severity: #error Expression: "code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-specimen-specification') implies specimen.resolve().exists() and specimen.resolve().type.exists() and specimen.resolve().type.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-specimen-specification-to-result-completion-vs'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).target.first().code)" -Invariant: ch-elm-material-declared-by-leading-code -Description: "Material declared by leading code (Observation.code)" +Invariant: ch-elm-material +Description: "Material declared by Observation.code or non-mandatory" Severity: #error -Expression: "code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-specimen-specification').not() implies specimen.resolve().exists() and specimen.resolve().type.exists() and specimen.resolve().type.text.exists() and specimen.resolve().type.text='Material declared by leading code (Observation.code)'" +Expression: "code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-specimen-specification').not() implies specimen.resolve().exists() and specimen.resolve().type.exists() and specimen.resolve().type.text.exists() and specimen.resolve().type.text='Material declared by Observation.code or non-mandatory'" diff --git a/input/fsh/profiles/Observation.fsh b/input/fsh/profiles/Observation.fsh index 1e07e19..3dae5a1 100644 --- a/input/fsh/profiles/Observation.fsh +++ b/input/fsh/profiles/Observation.fsh @@ -4,7 +4,7 @@ Id: ch-elm-observation-results-laboratory Title: "CH ELM Observation Results: Laboratory" Description: "This CH ELM base profile constrains the Observation resource for the purpose of laboratory test reports." * obeys ch-elm-expecting-specimen-specification -* obeys ch-elm-material-declared-by-leading-code +* obeys ch-elm-material * . ^short = "CH ELM Observation Results: Laboratory" * status = #final * code from ChElmResultsLaboratoryObservation (required) @@ -14,6 +14,7 @@ Description: "This CH ELM base profile constrains the Observation resource for t * effective[x] 1.. * effectiveDateTime 1.. * effectiveDateTime obeys ch-elm-dateTime + * value[x] 1.. * valueQuantity 0..1 // * valueQuantity only ChElmQuantity @@ -21,15 +22,14 @@ Description: "This CH ELM base profile constrains the Observation resource for t * valueCodeableConcept only ChElmCodeableConcept * valueCodeableConcept from ChElmResultsCodedValuesLaboratory (preferred) // (required) // https://build.fhir.org/ig/FHIR/fhir-tools-ig/StructureDefinition-additional-binding.html -/* * valueCodeableConcept ^binding.extension[0].url = "http://hl7.org/fhir/tools/StructureDefinition/additional-binding" * valueCodeableConcept ^binding.extension[=].extension[0].url = "purpose" * valueCodeableConcept ^binding.extension[=].extension[=].valueCode = #candidate * valueCodeableConcept ^binding.extension[=].extension[+].url = "valueSet" -* valueCodeableConcept ^binding.extension[=].extension[=].valueCanonical = "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-microorganism" +* valueCodeableConcept ^binding.extension[=].extension[=].valueCanonical = "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-cpe-org" * valueCodeableConcept ^binding.extension[=].extension[+].url = "documentation" -* valueCodeableConcept ^binding.extension[=].extension[=].valueMarkdown = "Additional conformance binding to be able to represent additional organisms, with codes from the ValueSet CH ELM Results Microorganism." -*/ +* valueCodeableConcept ^binding.extension[=].extension[=].valueMarkdown = "Additional conformance binding to be able to represent additional codes for organisms." + * performer 1..1 * performer only Reference(ChElmOrganizationLab) * specimen only Reference(ChElmSpecimen) diff --git a/input/fsh/profiles/Specimen.fsh b/input/fsh/profiles/Specimen.fsh index 08a3e3f..87e159f 100644 --- a/input/fsh/profiles/Specimen.fsh +++ b/input/fsh/profiles/Specimen.fsh @@ -10,7 +10,7 @@ Description: "This CH ELM base profile constrains the Specimen resource for the * type.coding ^short = "If the collection material is not declared by leading code (Observation.code)" * type.coding only ChElmCoding * type.text ^short = "If the collection material is declared by leading code (Observation.code)" -* type.text = "Material declared by leading code (Observation.code)" +* type.text = "Material declared by Observation.code or non-mandatory" * subject 1.. * subject only Reference(ChElmPatient) diff --git a/input/ignoreWarnings.txt b/input/ignoreWarnings.txt index 48a8cf7..55d6cd1 100644 --- a/input/ignoreWarnings.txt +++ b/input/ignoreWarnings.txt @@ -1,9 +1,10 @@ == Suppressed Messages == -# Based on the design choice from HL7 Europe Laboratory Report (https://build.fhir.org/ig/hl7-eu/laboratory/branches/master/background.html#design-choices) +# Based on the design choice from HL7 Europe Laboratory Report (https://hl7.eu/fhir/laboratory/design-choice.html) Entry 'http://test.fhir.ch/r4/DiagnosticReport/1DR-NeisseriaGonorrhoeae' isn't reachable by traversing forwards from the Composition. Only Provenance is approved to be used this way (R4 section 3.3.1) Entry 'http://test.fhir.ch/r4/DiagnosticReport/1bDR-NeisseriaGonorrhoeae' isn't reachable by traversing forwards from the Composition. Only Provenance is approved to be used this way (R4 section 3.3.1) Entry 'urn:uuid:2f69f609-e3bf-4863-bc42-3cbf0568cab1' isn't reachable by traversing forwards from the Composition. Only Provenance is approved to be used this way (R4 section 3.3.1) +Entry 'http://test.fhir.ch/r4/DiagnosticReport/3DR-CPE' isn't reachable by traversing forwards from the Composition. Only Provenance is approved to be used this way (R4 section 3.3.1) # Caused by the underlying profiles The repeating element has a pattern. The pattern will apply to all the repeats (this has not been clear to all users) diff --git a/input/pagecontent/changelog.md b/input/pagecontent/changelog.md index 64ab494..304975b 100644 --- a/input/pagecontent/changelog.md +++ b/input/pagecontent/changelog.md @@ -3,6 +3,7 @@ All significant changes to this FHIR implementation guide will be documented on ### 1.0.0-release #### Added +* New examples: Carbapenemase-producing Enterobacteriaceae (CPE) #### Changed / Updated * [#15](https://github.com/ahdis/ch-elm/issues/15): API update for search capabilities @@ -16,7 +17,7 @@ All significant changes to this FHIR implementation guide will be documented on * [#23](https://github.com/ahdis/ch-elm/issues/23): Include rules to check if the described mechanism is applied correctly * [#25](https://github.com/ahdis/ch-elm/issues/25): Renaming of the specimen-specific ValueSet 'CH ELM Lab Specimen Types: Chlamydia Trachomatis' to ValueSet 'CH ELM Results Geni Spec' * [#26](https://github.com/ahdis/ch-elm/issues/26)/[#8](https://github.com/ahdis/ch-elm/issues/8): Remove ValueSet 'CH ELM Lab Specimen Types'; now handled via the newly introduced mechanism - * [#8](https://github.com/ahdis/ch-elm/issues/8): Change the fixed value for Specimen.type.text to a more general version: 'Material declared by LOINC system axis' -> 'Material declared by leading code (Observation.code)' + * [#8](https://github.com/ahdis/ch-elm/issues/8): Change the fixed value for Specimen.type.text to a more general version: 'Material declared by LOINC system axis' -> 'Material declared by Observation.code or non-mandatory' #### Fixed * [#9](https://github.com/ahdis/ch-elm/issues/9): Set minimum cardinality of Patient.gender to 1 (according to the logical model) diff --git a/input/pagecontent/document.md b/input/pagecontent/document.md index bc7f9ad..c297037 100644 --- a/input/pagecontent/document.md +++ b/input/pagecontent/document.md @@ -15,5 +15,8 @@ Each CH ELM document requires The profile [CH ELM Document](StructureDefinition-ch-elm-document.html) is a **generic profile** for all types of laboratory reports. Here are examples of laboratory reports for different organisms that have different requirements (see also use case ([DE](usecase-german.html)) or [guidance](guidance.html)): -* Neisseria Gonorrhoeae [JSON](Bundle-1Doc-NeisseriaGonorrhoeae.json.html), [XML](Bundle-1Doc-NeisseriaGonorrhoeae.xml.html) +* Neisseria Gonorrhoeae: [JSON](Bundle-1Doc-NeisseriaGonorrhoeae.json.html), [XML](Bundle-1Doc-NeisseriaGonorrhoeae.xml.html) + * Neisseria gonorrhoeae - Broker Szenario: [JSON](Bundle-1bDoc-NeisseriaGonorrhoeae.json.html), [XML](Bundle-1bDoc-NeisseriaGonorrhoeae.xml.html) +* Chlamydia trachomatis: [JSON](Bundle-2Doc-ChlamydiaTrachomatis.json.html), [XML](Bundle-2Doc-ChlamydiaTrachomatis.xml.html) +* Carbapenemase-producing Enterobacteriaceae (CPE): [JSON](Bundle-3Doc-CPE.json.html), [XML](Bundle-3Doc-CPE.xml.html) diff --git a/input/pagecontent/guidance.md b/input/pagecontent/guidance.md index c33e711..6cac2e4 100644 --- a/input/pagecontent/guidance.md +++ b/input/pagecontent/guidance.md @@ -45,7 +45,7 @@ The laboratory result is represented by a so called leading code (in most cases * **Detection method**: organism specific culture * **Collection material**: urethra -Note: The Specimen.type.text element in this case contains a fixed text as value: “Material declared by leading code (Observation.code)”. +Note: The Specimen.type.text element in this case contains a fixed text as value: “Material declared by Observation.code or non-mandatory”. Important note: The ([ValueSet CH ELM Results Laboratory Observation](ValueSet-ch-elm-results-laboratory-observation.html)) is a selection of LOINC codes related to notifiable diseases and their legal basis. The ValueSet can be adapted according to laboratory-specific needs - please contact the FOPH in this regard. diff --git a/input/resources/ConceptMap-ch-elm-expecting-organism-specification-to-result-completion-vs.json b/input/resources/ConceptMap-ch-elm-expecting-organism-specification-to-result-completion-vs.json index 45d6314..d518a66 100644 --- a/input/resources/ConceptMap-ch-elm-expecting-organism-specification-to-result-completion-vs.json +++ b/input/resources/ConceptMap-ch-elm-expecting-organism-specification-to-result-completion-vs.json @@ -17,7 +17,7 @@ "element": [ { "code": "85827-4", - "display": "Carbapenem resistance bla OXA-48-like gene [Presence] in Isolate or Specimen by Molecular method", + "display": "Carbapenem resistance bla OXA-48-like gene [Presence] by Molecular method", "target": [ { "code": "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-cpe-org", diff --git a/input/resources/ValueSet-ch-elm-expecting-organism-specification.json b/input/resources/ValueSet-ch-elm-expecting-organism-specification.json index f3885ca..232efa4 100644 --- a/input/resources/ValueSet-ch-elm-expecting-organism-specification.json +++ b/input/resources/ValueSet-ch-elm-expecting-organism-specification.json @@ -15,7 +15,7 @@ "concept": [ { "code": "85827-4", - "display": "Carbapenem resistance bla OXA-48-like gene [Presence] in Isolate or Specimen by Molecular method" + "display": "Carbapenem resistance bla OXA-48-like gene [Presence] by Molecular method" } ] } diff --git a/input/resources/ValueSet-ch-elm-results-laboratory-observation.json b/input/resources/ValueSet-ch-elm-results-laboratory-observation.json index 54bbeae..2396652 100644 --- a/input/resources/ValueSet-ch-elm-results-laboratory-observation.json +++ b/input/resources/ValueSet-ch-elm-results-laboratory-observation.json @@ -216,6 +216,10 @@ { "code": "80367-6", "display": "Chlamydia trachomatis [Presence] in Anorectal by Organism specific culture" + }, + { + "code": "85827-4", + "display": "Carbapenem resistance bla OXA-48-like gene [Presence] by Molecular method" } ] } From 4bb78362dfd2cad9b198585be177724ec0d8faa5 Mon Sep 17 00:00:00 2001 From: Michaela Ziegler Date: Wed, 1 Nov 2023 12:59:16 +0100 Subject: [PATCH 16/16] update description --- input/fsh/profiles/Observation.fsh | 9 +-------- input/fsh/profiles/Specimen.fsh | 2 -- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/input/fsh/profiles/Observation.fsh b/input/fsh/profiles/Observation.fsh index 3dae5a1..275660e 100644 --- a/input/fsh/profiles/Observation.fsh +++ b/input/fsh/profiles/Observation.fsh @@ -21,14 +21,7 @@ Description: "This CH ELM base profile constrains the Observation resource for t * valueCodeableConcept 0..1 * valueCodeableConcept only ChElmCodeableConcept * valueCodeableConcept from ChElmResultsCodedValuesLaboratory (preferred) // (required) -// https://build.fhir.org/ig/FHIR/fhir-tools-ig/StructureDefinition-additional-binding.html -* valueCodeableConcept ^binding.extension[0].url = "http://hl7.org/fhir/tools/StructureDefinition/additional-binding" -* valueCodeableConcept ^binding.extension[=].extension[0].url = "purpose" -* valueCodeableConcept ^binding.extension[=].extension[=].valueCode = #candidate -* valueCodeableConcept ^binding.extension[=].extension[+].url = "valueSet" -* valueCodeableConcept ^binding.extension[=].extension[=].valueCanonical = "http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-cpe-org" -* valueCodeableConcept ^binding.extension[=].extension[+].url = "documentation" -* valueCodeableConcept ^binding.extension[=].extension[=].valueMarkdown = "Additional conformance binding to be able to represent additional codes for organisms." +* valueCodeableConcept ^short = "Positive/Negative or code for an additional organism specification, see also 'Guidance - Laboratory Result'" * performer 1..1 * performer only Reference(ChElmOrganizationLab) diff --git a/input/fsh/profiles/Specimen.fsh b/input/fsh/profiles/Specimen.fsh index 87e159f..25576e2 100644 --- a/input/fsh/profiles/Specimen.fsh +++ b/input/fsh/profiles/Specimen.fsh @@ -7,9 +7,7 @@ Description: "This CH ELM base profile constrains the Specimen resource for the * type 1.. // Req. EU LAB * type ^short = "The mechanism to declare the collection material is described under 'Guidance - Laboratory Result'" -* type.coding ^short = "If the collection material is not declared by leading code (Observation.code)" * type.coding only ChElmCoding -* type.text ^short = "If the collection material is declared by leading code (Observation.code)" * type.text = "Material declared by Observation.code or non-mandatory" * subject 1..