From 10594b44fc8dda19e68d8c40be7fa07ee7bc760d Mon Sep 17 00:00:00 2001 From: Ryan Crichton Date: Fri, 15 Jan 2021 15:47:26 +0200 Subject: [PATCH 01/88] Add initial stab at Basic Composition for COVID case report --- _updatePublisher.sh | 2 +- .../fsh/who-cr-CompositionCaseReportBasic.fsh | 68 +++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 input/fsh/who-cr-CompositionCaseReportBasic.fsh diff --git a/_updatePublisher.sh b/_updatePublisher.sh index b83f767c..1a3484bb 100755 --- a/_updatePublisher.sh +++ b/_updatePublisher.sh @@ -32,7 +32,7 @@ done echo "Checking internet connection" case "$OSTYPE" in - linux-gnu* ) wget -q --spider http://tx.fhir.org/snomed/doco ;; + linux-gnu* ) ping tx.fhir.org -4 -c 1 -w 1000 >/dev/null ;; darwin* ) ping tx.fhir.org -c 1 >/dev/null ;; *) echo "unknown: $OSTYPE"; exit 1 ;; esac diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh new file mode 100644 index 00000000..727c5fc2 --- /dev/null +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -0,0 +1,68 @@ +Profile: WhoCrCompositionBasic +Parent: Composition +Id: who-cr-composition-basic +Description: "WHO Case Reporting Composition - basic support for initial PoC" +Title: "WHO Case Reporting Composition - Basic" +* type = $LNC#95412-3 +* category = $LNC#55751-2 +* encounter 1..1 +* identifier 1..1 + +* section ^slicing.discriminator.type = #value +* section ^slicing.discriminator.path = "code.coding.code" +* section ^slicing.rules = #openAtEnd +* section ^slicing.ordered = true +* section ^slicing.description = "Slice of composition.section based on code" + +* section contains + patientInformation 1..1 and + clinicalStatus 1..1 and + exposureRisk 1..1 + +* section[patientInformation].title = "patient information" +* section[patientInformation].code = http://test.org/sectionCode#patientinformation +* section[patientInformation].entry only Reference(WhoCrObservationAge or WhoCrObservationBirthSex) + +* section[clinicalStatus].title = "clinical status" +// TODO + +* section[exposureRisk].title = "exposure risk" +// TODO + +Profile: WhoCrEncounter +Parent: Encounter +Id: who-cr-encounter +Title: "WHO CR Encounter" +Description: "WHO Encounter for a case report" +* location 1..1 +* reasonCode 1..* +* reasonCode from WhoCrValueSetReasonForCovid19Testing + +Profile: WhoCrLocation +Parent: Location +Id: who-cr-location +Title: "WHO CR Location" +Description: "WHO Location for case report" +* address 1..1 +* address.country 1..1 +* address.state 1..1 + +Profile: WhoCrObservationAge +Parent: Observation +Id: who-cr-observation-age +Title: "WHO CR Observation Age" +Description: "WHO Observation of age for case report" +* code = $LNC#30525-0 +* value[x] only Quantity +* valueQuantity.value 1..1 +* valueQuantity from WhoCrValueSetAgeUnits + +Profile: WhoCrObservationBirthSex +Parent: Observation +Id: who-cr-observation-birth-sex +Title: "WHO CR Observation Birth Sex" +Description: "WHO Observation of birth sex for case report" +* code = $LNC#76689-9 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetSexAtBirth From 9a18942182db50ce26f4e74797ea753fbcc53fb7 Mon Sep 17 00:00:00 2001 From: Ryan Crichton Date: Wed, 20 Jan 2021 14:27:49 +0200 Subject: [PATCH 02/88] Prevent deploying when PRs to master --- .github/workflows/build.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3dc7cea4..e6851929 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,8 +7,6 @@ name: CI on: push: branches: [ master ] - pull_request: - branches: [ master ] workflow_dispatch: # A workflow run is made up of one or more jobs that can run sequentially or in parallel @@ -17,7 +15,7 @@ jobs: build: # The type of runner that the job will run on runs-on: ubuntu-latest - + # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it @@ -34,7 +32,7 @@ jobs: run: | mkdir ./public mv ./output ./public/docs - + - name: Deploy uses: peaceiris/actions-gh-pages@v3 with: From ebd6c04787136aa33ef27c98704bfa0569ce91f8 Mon Sep 17 00:00:00 2001 From: Ryan Crichton Date: Wed, 20 Jan 2021 14:28:18 +0200 Subject: [PATCH 03/88] Complete basic composition for PoC --- .../fsh/who-cr-CompositionCaseReportBasic.fsh | 197 +++++++++++++++++- 1 file changed, 195 insertions(+), 2 deletions(-) diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh index 727c5fc2..a1ac2cc0 100644 --- a/input/fsh/who-cr-CompositionCaseReportBasic.fsh +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -24,10 +24,12 @@ Title: "WHO Case Reporting Composition - Basic" * section[patientInformation].entry only Reference(WhoCrObservationAge or WhoCrObservationBirthSex) * section[clinicalStatus].title = "clinical status" -// TODO +* section[clinicalStatus].code = http://test.org/sectionCode#clinicalStatus +* section[clinicalStatus].entry only Reference(WhoCrObservationLabTestDate or WhoCrObservationSymptoms or WhoCrObservationOnsetDate or WhoCrObservationComorbidities) * section[exposureRisk].title = "exposure risk" -// TODO +* section[exposureRisk].code = http://test.org/sectionCode#exposureRisk +* section[exposureRisk].entry only Reference(WhoCrObservationHasTravelled) Profile: WhoCrEncounter Parent: Encounter @@ -66,3 +68,194 @@ Description: "WHO Observation of birth sex for case report" * value[x] only CodeableConcept * valueCodeableConcept 1..1 * valueCodeableConcept from WhoCrValueSetSexAtBirth + +Profile: WhoCrObservationLabTestDate +Parent: Observation +Id: who-cr-observation-lab-test-date +Title: "WHO CR Observation Lab Test Date" +Description: "WHO Observation for lab test date" +* code = http://test.org/obsCode#lab-test-date // TODO: code not defined in questionnaire either +* value[x] only dateTime +* valueDateTime 1..1 + +Profile: WhoCrObservationSymptoms +Parent: Observation +Id: who-cr-observation-symptoms +Title: "WHO CR Observation Symptoms" +Description: "WHO Observation if the patient has any symptoms for case report" +* code = http://test.org/obsCode#symptoms // TODO: code not defined in questionnaire either +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNo + +Profile: WhoCrObservationOnsetDate +Parent: Observation +Id: who-cr-observation-onset-date +Title: "WHO CR Observation Symptoms Onset Date" +Description: "WHO Observation for date of symptoms onset" +* code = $LNC#65222-2 +* value[x] only dateTime +* valueDateTime 1..1 + +Profile: WhoCrObservationComorbidities +Parent: Observation +Id: who-cr-observation-comorbidities +Title: "WHO CR Observation Co-morbidities" +Description: "WHO Observation if the patient has any co-morbidities for case report" +* code = $LNC#75618-9 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNo + +Profile: WhoCrObservationHasTravelled +Parent: Observation +Id: who-cr-observation-has-travelled +Title: "WHO CR Observation Has Travelled" +Description: "WHO Observation if the patient has travelled in the past 14 days prior to symptom onset for case report" +* code = $LNC#96542-6 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNo + +/** + * Examples + */ + +Instance: WhoCrBundleExample +InstanceOf: Bundle +Usage: #example +Title: "Who Cr Bundle Example" +Description: "Example of a clinical bundle representing a case report" +* type = #document +* entry[+].fullUrl = "http://test.org/fhir/Composition/WhoCrCompositionBasicExample" +* entry[=].resource = WhoCrCompositionBasicExample +* entry[+].fullUrl = "http://test.org/fhir/Encounter/WhoCrEncounterExample" +* entry[=].resource = WhoCrEncounterExample +* entry[+].fullUrl = "http://test.org/fhir/Location/WhoCrLocationExample" +* entry[=].resource = WhoCrLocationExample +* entry[+].fullUrl = "http://test.org/fhir/Practitioner/WhoCrPractitionerExample" +* entry[=].resource = WhoCrPractitionerExample +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationAgeExample" +* entry[=].resource = WhoCrObservationAgeExample +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationBirthSexExample" +* entry[=].resource = WhoCrObservationBirthSexExample +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationLabTestDateExample" +* entry[=].resource = WhoCrObservationLabTestDateExample +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationSymptomsExample" +* entry[=].resource = WhoCrObservationSymptomsExample +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCRObservationOnsetDateExample" +* entry[=].resource = WhoCRObservationOnsetDateExample +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationComorbiditiesExample" +* entry[=].resource = WhoCrObservationComorbiditiesExample +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationHasTravelledExample" +* entry[=].resource = WhoCrObservationHasTravelledExample + +Instance: WhoCrCompositionBasicExample +InstanceOf: WhoCrCompositionBasic +Usage: #example +Title: "Who Cr Composition Basic Example" +Description: "Basic Composition example" +* status = #final +* identifier.system = "http://test.org/identifier/who-covid-19-case-report" +* identifier.value = "1111" +* encounter = Reference(WhoCrEncounterExample) +* date = "2021-01-18" +* author = Reference(WhoCrPractitionerExample) +* title = "WHO COVID-19 Case Report" + +* section[+].title = "patient information" +* section[=].code = http://test.org/sectionCode#patientinformation +* section[=].entry[+] = Reference(WhoCrObservationAgeExample) +* section[=].entry[+] = Reference(WhoCrObservationBirthSexExample) + +* section[+].title = "clinical status" +* section[=].code = http://test.org/sectionCode#clinicalStatus +* section[=].entry[+] = Reference(WhoCrObservationLabTestDateExample) +* section[=].entry[+] = Reference(WhoCrObservationSymptomsExample) +* section[=].entry[+] = Reference(WhoCRObservationOnsetDateExample) +* section[=].entry[+] = Reference(WhoCrObservationComorbiditiesExample) + +* section[+].title = "exposure risk" +* section[=].code = http://test.org/sectionCode#exposureRisk +* section[=].entry[+] = Reference(WhoCrObservationHasTravelledExample) + +Instance: WhoCrEncounterExample +InstanceOf: Encounter +Usage: #example +Title: "WHO CR Encounter Example" +Description: "Encounter example" +* location.location = Reference(WhoCrLocationExample) +* status = #finished +* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE + +Instance: WhoCrLocationExample +InstanceOf: Location +Usage: #example +Title: "Who Cr Location Example" +Description: "Location example" +* address.country = "ZA" +* address.state = "KZN" + +Instance: WhoCrPractitionerExample +InstanceOf: Practitioner +Usage: #example +Title: "Who Cr Practitioner Example" +Description: "Practitioner example" +* name[0].given[0] = "Homer" +* name[1].family = "Simpson" + +Instance: WhoCrObservationAgeExample +InstanceOf: WhoCrObservationAge +Usage: #example +Title: "Who Cr Observation Age Example" +Description: "Observation Age Example" +* status = #final +* valueQuantity.value = 35 + +Instance: WhoCrObservationBirthSexExample +InstanceOf: WhoCrObservationBirthSex +Usage: #example +Title: "Who Cr Observation Birth Sex Example" +Description: "Observation Birth Sex Example" +* status = #final +* valueCodeableConcept = $cs-gender#male + +Instance: WhoCrObservationLabTestDateExample +InstanceOf: WhoCrObservationLabTestDate +Usage: #example +Title: "Who Cr Observation Lab Test Date Example" +Description: "Lab Test Date Example" +* status = #final +* valueDateTime = "2021-01-18" + +Instance: WhoCrObservationSymptomsExample +InstanceOf: WhoCrObservationSymptoms +Usage: #example +Title: "Who Cr Observation Symptoms Example" +Description: "Observation Symptoms Example" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + +Instance: WhoCRObservationOnsetDateExample +InstanceOf: WhoCrObservationOnsetDate +Usage: #example +Title: "Who CR Observation Onset DateExample" +Description: "Observation Onset DateExample" +* status = #final +* valueDateTime = "2021-01-15" + +Instance: WhoCrObservationComorbiditiesExample +InstanceOf: WhoCrObservationComorbidities +Usage: #example +Title: "Who Cr Observation ComorbiditiesExample" +Description: "Observation ComorbiditiesExample" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + +Instance: WhoCrObservationHasTravelledExample +InstanceOf: WhoCrObservationHasTravelled +Usage: #example +Title: "Who Cr Observation Has Travelled Example" +Description: "Observation Has Travelled Example" +* status = #final +* valueCodeableConcept = $cs-v2-0136#N From 9976c93be3bfd6467eb2c574edb2698dd0739ff4 Mon Sep 17 00:00:00 2001 From: Ryan Crichton Date: Wed, 20 Jan 2021 14:28:41 +0200 Subject: [PATCH 04/88] Add an example QUestionnaireResponse with Basic answers for PoC --- .../fsh/who-cr-QuestionnaireResponseBasic.fsh | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 input/fsh/who-cr-QuestionnaireResponseBasic.fsh diff --git a/input/fsh/who-cr-QuestionnaireResponseBasic.fsh b/input/fsh/who-cr-QuestionnaireResponseBasic.fsh new file mode 100644 index 00000000..562e981f --- /dev/null +++ b/input/fsh/who-cr-QuestionnaireResponseBasic.fsh @@ -0,0 +1,86 @@ +Instance: WhoCrQuestionnaireResponseBasic +InstanceOf: QuestionnaireResponse +Usage: #example +Title: "Who Cr Questionnaire Response Basic" +Description: "Questionnaire response example" +* identifier.system = "http://test.org/response-id" +* identifier.value = "1111" +* questionnaire = Canonical(WhoCrQuestionnaireCovid19Surveillance) +* status = #completed +* authored = "2021-01-20T11:29:52+02:00" +* author = Reference(WhoCrPractitionerExample) + +* item[+].linkId = "report_country" +* item[=].text = "Reporting country:" +* item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.report.country" +* item[=].answer[+].valueCoding = $vs-iso3166-1-2#ZA + +* item[+].linkId = "report_test_reason" +* item[=].text = "Why tested for COVID-19:" +* item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.report.testReason" +* item[=].answer[+].valueCoding = WhoCrCodeSystemReasonForTesting#CASE_CONTACT + +* item[+].linkId = "section_patient_info" +* item[=].text = "Patient information" + +* item[=].item[+].linkId = "patinfo_ID" +* item[=].item[=].text = "Unique Case Identifier (used in country):" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.patientInfo.caseId" +* item[=].item[=].answer[+].valueString = "123456789" + +* item[=].item[+].linkId = "patinfo_ageonset" +* item[=].item[=].text = "Age (use days if <1 month, months if <1 year):" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.patientInfo.onsetAge" +* item[=].item[=].answer[+].valueQuantity = 34 'a' + +* item[=].item[+].linkId = "patinfo_sex" +* item[=].item[=].text = "Sex at birth:" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.patientInfo.birthSex" +* item[=].item[=].answer[+].valueCoding = $cs-gender#male + +* item[=].item[+].linkId = "patinfo_placediagnosed" +* item[=].item[=].text = "Place where the case was diagnosed:" + +* item[=].item[=].item[+].linkId = "patinfo_idadmin0" +* item[=].item[=].item[=].text = "Country:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.patientInfo.identified.country" +* item[=].item[=].item[=].answer[+].valueCoding = $vs-iso3166-1-2#ZA + +* item[=].item[=].item[=].item[+].linkId = "patinfo_idadmin1" +* item[=].item[=].item[=].item[=].text = "Admin Level 1 (province):" +* item[=].item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.patientInfo.identified.subnational" +* item[=].item[=].item[=].item[=].answer[+].valueCoding = $cs-iso3166-2#ZA-KZN + +* item[+].linkId = "section_clinical_status" +* item[=].text = "Clinical Status" + +* item[=].item[+].linkId = "Lab_date1" +* item[=].item[=].text = "Date of first laboratory confirmation test:" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.lab.confirmedDate" +* item[=].item[=].answer[+].valueDate = "2021-01-20" + +* item[=].item[+].linkId = "patcourse_asymp" //TODO: variable name/short label is opposite to meaning of question +* item[=].item[=].text = "Any symptoms or signs at time of specimen collection that resulted in first laboratory confirmation?" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.patientCourse.asymptomatic" +* item[=].item[=].answer[+].valueCoding = $cs-v2-0136#Y + +* item[=].item[=].item[+].linkId = "patcourse_dateonset" +* item[=].item[=].item[=].text = "Date of onset of symptoms:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.patientCourse.onsetDate" +* item[=].item[=].item[=].answer[+].valueDate = "2021-01-15" + +* item[=].item[+].linkId = "section_comorbidity" +* item[=].item[=].text = "Underlying conditions and comorbidity:" + +* item[=].item[=].item[+].linkId = "Comcond_any" +* item[=].item[=].item[=].text = "Any underlying conditions?" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.comorbidities.any" +* item[=].item[=].item[=].answer[+].valueCoding = $cs-v2-0136#N + +* item[+].linkId = "section_exposure_risk" +* item[=].text = "Exposure risk in the 14 days prior to symptom onset (prior to testing if asymptomatic)" + +* item[=].item[+].linkId = "expo_travel" +* item[=].item[=].text = "Has the case travelled in the 14 days prior to symptom onset?" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.travel.hasTravelled" +* item[=].item[=].answer[+].valueCoding = $cs-v2-0136#N From e0ebf83dc1d53f352d4b6b01473b5d57366437be Mon Sep 17 00:00:00 2001 From: Ryan Crichton Date: Thu, 28 Jan 2021 08:49:16 +0200 Subject: [PATCH 05/88] Revert script auto-update as the new change doesn't work in github actions --- _updatePublisher.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_updatePublisher.sh b/_updatePublisher.sh index 1a3484bb..0384d4ac 100755 --- a/_updatePublisher.sh +++ b/_updatePublisher.sh @@ -32,7 +32,7 @@ done echo "Checking internet connection" case "$OSTYPE" in - linux-gnu* ) ping tx.fhir.org -4 -c 1 -w 1000 >/dev/null ;; + linux-gnu* ) wget -q --spider http://tx.fhir.org/snomed/doco ;; darwin* ) ping tx.fhir.org -c 1 >/dev/null ;; *) echo "unknown: $OSTYPE"; exit 1 ;; esac From 4f9e8cfb807872cac3d34d60742bed3745c08477 Mon Sep 17 00:00:00 2001 From: brad Date: Tue, 30 Mar 2021 08:09:09 +0200 Subject: [PATCH 06/88] add the lab result questionnaire profile This creates the covid19 labarotory result questionnaire profile DSC19-84 --- input/fsh/who-cr-QuestionnaireLabResult.fsh | 74 +++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 input/fsh/who-cr-QuestionnaireLabResult.fsh diff --git a/input/fsh/who-cr-QuestionnaireLabResult.fsh b/input/fsh/who-cr-QuestionnaireLabResult.fsh new file mode 100644 index 00000000..ec835876 --- /dev/null +++ b/input/fsh/who-cr-QuestionnaireLabResult.fsh @@ -0,0 +1,74 @@ +Instance: WhoCrQuestionnaireCovid19Result +InstanceOf: Questionnaire +Description: "COVID-19 Laboratory Result" +Title: "COVID-19 Laboratory Result" +Usage: #definition + +* name = "WhoCrQuestionnaireCovid19Result" +* subjectType = #Patient +* url = "http://openhie.github.io/covid-19/Questionnaire/WhoCrQuestionnaireCovid19Result" +* status = #active + +* item[0].linkId = "labreport_ID" +* item[0].text = "Unique lab result identifier" +* item[0].code = $LNC#94659-0 +* item[0].type = #string + +* item[1].linkId = "testLab_id" +* item[1].text = "Lab that conducted the test" +* item[1].code = $LNC#94659-0 +* item[1].type = #string + +* item[2].linkId = "section_patient_info" +* item[2].prefix = "Section 1" +* item[2].text = "Patient information" +* item[2].type = #group + +* item[2].item[0].linkId = "patinfo_ID" +* item[2].item[0].text = "Patient unique ID" +* item[2].item[0].type = #string +* item[2].item[0].code = $LNC#94659-0 + +* item[2].item[1].linkId = "patinfo_name" +* item[2].item[1].text = "Patient name" +* item[2].item[1].type = #string + +* item[2].item[2].linkId = "patinfo_idadmin1" +* item[2].item[2].text = "Patient Country " +* item[2].item[2].type = #choice +* item[2].item[2].code = $LNC#96546-7 +* item[2].item[2].answerValueSet = "#WhoCrValueSetQuestionnaireCountry" + +* item[2].item[3].linkId = "patinfo_dob" +* item[2].item[3].text = "Date of Birth" +* item[2].item[3].type = #date +* item[2].item[3].code = $LNC#21112-8 + +* item[2].item[4].linkId = "patinfo_sex" +* item[2].item[4].text = "Sex at birth:" +* item[2].item[4].type = #choice +* item[2].item[4].code = $LNC#76689-9 +* item[2].item[4].answerValueSet = Canonical(WhoCrValueSetSexAtBirth) + +* item[3].linkId = "Lab_date1" +* item[3].text = "Lab Confirmation Test Date" +* item[3].type = #date + +* item[4].linkId = "test_result" +* item[4].text = "Overall Result" +* item[4].type = #string +* item[4].code = $LNC#94500-6 + +* item[5].linkId = "ordering_clinic" +* item[5].text = "Clinic that requested the test" +* item[5].type = #string +* item[5].code = $LNC#76696-4 + +* item[6].linkId = "test_type" +* item[6].text = "Type of Test" +* item[6].type = #string +* item[6].code = $LNC#76696-4 + +* item[7].linkId = "specimen_type" +* item[7].text = "Sample type" +* item[7].type = #string From 012cb78374865db479fe60388955b5fcbc78528c Mon Sep 17 00:00:00 2001 From: brad Date: Tue, 30 Mar 2021 08:12:24 +0200 Subject: [PATCH 07/88] add the questionnaire response example This adds the covid19 lab result questionnaire response example DSC19-84 --- .../who-cr-QuestionnaireResponseLabResult.fsh | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 input/fsh/who-cr-QuestionnaireResponseLabResult.fsh diff --git a/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh b/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh new file mode 100644 index 00000000..8e9bc43d --- /dev/null +++ b/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh @@ -0,0 +1,59 @@ +Instance: WhoCrQuestionnaireResponseLabResult +InstanceOf: QuestionnaireResponse +Usage: #example +Title: "Who Cr Questionnaire Response fr lab result" +Description: "Questionnaire response example for Covid19 lab result" +* identifier.system = "http://test.org/response-id" +* identifier.value = "1111" +* questionnaire = Canonical(WhoCrQuestionnaireCovid19Result) +* status = #completed +* authored = "2021-01-20T11:29:52+02:00" +* author = Reference(WhoCrPractitionerExample) + +* item[+].linkId = "labreport_ID" +* item[=].text = "Unique lab result identifier" +* item[=].answer[+].valueString = "123456789" + +* item[+].linkId = "testLab_id" +* item[=].text = "Lab that conducted the test" +* item[=].answer[+].valueString = "123456789" + +* item[+].linkId = "section_patient_info" +* item[=].text = "Patient information" + +* item[=].item[+].linkId = "patinfo_ID" +* item[=].item[=].text = "Patient unique ID" +* item[=].item[=].answer[+].valueString = "123456789" + +* item[=].item[+].linkId = "patinfo_name" +* item[=].item[=].text = "Patient Name" +* item[=].item[=].answer[+].valueString = "Rob Stark" + +* item[=].item[+].linkId = "patinfo_dob" +* item[=].item[=].text = "Date of Birth" +* item[=].item[=].answer[+].valueDate = "2021-01-20" + +* item[=].item[+].linkId = "patinfo_sex" +* item[=].item[=].text = "Sex at birth" +* item[=].item[=].answer[+].valueCoding = $cs-gender#male + +* item[+].linkId = "Lab_date1" +* item[=].text = "Lab Confirmation Test Date" +* item[=].answer[+].valueDate = "2021-01-20" + +* item[+].linkId = "test_result" +* item[=].text = "Overall Result" +* item[=].answer[+].valueString = "Positive" + +* item[+].linkId = "ordering_clinic" +* item[=].text = "Clinic that requested the test" +* item[=].answer[+].valueString = "KEMRI Clinic" + +* item[+].linkId = "test_type" +* item[=].text = "Type of Test" +* item[=].answer[+].valueString = "COVID-19 PCR TEST" + +* item[+].linkId = "specimen_type" +* item[=].text = "Sample Type" +* item[=].answer[+].valueString = "Respiratory Swab" + From 271be6ac40977b584bfb8620da886a2c31061e26 Mon Sep 17 00:00:00 2001 From: brad Date: Tue, 30 Mar 2021 10:08:20 +0200 Subject: [PATCH 08/88] remove unecessaty line DSC19-84 --- input/fsh/who-cr-QuestionnaireResponseLabResult.fsh | 1 - 1 file changed, 1 deletion(-) diff --git a/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh b/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh index 8e9bc43d..9b7c4b80 100644 --- a/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh @@ -56,4 +56,3 @@ Description: "Questionnaire response example for Covid19 lab result" * item[+].linkId = "specimen_type" * item[=].text = "Sample Type" * item[=].answer[+].valueString = "Respiratory Swab" - From bc64df584ae119e77c1a87be249ba782434337e7 Mon Sep 17 00:00:00 2001 From: brad Date: Tue, 30 Mar 2021 13:13:58 +0200 Subject: [PATCH 09/88] add patient profile and example patient DSC19-86 --- input/fsh/who-cr-Patient.fsh | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/input/fsh/who-cr-Patient.fsh b/input/fsh/who-cr-Patient.fsh index cab6420f..c9f2be05 100644 --- a/input/fsh/who-cr-Patient.fsh +++ b/input/fsh/who-cr-Patient.fsh @@ -23,4 +23,30 @@ Usage: #example // * extension[birthSex].valueCode = #F * address[0].use = #home -* address[0].country = $cs-iso3166-1#URY \ No newline at end of file +* address[0].country = $cs-iso3166-1#URY + +Profile: Covid19Patient +Parent: Patient +Id: covid19-Patient +Title: "COVID-19 Lab Result Patient" +Description: "Defines a patient profile for the COVID-19 Lab Result" +* identifier 1..1 MS +* name 1..1 MS +* name.family 1..1 MS +* name.given 1..* MS +* gender 1..1 MS +* birthDate 1..1 MS +* address 1..1 MS +* address.district 1..1 MS + +Instance: Covid19PatientExample +InstanceOf: Patient +Usage: #example +Title: "COVID-19 Lab Result Patient" +Description: "COVID-19 Patient example" +* identifier.value = "12345" +* name.family = "Doe" +* name.given = "John" +* gender = #male +* birthDate = "1981-05-21" +* address.district = "KZN" From bd408266df85951ab375344546cac76a1c4f7cdd Mon Sep 17 00:00:00 2001 From: brad Date: Tue, 30 Mar 2021 14:14:53 +0200 Subject: [PATCH 10/88] add valid district to patient example DSC19-84 --- input/fsh/who-cr-Patient.fsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/fsh/who-cr-Patient.fsh b/input/fsh/who-cr-Patient.fsh index c9f2be05..178764a1 100644 --- a/input/fsh/who-cr-Patient.fsh +++ b/input/fsh/who-cr-Patient.fsh @@ -49,4 +49,4 @@ Description: "COVID-19 Patient example" * name.given = "John" * gender = #male * birthDate = "1981-05-21" -* address.district = "KZN" +* address.district = "City of Cape Town" From e1c7e665a2cb74c35956fca3342dd8bb269481a2 Mon Sep 17 00:00:00 2001 From: brad Date: Tue, 30 Mar 2021 14:17:08 +0200 Subject: [PATCH 11/88] fix typo and add the correct loinc code DSC19-84 --- input/fsh/who-cr-QuestionnaireLabResult.fsh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/input/fsh/who-cr-QuestionnaireLabResult.fsh b/input/fsh/who-cr-QuestionnaireLabResult.fsh index ec835876..888e91d1 100644 --- a/input/fsh/who-cr-QuestionnaireLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireLabResult.fsh @@ -34,10 +34,9 @@ Usage: #definition * item[2].item[1].type = #string * item[2].item[2].linkId = "patinfo_idadmin1" -* item[2].item[2].text = "Patient Country " -* item[2].item[2].type = #choice -* item[2].item[2].code = $LNC#96546-7 -* item[2].item[2].answerValueSet = "#WhoCrValueSetQuestionnaireCountry" +* item[2].item[2].text = "Patient County " +* item[2].item[2].type = #string +* item[2].item[2].code = $LNC#52830-7 * item[2].item[3].linkId = "patinfo_dob" * item[2].item[3].text = "Date of Birth" From 1f4b9fb595246ac1c274289b701a40b12f7e6986 Mon Sep 17 00:00:00 2001 From: brad Date: Tue, 30 Mar 2021 14:19:53 +0200 Subject: [PATCH 12/88] add the patient county field to the example DSC19-84 --- input/fsh/who-cr-QuestionnaireResponseLabResult.fsh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh b/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh index 9b7c4b80..f4d08c77 100644 --- a/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh @@ -29,6 +29,10 @@ Description: "Questionnaire response example for Covid19 lab result" * item[=].item[=].text = "Patient Name" * item[=].item[=].answer[+].valueString = "Rob Stark" +* item[=].item[+].linkId = "patinfo_idadmin1" +* item[=].item[=].text = "Patient County " +* item[=].item[=].answer[+].valueString = "City of Cape Town" + * item[=].item[+].linkId = "patinfo_dob" * item[=].item[=].text = "Date of Birth" * item[=].item[=].answer[+].valueDate = "2021-01-20" From 2aa7c9a9e76b1f0a60d999bf737ac1a3690d1b41 Mon Sep 17 00:00:00 2001 From: brad Date: Wed, 31 Mar 2021 10:07:01 +0200 Subject: [PATCH 13/88] update the sushi version Some syntax is not supported in the old version DSC1-85 --- fsh.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fsh.ini b/fsh.ini index 8f8ce18b..50e10a4d 100644 --- a/fsh.ini +++ b/fsh.ini @@ -1,2 +1,2 @@ [FSH] -sushi-version=1.0 \ No newline at end of file +sushi-version=1.3.1 From 84e51783953bf24a762b77a26eb8d0c4e15ea160 Mon Sep 17 00:00:00 2001 From: brad Date: Wed, 31 Mar 2021 10:09:36 +0200 Subject: [PATCH 14/88] add the diagnostic report profile and diagnostic report example This is the diagnostic profile for the covid19 lab result DSC19-85 --- .../fsh/who-cr-DiagnosticReportLabResult.fsh | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 input/fsh/who-cr-DiagnosticReportLabResult.fsh diff --git a/input/fsh/who-cr-DiagnosticReportLabResult.fsh b/input/fsh/who-cr-DiagnosticReportLabResult.fsh new file mode 100644 index 00000000..7b92f2d4 --- /dev/null +++ b/input/fsh/who-cr-DiagnosticReportLabResult.fsh @@ -0,0 +1,32 @@ +Profile: Covid19LabResult +Parent: DiagnosticReport +Id: covid19-lab-report +Title: "COVID-19 Lab Result" +Description: "Defines a diagnostic report profile for the COVID-19 Lab Result" +* identifier 1..1 MS +* conclusionCode 1..1 MS +* category 1..1 MS +* specimen 1..1 MS +* performer 1..1 MS +* subject 1..1 MS + +Instance: Covid19LabDiagnosticReportExample +InstanceOf: DiagnosticReport +Usage: #example +Title: "COVID-19 Lab Result example" +Description: "COVID-19 Patient example" +* identifier.system = "http://example.org/" +* identifier.value = "12345" +* conclusionCode.coding[0].system = "http://example.org/" +* conclusionCode.coding[0].code = $LNC#94500-6 +* status = #final +* code = $LNC#10207-9 +* conclusionCode.coding[0].display = "Negative" +* conclusionCode.text = "Negative result for Covid19" +* category.coding[0].system = "http://example.org/" +* category.coding[0].code = $LNC#94500-6 +* category.coding[0].display = "Laboratory" +* category.text = "Covid19 Laboratory" +* specimen = Reference(Covid19Specimen/example) +* performer = Reference(WhoCrPractitionerExample) +* subject = Reference(Covid19PatientExample) From 7bf89863bb04784380c723d18ec561f9c289178b Mon Sep 17 00:00:00 2001 From: brad Date: Wed, 31 Mar 2021 10:12:42 +0200 Subject: [PATCH 15/88] make the questionnaire fields required The cardinality for the fields should be 1..1 and this has been changed DSC19-85 --- input/fsh/who-cr-QuestionnaireLabResult.fsh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/input/fsh/who-cr-QuestionnaireLabResult.fsh b/input/fsh/who-cr-QuestionnaireLabResult.fsh index 888e91d1..c5e69d3c 100644 --- a/input/fsh/who-cr-QuestionnaireLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireLabResult.fsh @@ -13,61 +13,74 @@ Usage: #definition * item[0].text = "Unique lab result identifier" * item[0].code = $LNC#94659-0 * item[0].type = #string +* item[0].required = true * item[1].linkId = "testLab_id" * item[1].text = "Lab that conducted the test" * item[1].code = $LNC#94659-0 * item[1].type = #string +* item[1].required = true * item[2].linkId = "section_patient_info" * item[2].prefix = "Section 1" * item[2].text = "Patient information" * item[2].type = #group +* item[2].required = true * item[2].item[0].linkId = "patinfo_ID" * item[2].item[0].text = "Patient unique ID" * item[2].item[0].type = #string * item[2].item[0].code = $LNC#94659-0 +* item[2].item[0].required = true * item[2].item[1].linkId = "patinfo_name" * item[2].item[1].text = "Patient name" * item[2].item[1].type = #string +* item[2].item[1].required = true * item[2].item[2].linkId = "patinfo_idadmin1" * item[2].item[2].text = "Patient County " * item[2].item[2].type = #string * item[2].item[2].code = $LNC#52830-7 +* item[2].item[2].required = true * item[2].item[3].linkId = "patinfo_dob" * item[2].item[3].text = "Date of Birth" * item[2].item[3].type = #date * item[2].item[3].code = $LNC#21112-8 +* item[2].item[3].required = true * item[2].item[4].linkId = "patinfo_sex" * item[2].item[4].text = "Sex at birth:" * item[2].item[4].type = #choice * item[2].item[4].code = $LNC#76689-9 * item[2].item[4].answerValueSet = Canonical(WhoCrValueSetSexAtBirth) +* item[2].item[4].required = true * item[3].linkId = "Lab_date1" * item[3].text = "Lab Confirmation Test Date" * item[3].type = #date +* item[3].required = true * item[4].linkId = "test_result" * item[4].text = "Overall Result" * item[4].type = #string * item[4].code = $LNC#94500-6 +* item[4].required = true * item[5].linkId = "ordering_clinic" * item[5].text = "Clinic that requested the test" * item[5].type = #string * item[5].code = $LNC#76696-4 +* item[5].required = true * item[6].linkId = "test_type" * item[6].text = "Type of Test" * item[6].type = #string * item[6].code = $LNC#76696-4 +* item[6].required = true * item[7].linkId = "specimen_type" * item[7].text = "Sample type" * item[7].type = #string +* item[7].required = true From d2d35b8eb6b2d437dae70162a38064d2ec37679c Mon Sep 17 00:00:00 2001 From: brad Date: Wed, 31 Mar 2021 11:52:32 +0200 Subject: [PATCH 16/88] add the organization profiles This will add the organization profiles for the ordering clinic and the test lab DSC19-87 DSC19-88 --- .../fsh/who-cr-OrganisationCovid19Result.fsh | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 input/fsh/who-cr-OrganisationCovid19Result.fsh diff --git a/input/fsh/who-cr-OrganisationCovid19Result.fsh b/input/fsh/who-cr-OrganisationCovid19Result.fsh new file mode 100644 index 00000000..dbbbdde1 --- /dev/null +++ b/input/fsh/who-cr-OrganisationCovid19Result.fsh @@ -0,0 +1,28 @@ +Profile: Covid19OrganizationTestLab +Parent: Organization +Id: covid19-organization-testlab +Title: "COVID-19 Lab Test Organization" +Description: "Defines an organization profile for the COVID-19 Test" +* identifier 1..1 MS + +Profile: Covid19OrganizationOrderingClinic +Parent: Organization +Id: covid19-ordering-clinic-organization +Title: "COVID-19 Ordering clinic Organization" +Description: "Defines an organization profile for the COVID-19 Lab Result ordering clinic" +* name 1..1 MS + +Instance: Covid19TestLabOrganizationExample +InstanceOf: Covid19OrganizationTestLab +Usage: #example +Title: "COVID-19 Test Lab Organization Example" +Description: "COVID-19 Test Lab organization example" +* identifier.system = "http://example.org" +* identifier.value = "12345" + +Instance: Covid19OrderingClinicOrganizationExample +InstanceOf: Covid19OrganizationOrderingClinic +Usage: #example +Title: "COVID-19 Ordering Clinic Organization Example" +Description: "COVID-19 Ordering Clinic organization example" +* name = "KEMRI Clinic" From 230fd1ff55fa98db4a66447f536216d0363d2bc8 Mon Sep 17 00:00:00 2001 From: brad Date: Wed, 31 Mar 2021 12:11:30 +0200 Subject: [PATCH 17/88] correct the instances for the examples Incorrect instances were being used in the examples resulting in the meta information not being added to the resources by sushi DSC19-66 --- input/fsh/who-cr-DiagnosticReportLabResult.fsh | 4 ++-- input/fsh/who-cr-Patient.fsh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/input/fsh/who-cr-DiagnosticReportLabResult.fsh b/input/fsh/who-cr-DiagnosticReportLabResult.fsh index 7b92f2d4..ab206b91 100644 --- a/input/fsh/who-cr-DiagnosticReportLabResult.fsh +++ b/input/fsh/who-cr-DiagnosticReportLabResult.fsh @@ -1,6 +1,6 @@ Profile: Covid19LabResult Parent: DiagnosticReport -Id: covid19-lab-report +Id: covid19-lab-result-report Title: "COVID-19 Lab Result" Description: "Defines a diagnostic report profile for the COVID-19 Lab Result" * identifier 1..1 MS @@ -11,7 +11,7 @@ Description: "Defines a diagnostic report profile for the COVID-19 Lab Result" * subject 1..1 MS Instance: Covid19LabDiagnosticReportExample -InstanceOf: DiagnosticReport +InstanceOf: Covid19LabResult Usage: #example Title: "COVID-19 Lab Result example" Description: "COVID-19 Patient example" diff --git a/input/fsh/who-cr-Patient.fsh b/input/fsh/who-cr-Patient.fsh index 178764a1..1b7cd1ed 100644 --- a/input/fsh/who-cr-Patient.fsh +++ b/input/fsh/who-cr-Patient.fsh @@ -40,7 +40,7 @@ Description: "Defines a patient profile for the COVID-19 Lab Result" * address.district 1..1 MS Instance: Covid19PatientExample -InstanceOf: Patient +InstanceOf: Covid19Patient Usage: #example Title: "COVID-19 Lab Result Patient" Description: "COVID-19 Patient example" From 3ebb28d8c93eebbc9cbebdca8a28460019218d2c Mon Sep 17 00:00:00 2001 From: brad Date: Wed, 31 Mar 2021 14:43:54 +0200 Subject: [PATCH 18/88] add example encounter resource This is used in the example bundle for a lab result DSC19-86 --- input/fsh/who-cr-OrganisationCovid19Result.fsh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/input/fsh/who-cr-OrganisationCovid19Result.fsh b/input/fsh/who-cr-OrganisationCovid19Result.fsh index dbbbdde1..e5845e7b 100644 --- a/input/fsh/who-cr-OrganisationCovid19Result.fsh +++ b/input/fsh/who-cr-OrganisationCovid19Result.fsh @@ -26,3 +26,13 @@ Usage: #example Title: "COVID-19 Ordering Clinic Organization Example" Description: "COVID-19 Ordering Clinic organization example" * name = "KEMRI Clinic" + +Instance: Covid19OrderingClinicPatientEncounterExample +InstanceOf: Encounter +Usage: #example +Title: "COVID-19 Ordering Clinic Patient Encounter Example" +Description: "COVID-19 Ordering Clinic patient example" +* serviceProvider = Reference(Covid19OrderingClinicOrganizationExample) +* status = #finished +* subject = Reference(Covid19PatientExample) +* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE From 452077d47e95ee2be37160aadceecbb25ea56f9b Mon Sep 17 00:00:00 2001 From: brad Date: Wed, 31 Mar 2021 14:46:01 +0200 Subject: [PATCH 19/88] add the encounter rule to the diagnostic report profile The encounter is a required field for the diagnostic report DSC19-87 --- input/fsh/who-cr-DiagnosticReportLabResult.fsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/input/fsh/who-cr-DiagnosticReportLabResult.fsh b/input/fsh/who-cr-DiagnosticReportLabResult.fsh index ab206b91..dd2c234a 100644 --- a/input/fsh/who-cr-DiagnosticReportLabResult.fsh +++ b/input/fsh/who-cr-DiagnosticReportLabResult.fsh @@ -9,6 +9,7 @@ Description: "Defines a diagnostic report profile for the COVID-19 Lab Result" * specimen 1..1 MS * performer 1..1 MS * subject 1..1 MS +* encounter 1..1 MS Instance: Covid19LabDiagnosticReportExample InstanceOf: Covid19LabResult @@ -30,3 +31,4 @@ Description: "COVID-19 Patient example" * specimen = Reference(Covid19Specimen/example) * performer = Reference(WhoCrPractitionerExample) * subject = Reference(Covid19PatientExample) +* encounter = Reference(Covid19OrderingClinicPatientEncounterExample) From ae45bb499a8d80ad87fd360d01abe02161fc21f5 Mon Sep 17 00:00:00 2001 From: brad Date: Wed, 31 Mar 2021 14:49:51 +0200 Subject: [PATCH 20/88] add an example bundle for the lab result This is a bundle that will collect all the resources that represent the lab result DSC19-89 --- input/fsh/who-cr-BundleCovid19LabResult.fsh | 34 +++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 input/fsh/who-cr-BundleCovid19LabResult.fsh diff --git a/input/fsh/who-cr-BundleCovid19LabResult.fsh b/input/fsh/who-cr-BundleCovid19LabResult.fsh new file mode 100644 index 00000000..07172a63 --- /dev/null +++ b/input/fsh/who-cr-BundleCovid19LabResult.fsh @@ -0,0 +1,34 @@ +Instance: WhoCrLabResultBundleExample +InstanceOf: Bundle +Usage: #example +Title: "Who Cr Bundle Example" +Description: "Example of a clinical bundle representing a lab result" +* type = #transaction +* entry[+].fullUrl = "http://test.org/fhir/Patient/Covid19PatientExample" +* entry[=].resource = Covid19PatientExample +* entry[=].request.method = #POST +* entry[=].request.url = "Patient" +* entry[+].fullUrl = "http://test.org/fhir/Organization/Covid19TestLabOrganizationExample" +* entry[=].resource = Covid19TestLabOrganizationExample +* entry[=].request.method = #POST +* entry[=].request.url = "Organization" +* entry[+].fullUrl = "http://test.org/fhir/Organization/Covid19OrderingClinicOrganizationExample" +* entry[=].resource = Covid19OrderingClinicOrganizationExample +* entry[=].request.method = #POST +* entry[=].request.url = "Organization" +* entry[+].fullUrl = "http://test.org/fhir/Practitioner/WhoCrPractitionerExample" +* entry[=].resource = WhoCrPractitionerExample +* entry[=].request.method = #POST +* entry[=].request.url = "Practitioner" +* entry[+].fullUrl = "http://test.org/fhir/DiagnosticReport/Covid19LabDiagnosticReportExample" +* entry[=].resource = Covid19LabDiagnosticReportExample +* entry[=].request.method = #POST +* entry[=].request.url = "DiagnosticReport" +* entry[+].fullUrl = "http://test.org/fhir/Encounter/Covid19OrderingClinicPatientEncounterExample" +* entry[=].resource = Covid19OrderingClinicPatientEncounterExample +* entry[=].request.method = #POST +* entry[=].request.url = "Encounter" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationLabTestDateExample" +* entry[=].resource = WhoCrObservationLabTestDateExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" From 19546501b752d669c4722ae1b3a3bba3c5243fe7 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Thu, 8 Apr 2021 13:42:23 +0200 Subject: [PATCH 21/88] Add missing colons to questionnaire text fields These fields indicate the information needed to be given by the user. The existing questionnaire and questionnaireResponse examples end these fields with colons. For consistency these fields should as well. DSC19-84 --- input/fsh/who-cr-QuestionnaireLabResult.fsh | 22 ++++++++--------- .../who-cr-QuestionnaireResponseLabResult.fsh | 24 +++++++++---------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/input/fsh/who-cr-QuestionnaireLabResult.fsh b/input/fsh/who-cr-QuestionnaireLabResult.fsh index c5e69d3c..c9d9b7b8 100644 --- a/input/fsh/who-cr-QuestionnaireLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireLabResult.fsh @@ -10,13 +10,13 @@ Usage: #definition * status = #active * item[0].linkId = "labreport_ID" -* item[0].text = "Unique lab result identifier" +* item[0].text = "Unique lab result identifier:" * item[0].code = $LNC#94659-0 * item[0].type = #string * item[0].required = true * item[1].linkId = "testLab_id" -* item[1].text = "Lab that conducted the test" +* item[1].text = "Lab that conducted the test:" * item[1].code = $LNC#94659-0 * item[1].type = #string * item[1].required = true @@ -28,24 +28,24 @@ Usage: #definition * item[2].required = true * item[2].item[0].linkId = "patinfo_ID" -* item[2].item[0].text = "Patient unique ID" +* item[2].item[0].text = "Patient unique ID:" * item[2].item[0].type = #string * item[2].item[0].code = $LNC#94659-0 * item[2].item[0].required = true * item[2].item[1].linkId = "patinfo_name" -* item[2].item[1].text = "Patient name" +* item[2].item[1].text = "Patient name:" * item[2].item[1].type = #string * item[2].item[1].required = true * item[2].item[2].linkId = "patinfo_idadmin1" -* item[2].item[2].text = "Patient County " +* item[2].item[2].text = "Patient County:" * item[2].item[2].type = #string * item[2].item[2].code = $LNC#52830-7 * item[2].item[2].required = true * item[2].item[3].linkId = "patinfo_dob" -* item[2].item[3].text = "Date of Birth" +* item[2].item[3].text = "Date of Birth:" * item[2].item[3].type = #date * item[2].item[3].code = $LNC#21112-8 * item[2].item[3].required = true @@ -58,29 +58,29 @@ Usage: #definition * item[2].item[4].required = true * item[3].linkId = "Lab_date1" -* item[3].text = "Lab Confirmation Test Date" +* item[3].text = "Lab Confirmation Test Date:" * item[3].type = #date * item[3].required = true * item[4].linkId = "test_result" -* item[4].text = "Overall Result" +* item[4].text = "Overall Result:" * item[4].type = #string * item[4].code = $LNC#94500-6 * item[4].required = true * item[5].linkId = "ordering_clinic" -* item[5].text = "Clinic that requested the test" +* item[5].text = "Clinic that requested the test:" * item[5].type = #string * item[5].code = $LNC#76696-4 * item[5].required = true * item[6].linkId = "test_type" -* item[6].text = "Type of Test" +* item[6].text = "Type of Test:" * item[6].type = #string * item[6].code = $LNC#76696-4 * item[6].required = true * item[7].linkId = "specimen_type" -* item[7].text = "Sample type" +* item[7].text = "Sample type:" * item[7].type = #string * item[7].required = true diff --git a/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh b/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh index f4d08c77..c1ad321c 100644 --- a/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh @@ -11,52 +11,52 @@ Description: "Questionnaire response example for Covid19 lab result" * author = Reference(WhoCrPractitionerExample) * item[+].linkId = "labreport_ID" -* item[=].text = "Unique lab result identifier" +* item[=].text = "Unique lab result identifier:" * item[=].answer[+].valueString = "123456789" * item[+].linkId = "testLab_id" -* item[=].text = "Lab that conducted the test" +* item[=].text = "Lab that conducted the test:" * item[=].answer[+].valueString = "123456789" * item[+].linkId = "section_patient_info" * item[=].text = "Patient information" * item[=].item[+].linkId = "patinfo_ID" -* item[=].item[=].text = "Patient unique ID" +* item[=].item[=].text = "Patient unique ID:" * item[=].item[=].answer[+].valueString = "123456789" * item[=].item[+].linkId = "patinfo_name" -* item[=].item[=].text = "Patient Name" +* item[=].item[=].text = "Patient Name:" * item[=].item[=].answer[+].valueString = "Rob Stark" * item[=].item[+].linkId = "patinfo_idadmin1" -* item[=].item[=].text = "Patient County " +* item[=].item[=].text = "Patient County:" * item[=].item[=].answer[+].valueString = "City of Cape Town" * item[=].item[+].linkId = "patinfo_dob" -* item[=].item[=].text = "Date of Birth" +* item[=].item[=].text = "Date of Birth:" * item[=].item[=].answer[+].valueDate = "2021-01-20" * item[=].item[+].linkId = "patinfo_sex" -* item[=].item[=].text = "Sex at birth" +* item[=].item[=].text = "Sex at birth:" * item[=].item[=].answer[+].valueCoding = $cs-gender#male * item[+].linkId = "Lab_date1" -* item[=].text = "Lab Confirmation Test Date" +* item[=].text = "Lab Confirmation Test Date:" * item[=].answer[+].valueDate = "2021-01-20" * item[+].linkId = "test_result" -* item[=].text = "Overall Result" +* item[=].text = "Overall Result:" * item[=].answer[+].valueString = "Positive" * item[+].linkId = "ordering_clinic" -* item[=].text = "Clinic that requested the test" +* item[=].text = "Clinic that requested the test:" * item[=].answer[+].valueString = "KEMRI Clinic" * item[+].linkId = "test_type" -* item[=].text = "Type of Test" +* item[=].text = "Type of Test:" * item[=].answer[+].valueString = "COVID-19 PCR TEST" * item[+].linkId = "specimen_type" -* item[=].text = "Sample Type" +* item[=].text = "Sample Type:" * item[=].answer[+].valueString = "Respiratory Swab" From 7c18580a461b97892c488bf6399dab46fad09dce Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Thu, 8 Apr 2021 13:55:25 +0200 Subject: [PATCH 22/88] Remove field - required - from lab result This field is a questionnaire section divider - no information comes from this field directly DSC19-84 --- input/fsh/who-cr-QuestionnaireLabResult.fsh | 1 - 1 file changed, 1 deletion(-) diff --git a/input/fsh/who-cr-QuestionnaireLabResult.fsh b/input/fsh/who-cr-QuestionnaireLabResult.fsh index c9d9b7b8..82f2dddd 100644 --- a/input/fsh/who-cr-QuestionnaireLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireLabResult.fsh @@ -25,7 +25,6 @@ Usage: #definition * item[2].prefix = "Section 1" * item[2].text = "Patient information" * item[2].type = #group -* item[2].required = true * item[2].item[0].linkId = "patinfo_ID" * item[2].item[0].text = "Patient unique ID:" From 37e6d4931f4bda9fd40d0492a34de30997c96bc0 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Thu, 8 Apr 2021 14:02:46 +0200 Subject: [PATCH 23/88] Add lab test info section to lab result questionnaire Group related data within the questionnaire to make it a more readable DSC19-84 --- input/fsh/who-cr-QuestionnaireLabResult.fsh | 51 +++++++++++---------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/input/fsh/who-cr-QuestionnaireLabResult.fsh b/input/fsh/who-cr-QuestionnaireLabResult.fsh index 82f2dddd..c4bfea01 100644 --- a/input/fsh/who-cr-QuestionnaireLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireLabResult.fsh @@ -56,30 +56,35 @@ Usage: #definition * item[2].item[4].answerValueSet = Canonical(WhoCrValueSetSexAtBirth) * item[2].item[4].required = true -* item[3].linkId = "Lab_date1" -* item[3].text = "Lab Confirmation Test Date:" -* item[3].type = #date -* item[3].required = true +* item[3].linkId = "section_lab_test_info" +* item[3].prefix = "Section 2" +* item[3].text = "Lab test information" +* item[3].type = #group -* item[4].linkId = "test_result" -* item[4].text = "Overall Result:" -* item[4].type = #string -* item[4].code = $LNC#94500-6 -* item[4].required = true +* item[3].item[0].linkId = "Lab_date1" +* item[3].item[0].text = "Lab Confirmation Test Date:" +* item[3].item[0].type = #date +* item[3].item[0].required = true -* item[5].linkId = "ordering_clinic" -* item[5].text = "Clinic that requested the test:" -* item[5].type = #string -* item[5].code = $LNC#76696-4 -* item[5].required = true +* item[3].item[1].linkId = "test_result" +* item[3].item[1].text = "Overall Result:" +* item[3].item[1].type = #string +* item[3].item[1].code = $LNC#94500-6 +* item[3].item[1].required = true -* item[6].linkId = "test_type" -* item[6].text = "Type of Test:" -* item[6].type = #string -* item[6].code = $LNC#76696-4 -* item[6].required = true +* item[3].item[2].linkId = "ordering_clinic" +* item[3].item[2].text = "Clinic that requested the test:" +* item[3].item[2].type = #string +* item[3].item[2].code = $LNC#76696-4 +* item[3].item[2].required = true -* item[7].linkId = "specimen_type" -* item[7].text = "Sample type:" -* item[7].type = #string -* item[7].required = true +* item[3].item[3].linkId = "test_type" +* item[3].item[3].text = "Type of Test:" +* item[3].item[3].type = #string +* item[3].item[3].code = $LNC#76696-4 +* item[3].item[3].required = true + +* item[8].linkId = "specimen_type" +* item[8].text = "Sample type:" +* item[8].type = #string +* item[8].required = true From 7992a1adf05489ebe5e46b7b84e0a300cab05d1e Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Thu, 8 Apr 2021 14:03:39 +0200 Subject: [PATCH 24/88] Add the loinc code for specimen type field The loinc code is specific to the clinical relevance of this field. The field display name alone does not hold the relevenat medical context for interpretation DSC19-84 --- input/fsh/who-cr-QuestionnaireLabResult.fsh | 1 + 1 file changed, 1 insertion(+) diff --git a/input/fsh/who-cr-QuestionnaireLabResult.fsh b/input/fsh/who-cr-QuestionnaireLabResult.fsh index c4bfea01..ecdaf654 100644 --- a/input/fsh/who-cr-QuestionnaireLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireLabResult.fsh @@ -87,4 +87,5 @@ Usage: #definition * item[8].linkId = "specimen_type" * item[8].text = "Sample type:" * item[8].type = #string +* item[8].code = $LNC#66746-9 * item[8].required = true From 0f0a18bce75d776027a70900d073eb1ae10c1cef Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Thu, 8 Apr 2021 14:22:33 +0200 Subject: [PATCH 25/88] Replace test type loinc code in lab result questionnaire The previous code was incorrect - it was a copied from the clinic code DSC19-84 --- input/fsh/who-cr-QuestionnaireLabResult.fsh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/input/fsh/who-cr-QuestionnaireLabResult.fsh b/input/fsh/who-cr-QuestionnaireLabResult.fsh index ecdaf654..a22f1f66 100644 --- a/input/fsh/who-cr-QuestionnaireLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireLabResult.fsh @@ -81,11 +81,11 @@ Usage: #definition * item[3].item[3].linkId = "test_type" * item[3].item[3].text = "Type of Test:" * item[3].item[3].type = #string -* item[3].item[3].code = $LNC#76696-4 +* item[3].item[3].code = $LNC#85069-3 * item[3].item[3].required = true -* item[8].linkId = "specimen_type" -* item[8].text = "Sample type:" -* item[8].type = #string -* item[8].code = $LNC#66746-9 -* item[8].required = true +* item[3].item[4].linkId = "specimen_type" +* item[3].item[4].text = "Sample type:" +* item[3].item[4].type = #string +* item[3].item[4].code = $LNC#66746-9 +* item[3].item[4].required = true From aaf4642fffe4d9c8ba7649a31565434258ad81be Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Thu, 8 Apr 2021 15:09:10 +0200 Subject: [PATCH 26/88] Fix loinc codes relating to countries in case report Q In the case report there are two separate country loinc codes: 96546-7 - Country where diagnosed 77983-5 - Country of usual residence [Location] There meanings are quite different - in three places the loinc codes appear to have been switched DSC19-84 https://loinc.org/77983-5/ https://loinc.org/96546-7/ --- input/fsh/who-cr-QuestionnaireCRF2020-2.fsh | 8 ++++---- input/fsh/who-cr-StructureDefinitionDataDictionary.fsh | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/input/fsh/who-cr-QuestionnaireCRF2020-2.fsh b/input/fsh/who-cr-QuestionnaireCRF2020-2.fsh index b38129d9..93c0de81 100644 --- a/input/fsh/who-cr-QuestionnaireCRF2020-2.fsh +++ b/input/fsh/who-cr-QuestionnaireCRF2020-2.fsh @@ -88,7 +88,7 @@ Usage: #definition * item[2].linkId = "report_country" * item[2].text = "Reporting country:" -* item[2].code = $LNC#77983-5 +* item[2].code = $LNC#96546-7 * item[2].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.report.country" * item[2].type = #choice * item[2].answerValueSet = "#WhoCrValueSetQuestionnaireCountry" @@ -97,7 +97,7 @@ Usage: #definition * item[2].item[0].text = "If Other, please specify:" * item[2].item[0].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.report.country" * item[2].item[0].type = #string -* item[2].item[0].code = $LNC#77983-5 +* item[2].item[0].code = $LNC#96546-7 * item[2].item[0].enableWhen[0].question = "report_country" * item[2].item[0].enableWhen[0].operator = #= * item[2].item[0].enableWhen[0].answerCoding = WhoCrCodeSystemQuestionnaireChoice#other @@ -151,7 +151,7 @@ Usage: #definition * item[4].item[3].item[0].linkId = "patinfo_idadmin0" * item[4].item[3].item[0].text = "Country:" * item[4].item[3].item[0].type = #choice -* item[4].item[3].item[0].code = $LNC#96546-7 +* item[4].item[3].item[0].code = $LNC#77983-5 * item[4].item[3].item[0].answerValueSet = "#WhoCrValueSetQuestionnaireCountry" * item[4].item[3].item[0].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.patientInfo.identified.country" @@ -159,7 +159,7 @@ Usage: #definition * item[4].item[3].item[0].item[0].text = "If Other, please specify:" * item[4].item[3].item[0].item[0].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.patientInfo.identified.country" * item[4].item[3].item[0].item[0].type = #string -* item[4].item[3].item[0].item[0].code = $LNC#96546-7 +* item[4].item[3].item[0].item[0].code = $LNC#77983-5 * item[4].item[3].item[0].item[0].enableWhen[0].question = "patinfo_idadmin0" * item[4].item[3].item[0].item[0].enableWhen[0].operator = #= * item[4].item[3].item[0].item[0].enableWhen[0].answerCoding = WhoCrCodeSystemQuestionnaireChoice#other diff --git a/input/fsh/who-cr-StructureDefinitionDataDictionary.fsh b/input/fsh/who-cr-StructureDefinitionDataDictionary.fsh index d6e1e8fe..e2c041b3 100644 --- a/input/fsh/who-cr-StructureDefinitionDataDictionary.fsh +++ b/input/fsh/who-cr-StructureDefinitionDataDictionary.fsh @@ -113,7 +113,7 @@ Usage: #definition * differential.element[3].mapping[0].identity = "WhoCrDataDictionarySpreadsheet" * differential.element[3].mapping[0].map = "report_country" * differential.element[3].mapping[1].identity = "LOINC" -* differential.element[3].mapping[1].map = $LNC#77983-5 +* differential.element[3].mapping[1].map = $LNC#96546-7 * differential.element[3].mapping[1].comment = "TODO: The definition appears almost the same as patientInfo.residence.admin0. Confirm with WHO." * differential.element[3].mapping[2].identity = "CIEL" * differential.element[3].mapping[2].map = $CIEL#165847 @@ -285,7 +285,7 @@ Usage: #definition * differential.element[10].mapping[0].identity = "WhoCrDataDictionarySpreadsheet" * differential.element[10].mapping[0].map = "patinfo_idadmin0" * differential.element[10].mapping[1].identity = "LOINC" -* differential.element[10].mapping[1].map = $LNC#96546-7 +* differential.element[10].mapping[1].map = $LNC#77983-5 * differential.element[10].mapping[2].identity = "CIEL" * differential.element[10].mapping[2].map = "TODO" * differential.element[10].mapping[3].identity = "ICD10" From 7b28bcb417be5ce7bf6b5f9b1b754cf1a4e1505a Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Fri, 9 Apr 2021 10:44:26 +0200 Subject: [PATCH 27/88] Improve loinc code choice for lab result id The previous code was for a case identifier and used multiple times. This new loinc code is specific to lab results. Another option could be 19146-0 which relates to reference lab test results - I did not use this one however as it does not specify that it is an identifier field - which 30896-5 does. https://loinc.org/30896-5/ https://loinc.org/19146-0/ https://jembiprojects.jira.com/browse/DSC19-84 --- input/fsh/who-cr-QuestionnaireLabResult.fsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/fsh/who-cr-QuestionnaireLabResult.fsh b/input/fsh/who-cr-QuestionnaireLabResult.fsh index a22f1f66..3d7b7245 100644 --- a/input/fsh/who-cr-QuestionnaireLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireLabResult.fsh @@ -11,7 +11,7 @@ Usage: #definition * item[0].linkId = "labreport_ID" * item[0].text = "Unique lab result identifier:" -* item[0].code = $LNC#94659-0 +* item[0].code = $LNC#30896-5 * item[0].type = #string * item[0].required = true From 4bd06e93644617299c7f24b03959272ffda93247 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Fri, 9 Apr 2021 10:47:29 +0200 Subject: [PATCH 28/88] Improve loinc code used for lab ID in lab report The previous loinc code referenced the case report. This is specific to the performing lab. https://loinc.org/91562-9/ https://jembiprojects.jira.com/browse/DSC19-84 --- input/fsh/who-cr-QuestionnaireLabResult.fsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/fsh/who-cr-QuestionnaireLabResult.fsh b/input/fsh/who-cr-QuestionnaireLabResult.fsh index 3d7b7245..d568ee20 100644 --- a/input/fsh/who-cr-QuestionnaireLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireLabResult.fsh @@ -17,7 +17,7 @@ Usage: #definition * item[1].linkId = "testLab_id" * item[1].text = "Lab that conducted the test:" -* item[1].code = $LNC#94659-0 +* item[1].code = $LNC#91562-9 * item[1].type = #string * item[1].required = true From 717ea8cadbe550bee3a20b2faf5f2360df09c6dc Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Fri, 9 Apr 2021 10:49:05 +0200 Subject: [PATCH 29/88] Improve the loinc code for patient county in lab report The previous loinc code referenced states and districts as defined by the US postal service - since this is an international project referencing counties and provinces - a different loinc code was needed. https://loinc.org/96547-5/ --- input/fsh/who-cr-QuestionnaireLabResult.fsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/fsh/who-cr-QuestionnaireLabResult.fsh b/input/fsh/who-cr-QuestionnaireLabResult.fsh index d568ee20..af53cff2 100644 --- a/input/fsh/who-cr-QuestionnaireLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireLabResult.fsh @@ -40,7 +40,7 @@ Usage: #definition * item[2].item[2].linkId = "patinfo_idadmin1" * item[2].item[2].text = "Patient County:" * item[2].item[2].type = #string -* item[2].item[2].code = $LNC#52830-7 +* item[2].item[2].code = $LNC#96547-5 * item[2].item[2].required = true * item[2].item[3].linkId = "patinfo_dob" From 1b2e17ae29a47eb1ce3dd18b36d9e1eb8a94eafd Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Fri, 9 Apr 2021 15:05:46 +0200 Subject: [PATCH 30/88] Improve overall test result loinc code in lab result The previous loinc code referenced results of a very specific nucleic acid assay that could confirm presence of covid. This is too specific. We do not know what test method was used for presence confirmation - since the accuracy of different test methods is so variable it is important that the loinc code not give an innaccurate reading of accuracy. https://loinc.org/19146-0/ https://jembiprojects.jira.com/browse/DSC19-84 --- input/fsh/who-cr-QuestionnaireLabResult.fsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/fsh/who-cr-QuestionnaireLabResult.fsh b/input/fsh/who-cr-QuestionnaireLabResult.fsh index af53cff2..cf2f6861 100644 --- a/input/fsh/who-cr-QuestionnaireLabResult.fsh +++ b/input/fsh/who-cr-QuestionnaireLabResult.fsh @@ -69,7 +69,7 @@ Usage: #definition * item[3].item[1].linkId = "test_result" * item[3].item[1].text = "Overall Result:" * item[3].item[1].type = #string -* item[3].item[1].code = $LNC#94500-6 +* item[3].item[1].code = $LNC#19146-0 * item[3].item[1].required = true * item[3].item[2].linkId = "ordering_clinic" From 443af470e17cb9d572df1f9018ca61616eaa6bd3 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Mon, 12 Apr 2021 17:18:51 +0200 Subject: [PATCH 31/88] Simplify the coding syntax defining the diagnostic report FHIR shorthand has concise syntax for coding definitions which makes fields easier to write and maintain https://jembiprojects.jira.com/browse/DSC19-85 --- input/fsh/who-cr-DiagnosticReportLabResult.fsh | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/input/fsh/who-cr-DiagnosticReportLabResult.fsh b/input/fsh/who-cr-DiagnosticReportLabResult.fsh index dd2c234a..f978f9e2 100644 --- a/input/fsh/who-cr-DiagnosticReportLabResult.fsh +++ b/input/fsh/who-cr-DiagnosticReportLabResult.fsh @@ -18,15 +18,11 @@ Title: "COVID-19 Lab Result example" Description: "COVID-19 Patient example" * identifier.system = "http://example.org/" * identifier.value = "12345" -* conclusionCode.coding[0].system = "http://example.org/" -* conclusionCode.coding[0].code = $LNC#94500-6 +* conclusionCode.coding[0] = $LNC#94500-6 "Negative" * status = #final -* code = $LNC#10207-9 -* conclusionCode.coding[0].display = "Negative" +* code = $LNC#11502-2 "Laboratory report" * conclusionCode.text = "Negative result for Covid19" -* category.coding[0].system = "http://example.org/" -* category.coding[0].code = $LNC#94500-6 -* category.coding[0].display = "Laboratory" +* category.coding[0] = $LNC#94500-6 "Laboratory" * category.text = "Covid19 Laboratory" * specimen = Reference(Covid19Specimen/example) * performer = Reference(WhoCrPractitionerExample) From 98e1c54de8debb7ea51c678d9615363ce81b1f41 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Mon, 12 Apr 2021 17:20:51 +0200 Subject: [PATCH 32/88] Replace dateTime observation with field in DiagnosticReport The purpose of the FHIR transaction Bundle containing the resources is to give clinical context of an event. In the lab report event the result of the report was listed. Previously this value was displayed as an observation that was not referenced in any of the other resources in the transation Bundle - this piece of information would be missing its clinical relevance if the entire Bundle wasn't read (since it is a transaction Bundle it wouldn\t be read in this manner - this would need to be a document Bundle to function in that way) Therefore, to ensure the lab report date context was kept, the date will be added to the diagnortic report effectiveDateTime. This field aims to document the "time of the procedure" in this case the reporting. https://jembiprojects.jira.com/browse/DSC19-85 --- input/fsh/who-cr-BundleCovid19LabResult.fsh | 4 ---- input/fsh/who-cr-DiagnosticReportLabResult.fsh | 2 ++ 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/input/fsh/who-cr-BundleCovid19LabResult.fsh b/input/fsh/who-cr-BundleCovid19LabResult.fsh index 07172a63..743744f9 100644 --- a/input/fsh/who-cr-BundleCovid19LabResult.fsh +++ b/input/fsh/who-cr-BundleCovid19LabResult.fsh @@ -28,7 +28,3 @@ Description: "Example of a clinical bundle representing a lab result" * entry[=].resource = Covid19OrderingClinicPatientEncounterExample * entry[=].request.method = #POST * entry[=].request.url = "Encounter" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationLabTestDateExample" -* entry[=].resource = WhoCrObservationLabTestDateExample -* entry[=].request.method = #POST -* entry[=].request.url = "Observation" diff --git a/input/fsh/who-cr-DiagnosticReportLabResult.fsh b/input/fsh/who-cr-DiagnosticReportLabResult.fsh index f978f9e2..48a867be 100644 --- a/input/fsh/who-cr-DiagnosticReportLabResult.fsh +++ b/input/fsh/who-cr-DiagnosticReportLabResult.fsh @@ -4,6 +4,7 @@ Id: covid19-lab-result-report Title: "COVID-19 Lab Result" Description: "Defines a diagnostic report profile for the COVID-19 Lab Result" * identifier 1..1 MS +* effectiveDateTime 1..1 MS * conclusionCode 1..1 MS * category 1..1 MS * specimen 1..1 MS @@ -18,6 +19,7 @@ Title: "COVID-19 Lab Result example" Description: "COVID-19 Patient example" * identifier.system = "http://example.org/" * identifier.value = "12345" +* effectiveDateTime = "2021-03-03" * conclusionCode.coding[0] = $LNC#94500-6 "Negative" * status = #final * code = $LNC#11502-2 "Laboratory report" From bcb0eab6ac04c6423bde3fa3e5883c0103a7c1e0 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Mon, 12 Apr 2021 17:27:41 +0200 Subject: [PATCH 33/88] Specify required nested fields in lab report The previous fields defined as "must support" were object fields containing nested fields. These nested fields are also required therefore they need "must support" specified as well https://jembiprojects.jira.com/browse/DSC19-85 --- input/fsh/who-cr-DiagnosticReportLabResult.fsh | 3 +++ input/fsh/who-cr-OrganisationCovid19Result.fsh | 2 ++ input/fsh/who-cr-Patient.fsh | 3 +++ 3 files changed, 8 insertions(+) diff --git a/input/fsh/who-cr-DiagnosticReportLabResult.fsh b/input/fsh/who-cr-DiagnosticReportLabResult.fsh index 48a867be..52fa2bd4 100644 --- a/input/fsh/who-cr-DiagnosticReportLabResult.fsh +++ b/input/fsh/who-cr-DiagnosticReportLabResult.fsh @@ -4,12 +4,15 @@ Id: covid19-lab-result-report Title: "COVID-19 Lab Result" Description: "Defines a diagnostic report profile for the COVID-19 Lab Result" * identifier 1..1 MS +* identifier.system 1..1 MS +* identifier.value 1..1 MS * effectiveDateTime 1..1 MS * conclusionCode 1..1 MS * category 1..1 MS * specimen 1..1 MS * performer 1..1 MS * subject 1..1 MS +* subject.reference 1..1 MS * encounter 1..1 MS Instance: Covid19LabDiagnosticReportExample diff --git a/input/fsh/who-cr-OrganisationCovid19Result.fsh b/input/fsh/who-cr-OrganisationCovid19Result.fsh index e5845e7b..ff1fc276 100644 --- a/input/fsh/who-cr-OrganisationCovid19Result.fsh +++ b/input/fsh/who-cr-OrganisationCovid19Result.fsh @@ -4,6 +4,8 @@ Id: covid19-organization-testlab Title: "COVID-19 Lab Test Organization" Description: "Defines an organization profile for the COVID-19 Test" * identifier 1..1 MS +* identifier.system 1..1 MS +* identifier.value 1..1 MS Profile: Covid19OrganizationOrderingClinic Parent: Organization diff --git a/input/fsh/who-cr-Patient.fsh b/input/fsh/who-cr-Patient.fsh index 8467d9c5..881377cd 100644 --- a/input/fsh/who-cr-Patient.fsh +++ b/input/fsh/who-cr-Patient.fsh @@ -35,6 +35,8 @@ Description: "Defines a patient profile for the COVID-19 Lab Result" * name 1..1 MS * name.family 1..1 MS * name.given 1..* MS +* identifier.value 1..1 MS +* identifier.system 1..1 MS * gender 1..1 MS * birthDate 1..1 MS * address 1..1 MS @@ -48,6 +50,7 @@ Description: "COVID-19 Patient example" * identifier.value = "12345" * name.family = "Doe" * name.given = "John" +* identifier.system = "http://example.org/" * gender = #male * birthDate = "1981-05-21" * address.district = "City of Cape Town" From e832154bb8fd7f31556085bc8a6470898dbc1311 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Mon, 12 Apr 2021 17:32:59 +0200 Subject: [PATCH 34/88] Set the patient name field to optional from the questionnaire response we only receive one name field that is optional. This field will then be mapped to the humanName text field as this is a very vague field coming in https://jembiprojects.jira.com/browse/DSC19-89 --- input/fsh/who-cr-Patient.fsh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/input/fsh/who-cr-Patient.fsh b/input/fsh/who-cr-Patient.fsh index 881377cd..9354aa34 100644 --- a/input/fsh/who-cr-Patient.fsh +++ b/input/fsh/who-cr-Patient.fsh @@ -32,11 +32,9 @@ Id: covid19-Patient Title: "COVID-19 Lab Result Patient" Description: "Defines a patient profile for the COVID-19 Lab Result" * identifier 1..1 MS -* name 1..1 MS -* name.family 1..1 MS -* name.given 1..* MS * identifier.value 1..1 MS * identifier.system 1..1 MS +* name 0..1 MS * gender 1..1 MS * birthDate 1..1 MS * address 1..1 MS @@ -48,9 +46,8 @@ Usage: #example Title: "COVID-19 Lab Result Patient" Description: "COVID-19 Patient example" * identifier.value = "12345" -* name.family = "Doe" -* name.given = "John" * identifier.system = "http://example.org/" +* name.text = "John Doe" * gender = #male * birthDate = "1981-05-21" * address.district = "City of Cape Town" From d59d55a8a0c679507b75ef9d98cf70b11d9edb92 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Mon, 12 Apr 2021 17:35:22 +0200 Subject: [PATCH 35/88] Change example address data to match field definition The field requires a county - counties match to Provinces in South Africa. Cape Town is not a province https://jembiprojects.jira.com/browse/DSC19-89 --- input/fsh/who-cr-Patient.fsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/fsh/who-cr-Patient.fsh b/input/fsh/who-cr-Patient.fsh index 9354aa34..520c20f2 100644 --- a/input/fsh/who-cr-Patient.fsh +++ b/input/fsh/who-cr-Patient.fsh @@ -50,4 +50,4 @@ Description: "COVID-19 Patient example" * name.text = "John Doe" * gender = #male * birthDate = "1981-05-21" -* address.district = "City of Cape Town" +* address.district = "Western Cape" From 8fae2a5985603f336c313fe2cceac061b44bd206 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Mon, 12 Apr 2021 17:43:16 +0200 Subject: [PATCH 36/88] Split out encounter definition from organization The two profiles were included in one file that did not link the two by name therfore they need to be in separate files https://jembiprojects.jira.com/browse/DSC19-87 --- input/fsh/who-cr-EncounterLabReport.fsh | 9 +++++++++ input/fsh/who-cr-OrganisationCovid19Result.fsh | 10 ---------- 2 files changed, 9 insertions(+), 10 deletions(-) create mode 100644 input/fsh/who-cr-EncounterLabReport.fsh diff --git a/input/fsh/who-cr-EncounterLabReport.fsh b/input/fsh/who-cr-EncounterLabReport.fsh new file mode 100644 index 00000000..65f60f2b --- /dev/null +++ b/input/fsh/who-cr-EncounterLabReport.fsh @@ -0,0 +1,9 @@ +Instance: Covid19OrderingClinicPatientEncounterExample +InstanceOf: Encounter +Usage: #example +Title: "COVID-19 Ordering Clinic Patient Encounter Example" +Description: "COVID-19 Ordering Clinic patient example" +* serviceProvider = Reference(Covid19OrderingClinicOrganizationExample) +* status = #finished +* subject = Reference(Covid19PatientExample) +* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE diff --git a/input/fsh/who-cr-OrganisationCovid19Result.fsh b/input/fsh/who-cr-OrganisationCovid19Result.fsh index ff1fc276..54fadf3d 100644 --- a/input/fsh/who-cr-OrganisationCovid19Result.fsh +++ b/input/fsh/who-cr-OrganisationCovid19Result.fsh @@ -28,13 +28,3 @@ Usage: #example Title: "COVID-19 Ordering Clinic Organization Example" Description: "COVID-19 Ordering Clinic organization example" * name = "KEMRI Clinic" - -Instance: Covid19OrderingClinicPatientEncounterExample -InstanceOf: Encounter -Usage: #example -Title: "COVID-19 Ordering Clinic Patient Encounter Example" -Description: "COVID-19 Ordering Clinic patient example" -* serviceProvider = Reference(Covid19OrderingClinicOrganizationExample) -* status = #finished -* subject = Reference(Covid19PatientExample) -* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE From 23fcca200a58bcc586e56bc710bdd4ed62c204b9 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Mon, 12 Apr 2021 17:45:33 +0200 Subject: [PATCH 37/88] Fix typo in organization file name The FHIR resource uses the american version of the word https://jembiprojects.jira.com/browse/DSC19-87 --- ...nisationCovid19Result.fsh => who-cr-OrganizationLabReport.fsh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename input/fsh/{who-cr-OrganisationCovid19Result.fsh => who-cr-OrganizationLabReport.fsh} (100%) diff --git a/input/fsh/who-cr-OrganisationCovid19Result.fsh b/input/fsh/who-cr-OrganizationLabReport.fsh similarity index 100% rename from input/fsh/who-cr-OrganisationCovid19Result.fsh rename to input/fsh/who-cr-OrganizationLabReport.fsh From 96a40642e68ce51080eb07cbcd4dad08f6e90bda Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Tue, 13 Apr 2021 14:19:41 +0200 Subject: [PATCH 38/88] Refactor profile names to indicate lab result To hava a consistent naming convention within the project https://jembiprojects.jira.com/browse/DSC19-77 --- input/fsh/who-cr-BundleCovid19LabResult.fsh | 2 +- input/fsh/who-cr-DiagnosticReportLabResult.fsh | 8 ++++---- input/fsh/who-cr-EncounterLabReport.fsh | 15 +++++++++++---- input/fsh/who-cr-Patient.fsh | 6 +++--- input/fsh/who-cr-SpecimenLabReport.fsh | 9 +++++++++ 5 files changed, 28 insertions(+), 12 deletions(-) create mode 100644 input/fsh/who-cr-SpecimenLabReport.fsh diff --git a/input/fsh/who-cr-BundleCovid19LabResult.fsh b/input/fsh/who-cr-BundleCovid19LabResult.fsh index 743744f9..52633653 100644 --- a/input/fsh/who-cr-BundleCovid19LabResult.fsh +++ b/input/fsh/who-cr-BundleCovid19LabResult.fsh @@ -5,7 +5,7 @@ Title: "Who Cr Bundle Example" Description: "Example of a clinical bundle representing a lab result" * type = #transaction * entry[+].fullUrl = "http://test.org/fhir/Patient/Covid19PatientExample" -* entry[=].resource = Covid19PatientExample +* entry[=].resource = WhoLrPatientExample * entry[=].request.method = #POST * entry[=].request.url = "Patient" * entry[+].fullUrl = "http://test.org/fhir/Organization/Covid19TestLabOrganizationExample" diff --git a/input/fsh/who-cr-DiagnosticReportLabResult.fsh b/input/fsh/who-cr-DiagnosticReportLabResult.fsh index 52fa2bd4..74db4c93 100644 --- a/input/fsh/who-cr-DiagnosticReportLabResult.fsh +++ b/input/fsh/who-cr-DiagnosticReportLabResult.fsh @@ -1,4 +1,4 @@ -Profile: Covid19LabResult +Profile: WhoCrDiagnosticReport Parent: DiagnosticReport Id: covid19-lab-result-report Title: "COVID-19 Lab Result" @@ -16,7 +16,7 @@ Description: "Defines a diagnostic report profile for the COVID-19 Lab Result" * encounter 1..1 MS Instance: Covid19LabDiagnosticReportExample -InstanceOf: Covid19LabResult +InstanceOf: WhoCrDiagnosticReport Usage: #example Title: "COVID-19 Lab Result example" Description: "COVID-19 Patient example" @@ -31,5 +31,5 @@ Description: "COVID-19 Patient example" * category.text = "Covid19 Laboratory" * specimen = Reference(Covid19Specimen/example) * performer = Reference(WhoCrPractitionerExample) -* subject = Reference(Covid19PatientExample) -* encounter = Reference(Covid19OrderingClinicPatientEncounterExample) +* subject = Reference(WhoLrPatientExample) +* encounter = Reference(WhoCrSampleEncounter) diff --git a/input/fsh/who-cr-EncounterLabReport.fsh b/input/fsh/who-cr-EncounterLabReport.fsh index 65f60f2b..57e4685d 100644 --- a/input/fsh/who-cr-EncounterLabReport.fsh +++ b/input/fsh/who-cr-EncounterLabReport.fsh @@ -1,8 +1,15 @@ -Instance: Covid19OrderingClinicPatientEncounterExample -InstanceOf: Encounter +Profile: WhoLrEncounter +Parent: Encounter +Title: "WHO Lab Report Encounter" +Description: "Defines an Encounter profile for the Lab Report" +* serviceProvider 1..1 MS +* subject 1..1 MS + +Instance: WhoLrSampleEncounter +InstanceOf: WhoLrEncounter Usage: #example -Title: "COVID-19 Ordering Clinic Patient Encounter Example" -Description: "COVID-19 Ordering Clinic patient example" +Title: "Lab Report Encounter Example" +Description: "Health facility ordering a Covid 19 lab test" * serviceProvider = Reference(Covid19OrderingClinicOrganizationExample) * status = #finished * subject = Reference(Covid19PatientExample) diff --git a/input/fsh/who-cr-Patient.fsh b/input/fsh/who-cr-Patient.fsh index 520c20f2..5288a02a 100644 --- a/input/fsh/who-cr-Patient.fsh +++ b/input/fsh/who-cr-Patient.fsh @@ -26,7 +26,7 @@ Usage: #example * address[0].use = #home * address[0].country = $cs-iso3166-1#URY -Profile: Covid19Patient +Profile: WhoLrPatient Parent: Patient Id: covid19-Patient Title: "COVID-19 Lab Result Patient" @@ -40,8 +40,8 @@ Description: "Defines a patient profile for the COVID-19 Lab Result" * address 1..1 MS * address.district 1..1 MS -Instance: Covid19PatientExample -InstanceOf: Covid19Patient +Instance: WhoLrPatientExample +InstanceOf: WhoLrPatient Usage: #example Title: "COVID-19 Lab Result Patient" Description: "COVID-19 Patient example" diff --git a/input/fsh/who-cr-SpecimenLabReport.fsh b/input/fsh/who-cr-SpecimenLabReport.fsh new file mode 100644 index 00000000..65f60f2b --- /dev/null +++ b/input/fsh/who-cr-SpecimenLabReport.fsh @@ -0,0 +1,9 @@ +Instance: Covid19OrderingClinicPatientEncounterExample +InstanceOf: Encounter +Usage: #example +Title: "COVID-19 Ordering Clinic Patient Encounter Example" +Description: "COVID-19 Ordering Clinic patient example" +* serviceProvider = Reference(Covid19OrderingClinicOrganizationExample) +* status = #finished +* subject = Reference(Covid19PatientExample) +* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE From b5586912c5efb24bf165cd80941da398f10c703d Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Tue, 13 Apr 2021 14:31:38 +0200 Subject: [PATCH 39/88] Add lab report specimen to bundle The type of specimen used for the covid testing is captured in the questionnaire and is recorded in the Specimen reource type which in tur is referenced by the diagnostic report https://jembiprojects.jira.com/browse/DSC19-77 --- input/fsh/who-cr-BundleCovid19LabResult.fsh | 8 ++++++-- .../fsh/who-cr-DiagnosticReportLabResult.fsh | 2 +- input/fsh/who-cr-SpecimenLabReport.fsh | 19 +++++++++++-------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/input/fsh/who-cr-BundleCovid19LabResult.fsh b/input/fsh/who-cr-BundleCovid19LabResult.fsh index 52633653..cd3d26d0 100644 --- a/input/fsh/who-cr-BundleCovid19LabResult.fsh +++ b/input/fsh/who-cr-BundleCovid19LabResult.fsh @@ -24,7 +24,11 @@ Description: "Example of a clinical bundle representing a lab result" * entry[=].resource = Covid19LabDiagnosticReportExample * entry[=].request.method = #POST * entry[=].request.url = "DiagnosticReport" -* entry[+].fullUrl = "http://test.org/fhir/Encounter/Covid19OrderingClinicPatientEncounterExample" -* entry[=].resource = Covid19OrderingClinicPatientEncounterExample +* entry[+].fullUrl = "http://test.org/fhir/Encounter/WhoLrSampleEncounter" +* entry[=].resource = WhoLrSampleEncounter * entry[=].request.method = #POST * entry[=].request.url = "Encounter" +* entry[+].fullUrl = "http://test.org/fhir/Encounter/WhoLrSampleSpecimen" +* entry[=].resource = WhoLrSampleSpecimen +* entry[=].request.method = #POST +* entry[=].request.url = "Specimen" diff --git a/input/fsh/who-cr-DiagnosticReportLabResult.fsh b/input/fsh/who-cr-DiagnosticReportLabResult.fsh index 74db4c93..9086e6e2 100644 --- a/input/fsh/who-cr-DiagnosticReportLabResult.fsh +++ b/input/fsh/who-cr-DiagnosticReportLabResult.fsh @@ -29,7 +29,7 @@ Description: "COVID-19 Patient example" * conclusionCode.text = "Negative result for Covid19" * category.coding[0] = $LNC#94500-6 "Laboratory" * category.text = "Covid19 Laboratory" -* specimen = Reference(Covid19Specimen/example) +* specimen = Reference(WhoLrSampleSpecimen) * performer = Reference(WhoCrPractitionerExample) * subject = Reference(WhoLrPatientExample) * encounter = Reference(WhoCrSampleEncounter) diff --git a/input/fsh/who-cr-SpecimenLabReport.fsh b/input/fsh/who-cr-SpecimenLabReport.fsh index 65f60f2b..cf76ee67 100644 --- a/input/fsh/who-cr-SpecimenLabReport.fsh +++ b/input/fsh/who-cr-SpecimenLabReport.fsh @@ -1,9 +1,12 @@ -Instance: Covid19OrderingClinicPatientEncounterExample -InstanceOf: Encounter +Profile: WhoLrSpecimen +Parent: Specimen +Title: "WHO Lab Report Specimen" +Description: "The specimen of blood or saliva that the covid test is conduted on" +* type 1..1 MS + +Instance: WhoLrSampleSpecimen +InstanceOf: WhoLrSpecimen Usage: #example -Title: "COVID-19 Ordering Clinic Patient Encounter Example" -Description: "COVID-19 Ordering Clinic patient example" -* serviceProvider = Reference(Covid19OrderingClinicOrganizationExample) -* status = #finished -* subject = Reference(Covid19PatientExample) -* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE +Title: "Lab Report Specimen Example" +Description: "Defines the type of specimen used to conduct covid test" +* type = $LNC#LP208441-8 "Upper Respiratory Specimen" From 0b3b39ddcd78d701b703ec607404cee650062153 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Tue, 13 Apr 2021 14:37:07 +0200 Subject: [PATCH 40/88] Rename lab report files to indicate separate flow The lab report data flow happens separately from the initial case report flow and therefore it is helpful to keep their profile definitions separate. https://jembiprojects.jira.com/browse/DSC19-77 --- .../fsh/{who-cr-BundleCovid19LabResult.fsh => who-lr-Bundle.fsh} | 0 ...-DiagnosticReportLabResult.fsh => who-lr-DiagnosticReport.fsh} | 0 input/fsh/{who-cr-EncounterLabReport.fsh => who-lr-Encounter.fsh} | 0 .../{who-cr-OrganizationLabReport.fsh => who-lr-Organization.fsh} | 0 ...who-cr-QuestionnaireLabResult.fsh => who-lr-Questionnaire.fsh} | 0 ...aireResponseLabResult.fsh => who-lr-QuestionnaireResponse.fsh} | 0 input/fsh/{who-cr-SpecimenLabReport.fsh => who-lr-Specimen.fsh} | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename input/fsh/{who-cr-BundleCovid19LabResult.fsh => who-lr-Bundle.fsh} (100%) rename input/fsh/{who-cr-DiagnosticReportLabResult.fsh => who-lr-DiagnosticReport.fsh} (100%) rename input/fsh/{who-cr-EncounterLabReport.fsh => who-lr-Encounter.fsh} (100%) rename input/fsh/{who-cr-OrganizationLabReport.fsh => who-lr-Organization.fsh} (100%) rename input/fsh/{who-cr-QuestionnaireLabResult.fsh => who-lr-Questionnaire.fsh} (100%) rename input/fsh/{who-cr-QuestionnaireResponseLabResult.fsh => who-lr-QuestionnaireResponse.fsh} (100%) rename input/fsh/{who-cr-SpecimenLabReport.fsh => who-lr-Specimen.fsh} (100%) diff --git a/input/fsh/who-cr-BundleCovid19LabResult.fsh b/input/fsh/who-lr-Bundle.fsh similarity index 100% rename from input/fsh/who-cr-BundleCovid19LabResult.fsh rename to input/fsh/who-lr-Bundle.fsh diff --git a/input/fsh/who-cr-DiagnosticReportLabResult.fsh b/input/fsh/who-lr-DiagnosticReport.fsh similarity index 100% rename from input/fsh/who-cr-DiagnosticReportLabResult.fsh rename to input/fsh/who-lr-DiagnosticReport.fsh diff --git a/input/fsh/who-cr-EncounterLabReport.fsh b/input/fsh/who-lr-Encounter.fsh similarity index 100% rename from input/fsh/who-cr-EncounterLabReport.fsh rename to input/fsh/who-lr-Encounter.fsh diff --git a/input/fsh/who-cr-OrganizationLabReport.fsh b/input/fsh/who-lr-Organization.fsh similarity index 100% rename from input/fsh/who-cr-OrganizationLabReport.fsh rename to input/fsh/who-lr-Organization.fsh diff --git a/input/fsh/who-cr-QuestionnaireLabResult.fsh b/input/fsh/who-lr-Questionnaire.fsh similarity index 100% rename from input/fsh/who-cr-QuestionnaireLabResult.fsh rename to input/fsh/who-lr-Questionnaire.fsh diff --git a/input/fsh/who-cr-QuestionnaireResponseLabResult.fsh b/input/fsh/who-lr-QuestionnaireResponse.fsh similarity index 100% rename from input/fsh/who-cr-QuestionnaireResponseLabResult.fsh rename to input/fsh/who-lr-QuestionnaireResponse.fsh diff --git a/input/fsh/who-cr-SpecimenLabReport.fsh b/input/fsh/who-lr-Specimen.fsh similarity index 100% rename from input/fsh/who-cr-SpecimenLabReport.fsh rename to input/fsh/who-lr-Specimen.fsh From 336ee3f292c370576e948754c7870bec3906a980 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Tue, 13 Apr 2021 14:45:18 +0200 Subject: [PATCH 41/88] Split out LR patient definition from CR file The Patient profile definitions of the two flows are different therefore two separate files will be easier to manage https://jembiprojects.jira.com/browse/DSC19-77 --- input/fsh/who-cr-Patient.fsh | 26 -------------------------- input/fsh/who-lr-patient.fsh | 24 ++++++++++++++++++++++++ 2 files changed, 24 insertions(+), 26 deletions(-) create mode 100644 input/fsh/who-lr-patient.fsh diff --git a/input/fsh/who-cr-Patient.fsh b/input/fsh/who-cr-Patient.fsh index 5288a02a..7817ce67 100644 --- a/input/fsh/who-cr-Patient.fsh +++ b/input/fsh/who-cr-Patient.fsh @@ -25,29 +25,3 @@ Usage: #example // * extension[birthSex].valueCode = #F * address[0].use = #home * address[0].country = $cs-iso3166-1#URY - -Profile: WhoLrPatient -Parent: Patient -Id: covid19-Patient -Title: "COVID-19 Lab Result Patient" -Description: "Defines a patient profile for the COVID-19 Lab Result" -* identifier 1..1 MS -* identifier.value 1..1 MS -* identifier.system 1..1 MS -* name 0..1 MS -* gender 1..1 MS -* birthDate 1..1 MS -* address 1..1 MS -* address.district 1..1 MS - -Instance: WhoLrPatientExample -InstanceOf: WhoLrPatient -Usage: #example -Title: "COVID-19 Lab Result Patient" -Description: "COVID-19 Patient example" -* identifier.value = "12345" -* identifier.system = "http://example.org/" -* name.text = "John Doe" -* gender = #male -* birthDate = "1981-05-21" -* address.district = "Western Cape" diff --git a/input/fsh/who-lr-patient.fsh b/input/fsh/who-lr-patient.fsh new file mode 100644 index 00000000..c3610808 --- /dev/null +++ b/input/fsh/who-lr-patient.fsh @@ -0,0 +1,24 @@ +Profile: WhoLrPatient +Parent: Patient +Title: "WHO Lab Result Patient" +Description: "Defines a patient profile for the Lab Result" +* identifier 1..1 MS +* identifier.value 1..1 MS +* identifier.system 1..1 MS +* name 0..1 MS +* gender 1..1 MS +* birthDate 1..1 MS +* address 1..1 MS +* address.district 1..1 MS + +Instance: WhoLrSamplePatient +InstanceOf: WhoLrPatient +Usage: #example +Title: "WHO Lab Result Sample Patient" +Description: "WHO Lab Result Sample Patient" +* identifier.value = "12345" +* identifier.system = "http://example.org/" +* name.text = "John Doe" +* gender = #male +* birthDate = "1981-05-21" +* address.district = "Western Cape" From 3f6cceb908330f6eb503bf9e2c5c9eb0650e4b44 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Tue, 13 Apr 2021 15:17:32 +0200 Subject: [PATCH 42/88] Refactor lab result profile names to follow pattern Using a consistent naming convention makes it easier to navigate around the project and encourages collaboration https://jembiprojects.jira.com/browse/DSC19-77 --- input/fsh/who-lr-Bundle.fsh | 26 +++++++++------------- input/fsh/who-lr-DiagnosticReport.fsh | 13 +++++------ input/fsh/who-lr-Encounter.fsh | 2 +- input/fsh/who-lr-Organization.fsh | 26 ++++++++++------------ input/fsh/who-lr-Questionnaire.fsh | 8 +++---- input/fsh/who-lr-QuestionnaireResponse.fsh | 8 +++---- 6 files changed, 38 insertions(+), 45 deletions(-) diff --git a/input/fsh/who-lr-Bundle.fsh b/input/fsh/who-lr-Bundle.fsh index cd3d26d0..aa75bd1c 100644 --- a/input/fsh/who-lr-Bundle.fsh +++ b/input/fsh/who-lr-Bundle.fsh @@ -1,27 +1,23 @@ -Instance: WhoCrLabResultBundleExample +Instance: WhoLrSampleBundle InstanceOf: Bundle Usage: #example -Title: "Who Cr Bundle Example" -Description: "Example of a clinical bundle representing a lab result" +Title: "WHO Lab Result Sample Bundle" +Description: "Sample of a clinical bundle representing a lab result" * type = #transaction -* entry[+].fullUrl = "http://test.org/fhir/Patient/Covid19PatientExample" -* entry[=].resource = WhoLrPatientExample +* entry[+].fullUrl = "http://test.org/fhir/Patient/WhoLrSamplePatient" +* entry[=].resource = WhoLrSamplePatient * entry[=].request.method = #POST * entry[=].request.url = "Patient" -* entry[+].fullUrl = "http://test.org/fhir/Organization/Covid19TestLabOrganizationExample" -* entry[=].resource = Covid19TestLabOrganizationExample +* entry[+].fullUrl = "http://test.org/fhir/Organization/WhoLrSampleOrganizationLab" +* entry[=].resource = WhoLrSampleOrganizationLab * entry[=].request.method = #POST * entry[=].request.url = "Organization" -* entry[+].fullUrl = "http://test.org/fhir/Organization/Covid19OrderingClinicOrganizationExample" -* entry[=].resource = Covid19OrderingClinicOrganizationExample +* entry[+].fullUrl = "http://test.org/fhir/Organization/WhoLrSampleOrganizationOrderingClinic" +* entry[=].resource = WhoLrSampleOrganizationOrderingClinic * entry[=].request.method = #POST * entry[=].request.url = "Organization" -* entry[+].fullUrl = "http://test.org/fhir/Practitioner/WhoCrPractitionerExample" -* entry[=].resource = WhoCrPractitionerExample -* entry[=].request.method = #POST -* entry[=].request.url = "Practitioner" -* entry[+].fullUrl = "http://test.org/fhir/DiagnosticReport/Covid19LabDiagnosticReportExample" -* entry[=].resource = Covid19LabDiagnosticReportExample +* entry[+].fullUrl = "http://test.org/fhir/DiagnosticReport/WhoLrSampleDiagnosticReport" +* entry[=].resource = WhoLrSampleDiagnosticReport * entry[=].request.method = #POST * entry[=].request.url = "DiagnosticReport" * entry[+].fullUrl = "http://test.org/fhir/Encounter/WhoLrSampleEncounter" diff --git a/input/fsh/who-lr-DiagnosticReport.fsh b/input/fsh/who-lr-DiagnosticReport.fsh index 9086e6e2..0b2066d2 100644 --- a/input/fsh/who-lr-DiagnosticReport.fsh +++ b/input/fsh/who-lr-DiagnosticReport.fsh @@ -1,7 +1,6 @@ -Profile: WhoCrDiagnosticReport +Profile: WhoLrDiagnosticReport Parent: DiagnosticReport -Id: covid19-lab-result-report -Title: "COVID-19 Lab Result" +Title: "WHO Lab Result Diagnostic Report" Description: "Defines a diagnostic report profile for the COVID-19 Lab Result" * identifier 1..1 MS * identifier.system 1..1 MS @@ -15,11 +14,11 @@ Description: "Defines a diagnostic report profile for the COVID-19 Lab Result" * subject.reference 1..1 MS * encounter 1..1 MS -Instance: Covid19LabDiagnosticReportExample -InstanceOf: WhoCrDiagnosticReport +Instance: WhoLrSampleDiagnosticReport +InstanceOf: WhoLrDiagnosticReport Usage: #example -Title: "COVID-19 Lab Result example" -Description: "COVID-19 Patient example" +Title: "WHO Lab result Sample Diagnostic Report" +Description: "WHO Lab result Sample Diagnostic Report" * identifier.system = "http://example.org/" * identifier.value = "12345" * effectiveDateTime = "2021-03-03" diff --git a/input/fsh/who-lr-Encounter.fsh b/input/fsh/who-lr-Encounter.fsh index 57e4685d..ce68247c 100644 --- a/input/fsh/who-lr-Encounter.fsh +++ b/input/fsh/who-lr-Encounter.fsh @@ -8,7 +8,7 @@ Description: "Defines an Encounter profile for the Lab Report" Instance: WhoLrSampleEncounter InstanceOf: WhoLrEncounter Usage: #example -Title: "Lab Report Encounter Example" +Title: "WHO Lab Report Encounter Example" Description: "Health facility ordering a Covid 19 lab test" * serviceProvider = Reference(Covid19OrderingClinicOrganizationExample) * status = #finished diff --git a/input/fsh/who-lr-Organization.fsh b/input/fsh/who-lr-Organization.fsh index 54fadf3d..645a508b 100644 --- a/input/fsh/who-lr-Organization.fsh +++ b/input/fsh/who-lr-Organization.fsh @@ -1,30 +1,28 @@ -Profile: Covid19OrganizationTestLab +Profile: WhoLrOrganizationLab Parent: Organization -Id: covid19-organization-testlab -Title: "COVID-19 Lab Test Organization" +Title: "WHO LR Lab Test Organization" Description: "Defines an organization profile for the COVID-19 Test" * identifier 1..1 MS * identifier.system 1..1 MS * identifier.value 1..1 MS -Profile: Covid19OrganizationOrderingClinic +Profile: WhoLrOrganizationOrderingClinic Parent: Organization -Id: covid19-ordering-clinic-organization -Title: "COVID-19 Ordering clinic Organization" +Title: "WHO LR Ordering clinic Organization" Description: "Defines an organization profile for the COVID-19 Lab Result ordering clinic" * name 1..1 MS -Instance: Covid19TestLabOrganizationExample -InstanceOf: Covid19OrganizationTestLab +Instance: WhoLrSampleOrganizationLab +InstanceOf: WhoLrOrganizationLab Usage: #example -Title: "COVID-19 Test Lab Organization Example" -Description: "COVID-19 Test Lab organization example" +Title: "WHO Lab Result Organization Lab Sample" +Description: "WHO Lab Result Organization Lab Sample" * identifier.system = "http://example.org" * identifier.value = "12345" -Instance: Covid19OrderingClinicOrganizationExample -InstanceOf: Covid19OrganizationOrderingClinic +Instance: WhoLrSampleOrganizationOrderingClinic +InstanceOf: WhoLrOrganizationOrderingClinic Usage: #example -Title: "COVID-19 Ordering Clinic Organization Example" -Description: "COVID-19 Ordering Clinic organization example" +Title: "WHO Lab Result Organization Ordering Clinic Sample" +Description: "WHO Lab Result Organization Ordering Clinic Sample" * name = "KEMRI Clinic" diff --git a/input/fsh/who-lr-Questionnaire.fsh b/input/fsh/who-lr-Questionnaire.fsh index cf2f6861..d46a3331 100644 --- a/input/fsh/who-lr-Questionnaire.fsh +++ b/input/fsh/who-lr-Questionnaire.fsh @@ -1,12 +1,12 @@ -Instance: WhoCrQuestionnaireCovid19Result +Instance: WhoLrQuestionnaire InstanceOf: Questionnaire -Description: "COVID-19 Laboratory Result" +Description: "WHO Questionnaire for COVID-19 Laboratory Result" Title: "COVID-19 Laboratory Result" Usage: #definition -* name = "WhoCrQuestionnaireCovid19Result" +* name = "WhoLrQuestionnaire" * subjectType = #Patient -* url = "http://openhie.github.io/covid-19/Questionnaire/WhoCrQuestionnaireCovid19Result" +* url = "http://openhie.github.io/covid-19/Questionnaire/WhoLrQuestionnaire" * status = #active * item[0].linkId = "labreport_ID" diff --git a/input/fsh/who-lr-QuestionnaireResponse.fsh b/input/fsh/who-lr-QuestionnaireResponse.fsh index c1ad321c..7d0a0011 100644 --- a/input/fsh/who-lr-QuestionnaireResponse.fsh +++ b/input/fsh/who-lr-QuestionnaireResponse.fsh @@ -1,11 +1,11 @@ -Instance: WhoCrQuestionnaireResponseLabResult +Instance: WhoLrQuestionnaireResponse InstanceOf: QuestionnaireResponse Usage: #example -Title: "Who Cr Questionnaire Response fr lab result" -Description: "Questionnaire response example for Covid19 lab result" +Title: "Who LR Questionnaire Response" +Description: "Questionnaire Response example" * identifier.system = "http://test.org/response-id" * identifier.value = "1111" -* questionnaire = Canonical(WhoCrQuestionnaireCovid19Result) +* questionnaire = Canonical(WhoLrQuestionnaire) * status = #completed * authored = "2021-01-20T11:29:52+02:00" * author = Reference(WhoCrPractitionerExample) From 4b6669612a0c6d0f2ab5c08fbf090ac82a6c5214 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Tue, 13 Apr 2021 15:26:43 +0200 Subject: [PATCH 43/88] Remove organization resources from the LR Bundle We assume that the Organization already exist. We will do a lookup to confirm but it is out of our scope to manage the Facility Registry We will however keep a profile for the Organization resource as we have requirements of what data the resources must contain https://jembiprojects.jira.com/browse/DSC19-88 --- input/fsh/who-lr-Bundle.fsh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/input/fsh/who-lr-Bundle.fsh b/input/fsh/who-lr-Bundle.fsh index aa75bd1c..0d7e2470 100644 --- a/input/fsh/who-lr-Bundle.fsh +++ b/input/fsh/who-lr-Bundle.fsh @@ -8,14 +8,6 @@ Description: "Sample of a clinical bundle representing a lab result" * entry[=].resource = WhoLrSamplePatient * entry[=].request.method = #POST * entry[=].request.url = "Patient" -* entry[+].fullUrl = "http://test.org/fhir/Organization/WhoLrSampleOrganizationLab" -* entry[=].resource = WhoLrSampleOrganizationLab -* entry[=].request.method = #POST -* entry[=].request.url = "Organization" -* entry[+].fullUrl = "http://test.org/fhir/Organization/WhoLrSampleOrganizationOrderingClinic" -* entry[=].resource = WhoLrSampleOrganizationOrderingClinic -* entry[=].request.method = #POST -* entry[=].request.url = "Organization" * entry[+].fullUrl = "http://test.org/fhir/DiagnosticReport/WhoLrSampleDiagnosticReport" * entry[=].resource = WhoLrSampleDiagnosticReport * entry[=].request.method = #POST From c642373f5e0494d140a6e26296eea661bd77fee3 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Tue, 13 Apr 2021 15:28:59 +0200 Subject: [PATCH 44/88] Fix code used for test result in Diagnostic Report The code used there did not make sense. It described the possible presence of covid via a nucleotide test. This conclusion code is more general on whether the patient has covid or not independent of test method https://jembiprojects.jira.com/browse/DSC19-88 --- input/fsh/who-lr-DiagnosticReport.fsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/fsh/who-lr-DiagnosticReport.fsh b/input/fsh/who-lr-DiagnosticReport.fsh index 0b2066d2..ee2b8a12 100644 --- a/input/fsh/who-lr-DiagnosticReport.fsh +++ b/input/fsh/who-lr-DiagnosticReport.fsh @@ -22,7 +22,7 @@ Description: "WHO Lab result Sample Diagnostic Report" * identifier.system = "http://example.org/" * identifier.value = "12345" * effectiveDateTime = "2021-03-03" -* conclusionCode.coding[0] = $LNC#94500-6 "Negative" +* conclusionCode.coding[0] = $cs-v3-ObsInterpretation#NEG "Negative" * status = #final * code = $LNC#11502-2 "Laboratory report" * conclusionCode.text = "Negative result for Covid19" From 7729c2e998a590a56f5de8e17d10ee8274ebf416 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Tue, 13 Apr 2021 15:30:50 +0200 Subject: [PATCH 45/88] Set Patient request method in bundle to PUT The Patient should already exist in the FHIR store the details received in the Lab Report will be used to update that resource not to create another https://jembiprojects.jira.com/browse/DSC19-89 --- input/fsh/who-lr-Bundle.fsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/fsh/who-lr-Bundle.fsh b/input/fsh/who-lr-Bundle.fsh index 0d7e2470..feebad98 100644 --- a/input/fsh/who-lr-Bundle.fsh +++ b/input/fsh/who-lr-Bundle.fsh @@ -6,7 +6,7 @@ Description: "Sample of a clinical bundle representing a lab result" * type = #transaction * entry[+].fullUrl = "http://test.org/fhir/Patient/WhoLrSamplePatient" * entry[=].resource = WhoLrSamplePatient -* entry[=].request.method = #POST +* entry[=].request.method = #PUT * entry[=].request.url = "Patient" * entry[+].fullUrl = "http://test.org/fhir/DiagnosticReport/WhoLrSampleDiagnosticReport" * entry[=].resource = WhoLrSampleDiagnosticReport From 4c64d9278e79730dca7f3ad25c1c6bb064c13980 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Tue, 13 Apr 2021 16:34:14 +0200 Subject: [PATCH 46/88] Update diagnostic report category We currently only have one possible response listed "Covid PCR test" We don't have a source system controlling this yet - for now we can use the value we receive here as the coding text. We can use the defined diagnostic service with the general code of virology for the actual coding - this should cover all covid test bases https://jembiprojects.jira.com/browse/DSC19-85 --- input/fsh/who-cr-Common.fsh | 2 ++ input/fsh/who-lr-DiagnosticReport.fsh | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/input/fsh/who-cr-Common.fsh b/input/fsh/who-cr-Common.fsh index 80c695fa..05106274 100644 --- a/input/fsh/who-cr-Common.fsh +++ b/input/fsh/who-cr-Common.fsh @@ -39,6 +39,8 @@ Alias: $prof-sdc-questionnaire-adv-behave = http://hl7.org/fhir/uv/sdc/Structure Alias: $prof-sdc-questionnaireResponse = http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse Alias: $prof-sdc-valueset = http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-valueset +Alias: $valueset-diagnostic-service = https://www.hl7.org/fhir/valueset-diagnostic-service-sections.html + RuleSet: PublisherContextInstance * status = #draft * experimental = true diff --git a/input/fsh/who-lr-DiagnosticReport.fsh b/input/fsh/who-lr-DiagnosticReport.fsh index ee2b8a12..cddb35e9 100644 --- a/input/fsh/who-lr-DiagnosticReport.fsh +++ b/input/fsh/who-lr-DiagnosticReport.fsh @@ -26,8 +26,8 @@ Description: "WHO Lab result Sample Diagnostic Report" * status = #final * code = $LNC#11502-2 "Laboratory report" * conclusionCode.text = "Negative result for Covid19" -* category.coding[0] = $LNC#94500-6 "Laboratory" -* category.text = "Covid19 Laboratory" +* category.coding[0] = $valueset-diagnostic-service#VR "Virology" +* category.text = "COVID-19 PCR TEST" * specimen = Reference(WhoLrSampleSpecimen) * performer = Reference(WhoCrPractitionerExample) * subject = Reference(WhoLrPatientExample) From 73dab56d98b1f4a5c8bdaafe9426efd4668bf07a Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Tue, 13 Apr 2021 16:36:24 +0200 Subject: [PATCH 47/88] Fix broken example link references During the refactor some sample resources had name changes that weren't updated everywhere https://jembiprojects.jira.com/browse/DSC19-85 --- input/fsh/who-lr-DiagnosticReport.fsh | 4 ++-- input/fsh/who-lr-Encounter.fsh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/input/fsh/who-lr-DiagnosticReport.fsh b/input/fsh/who-lr-DiagnosticReport.fsh index cddb35e9..30e37f1c 100644 --- a/input/fsh/who-lr-DiagnosticReport.fsh +++ b/input/fsh/who-lr-DiagnosticReport.fsh @@ -30,5 +30,5 @@ Description: "WHO Lab result Sample Diagnostic Report" * category.text = "COVID-19 PCR TEST" * specimen = Reference(WhoLrSampleSpecimen) * performer = Reference(WhoCrPractitionerExample) -* subject = Reference(WhoLrPatientExample) -* encounter = Reference(WhoCrSampleEncounter) +* subject = Reference(WhoLrSamplePatient) +* encounter = Reference(WhoLrSampleEncounter) diff --git a/input/fsh/who-lr-Encounter.fsh b/input/fsh/who-lr-Encounter.fsh index ce68247c..e09a7ade 100644 --- a/input/fsh/who-lr-Encounter.fsh +++ b/input/fsh/who-lr-Encounter.fsh @@ -10,7 +10,7 @@ InstanceOf: WhoLrEncounter Usage: #example Title: "WHO Lab Report Encounter Example" Description: "Health facility ordering a Covid 19 lab test" -* serviceProvider = Reference(Covid19OrderingClinicOrganizationExample) +* serviceProvider = Reference(WhoLrSampleOrganizationOrderingClinic) * status = #finished -* subject = Reference(Covid19PatientExample) +* subject = Reference(WhoLrSamplePatient) * class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE From e9e31bd0026dfe0d21579e6c0e2b96336d1ebb57 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Fri, 23 Apr 2021 08:55:19 +0200 Subject: [PATCH 48/88] Remove Location and Practitioner from Cr Bundle This commit will remove the Practitioner and Location resources from the WHO Cr Bundle Example. These resources will not be new to the server so they should not be sent as part of the bundle. Related Tickets: - DSC19-37 - DSC19-105 --- input/fsh/who-cr-CompositionCaseReportBasic.fsh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh index a1ac2cc0..2d64f92e 100644 --- a/input/fsh/who-cr-CompositionCaseReportBasic.fsh +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -131,10 +131,6 @@ Description: "Example of a clinical bundle representing a case report" * entry[=].resource = WhoCrCompositionBasicExample * entry[+].fullUrl = "http://test.org/fhir/Encounter/WhoCrEncounterExample" * entry[=].resource = WhoCrEncounterExample -* entry[+].fullUrl = "http://test.org/fhir/Location/WhoCrLocationExample" -* entry[=].resource = WhoCrLocationExample -* entry[+].fullUrl = "http://test.org/fhir/Practitioner/WhoCrPractitionerExample" -* entry[=].resource = WhoCrPractitionerExample * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationAgeExample" * entry[=].resource = WhoCrObservationAgeExample * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationBirthSexExample" From 8f5f1f1beb5c680f97d8e7c3f0cb832eec3db993 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Wed, 28 Apr 2021 08:52:58 +0200 Subject: [PATCH 49/88] Convert composition case report bundle to transaction type Related Tickets: - https://jembiprojects.jira.com/browse/DSC19-105 - https://jembiprojects.jira.com/browse/DSC19-37 --- .../fsh/who-cr-CompositionCaseReportBasic.fsh | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh index 2d64f92e..b6792186 100644 --- a/input/fsh/who-cr-CompositionCaseReportBasic.fsh +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -126,25 +126,43 @@ InstanceOf: Bundle Usage: #example Title: "Who Cr Bundle Example" Description: "Example of a clinical bundle representing a case report" -* type = #document +* type = #transaction * entry[+].fullUrl = "http://test.org/fhir/Composition/WhoCrCompositionBasicExample" * entry[=].resource = WhoCrCompositionBasicExample +* entry[=].request.method = #POST +* entry[=].request.url = "Composition" * entry[+].fullUrl = "http://test.org/fhir/Encounter/WhoCrEncounterExample" * entry[=].resource = WhoCrEncounterExample +* entry[=].request.method = #POST +* entry[=].request.url = "Encounter" * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationAgeExample" * entry[=].resource = WhoCrObservationAgeExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationBirthSexExample" * entry[=].resource = WhoCrObservationBirthSexExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationLabTestDateExample" * entry[=].resource = WhoCrObservationLabTestDateExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationSymptomsExample" * entry[=].resource = WhoCrObservationSymptomsExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCRObservationOnsetDateExample" * entry[=].resource = WhoCRObservationOnsetDateExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationComorbiditiesExample" * entry[=].resource = WhoCrObservationComorbiditiesExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationHasTravelledExample" * entry[=].resource = WhoCrObservationHasTravelledExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" Instance: WhoCrCompositionBasicExample InstanceOf: WhoCrCompositionBasic From 809bc9824b7c9960c5b0de15d90a7c5c8a55da2c Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Wed, 28 Apr 2021 13:04:30 +0200 Subject: [PATCH 50/88] Add Lab Organization to diagnostic report profile This resource had no other place to be recorded in context --- input/fsh/who-lr-DiagnosticReport.fsh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/input/fsh/who-lr-DiagnosticReport.fsh b/input/fsh/who-lr-DiagnosticReport.fsh index 30e37f1c..67b4598e 100644 --- a/input/fsh/who-lr-DiagnosticReport.fsh +++ b/input/fsh/who-lr-DiagnosticReport.fsh @@ -9,7 +9,7 @@ Description: "Defines a diagnostic report profile for the COVID-19 Lab Result" * conclusionCode 1..1 MS * category 1..1 MS * specimen 1..1 MS -* performer 1..1 MS +* performer 2..2 MS * subject 1..1 MS * subject.reference 1..1 MS * encounter 1..1 MS @@ -29,6 +29,7 @@ Description: "WHO Lab result Sample Diagnostic Report" * category.coding[0] = $valueset-diagnostic-service#VR "Virology" * category.text = "COVID-19 PCR TEST" * specimen = Reference(WhoLrSampleSpecimen) -* performer = Reference(WhoCrPractitionerExample) +* performer[0] = Reference(WhoCrPractitionerExample) +* performer[1] = Reference(WhoLrOrganizationLab) * subject = Reference(WhoLrSamplePatient) * encounter = Reference(WhoLrSampleEncounter) From 2ba824f6d20864319a7d2b8c6745a4dada571862 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Thu, 29 Apr 2021 16:52:45 +0200 Subject: [PATCH 51/88] Change bundle instruction for patient resource The Patient resource must be created in this bundle request as it would not exist before this request DSC19-35 --- input/fsh/who-lr-Bundle.fsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/fsh/who-lr-Bundle.fsh b/input/fsh/who-lr-Bundle.fsh index feebad98..0d7e2470 100644 --- a/input/fsh/who-lr-Bundle.fsh +++ b/input/fsh/who-lr-Bundle.fsh @@ -6,7 +6,7 @@ Description: "Sample of a clinical bundle representing a lab result" * type = #transaction * entry[+].fullUrl = "http://test.org/fhir/Patient/WhoLrSamplePatient" * entry[=].resource = WhoLrSamplePatient -* entry[=].request.method = #PUT +* entry[=].request.method = #POST * entry[=].request.url = "Patient" * entry[+].fullUrl = "http://test.org/fhir/DiagnosticReport/WhoLrSampleDiagnosticReport" * entry[=].resource = WhoLrSampleDiagnosticReport From a0cbd7ae9e74b3168579938e74fe61a28fb41c1e Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Thu, 20 May 2021 08:52:29 +0200 Subject: [PATCH 52/88] Add Case Outcome Questionnaire profile Related Tickets: - https://jembiprojects.jira.com/browse/DSC19-59 - https://jembiprojects.jira.com/browse/DSC19-78 --- input/fsh/who-co-Questionnaire.fsh | 98 ++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 input/fsh/who-co-Questionnaire.fsh diff --git a/input/fsh/who-co-Questionnaire.fsh b/input/fsh/who-co-Questionnaire.fsh new file mode 100644 index 00000000..062969f3 --- /dev/null +++ b/input/fsh/who-co-Questionnaire.fsh @@ -0,0 +1,98 @@ +Instance: WhoCoQuestionnaire +InstanceOf: Questionnaire +Description: "WHO Questionnaire for COVID-19 Case Outcome" +Title: "COVID-19 Case Outcome" +Usage: #definition + +* name = "WhoCoQuestionnaire" +* subjectType = #Patient +* url = "http://openhie.github.io/covid-19/Questionnaire/WhoCoQuestionnaire" +* status = #active + +* item[0].linkId = "patinfo_ID" +* item[0].text = "Unique Case Identifier" +* item[0].code = $LNC#94659-0 +* item[0].type = #string +* item[0].required = true + +* item[1].linkId = "outcome_report_date" +* item[1].text = "Date of re-submission for this report" +* item[1].code = $LNC#91877-1 +* item[1].type = #date +* item[1].required = true + +* item[2].linkId = "outcome_date_of_outcome" +* item[2].text = "Date of Release from isolation/hospital or Date of Death" +* item[2].code = $LNC#46582-3 +* item[2].type = #date +* item[2].required = true + +* item[3].linkId = "outcome_asymp" +* item[3].text = "Developed symptoms after time of specimen collection" +* item[3].code = $LNC#66421-9 +* item[3].type = #choice +* item[3].required = true + +* item[4].linkId = "outcome_asymp_date" +* item[4].text = "Date of onset of symptoms/signs of illness" +* item[4].code = $LNC#65222-2 +* item[4].type = #date + +* item[5].linkId = "patcourse_admit" +* item[5].text = "Admission to hospital (may have been previously reported)" +* item[5].code = $LNC#77974-4 +* item[5].type = #choice +* item[5].required = true + +* item[6].linkId = "admission_date" +* item[6].text = "First date of admission to hospital" +* item[6].code = $LNC#8656-1 +* item[6].type = #date + +* item[7].linkId = "outcome_patcourse_icu" +* item[7].text = "Did the case receive care in an intensive care unit (ICU)" +* item[7].code = $LNC#95420-6 +* item[7].type = #choice +* item[7].required = true + +* item[8].linkId = "outcome_patcourse_vent" +* item[8].text = "Did the case receive ventilation" +* item[8].code = $LNC#96539-2 +* item[8].type = #choice +* item[8].required = true + +* item[9].linkId = "outcome_patcourse_ecmo" +* item[9].text = "Did the case receive extracorporeal membrane oxygenation" +* item[9].code = $LNC#96540-0 +* item[9].type = #choice +* item[9].required = true + +* item[10].linkId = "outcome_patcourse_status" +* item[10].text = "Health Outcome" +* item[10].code = $LNC#91541-3 +* item[10].type = #choice +* item[10].required = true + +* item[11].linkId = "outcome_patcourse_status_other" +* item[11].text = "If other, please explain" +* item[11].type = #string + +* item[12].linkId = "outcome_lab_date" +* item[12].text = "If released from hospital /isolation, date of last laboratory test" +* item[12].code = $LNC#96550-9 +* item[12].type = #date + +* item[13].linkId = "outcome_lab_result" +* item[13].text = "Results of last test" +* item[13].code = $LNC#96552-5 +* item[13].type = #choice + +* item[14].linkId = "outcome_contacts_followed" +* item[14].text = "Total number of contacts followed for this case" +* item[14].code = $LNC#96551-7 +* item[14].type = #integer +* item[14].required = true + +* item[15].linkId = "outcome_contacts_followed_unknown" +* item[15].text = "Number of contacts followed unknown" +* item[15].type = #string From 598154aca3f9de6bd1bdf74f3558a05605afd197 Mon Sep 17 00:00:00 2001 From: brad Date: Mon, 24 May 2021 09:20:11 +0200 Subject: [PATCH 53/88] Add more profiles for a case report's FHIR resources This adds profiles for observation, encounter and condition resources that represent properties of the case report. Profiles have been created for the properties - report_test_reason, report_country, report_date, comcond, patcourse_admit, patcourse_presHCF, patcourse_icu, patcourse_vent, patcourse_ecmo, patcourse_iso, patcourse_dateiso, patinfo_occhcw, expo_travel_country1, expo_travel_city, expo_travel_date1, expo_visit_healthcare, expo_contact_case, expo_ID1, expo_case_date_first, expo_case_date_last and expo_cse_location DSC19-127 --- .../fsh/who-cr-CompositionCaseReportBasic.fsh | 209 ++++++++++++++++++ 1 file changed, 209 insertions(+) diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh index b6792186..a2cf6e88 100644 --- a/input/fsh/who-cr-CompositionCaseReportBasic.fsh +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -39,6 +39,24 @@ Description: "WHO Encounter for a case report" * location 1..1 * reasonCode 1..* * reasonCode from WhoCrValueSetReasonForCovid19Testing +* period 1..1 +* period.start 1..1 + +Profile: WhoCrEncounterHospitalAdmission +Parent: Encounter +Id: who-cr-encounter-hospital-admission +Title: "WHO CR Encounter Hospital Admission" +Description: "WHO Encounter for hospital admission" +* code = $LNC#8656-1 +* period 1..1 +* period.start 1..1 + +Profile: WhoCrConditionComorbidity +Parent: Condition +* code = $LNC#75618-9 +* value[x] only CodeableConcept +* code 1..1 +* code from WhoCrValueSetComorbidity Profile: WhoCrLocation Parent: Location @@ -117,6 +135,197 @@ Description: "WHO Observation if the patient has travelled in the past 14 days p * valueCodeableConcept 1..1 * valueCodeableConcept from WhoCrValueSetYesNo +Profile: WhoCrObservationTestReason +Parent: Observation +Id: who-cr-observation-test-reason +Title: "WHO CR Observation Test Reason" +Description: "WHO Observation the reason for testing" +* code = $LNC#67098-4 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrCodeSystemReasonForTesting + +Profile: WhoCrObservationReportCountry +Parent: Observation +Id: who-cr-observation-reporting-country +Title: "WHO CR Observation Reporting Country" +Description: "WHO Observation the reporting country" +* code = $LNC#77967-8 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetQuestionnaireCountry + +Profile: WhoCrObservationHospitalAdmission +Parent: Observation +Id: who-cr-observation-hospital-admission +Title: "WHO CR Observation Hospital Admission" +Description: "WHO Observation if the patient was admitted to the hospital" +* code = $LNC#77974-4 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNoUnk + +Profile: WhoCrObservationIntensiveCareReceived +Parent: Observation +Id: who-cr-observation-intensive-care-received +Title: "WHO CR Observation Intensive Care Received" +Description: "WHO Observation if the patient received intensive care in the hospital" +* code = $LNC#95420-6 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNoUnk + +Profile: WhoCrObservationVentilationReceived +Parent: Observation +Id: who-cr-observation-ventilation-received +Title: "WHO CR Observation Ventilation Received" +Description: "WHO Observation if the patient received ventilation in the hospital" +* code = $LNC#96539-2 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNoUnk + +Profile: WhoCrObservationECMO +Parent: Observation +Id: who-cr-observation-extracorporeal-membrane-oxygenation +Title: "WHO CR Observation Extracorporeal Membrane Oxygenation Received" +Description: "WHO Observation if the patient received extracorporeal membrane oxygenation in the hospital" +* code = $LNC#96540-0 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNoUnk + +Profile: WhoCrObservationCaseIsolated +Parent: Observation +Id: who-cr-observation-case-isolated +Title: "WHO CR Observation Case Isolated" +Description: "WHO Observation if the patient is in isolation" +* code = $LNC#96548-3 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNoUnk + +Profile: WhoCrObservationCaseIsolationDate +Parent: Observation +Id: who-cr-observation-case-isolation-date +Title: "WHO CR Observation Case Isolation Date" +Description: "WHO Observation for the date the patient isolated" +* code = $LNC#96549-1 +* value[x] only dateTime +* valueDateTime 1..1 + +Profile: WhoCrObservationHealthCareWorker +Parent: Observation +Id: who-cr-observation-health-care-worker +Title: "WHO CR Observation Health Care Worker" +Description: "WHO Observation if the patient is a health care worker" +* code = $LNC#95418-0 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNoUnk + +Profile: WhoCrObservationTravelCountry +Parent: Observation +Id: who-cr-observation-travel-country +Title: "WHO CR Observation Travel Country" +Description: "WHO Observation country traveled to by patient" +* code = $LNC#94651-7 +* value[x] only CodeableConcept +* component 1..1 +* component.valueCodeableConcept 1..1 +* component.valueCodeableConcept from WhoCrValueSetQuestionnaireCountry + +Profile: WhoCrObservationTravelCity +Parent: Observation +Id: who-cr-observation-travel-city +Title: "WHO CR Observation Travel City" +Description: "WHO Observation city traveled to by patient" +* code = $LNC#94653-3 +* value[x] only string +* component 1..1 +* component.valueString 1..1 +* component.valueString from WhoCrValueSetQuestionnaireAdmin1 + +Profile: WhoCrObservationTravelDate +Parent: Observation +Id: who-cr-observation-travel-date +Title: "WHO CR Observation Travel Date" +Description: "WHO Observation date on which the patient departed from the country" +* code = $LNC#91560-3 +* value[x] only dateTime +* component 1..1 +* component.valueDateTime 1..1 + +Profile: WhoCrObservationVisitedHealthCare +Parent: Observation +Id: who-cr-observation-visited-health-care +Title: "WHO CR Observation Visited Health Care" +Description: "WHO Observation if the patient has visited health care in the past 14 days prior to symptom onset for case report" +* code = $LNC#96543-4 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNo + +Profile: WhoCrObservationContactCase +Parent: Observation +Id: who-cr-observation-contact-case +Title: "WHO CR Observation Contact Case" +Description: "WHO Observation if the patient has had contact with confirmed case in the past 14 days prior to symptom onset for case report" +* code = $LNC#96544-2 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNo + +Profile: WhoCrObservationContactCaseSetting +Parent: Observation +Id: who-cr-observation-contact-case-setting +Title: "WHO CR Observation Contact Case Setting" +Description: "WHO Observation setting for contact with confirmed case in the past 14 days prior to symptom onset for case report" +* code = $LNC#81267-7 +* value[x] only string +* valueString 1..1 + +Profile: WhoCrObservationContactCaseID +Parent: Observation +Id: who-cr-observation-contact-case-id +Title: "WHO CR Observation Contact Case Id" +Description: "WHO Observation id of the confirmed case contacted" +* code = $LNC#94650-9 +* value[x] only string +* component 1..1 +* component.valueString 1..1 + +Profile: WhoCrObservationContactCaseFirstDate +Parent: Observation +Id: who-cr-observation-contact-case-first-date +Title: "WHO CR Observation Contact Case First Date" +Description: "WHO Observation first date patient came into contact with confirmed case" +* code = $LNC#96545-9 +* value[x] only dateTime +* component 1..1 +* component.valueDateTime 1..1 + +Profile: WhoCrObservationContactCaseLastDate +Parent: Observation +Id: who-cr-observation-contact-case-last-date +Title: "WHO CR Observation Contact Case Last Date" +Description: "WHO Observation last date patient came into contact with confirmed case" +* code = $LNC#95386-9 +* value[x] only dateTime +* component 1..1 +* component.valueDateTime 1..1 + +Profile: WhoCrObservationContactCaseLocation +Parent: Observation +Id: who-cr-observation-contact-case-location +Title: "WHO CR Observation Contact Case Location" +Description: "WHO Observation likely country for exposure to case" +* code = $LNC#77984-3 +* value[x] only string +* component 1..1 +* component.valueString 1..1 +* component.valueString from WhoCrValueSetQuestionnaireCountry + /** * Examples */ From 4a0a66aa08c3a3606e56c8433d2e97c54f3db3c4 Mon Sep 17 00:00:00 2001 From: brad Date: Tue, 25 May 2021 12:02:06 +0200 Subject: [PATCH 54/88] Add examples for the new profiles created This adds example observations, encounters and conditions which are constrained by the new profiles DSC19-127 --- .../fsh/who-cr-CompositionCaseReportBasic.fsh | 168 ++++++++++++++++++ 1 file changed, 168 insertions(+) diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh index a2cf6e88..72a2fdc1 100644 --- a/input/fsh/who-cr-CompositionCaseReportBasic.fsh +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -410,6 +410,7 @@ Description: "Encounter example" * location.location = Reference(WhoCrLocationExample) * status = #finished * class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE +* period.start = "2021-01-15" Instance: WhoCrLocationExample InstanceOf: Location @@ -482,3 +483,170 @@ Title: "Who Cr Observation Has Travelled Example" Description: "Observation Has Travelled Example" * status = #final * valueCodeableConcept = $cs-v2-0136#N + +Instance: WhoCrObservationTestReasonExample +InstanceOf: WhoCrObservationTestReason +Usage: #example +Title: "Who Cr Observation Test Reason Example" +Description: "Observation Test Reason Example" +* status = #final +* valueCodeableConcept = WhoCrCodeSystemReasonForTesting#CASE_CONTACT + +Instance: WhoCrObservationReportCountryExample +InstanceOf: WhoCrObservationReportCountry +Usage: #example +Title: "Who Cr Observation Report Country Example" +Description: "Observation Report Country Example" +* status = #final +* valueCodeableConcept = $vs-iso3166-1-2#ZA + +Instance: WhoCrObservationHospitalAdmissionExample +InstanceOf: WhoCrObservationHospitalAdmission +Usage: #example +Title: "Who Cr Observation Hospital Admission Example" +Description: "Observation Hospital Admission Example" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + +Instance: WhoCrObservationIntensiveCareReceivedExample +InstanceOf: WhoCrObservationIntensiveCareReceived +Usage: #example +Title: "Who Cr Observation Intensive Care Received Example" +Description: "Observation Intensive Received Example" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + +Instance: WhoCrObservationVentilationReceivedExample +InstanceOf: WhoCrObservationVentilationReceived +Usage: #example +Title: "Who Cr Observation Ventilation Received Example" +Description: "Observation Ventilation Received Example" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + +Instance: WhoCrObservationECMOExample +InstanceOf: WhoCrObservationECMO +Usage: #example +Title: "Who Cr Observation ECMO Example" +Description: "Observation ECMO Example" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + +Instance: WhoCrObservationCaseIsolatedExample +InstanceOf: WhoCrObservationCaseIsolated +Usage: #example +Title: "Who Cr Observation CaseIsolated Example" +Description: "Observation CaseIsolated Example" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + +Instance: WhoCrObservationIsolationDateExample +InstanceOf: WhoCrObservationIsolationDate +Usage: #example +Title: "Who Cr Observation Isolation Date Example" +Description: "Isolation Date Example" +* status = #final +* valueDateTime = "2021-01-19" + +Instance: WhoCrObservationHealthCareWorkerExample +InstanceOf: WhoCrObservationHealthCareWorker +Usage: #example +Title: "Who Cr Observation HealthCareWorker Example" +Description: "Observation HealthCareWorker Example" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + +Instance: WhoCrObservationTravelCountryExample +InstanceOf: WhoCrObservationTravelCountry +Usage: #example +Title: "Who Cr Observation Travel Country Example" +Description: "Observation Travel Country Example" +* status = #final +* component.valueCodeableConcept = $vs-iso3166-1-2#ZW + +Instance: WhoCrObservationTravelCityExample +InstanceOf: WhoCrObservationTravelCity +Usage: #example +Title: "Who Cr Observation Travel City Example" +Description: "Observation Travel City Example" +* status = #final +* component.valueString = "Harare" + +Instance: WhoCrObservationTravelDateExample +InstanceOf: WhoCrObservationTravelDate +Usage: #example +Title: "Who Cr Observation Travel Date Example" +Description: "Travel Date Example" +* status = #final +* component.valueDateTime = "2021-01-19" + +Instance: WhoCrObservationVisitedHealthCareExample +InstanceOf: WhoCrObservationVisitedHealthCare +Usage: #example +Title: "Who Cr Observation VisitedHealthCare Example" +Description: "Observation VisitedHealthCare Example" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + +Instance: WhoCrObservationContactCaseExample +InstanceOf: WhoCrObservationContactCase +Usage: #example +Title: "Who Cr Observation ContactCase Example" +Description: "Observation ContactCase Example" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + +Instance: WhoCrObservationContactCaseSettingExample +InstanceOf: WhoCrObservationContactCaseSetting +Usage: #example +Title: "Who Cr Observation Contact Case Setting Example" +Description: "Observation Contact Case Setting Example" +* status = #final +* valueString = "Home" + +Instance: WhoCrObservationContactCaseIDExample +InstanceOf: WhoCrObservationContactCaseID +Usage: #example +Title: "Who Cr Observation Contact Case ID Example" +Description: "Observation Contact Case ID Example" +* status = #final +* component.valueString = "12345678" + +Instance: WhoCrObservationContactCaseLastDateExample +InstanceOf: WhoCrObservationContactCaseLastDate +Usage: #example +Title: "Who Cr Observation Contact Case Last Date Example" +Description: "Contact Case Last Date Example" +* status = #final +* component.valueDateTime = "2021-01-19" + +Instance: WhoCrObservationContactCaseFirstDateExample +InstanceOf: WhoCrObservationContactCaseFirstDate +Usage: #example +Title: "Who Cr Observation Contact Case First Date Example" +Description: "Contact Case First Date Example" +* status = #final +* component.valueDateTime = "2021-01-20" + +Instance: WhoCrObservationContactCaseLocationExample +InstanceOf: WhoCrObservationContactCaseLocation +Usage: #example +Title: "Who Cr Observation Contact Case Location Example" +Description: "Observation Contact Case Location Example" +* status = #final +* component.valueString = "ZW" + +Instance: WhoCrEncounterHospitalAdmissionExample +InstanceOf: WhoCrEncounterHospitalAdmission +Usage: #example +Title: "Who Cr Encounter Hospital Admission Example" +Description: "Hospital Admission Encounter Example" +* status = #finished +* period.start = "2021-01-19" + +Instance: WhoCrConditionComorbidityExample +InstanceOf: WhoCrConditionComorbidity +Usage: #example +Title: "Who Cr Condition Comorbidity Example" +Description: "Condition Comorbidity Example" +* code = WhoCrValueSetComorbidity#PREGNANCY From 425fe735f81b5c48997e379f95c5045432bd8597 Mon Sep 17 00:00:00 2001 From: brad Date: Tue, 25 May 2021 14:08:49 +0200 Subject: [PATCH 55/88] Update the case report questionnaire response The questionnaire response has been updated with other fields that describe a covid19 case report DCS19-71 --- .../fsh/who-cr-QuestionnaireResponseBasic.fsh | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) diff --git a/input/fsh/who-cr-QuestionnaireResponseBasic.fsh b/input/fsh/who-cr-QuestionnaireResponseBasic.fsh index 562e981f..d0629e9f 100644 --- a/input/fsh/who-cr-QuestionnaireResponseBasic.fsh +++ b/input/fsh/who-cr-QuestionnaireResponseBasic.fsh @@ -20,6 +20,11 @@ Description: "Questionnaire response example" * item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.report.testReason" * item[=].answer[+].valueCoding = WhoCrCodeSystemReasonForTesting#CASE_CONTACT +* item[+].linkId = "report_date" +* item[=].text = "Date of Reporting:" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.report.reportDate" +* item[=].item[=].answer[+].valueDate = "2021-01-20" + * item[+].linkId = "section_patient_info" * item[=].text = "Patient information" @@ -69,6 +74,41 @@ Description: "Questionnaire response example" * item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.patientCourse.onsetDate" * item[=].item[=].item[=].answer[+].valueDate = "2021-01-15" +* item[=].item[=].item[+].linkId = "patcourse_admit" +* item[=].item[=].item[=].text = "Hospital Admission Indicator:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.patientCourse.wasAdmitted" +* item[=].item[=].item[=].answer[+].valueCoding = $cs-v2-0136#Y + +* item[=].item[=].item[+].linkId = "patcourse_presHCF" +* item[=].item[=].item[=].text = "First Hospital Admission Date:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.patientCourse.admitDate" +* item[=].item[=].item[=].answer[+].valueDate = "2021-01-15" + +* item[=].item[=].item[+].linkId = "patcourse_icu" +* item[=].item[=].item[=].text = "Intensive Care Received:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.patientCourse.receivedIcuCare" +* item[=].item[=].item[=].answer[+].valueCoding = $cs-v2-0136#Y + +* item[=].item[=].item[+].linkId = "patcourse_vent" +* item[=].item[=].item[=].text = "Ventilation Received:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.patientCourse.ventilated" +* item[=].item[=].item[=].answer[+].valueCoding = $cs-v2-0136#Y + +* item[=].item[=].item[+].linkId = "patcourse_ecmo" +* item[=].item[=].item[=].text = "Did the case receive extracorporeal membrane oxygenation?:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.patientCourse.receivedEcmo" +* item[=].item[=].item[=].answer[+].valueCoding = $cs-v2-0136#Y + +* item[=].item[=].item[+].linkId = "patcourse_iso" +* item[=].item[=].item[=].text = "Is case in isolation with Infection Control Practice in place?" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.patientCourse.wasIsolated" +* item[=].item[=].item[=].answer[+].valueCoding = $cs-v2-0136#Y + +* item[=].item[=].item[+].linkId = "patcourse_dateiso" +* item[=].item[=].item[=].text = "Date of isolation:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.patientCourse.isolatedDate" +* item[=].item[=].item[=].answer[+].valueDate = "2021-01-15" + * item[=].item[+].linkId = "section_comorbidity" * item[=].item[=].text = "Underlying conditions and comorbidity:" @@ -77,10 +117,71 @@ Description: "Questionnaire response example" * item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.comorbidities.any" * item[=].item[=].item[=].answer[+].valueCoding = $cs-v2-0136#N +* item[=].item[=].item[+].linkId = "comcond" +* item[=].item[=].item[=].text = "Patient Underlying Conditions:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.clinicalStatus.comorbidities.conditions" +* item[=].item[=].item[=].answer[+].valueCoding = WhoCrCodeSystemComorbidity#DIABETES +* item[=].item[=].item[=].answer[+].valueCoding = WhoCrCodeSystemComorbidity#PREGNANCY + * item[+].linkId = "section_exposure_risk" * item[=].text = "Exposure risk in the 14 days prior to symptom onset (prior to testing if asymptomatic)" +* item[=].item[+].linkId = "patinfo_occuhcw" +* item[=].item[=].text = "Is case a Health Care Worker (any job in a health care setting):" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.travel.isHealthcareWorker" +* item[=].item[=].answer[+].valueCoding = $cs-v2-0136#N + * item[=].item[+].linkId = "expo_travel" * item[=].item[=].text = "Has the case travelled in the 14 days prior to symptom onset?" * item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.travel.hasTravelled" * item[=].item[=].answer[+].valueCoding = $cs-v2-0136#N + +* item[=].item[+].linkId = "expo_travel_country" +* item[=].item[=].text = "Country:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.travel.location.country" +* item[=].item[=].item[=].answer[+].valueCoding = $vs-iso3166-1-2#ZW + +* item[=].item[+].linkId = "expo_travel_city" +* item[=].item[=].text = "City:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.travel.location.city" +* item[=].item[=].item[=].answer[+].valueString = "Harare" + +* item[=].item[+].linkId = "expo_travel_date" +* item[=].item[=].text = "Date of Departure from the place:" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.travel.location.locationPeriod.end" +* item[=].item[=].answer[+].valueDate = "2021-01-15" + +* item[=].item[+].linkId = "expo_visit_healthcare" +* item[=].item[=].text = "Has case visited any health care facility in the 14 days prior to symptom onset?" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.visitedHealthcare" +* item[=].item[=].answer[+].valueCoding = $cs-v2-0136#N + +* item[=].item[+].linkId = "expo_contact_case" +* item[=].item[=].text = "Has case had contact with a confirmed case in the 14 days prior to symptom onset?" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.contact.hadContact" +* item[=].item[=].answer[+].valueCoding = $cs-v2-0136#N + +* item[=].item[+].linkId = "expo_case_setting_detail" +* item[=].item[=].text = "Contact Setting:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.contact.contact.exposure.setting" +* item[=].item[=].item[=].answer[+].valueString = "Home" + +* item[=].item[+].linkId = "expo_ID1" +* item[=].item[=].text = "Contact ID:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.contact.contact.identifier" +* item[=].item[=].item[=].answer[+].valueString = "+2777888888" + +* item[=].item[+].linkId = "expo_case_date_first" +* item[=].item[=].text = "First Date of Contact:" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.contact.contact.exposure.period.begin" +* item[=].item[=].answer[+].valueDate = "2021-01-15" + +* item[=].item[+].linkId = "expo_case_date_last" +* item[=].item[=].text = "Last Date of Contact:" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.contact.contact.exposure.period.end" +* item[=].item[=].answer[+].valueDate = "2021-01-17" + +* item[=].item[+].linkId = "expo_case_location" +* item[=].item[=].text = "Most likely country of exposure:" +* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary..exposure.contact.country" +* item[=].item[=].item[=].answer[+].valueCoding = $vs-iso3166-1-2#ZW From 81561e60ed14d7da99f8bbe15e9f49f8b98a9402 Mon Sep 17 00:00:00 2001 From: brad Date: Tue, 25 May 2021 15:55:16 +0200 Subject: [PATCH 56/88] Update the compositon and bundle examples This adds the other properties of the case report that have been added to the IG DSC19-71 --- .../fsh/who-cr-CompositionCaseReportBasic.fsh | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh index 72a2fdc1..b2ff59aa 100644 --- a/input/fsh/who-cr-CompositionCaseReportBasic.fsh +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -372,6 +372,90 @@ Description: "Example of a clinical bundle representing a case report" * entry[=].resource = WhoCrObservationHasTravelledExample * entry[=].request.method = #POST * entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationTestReasonExample" +* entry[=].resource = WhoCrObservationTestReasonExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationReportCountryExample" +* entry[=].resource = WhoCrObservationReportCountryExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationHospitalAdmissionExample" +* entry[=].resource = WhoCrObservationHospitalAdmissionExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationIntensiveCareReceivedExample" +* entry[=].resource = WhoCrObservationIntensiveCareReceivedExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationVentilationReceivedExample" +* entry[=].resource = WhoCrObservationVentilationReceivedExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationECMOExample" +* entry[=].resource = WhoCrObservationECMOExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationCaseIsolatedExample" +* entry[=].resource = WhoCrObservationCaseIsolatedExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationIsolationDateExample" +* entry[=].resource = WhoCrObservationIsolationDateExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationHealthCareWorkerExample" +* entry[=].resource = WhoCrObservationHealthCareWorkerExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationTravelCountryExample" +* entry[=].resource = WhoCrObservationTravelCountryExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationTravelCityExample" +* entry[=].resource = WhoCrObservationTravelCityExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationTravelDateExample" +* entry[=].resource = WhoCrObservationTravelDateExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationVisitedHealthCareExample" +* entry[=].resource = WhoCrObservationVisitedHealthCareExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationContactCaseExample" +* entry[=].resource = WhoCrObservationContactCaseExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationContactCaseSettingExample" +* entry[=].resource = WhoCrObservationContactCaseSettingExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationContactCaseIDExample" +* entry[=].resource = WhoCrObservationContactCaseIDExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationContactCaseLastDateExample" +* entry[=].resource = WhoCrObservationContactCaseLastDateExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationContactCaseFirstDateExample" +* entry[=].resource = WhoCrObservationContactCaseFirstDateExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationContactCaseLocationExample" +* entry[=].resource = WhoCrObservationContactCaseLocationExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" +* entry[+].fullUrl = "http://test.org/fhir/Encounter/WhoCrEncounterHospitalAdmissionExample" +* entry[=].resource = WhoCrEncounterHospitalAdmissionExample +* entry[=].request.method = #POST +* entry[=].request.url = "Encounter" +* entry[+].fullUrl = "http://test.org/fhir/Condition/WhoCrConditionComorbidityExample" +* entry[=].resource = WhoCrConditionComorbidityExample +* entry[=].request.method = #POST +* entry[=].request.url = "Condition" Instance: WhoCrCompositionBasicExample InstanceOf: WhoCrCompositionBasic @@ -385,6 +469,7 @@ Description: "Basic Composition example" * date = "2021-01-18" * author = Reference(WhoCrPractitionerExample) * title = "WHO COVID-19 Case Report" +* report_country = Reference(WhoCrObservationReportCountryExample) * section[+].title = "patient information" * section[=].code = http://test.org/sectionCode#patientinformation @@ -397,10 +482,30 @@ Description: "Basic Composition example" * section[=].entry[+] = Reference(WhoCrObservationSymptomsExample) * section[=].entry[+] = Reference(WhoCRObservationOnsetDateExample) * section[=].entry[+] = Reference(WhoCrObservationComorbiditiesExample) +* section[=].entry[+] = Reference(WhoCrObservationTestReasonExample) +* section[=].entry[+] = Reference(WhoCrObservationHospitalAdmissionExample) +* section[=].entry[+] = Reference(WhoCrObservationIntensiveCareReceivedExample) +* section[=].entry[+] = Reference(WhoCrObservationVentilationReceivedExample) +* section[=].entry[+] = Reference(WhoCrObservationECMOExample) +* section[=].entry[+] = Reference(WhoCrObservationCaseIsolatedExample) +* section[=].entry[+] = Reference(WhoCrObservationIsolationDateExample) +* section[=].entry[+] = Reference(WhoCrObservationHealthCareWorkerExample) +* section[=].entry[+] = Reference(WhoCrEncounterHospitalAdmissionExample) +* section[=].entry[+] = Reference(WhoCrConditionComorbidityExample) * section[+].title = "exposure risk" * section[=].code = http://test.org/sectionCode#exposureRisk * section[=].entry[+] = Reference(WhoCrObservationHasTravelledExample) +* section[=].entry[+] = Reference(WhoCrObservationTravelCountryExample) +* section[=].entry[+] = Reference(WhoCrObservationTravelCityExample) +* section[=].entry[+] = Reference(WhoCrObservationTravelDateExample) +* section[=].entry[+] = Reference(WhoCrObservationVisitedHealthCareExample) +* section[=].entry[+] = Reference(WhoCrObservationContactCaseExample) +* section[=].entry[+] = Reference(WhoCrObservationContactCaseSettingExample) +* section[=].entry[+] = Reference(WhoCrObservationContactCaseIDExample) +* section[=].entry[+] = Reference(WhoCrObservationContactCaseLastDateExample) +* section[=].entry[+] = Reference(WhoCrObservationContactCaseFirstDateExample) +* section[=].entry[+] = Reference(WhoCrObservationContactCaseLocationExample) Instance: WhoCrEncounterExample InstanceOf: Encounter From 6e161ee095c450c561e2144082ea9f0741449770 Mon Sep 17 00:00:00 2001 From: brad Date: Mon, 31 May 2021 08:47:19 +0200 Subject: [PATCH 57/88] Modify the profiles The valueset that was being used for the countries was incorrect and has been corrected. Some observation profiles have been changed to use the valuestring, valueDatetime or valueCodeablecConcept, and not the component field. This is for consistency as all other observation profiles do not use the component which would result in us having to add the observation code twice. DSC19-71 --- .../fsh/who-cr-CompositionCaseReportBasic.fsh | 59 +++++++++---------- 1 file changed, 27 insertions(+), 32 deletions(-) diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh index b2ff59aa..4fed5c6c 100644 --- a/input/fsh/who-cr-CompositionCaseReportBasic.fsh +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -47,14 +47,11 @@ Parent: Encounter Id: who-cr-encounter-hospital-admission Title: "WHO CR Encounter Hospital Admission" Description: "WHO Encounter for hospital admission" -* code = $LNC#8656-1 * period 1..1 * period.start 1..1 Profile: WhoCrConditionComorbidity Parent: Condition -* code = $LNC#75618-9 -* value[x] only CodeableConcept * code 1..1 * code from WhoCrValueSetComorbidity @@ -143,7 +140,7 @@ Description: "WHO Observation the reason for testing" * code = $LNC#67098-4 * value[x] only CodeableConcept * valueCodeableConcept 1..1 -* valueCodeableConcept from WhoCrCodeSystemReasonForTesting +* valueCodeableConcept from WhoCrValueSetReasonForCovid19Testing Profile: WhoCrObservationReportCountry Parent: Observation @@ -153,7 +150,7 @@ Description: "WHO Observation the reporting country" * code = $LNC#77967-8 * value[x] only CodeableConcept * valueCodeableConcept 1..1 -* valueCodeableConcept from WhoCrValueSetQuestionnaireCountry +* valueCodeableConcept from $vs-iso3166-1-2 Profile: WhoCrObservationHospitalAdmission Parent: Observation @@ -231,9 +228,8 @@ Title: "WHO CR Observation Travel Country" Description: "WHO Observation country traveled to by patient" * code = $LNC#94651-7 * value[x] only CodeableConcept -* component 1..1 -* component.valueCodeableConcept 1..1 -* component.valueCodeableConcept from WhoCrValueSetQuestionnaireCountry +* valueCodeableConcept 1..1 +* valueCodeableConcept from $vs-iso3166-1-2 Profile: WhoCrObservationTravelCity Parent: Observation @@ -242,9 +238,8 @@ Title: "WHO CR Observation Travel City" Description: "WHO Observation city traveled to by patient" * code = $LNC#94653-3 * value[x] only string -* component 1..1 -* component.valueString 1..1 -* component.valueString from WhoCrValueSetQuestionnaireAdmin1 +* valueString 1..1 +* valueString from WhoCrValueSetAdmin1 Profile: WhoCrObservationTravelDate Parent: Observation @@ -253,8 +248,7 @@ Title: "WHO CR Observation Travel Date" Description: "WHO Observation date on which the patient departed from the country" * code = $LNC#91560-3 * value[x] only dateTime -* component 1..1 -* component.valueDateTime 1..1 +* valueDateTime 1..1 Profile: WhoCrObservationVisitedHealthCare Parent: Observation @@ -292,8 +286,7 @@ Title: "WHO CR Observation Contact Case Id" Description: "WHO Observation id of the confirmed case contacted" * code = $LNC#94650-9 * value[x] only string -* component 1..1 -* component.valueString 1..1 +* valueString 1..1 Profile: WhoCrObservationContactCaseFirstDate Parent: Observation @@ -302,8 +295,7 @@ Title: "WHO CR Observation Contact Case First Date" Description: "WHO Observation first date patient came into contact with confirmed case" * code = $LNC#96545-9 * value[x] only dateTime -* component 1..1 -* component.valueDateTime 1..1 +* valueDateTime 1..1 Profile: WhoCrObservationContactCaseLastDate Parent: Observation @@ -312,8 +304,7 @@ Title: "WHO CR Observation Contact Case Last Date" Description: "WHO Observation last date patient came into contact with confirmed case" * code = $LNC#95386-9 * value[x] only dateTime -* component 1..1 -* component.valueDateTime 1..1 +* valueDateTime 1..1 Profile: WhoCrObservationContactCaseLocation Parent: Observation @@ -322,9 +313,8 @@ Title: "WHO CR Observation Contact Case Location" Description: "WHO Observation likely country for exposure to case" * code = $LNC#77984-3 * value[x] only string -* component 1..1 -* component.valueString 1..1 -* component.valueString from WhoCrValueSetQuestionnaireCountry +* valueString 1..1 +* valueString from $vs-iso3166-1-2 /** * Examples @@ -469,7 +459,10 @@ Description: "Basic Composition example" * date = "2021-01-18" * author = Reference(WhoCrPractitionerExample) * title = "WHO COVID-19 Case Report" -* report_country = Reference(WhoCrObservationReportCountryExample) + +* section[+].title = "reporting country" +* section[=].code = http://test.org/sectionCode#reportingcountry +* section[=].entry[+] = Reference(WhoCrObservationReportCountryExample) * section[+].title = "patient information" * section[=].code = http://test.org/sectionCode#patientinformation @@ -646,7 +639,7 @@ Description: "Observation CaseIsolated Example" * valueCodeableConcept = $cs-v2-0136#Y Instance: WhoCrObservationIsolationDateExample -InstanceOf: WhoCrObservationIsolationDate +InstanceOf: WhoCrObservationCaseIsolationDate Usage: #example Title: "Who Cr Observation Isolation Date Example" Description: "Isolation Date Example" @@ -667,7 +660,7 @@ Usage: #example Title: "Who Cr Observation Travel Country Example" Description: "Observation Travel Country Example" * status = #final -* component.valueCodeableConcept = $vs-iso3166-1-2#ZW +* valueCodeableConcept = $vs-iso3166-1-2#ZA Instance: WhoCrObservationTravelCityExample InstanceOf: WhoCrObservationTravelCity @@ -675,7 +668,7 @@ Usage: #example Title: "Who Cr Observation Travel City Example" Description: "Observation Travel City Example" * status = #final -* component.valueString = "Harare" +* valueString = "Harare" Instance: WhoCrObservationTravelDateExample InstanceOf: WhoCrObservationTravelDate @@ -683,7 +676,7 @@ Usage: #example Title: "Who Cr Observation Travel Date Example" Description: "Travel Date Example" * status = #final -* component.valueDateTime = "2021-01-19" +* valueDateTime = "2021-01-19" Instance: WhoCrObservationVisitedHealthCareExample InstanceOf: WhoCrObservationVisitedHealthCare @@ -715,7 +708,7 @@ Usage: #example Title: "Who Cr Observation Contact Case ID Example" Description: "Observation Contact Case ID Example" * status = #final -* component.valueString = "12345678" +* valueString = "12345678" Instance: WhoCrObservationContactCaseLastDateExample InstanceOf: WhoCrObservationContactCaseLastDate @@ -723,7 +716,7 @@ Usage: #example Title: "Who Cr Observation Contact Case Last Date Example" Description: "Contact Case Last Date Example" * status = #final -* component.valueDateTime = "2021-01-19" +* valueDateTime = "2021-01-19" Instance: WhoCrObservationContactCaseFirstDateExample InstanceOf: WhoCrObservationContactCaseFirstDate @@ -731,7 +724,7 @@ Usage: #example Title: "Who Cr Observation Contact Case First Date Example" Description: "Contact Case First Date Example" * status = #final -* component.valueDateTime = "2021-01-20" +* valueDateTime = "2021-01-20" Instance: WhoCrObservationContactCaseLocationExample InstanceOf: WhoCrObservationContactCaseLocation @@ -739,7 +732,7 @@ Usage: #example Title: "Who Cr Observation Contact Case Location Example" Description: "Observation Contact Case Location Example" * status = #final -* component.valueString = "ZW" +* valueString = "ZW" Instance: WhoCrEncounterHospitalAdmissionExample InstanceOf: WhoCrEncounterHospitalAdmission @@ -747,6 +740,7 @@ Usage: #example Title: "Who Cr Encounter Hospital Admission Example" Description: "Hospital Admission Encounter Example" * status = #finished +* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE * period.start = "2021-01-19" Instance: WhoCrConditionComorbidityExample @@ -754,4 +748,5 @@ InstanceOf: WhoCrConditionComorbidity Usage: #example Title: "Who Cr Condition Comorbidity Example" Description: "Condition Comorbidity Example" -* code = WhoCrValueSetComorbidity#PREGNANCY +* code = WhoCrCodeSystemComorbidity#PREGNANCY +* subject = Reference("Patient/12333") From 5588fae25f56ffd20ba1ece2a591ebd5220d96c5 Mon Sep 17 00:00:00 2001 From: brad Date: Mon, 31 May 2021 08:57:28 +0200 Subject: [PATCH 58/88] Fix the errors in the questionnaire response Some of the fields had been incorrectly nested DSC19-71 --- .../fsh/who-cr-QuestionnaireResponseBasic.fsh | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/input/fsh/who-cr-QuestionnaireResponseBasic.fsh b/input/fsh/who-cr-QuestionnaireResponseBasic.fsh index d0629e9f..cb962317 100644 --- a/input/fsh/who-cr-QuestionnaireResponseBasic.fsh +++ b/input/fsh/who-cr-QuestionnaireResponseBasic.fsh @@ -22,8 +22,8 @@ Description: "Questionnaire response example" * item[+].linkId = "report_date" * item[=].text = "Date of Reporting:" -* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.report.reportDate" -* item[=].item[=].answer[+].valueDate = "2021-01-20" +* item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.report.reportDate" +* item[=].answer[+].valueDate = "2021-01-20" * item[+].linkId = "section_patient_info" * item[=].text = "Patient information" @@ -138,13 +138,13 @@ Description: "Questionnaire response example" * item[=].item[+].linkId = "expo_travel_country" * item[=].item[=].text = "Country:" -* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.travel.location.country" -* item[=].item[=].item[=].answer[+].valueCoding = $vs-iso3166-1-2#ZW +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.travel.location.country" +* item[=].item[=].answer[+].valueCoding = $vs-iso3166-1-2#ZW * item[=].item[+].linkId = "expo_travel_city" * item[=].item[=].text = "City:" -* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.travel.location.city" -* item[=].item[=].item[=].answer[+].valueString = "Harare" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.travel.location.city" +* item[=].item[=].answer[+].valueString = "Harare" * item[=].item[+].linkId = "expo_travel_date" * item[=].item[=].text = "Date of Departure from the place:" @@ -163,13 +163,13 @@ Description: "Questionnaire response example" * item[=].item[+].linkId = "expo_case_setting_detail" * item[=].item[=].text = "Contact Setting:" -* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.contact.contact.exposure.setting" -* item[=].item[=].item[=].answer[+].valueString = "Home" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.contact.contact.exposure.setting" +* item[=].item[=].answer[+].valueString = "Home" * item[=].item[+].linkId = "expo_ID1" * item[=].item[=].text = "Contact ID:" -* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.contact.contact.identifier" -* item[=].item[=].item[=].answer[+].valueString = "+2777888888" +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary.exposure.contact.contact.identifier" +* item[=].item[=].answer[+].valueString = "+2777888888" * item[=].item[+].linkId = "expo_case_date_first" * item[=].item[=].text = "First Date of Contact:" @@ -183,5 +183,5 @@ Description: "Questionnaire response example" * item[=].item[+].linkId = "expo_case_location" * item[=].item[=].text = "Most likely country of exposure:" -* item[=].item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary..exposure.contact.country" -* item[=].item[=].item[=].answer[+].valueCoding = $vs-iso3166-1-2#ZW +* item[=].item[=].definition = "http://openhie.github.io/covid-19/StructureDefinition/WhoCrSurveillanceDataDictionary#WhoCrSurveillanceDataDictionary..exposure.contact.country" +* item[=].item[=].answer[+].valueCoding = $vs-iso3166-1-2#ZW From aeaac12ab7741f3f89d5c0618c19895b7556b2ee Mon Sep 17 00:00:00 2001 From: brad Date: Mon, 31 May 2021 09:12:14 +0200 Subject: [PATCH 59/88] Change the profile for travel date The profile has been changed to use the effectiveDateTime field and not the valueDateTime DSC19-71 --- input/fsh/who-cr-CompositionCaseReportBasic.fsh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh index 4fed5c6c..0b2c0451 100644 --- a/input/fsh/who-cr-CompositionCaseReportBasic.fsh +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -247,8 +247,8 @@ Id: who-cr-observation-travel-date Title: "WHO CR Observation Travel Date" Description: "WHO Observation date on which the patient departed from the country" * code = $LNC#91560-3 -* value[x] only dateTime -* valueDateTime 1..1 +* effective[x] only dateTime +* effectiveDateTime 1..1 Profile: WhoCrObservationVisitedHealthCare Parent: Observation @@ -676,7 +676,7 @@ Usage: #example Title: "Who Cr Observation Travel Date Example" Description: "Travel Date Example" * status = #final -* valueDateTime = "2021-01-19" +* effectiveDateTime = "2021-01-19" Instance: WhoCrObservationVisitedHealthCareExample InstanceOf: WhoCrObservationVisitedHealthCare From cf1a6c0579d5016cd13d450b71ce73993f4ad939 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Tue, 1 Jun 2021 08:49:57 +0200 Subject: [PATCH 60/88] Add observation and Encounter resources DSC19-78 --- input/fsh/who-co-Observations.fsh | 275 ++++++++++++++++++++++++++++++ 1 file changed, 275 insertions(+) create mode 100644 input/fsh/who-co-Observations.fsh diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh new file mode 100644 index 00000000..302edef0 --- /dev/null +++ b/input/fsh/who-co-Observations.fsh @@ -0,0 +1,275 @@ +CodeSystem: WhoCoPositiveNegativeUnknown +Title: "Positive/Negative/Unknown" +Description: "Positive/Negative/Unknown" +* #positive + "Positive" +* #negative + "Negative" +* #unknown + "Unknown" + +ValueSet: WhoCoValueSetPositiveNegativeUnknown +Id: who-co-positive-negative-unknown +Title: "Positive/Negative/Unknown" +Description: "Positive/Negative/Unknown" +* codes from system WhoCoPositiveNegativeUnknown + +CodeSystem: WhoCoHealthOutcome +Title: "Health Outcome" +Description: "Health Outcome" +* #recovered_healthy + "Recovered/Healthy" +* #not_recovered + "Not Recovered" +* #death + "Death" +* #unknown + "Unknown" +* #other + "Other" + +ValueSet: WhoCoValueSetHealthOutcome +Id: who-co-health-outcome +Title: "Health Outcome" +Description: "WH Co Valueset Health Outcome" +* codes from system WhoCoHealthOutcome + +Profile: WhoCoHospitalizationEncounter +Parent: Encounter +Id: who-co-hospitalization-encounter +Title: "WHO CO Hospitalization Encounter" +Description: "" +* status = #finished +* period 1..1 +* period.end 1..1 + +Profile: WhoCoObservationOutcomeAsymp +Parent: Observation +Id: who-co-observation-outcome-asymp +Title: "WHO Case Outcome Outcome Asymp" +Description: "WHO Case Outcome Outcome Asymp Observation" +* code = $LNC#66421-9 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNoUnk + +Profile: WhoCoObservationOutcomeAsympDate +Parent: Observation +Id: who-co-observation-outcome-asymp-date +Title: "WHO Case Outcome Outcome Asymp Date" +Description: "WHO Case Outcome Outcome Asymp Date Observation" +* code = $LNC#65222-2 +* value[x] only dateTime +* valueDateTime 0..1 + +Profile: WhoCoObservationPatcourseAdmit +Parent: Observation +Id: who-co-observation-patcourse-admit +Title: "WHO Case Outcome Patcourse Admit" +Description: "WHO Case Outcome Patcourse Admit Observation" +* code = $LNC#77974-4 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNoUnk + +Profile: WhoCoObservationPatcourseAdmitDate +Parent: Observation +Id: who-co-observation-patcourse-admit-date +Title: "WHO Case Outcome Patcourse Admit Date" +Description: "First date of admission to hospital" +* code = $LNC#8656-1 +* value[x] only dateTime +* valueDateTime 0..1 + +Profile: WhoCoObservationOutcomePatcourseIcu +Parent: Observation +Id: who-co-observation-outcome-patcourse-icu +Title: "WHO CO Outcome Patcourse ICU" +Description: "WHO CO Outcome Patcourse ICU Observation" +* code = $LNC#95420-6 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNoUnk + +Profile: WhoCoObservationOutcomePatcourseVent +Parent: Observation +Id: who-co-observation-outcome-patcourse-vent +Title: "WHO CO Outcome Patcourse Vent" +Description: "WHO CO Outcome Patcourse Vent Observation" +* code = $LNC#96539-2 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNoUnk + +Profile: WhoCoObservationOutcomePatcourseEcmo +Parent: Observation +Id: who-co-observation-outcome-patcourse-ecmo +Title: "WHO CO Outcome Patcourse Ecmo" +Description: "WHO CO Outcome Patcourse Ecmo Observation" +* code = $LNC#96540-0 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCrValueSetYesNoUnk + +Profile: WhoCoObservationOutcomePatcourseStatus +Parent: Observation +Id: who-co-observation-outcome-patcourse-status +Title: "WHO CO Outcome Patcourse Status" +Description: "WHO CO Outcome Patcourse Status Observation" +* code = $LNC#91541-3 +* value[x] only CodeableConcept +* valueCodeableConcept 1..1 +* valueCodeableConcept from WhoCoValueSetHealthOutcome + +Profile: WhoCoObservationOutcomePatcourseStatusOther +Parent: Observation +Id: who-co-observation-outcome-patcourse-status-other +Title: "WHO CO Outcome Patcourse Status Other" +Description: "WHO CO Outcome Patcourse Status Other Observation" +* value[x] only string +* valueString 0..1 + +Profile: WhoCoObservationOutcomeLabDate +Parent: Observation +Id: who-co-observation-outcome-lab-date +Title: "WHO CO Outcome Lab Date" +Description: "WHO CO Outcome Lab Date Observation" +* code = $LNC#96550-9 +* value[x] only dateTime +* valueDateTime 0..1 + +Profile: WhoCoObservationOutcomeLabResult +Parent: Observation +Id: who-co-observation-outcome-lab-result +Title: "WHO CO Outcome Lab Result" +Description: "WHO CO Outcome Lab Result Observation" +* code = $LNC#96552-5 +* value[x] only CodeableConcept +* valueCodeableConcept 0..1 +* valueCodeableConcept from WhoCoValueSetPositiveNegativeUnknown + +Profile: WhoCoObservationOutcomeContactsFollowed +Parent: Observation +Id: who-co-observation-outcome-contacts-followed +Title: "WHO CO Outcome Contacts Followed" +Description: "WHO CO Outcome Contacts Followed Observation" +* code = $LNC#96551-7 +* value[x] only integer +* valueInteger 1..1 + +Profile: WhoCoObservationOutcomeContactsFollowedUnknown +Parent: Observation +Id: who-co-observation-outcome-contacts-followed-unknown +Title: "WHO CO Outcome Contacts Followed Unknown" +Description: "WHO CO Outcome Contacts Followed Unknown Observation" +* code = $LNC#96552-5 +* value[x] only CodeableConcept +* valueCodeableConcept 0..1 +* valueCodeableConcept from WhoCrValueSetYesNoUnk + +/* + * Examples + */ + +Instance: WhoCoObservationOutcomeAsympExample +InstanceOf: WhoCoObservationOutcomeAsymp +Usage: #example +Title: "WHO CO Outcome Asymp Example" +Description: "Developed symptoms after time of specimen collection" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + +Instance: WhoCoObservationOutcomeAsympDateExample +InstanceOf: WhoCoObservationOutcomeAsympDate +Usage: #example +Title: "WHO Case Outcome Outcome Asymp Date Example" +Description: "If yes, date of onset of symptoms/signs of illness" +* status = #final +* valueDateTime = "2021-05-13" + +Instance: WhoCoObservationPatcourseAdmitExample +InstanceOf: WhoCoObservationPatcourseAdmit +Usage: #example +Title: "WHO Case Outcome Patcourse Admit Example" +Description: "Admission to hospital (may have been previously reported)" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + +Instance: WhoCoObservationPatcourseAdmitDateExample +InstanceOf: WhoCoObservationPatcourseAdmitDate +Usage: #example +Title: "WHO Case Outcome Patcourse Admit Date Example" +Description: "First date of admission to hospital" +* status = #final +* valueDateTime = "2021-05-13" + +Instance: WhoCoObservationOutcomePatcourseIcuExample +InstanceOf: WhoCoObservationOutcomePatcourseIcu +Usage: #example +Title: "WHO CO Outcome Patcourse ICU Example" +Description: "Did the case receive care in an intensive care unit (ICU)" +* status = #final +* valueCodeableConcept = $cs-v2-0136#N + +Instance: WhoCoObservationOutcomePatcourseVentExample +InstanceOf: WhoCoObservationOutcomePatcourseVent +Usage: #example +Title: "WHO CO Outcome Patcourse Vent Example" +Description: "Did the case receive ventilation" +* status = #final +* valueCodeableConcept = $cs-v2-0136#UNK + +Instance: WhoCoObservationOutcomePatcourseEcmoExample +InstanceOf: WhoCoObservationOutcomePatcourseEcmo +Usage: #example +Title: "WHO CO Outcome Patcourse Ecmo Example" +Description: "Did the case receive extracorporeal membrane oxygenation" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + +Instance: WhoCoObservationOutcomePatcourseStatusExample +InstanceOf: WhoCoObservationOutcomePatcourseStatus +Usage: #example +Title: "WHO CO Outcome Patcourse Status Example" +Description: "Health Outcome" +* status = #final +* valueCodeableConcept = WhoCoHealthOutcome#death + +Instance: WhoCoObservationOutcomeLabDateExample +InstanceOf: WhoCoObservationOutcomeLabDate +Usage: #example +Title: "WHO CO Outcome Lab Date Example" +Description: "If released from hospital /isolation, date of last laboratory test" +* status = #final +* valueDateTime = "2021-05-13" + +Instance: WhoCoObservationOutcomeLabResultExample +InstanceOf: WhoCoObservationOutcomeLabResult +Usage: #example +Title: "WHO CO Outcome Lab Result Example" +Description: "Results of last test" +* status = #final +* valueCodeableConcept = WhoCoPositiveNegativeUnknown#positive + +Instance: WhoCoObservationOutcomeContactsFollowedExample +InstanceOf: WhoCoObservationOutcomeContactsFollowed +Usage: #example +Title: "WHO CO Outcome Contacts Followed Example" +Description: "Total number of contacts followed for this case" +* status = #final +* valueInteger = 5 + +Instance: WhoCoObservationOutcomeContactsFollowedUnknownExample +InstanceOf: WhoCoObservationOutcomeContactsFollowedUnknown +Usage: #example +Title: "WHO CO Outcome Contacts Followed Unknown Example" +Description: "Number of contacts followed unknown" +* status = #final +* valueCodeableConcept = $cs-v2-0136#UNK + +Instance: WhoCoHospitalizationEncounterExample +InstanceOf: WhoCoHospitalizationEncounter +Usage: #example +* status = #finished +* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE +* period.end = "2021-05-13" From 1c86b5878da5827ec6769cd4ebf5a94a7e146e99 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Tue, 1 Jun 2021 08:51:32 +0200 Subject: [PATCH 61/88] Add questionnaire response example DSC19-78 --- input/fsh/who-co-QuestionnaireResponse.fsh | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 input/fsh/who-co-QuestionnaireResponse.fsh diff --git a/input/fsh/who-co-QuestionnaireResponse.fsh b/input/fsh/who-co-QuestionnaireResponse.fsh new file mode 100644 index 00000000..a013172d --- /dev/null +++ b/input/fsh/who-co-QuestionnaireResponse.fsh @@ -0,0 +1,74 @@ +Instance: WhoCoQuestionnaireResponse +InstanceOf: QuestionnaireResponse +Usage: #example +Title: "WHO CO QuestionnaireResponse" +Description: "WHO Case Outcome QuestionnaireResponse example" +* identifier.system = "http://test.org/response-id" +* identifier.value = "1111" +* questionnaire = Canonical(WhoCoQuestionnaire) +* status = #completed +* authored = "2021-01-20T11:29:52+02:00" + +* item[+].linkId = "patinfo_ID" +* item[=].text = "Unique Case Identifier" +* item[=].answer[+].valueString = "123456789" + +* item[+].linkId = "outcome_report_date" +* item[=].text = "Date of re-submission for this report" +* item[=].answer[+].valueDateTime = "2021-05-13" + +* item[+].linkId = "outcome_date_of_outcome" +* item[=].text = "Date of Release from isolation/hospital or Date of Death" +* item[=].answer[+].valueDateTime = "2021-05-13" + +* item[+].linkId = "outcome_asymp" +* item[=].text = "Developed symptoms after time of specimen collection" +* item[=].answer[+].valueCoding = $cs-v2-0136#Y + +* item[+].linkId = "outcome_asymp_date" +* item[=].text = "Date of onset of symptoms/signs of illness" +* item[=].answer[+].valueDateTime = "2021-05-13" + +* item[+].linkId = "patcourse_admit" +* item[=].text = "Admission to hospital (may have been previously reported)" +* item[=].answer[+].valueCoding = $cs-v2-0136#Y + +* item[+].linkId = "admission_date" +* item[=].text = "First date of admission to hospital" +* item[=].answer[+].valueDateTime = "2021-05-13" + +* item[+].linkId = "outcome_patcourse_icu" +* item[=].text = "Did the case receive care in an intensive care unit (ICU)" +* item[=].answer[+].valueCoding = $cs-v2-0136#N + +* item[+].linkId = "outcome_patcourse_vent" +* item[=].text = "Did the case receive ventilation" +* item[=].answer[+].valueCoding = $cs-v2-0136#UNK + +* item[+].linkId = "outcome_patcourse_ecmo" +* item[=].text = "Did the case receive extracorporeal membrane oxygenation" +* item[=].answer[+].valueCoding = $cs-v2-0136#Y + +* item[+].linkId = "outcome_patcourse_status" +* item[=].text = "Health Outcome" +* item[=].answer[+].valueCoding = WhoCoHealthOutcome#other + +* item[+].linkId = "outcome_patcourse_status_other" +* item[=].text = "If other, please explain" +* item[=].answer[+].valueString = "N/A" + +* item[+].linkId = "outcome_lab_date" +* item[=].text = "If released from hospital /isolation, date of last laboratory test" +* item[=].answer[+].valueDateTime = "2021-05-13" + +* item[+].linkId = "outcome_lab_result" +* item[=].text = "Results of last test" +* item[=].answer[+].valueCoding = WhoCoPositiveNegativeUnknown#positive + +* item[+].linkId = "outcome_contacts_followed" +* item[=].text = "Total number of contacts followed for this case" +* item[=].answer[+].valueInteger = 5 + +* item[+].linkId = "outcome_contacts_followed_unknown" +* item[=].text = "Number of contacts followed unknown" +* item[=].answer[+].valueCoding = $cs-v2-0136#UNK \ No newline at end of file From 030fe1b008d55b4051f6c50ea11ce37f1cf03ea7 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Tue, 1 Jun 2021 08:52:13 +0200 Subject: [PATCH 62/88] Add bundle example DSC19-78 --- input/fsh/who-co-bundle.fsh | 66 +++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 input/fsh/who-co-bundle.fsh diff --git a/input/fsh/who-co-bundle.fsh b/input/fsh/who-co-bundle.fsh new file mode 100644 index 00000000..bc699174 --- /dev/null +++ b/input/fsh/who-co-bundle.fsh @@ -0,0 +1,66 @@ +Instance: WhoCoBundleExample +InstanceOf: Bundle +Usage: #example +Title: "Who Co Bundle Example" +Description: "Example of a clinical bundle representing a case outcome" +* type = #transaction + +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomeAsympExample" +* entry[=].resource = WhoCoObservationOutcomeAsympExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" + +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomeAsympDateExample" +* entry[=].resource = WhoCoObservationOutcomeAsympDateExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" + +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationPatcourseAdmitExample" +* entry[=].resource = WhoCoObservationPatcourseAdmitExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" + +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationPatcourseAdmitDateExample" +* entry[=].resource = WhoCoObservationPatcourseAdmitDateExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" + +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomePatcourseIcuExample" +* entry[=].resource = WhoCoObservationOutcomePatcourseIcuExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" + +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomePatcourseVentExample" +* entry[=].resource = WhoCoObservationOutcomePatcourseVentExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" + +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomePatcourseEcmoExample" +* entry[=].resource = WhoCoObservationOutcomePatcourseEcmoExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" + +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomePatcourseStatusExample" +* entry[=].resource = WhoCoObservationOutcomePatcourseStatusExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" + +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomeLabDateExample" +* entry[=].resource = WhoCoObservationOutcomeLabDateExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" + +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomeLabResultExample" +* entry[=].resource = WhoCoObservationOutcomeLabResultExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" + +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomeContactsFollowedExample" +* entry[=].resource = WhoCoObservationOutcomeContactsFollowedExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" + +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomeContactsFollowedUnknownExample" +* entry[=].resource = WhoCoObservationOutcomeContactsFollowedUnknownExample +* entry[=].request.method = #POST +* entry[=].request.url = "Observation" From 362a0a1cc8a4558c568001e41985418728f2fe56 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Wed, 2 Jun 2021 08:34:54 +0200 Subject: [PATCH 63/88] Update Hospitalization Encounter The encounter was previously based on the base Encounter profile. When applied, this commit will base the encounter on the Case Report hospitalization encounter profile. DSC19-78 --- input/fsh/who-co-Observations.fsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh index 302edef0..cfbc4be3 100644 --- a/input/fsh/who-co-Observations.fsh +++ b/input/fsh/who-co-Observations.fsh @@ -35,7 +35,7 @@ Description: "WH Co Valueset Health Outcome" * codes from system WhoCoHealthOutcome Profile: WhoCoHospitalizationEncounter -Parent: Encounter +Parent: WhoCrEncounterHospitalAdmission Id: who-co-hospitalization-encounter Title: "WHO CO Hospitalization Encounter" Description: "" @@ -272,4 +272,5 @@ InstanceOf: WhoCoHospitalizationEncounter Usage: #example * status = #finished * class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE +* period.start = "2021-05-12" * period.end = "2021-05-13" From 6c1b80d7743364affbc61c6b2139a27fcd165ae4 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Wed, 2 Jun 2021 08:50:22 +0200 Subject: [PATCH 64/88] Add Case Outcome encounter profile and example DSC19-78 --- input/fsh/who-co-Observations.fsh | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh index cfbc4be3..016d8f03 100644 --- a/input/fsh/who-co-Observations.fsh +++ b/input/fsh/who-co-Observations.fsh @@ -38,11 +38,19 @@ Profile: WhoCoHospitalizationEncounter Parent: WhoCrEncounterHospitalAdmission Id: who-co-hospitalization-encounter Title: "WHO CO Hospitalization Encounter" -Description: "" +Description: "WHO CO Hospitalization Encounter" * status = #finished * period 1..1 * period.end 1..1 +Profile: WhoCoEncounter +Parent: WhoCrEncounter +Id: who-co-encounter +Title: "WHO CO Encounter" +Description: "WHO CO Encounter" +* period 1..1 +* period.end 1..1 + Profile: WhoCoObservationOutcomeAsymp Parent: Observation Id: who-co-observation-outcome-asymp @@ -274,3 +282,13 @@ Usage: #example * class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE * period.start = "2021-05-12" * period.end = "2021-05-13" + +Instance: WhoCoEncounterExample +InstanceOf: WhoCoEncounter +Usage: #example +* location.location = Reference(WhoCrLocationExample) +* status = #finished +* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE +* reasonCode = WhoCrCodeSystemReasonForTesting#CASE_CONTACT +* period.start = "2021-05-12" +* period.end = "2021-05-13" From 17e4f55ed35e8b012a339ead989aaab5a57de44d Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Wed, 2 Jun 2021 08:53:52 +0200 Subject: [PATCH 65/88] Add encounter resources to bundle DSC19-78 --- input/fsh/who-co-bundle.fsh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/input/fsh/who-co-bundle.fsh b/input/fsh/who-co-bundle.fsh index bc699174..21ff0b6a 100644 --- a/input/fsh/who-co-bundle.fsh +++ b/input/fsh/who-co-bundle.fsh @@ -64,3 +64,13 @@ Description: "Example of a clinical bundle representing a case outcome" * entry[=].resource = WhoCoObservationOutcomeContactsFollowedUnknownExample * entry[=].request.method = #POST * entry[=].request.url = "Observation" + +* entry[+].fullUrl = "http://test.org/fhir/Encounter/WhoCoHospitalizationEncounterExample" +* entry[=].resource = WhoCoHospitalizationEncounterExample +* entry[=].request.method = #PUT +* entry[=].request.url = "Encounter" + +* entry[+].fullUrl = "http://test.org/fhir/Encounter/WhoCoEncounterExample" +* entry[=].resource = WhoCoEncounterExample +* entry[=].request.method = #PUT +* entry[=].request.url = "Encounter" From 945cadc726722888d8ba97db7c7b0ccf62694ee2 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Wed, 2 Jun 2021 09:59:30 +0200 Subject: [PATCH 66/88] Add Case Outcome Composition DSC19-78 --- input/fsh/who-co-bundle.fsh | 5 +++ input/fsh/who-co-composition.fsh | 58 ++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 input/fsh/who-co-composition.fsh diff --git a/input/fsh/who-co-bundle.fsh b/input/fsh/who-co-bundle.fsh index 21ff0b6a..f5986163 100644 --- a/input/fsh/who-co-bundle.fsh +++ b/input/fsh/who-co-bundle.fsh @@ -5,6 +5,11 @@ Title: "Who Co Bundle Example" Description: "Example of a clinical bundle representing a case outcome" * type = #transaction +* entry[+].fullUrl = "http://test.org/fhir/Composition/WhoCoCompositionExample" +* entry[=].resource = WhoCoCompositionExample +* entry[=].request.method = #POST +* entry[=].request.url = "Composition" + * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomeAsympExample" * entry[=].resource = WhoCoObservationOutcomeAsympExample * entry[=].request.method = #POST diff --git a/input/fsh/who-co-composition.fsh b/input/fsh/who-co-composition.fsh new file mode 100644 index 00000000..aa1f9653 --- /dev/null +++ b/input/fsh/who-co-composition.fsh @@ -0,0 +1,58 @@ +Profile: WhoCoComposition +Parent: Composition +Id: who-c0-composition +Description: "WHO Case Outcome Composition" +Title: "WHO Case Outcome Composition" +* type = $LNC#95412-3 +* category = $LNC#55751-2 +* encounter 1..1 +* identifier 1..1 + +* section ^slicing.discriminator.type = #value +* section ^slicing.discriminator.path = "code.coding.code" +* section ^slicing.rules = #openAtEnd +* section ^slicing.ordered = true +* section ^slicing.description = "Slice of composition.section based on code" + +* section contains + clinicalStatus 1..1 and + exposureRisk 1..1 + +* section[clinicalStatus].title = "clinical status" +* section[clinicalStatus].code = http://test.org/sectionCode#clinicalStatus + +* section[exposureRisk].title = "exposure risk" +* section[exposureRisk].code = http://test.org/sectionCode#exposureRisk +* section[exposureRisk].entry only Reference(WhoCoObservationOutcomeContactsFollowed or WhoCoObservationOutcomeContactsFollowedUnknown) + +Instance: WhoCoCompositionExample +InstanceOf: WhoCoComposition +Usage: #example +Title: "Who Co Composition Example" +Description: "Composition example" +* status = #final +* identifier.system = "http://test.org/identifier/who-covid-19-case-outcome" +* identifier.value = "1111" +* encounter = Reference(WhoCoEncounterExample) +* date = "2021-05-13" +* author = Reference(WhoCrPractitionerExample) +* title = "WHO COVID-19 Case Outcome" + +* section[+].title = "clinical status" +* section[=].code = http://test.org/sectionCode#clinicalStatus +* section[=].entry[+] = Reference(WhoCoObservationOutcomeAsympExample) +* section[=].entry[+] = Reference(WhoCoObservationOutcomeAsympDateExample) +* section[=].entry[+] = Reference(WhoCoObservationPatcourseAdmitExample) +* section[=].entry[+] = Reference(WhoCoObservationPatcourseAdmitDateExample) +* section[=].entry[+] = Reference(WhoCoObservationOutcomePatcourseIcuExample) +* section[=].entry[+] = Reference(WhoCoObservationOutcomePatcourseVentExample) +* section[=].entry[+] = Reference(WhoCoObservationOutcomePatcourseEcmoExample) +* section[=].entry[+] = Reference(WhoCoObservationOutcomePatcourseStatusExample) +* section[=].entry[+] = Reference(WhoCoObservationOutcomeLabDateExample) +* section[=].entry[+] = Reference(WhoCoObservationOutcomeLabResultExample) +* section[=].entry[+] = Reference(WhoCoHospitalizationEncounterExample) + +* section[+].title = "exposure risk" +* section[=].code = http://test.org/sectionCode#exposureRisk +* section[=].entry[+] = Reference(WhoCoObservationOutcomeContactsFollowedUnknownExample) +* section[=].entry[+] = Reference(WhoCoObservationOutcomeContactsFollowedExample) \ No newline at end of file From 03b932b4da9cac105a1f2d18c80f39324a663135 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Mon, 7 Jun 2021 14:19:09 +0200 Subject: [PATCH 67/88] Move CodeCystems and ValueSets to common file DSC19-130 --- input/fsh/who-co-Observations.fsh | 36 ------------------------------- input/fsh/who-cr-Terminology.fsh | 35 ++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 36 deletions(-) diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh index 016d8f03..99ebbf1c 100644 --- a/input/fsh/who-co-Observations.fsh +++ b/input/fsh/who-co-Observations.fsh @@ -1,39 +1,3 @@ -CodeSystem: WhoCoPositiveNegativeUnknown -Title: "Positive/Negative/Unknown" -Description: "Positive/Negative/Unknown" -* #positive - "Positive" -* #negative - "Negative" -* #unknown - "Unknown" - -ValueSet: WhoCoValueSetPositiveNegativeUnknown -Id: who-co-positive-negative-unknown -Title: "Positive/Negative/Unknown" -Description: "Positive/Negative/Unknown" -* codes from system WhoCoPositiveNegativeUnknown - -CodeSystem: WhoCoHealthOutcome -Title: "Health Outcome" -Description: "Health Outcome" -* #recovered_healthy - "Recovered/Healthy" -* #not_recovered - "Not Recovered" -* #death - "Death" -* #unknown - "Unknown" -* #other - "Other" - -ValueSet: WhoCoValueSetHealthOutcome -Id: who-co-health-outcome -Title: "Health Outcome" -Description: "WH Co Valueset Health Outcome" -* codes from system WhoCoHealthOutcome - Profile: WhoCoHospitalizationEncounter Parent: WhoCrEncounterHospitalAdmission Id: who-co-hospitalization-encounter diff --git a/input/fsh/who-cr-Terminology.fsh b/input/fsh/who-cr-Terminology.fsh index 0b40794b..c189c9e9 100644 --- a/input/fsh/who-cr-Terminology.fsh +++ b/input/fsh/who-cr-Terminology.fsh @@ -109,6 +109,29 @@ Description: "TODO" "Other" "Not a listed value" +CodeSystem: WhoCoPositiveNegativeUnknown +Title: "Positive/Negative/Unknown" +Description: "Positive/Negative/Unknown" +* #positive + "Positive" +* #negative + "Negative" +* #unknown + "Unknown" + +CodeSystem: WhoCoHealthOutcome +Title: "Health Outcome" +Description: "Health Outcome" +* #recovered_healthy + "Recovered/Healthy" +* #not_recovered + "Not Recovered" +* #death + "Death" +* #unknown + "Unknown" +* #other + "Other" ValueSet: WhoCrValueSetReasonForCovid19Testing Title: "Reason for Covid-19 Testing" @@ -226,3 +249,15 @@ Description: "List of Administrative Level 1 Names (Province/State/Canton)" * ^immutable = false * codes from system $cs-iso3166-2 + +ValueSet: WhoCoValueSetPositiveNegativeUnknown +Id: who-co-positive-negative-unknown +Title: "Positive/Negative/Unknown" +Description: "Positive/Negative/Unknown" +* codes from system WhoCoPositiveNegativeUnknown + +ValueSet: WhoCoValueSetHealthOutcome +Id: who-co-health-outcome +Title: "Health Outcome" +Description: "WH Co Valueset Health Outcome" +* codes from system WhoCoHealthOutcome From 60407054e965e6c3d3036515a308ee48dc8034bd Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Mon, 7 Jun 2021 14:22:10 +0200 Subject: [PATCH 68/88] Move CO Encounters to their own file DSC19-130 --- input/fsh/who-co-Encounters.fsh | 16 ++++++++++++++++ input/fsh/who-co-Observations.fsh | 17 ----------------- 2 files changed, 16 insertions(+), 17 deletions(-) create mode 100644 input/fsh/who-co-Encounters.fsh diff --git a/input/fsh/who-co-Encounters.fsh b/input/fsh/who-co-Encounters.fsh new file mode 100644 index 00000000..26737f5d --- /dev/null +++ b/input/fsh/who-co-Encounters.fsh @@ -0,0 +1,16 @@ +Profile: WhoCoHospitalizationEncounter +Parent: WhoCrEncounterHospitalAdmission +Id: who-co-hospitalization-encounter +Title: "WHO CO Hospitalization Encounter" +Description: "WHO CO Hospitalization Encounter" +* status = #finished +* period 1..1 +* period.end 1..1 + +Profile: WhoCoEncounter +Parent: WhoCrEncounter +Id: who-co-encounter +Title: "WHO CO Encounter" +Description: "WHO CO Encounter" +* period 1..1 +* period.end 1..1 diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh index 99ebbf1c..088a1efc 100644 --- a/input/fsh/who-co-Observations.fsh +++ b/input/fsh/who-co-Observations.fsh @@ -1,20 +1,3 @@ -Profile: WhoCoHospitalizationEncounter -Parent: WhoCrEncounterHospitalAdmission -Id: who-co-hospitalization-encounter -Title: "WHO CO Hospitalization Encounter" -Description: "WHO CO Hospitalization Encounter" -* status = #finished -* period 1..1 -* period.end 1..1 - -Profile: WhoCoEncounter -Parent: WhoCrEncounter -Id: who-co-encounter -Title: "WHO CO Encounter" -Description: "WHO CO Encounter" -* period 1..1 -* period.end 1..1 - Profile: WhoCoObservationOutcomeAsymp Parent: Observation Id: who-co-observation-outcome-asymp From 092d3488100f16a395363e5a1a8d69837048b9e2 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Mon, 7 Jun 2021 14:40:04 +0200 Subject: [PATCH 69/88] Add missing new lines to CO files DSC19-130 --- input/fsh/who-co-QuestionnaireResponse.fsh | 2 +- input/fsh/who-co-composition.fsh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/input/fsh/who-co-QuestionnaireResponse.fsh b/input/fsh/who-co-QuestionnaireResponse.fsh index a013172d..b1334e41 100644 --- a/input/fsh/who-co-QuestionnaireResponse.fsh +++ b/input/fsh/who-co-QuestionnaireResponse.fsh @@ -71,4 +71,4 @@ Description: "WHO Case Outcome QuestionnaireResponse example" * item[+].linkId = "outcome_contacts_followed_unknown" * item[=].text = "Number of contacts followed unknown" -* item[=].answer[+].valueCoding = $cs-v2-0136#UNK \ No newline at end of file +* item[=].answer[+].valueCoding = $cs-v2-0136#UNK diff --git a/input/fsh/who-co-composition.fsh b/input/fsh/who-co-composition.fsh index aa1f9653..f18b70fc 100644 --- a/input/fsh/who-co-composition.fsh +++ b/input/fsh/who-co-composition.fsh @@ -55,4 +55,4 @@ Description: "Composition example" * section[+].title = "exposure risk" * section[=].code = http://test.org/sectionCode#exposureRisk * section[=].entry[+] = Reference(WhoCoObservationOutcomeContactsFollowedUnknownExample) -* section[=].entry[+] = Reference(WhoCoObservationOutcomeContactsFollowedExample) \ No newline at end of file +* section[=].entry[+] = Reference(WhoCoObservationOutcomeContactsFollowedExample) From 45fc45e3ec3ff34c71c72c7e58ba890047132939 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Mon, 7 Jun 2021 15:41:33 +0200 Subject: [PATCH 70/88] Add Outcome Contacts Followed example This commit will add an example Observation resource for an unknown Outcome Contacts Followed value DSC19-130 --- input/fsh/who-co-Observations.fsh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh index 088a1efc..493d97b3 100644 --- a/input/fsh/who-co-Observations.fsh +++ b/input/fsh/who-co-Observations.fsh @@ -111,6 +111,8 @@ Description: "WHO CO Outcome Contacts Followed Observation" * code = $LNC#96551-7 * value[x] only integer * valueInteger 1..1 +* note 0..* +* note.text 1..1 Profile: WhoCoObservationOutcomeContactsFollowedUnknown Parent: Observation @@ -214,6 +216,15 @@ Description: "Total number of contacts followed for this case" * status = #final * valueInteger = 5 +Instance: WhoCoObservationOutcomeContactsFollowedWithNoteExample +InstanceOf: WhoCoObservationOutcomeContactsFollowed +Usage: #example +Title: "WHO CO Outcome Contacts Followed Example" +Description: "Total number of contacts followed for this case example when value is unknown" +* status = #final +* valueInteger = -1 +* note.text = "unknown number of contacts follwed" + Instance: WhoCoObservationOutcomeContactsFollowedUnknownExample InstanceOf: WhoCoObservationOutcomeContactsFollowedUnknown Usage: #example From 9f710024c0a4303835c83007881de56be72b912d Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Mon, 7 Jun 2021 15:53:35 +0200 Subject: [PATCH 71/88] Move Asymp Date to Effective date When applied, this commit will remove the Outcome Asymp Date observation profile and add it as an effective date for Outcome Asymp Observation. DSC19-130 --- input/fsh/who-co-Observations.fsh | 20 +++----------------- input/fsh/who-co-bundle.fsh | 5 ----- input/fsh/who-co-composition.fsh | 1 - 3 files changed, 3 insertions(+), 23 deletions(-) diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh index 493d97b3..68cc75ba 100644 --- a/input/fsh/who-co-Observations.fsh +++ b/input/fsh/who-co-Observations.fsh @@ -7,15 +7,8 @@ Description: "WHO Case Outcome Outcome Asymp Observation" * value[x] only CodeableConcept * valueCodeableConcept 1..1 * valueCodeableConcept from WhoCrValueSetYesNoUnk - -Profile: WhoCoObservationOutcomeAsympDate -Parent: Observation -Id: who-co-observation-outcome-asymp-date -Title: "WHO Case Outcome Outcome Asymp Date" -Description: "WHO Case Outcome Outcome Asymp Date Observation" -* code = $LNC#65222-2 -* value[x] only dateTime -* valueDateTime 0..1 +* effective[x] only dateTime +* effectiveDateTime 0..1 Profile: WhoCoObservationPatcourseAdmit Parent: Observation @@ -135,14 +128,7 @@ Title: "WHO CO Outcome Asymp Example" Description: "Developed symptoms after time of specimen collection" * status = #final * valueCodeableConcept = $cs-v2-0136#Y - -Instance: WhoCoObservationOutcomeAsympDateExample -InstanceOf: WhoCoObservationOutcomeAsympDate -Usage: #example -Title: "WHO Case Outcome Outcome Asymp Date Example" -Description: "If yes, date of onset of symptoms/signs of illness" -* status = #final -* valueDateTime = "2021-05-13" +* effectiveDateTime = "2021-05-13" Instance: WhoCoObservationPatcourseAdmitExample InstanceOf: WhoCoObservationPatcourseAdmit diff --git a/input/fsh/who-co-bundle.fsh b/input/fsh/who-co-bundle.fsh index f5986163..cefbf23d 100644 --- a/input/fsh/who-co-bundle.fsh +++ b/input/fsh/who-co-bundle.fsh @@ -15,11 +15,6 @@ Description: "Example of a clinical bundle representing a case outcome" * entry[=].request.method = #POST * entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomeAsympDateExample" -* entry[=].resource = WhoCoObservationOutcomeAsympDateExample -* entry[=].request.method = #POST -* entry[=].request.url = "Observation" - * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationPatcourseAdmitExample" * entry[=].resource = WhoCoObservationPatcourseAdmitExample * entry[=].request.method = #POST diff --git a/input/fsh/who-co-composition.fsh b/input/fsh/who-co-composition.fsh index f18b70fc..d348ab7c 100644 --- a/input/fsh/who-co-composition.fsh +++ b/input/fsh/who-co-composition.fsh @@ -41,7 +41,6 @@ Description: "Composition example" * section[+].title = "clinical status" * section[=].code = http://test.org/sectionCode#clinicalStatus * section[=].entry[+] = Reference(WhoCoObservationOutcomeAsympExample) -* section[=].entry[+] = Reference(WhoCoObservationOutcomeAsympDateExample) * section[=].entry[+] = Reference(WhoCoObservationPatcourseAdmitExample) * section[=].entry[+] = Reference(WhoCoObservationPatcourseAdmitDateExample) * section[=].entry[+] = Reference(WhoCoObservationOutcomePatcourseIcuExample) From 6b837c32789ca7d43ccfa0af7b949fba41fcd538 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Mon, 7 Jun 2021 16:32:46 +0200 Subject: [PATCH 72/88] Remove Outcome contacts followed profile This profile is no longer required according to the spec DSC19-130 --- input/fsh/who-co-Observations.fsh | 26 ++++++++------------------ input/fsh/who-co-bundle.fsh | 5 ----- input/fsh/who-co-composition.fsh | 2 +- 3 files changed, 9 insertions(+), 24 deletions(-) diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh index 68cc75ba..2dac933b 100644 --- a/input/fsh/who-co-Observations.fsh +++ b/input/fsh/who-co-Observations.fsh @@ -107,16 +107,6 @@ Description: "WHO CO Outcome Contacts Followed Observation" * note 0..* * note.text 1..1 -Profile: WhoCoObservationOutcomeContactsFollowedUnknown -Parent: Observation -Id: who-co-observation-outcome-contacts-followed-unknown -Title: "WHO CO Outcome Contacts Followed Unknown" -Description: "WHO CO Outcome Contacts Followed Unknown Observation" -* code = $LNC#96552-5 -* value[x] only CodeableConcept -* valueCodeableConcept 0..1 -* valueCodeableConcept from WhoCrValueSetYesNoUnk - /* * Examples */ @@ -130,6 +120,14 @@ Description: "Developed symptoms after time of specimen collection" * valueCodeableConcept = $cs-v2-0136#Y * effectiveDateTime = "2021-05-13" +Instance: WhoCoObservationOutcomeAsympNoEffectiveDateExample +InstanceOf: WhoCoObservationOutcomeAsymp +Usage: #example +Title: "WHO CO Outcome Asymp Example" +Description: "Developed symptoms after time of specimen collection example without effective date" +* status = #final +* valueCodeableConcept = $cs-v2-0136#Y + Instance: WhoCoObservationPatcourseAdmitExample InstanceOf: WhoCoObservationPatcourseAdmit Usage: #example @@ -211,14 +209,6 @@ Description: "Total number of contacts followed for this case example when value * valueInteger = -1 * note.text = "unknown number of contacts follwed" -Instance: WhoCoObservationOutcomeContactsFollowedUnknownExample -InstanceOf: WhoCoObservationOutcomeContactsFollowedUnknown -Usage: #example -Title: "WHO CO Outcome Contacts Followed Unknown Example" -Description: "Number of contacts followed unknown" -* status = #final -* valueCodeableConcept = $cs-v2-0136#UNK - Instance: WhoCoHospitalizationEncounterExample InstanceOf: WhoCoHospitalizationEncounter Usage: #example diff --git a/input/fsh/who-co-bundle.fsh b/input/fsh/who-co-bundle.fsh index cefbf23d..7e9984bf 100644 --- a/input/fsh/who-co-bundle.fsh +++ b/input/fsh/who-co-bundle.fsh @@ -60,11 +60,6 @@ Description: "Example of a clinical bundle representing a case outcome" * entry[=].request.method = #POST * entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomeContactsFollowedUnknownExample" -* entry[=].resource = WhoCoObservationOutcomeContactsFollowedUnknownExample -* entry[=].request.method = #POST -* entry[=].request.url = "Observation" - * entry[+].fullUrl = "http://test.org/fhir/Encounter/WhoCoHospitalizationEncounterExample" * entry[=].resource = WhoCoHospitalizationEncounterExample * entry[=].request.method = #PUT diff --git a/input/fsh/who-co-composition.fsh b/input/fsh/who-co-composition.fsh index d348ab7c..a8c027c6 100644 --- a/input/fsh/who-co-composition.fsh +++ b/input/fsh/who-co-composition.fsh @@ -23,7 +23,7 @@ Title: "WHO Case Outcome Composition" * section[exposureRisk].title = "exposure risk" * section[exposureRisk].code = http://test.org/sectionCode#exposureRisk -* section[exposureRisk].entry only Reference(WhoCoObservationOutcomeContactsFollowed or WhoCoObservationOutcomeContactsFollowedUnknown) +* section[exposureRisk].entry only Reference(WhoCoObservationOutcomeContactsFollowed) Instance: WhoCoCompositionExample InstanceOf: WhoCoComposition From 7c71f6b1b17808f409dae41f591c16cf16aee55b Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Mon, 7 Jun 2021 16:43:48 +0200 Subject: [PATCH 73/88] Move Outcome Lab Date to effective date When applied, this commit will remove the Outcome Lab Date Observation profile and add it as an effective date for Outcome Lab result Observation profile. DSC19-130 --- input/fsh/who-co-Observations.fsh | 22 ++++------------------ input/fsh/who-co-bundle.fsh | 5 ----- input/fsh/who-co-composition.fsh | 2 -- 3 files changed, 4 insertions(+), 25 deletions(-) diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh index 2dac933b..614fdabd 100644 --- a/input/fsh/who-co-Observations.fsh +++ b/input/fsh/who-co-Observations.fsh @@ -77,15 +77,6 @@ Description: "WHO CO Outcome Patcourse Status Other Observation" * value[x] only string * valueString 0..1 -Profile: WhoCoObservationOutcomeLabDate -Parent: Observation -Id: who-co-observation-outcome-lab-date -Title: "WHO CO Outcome Lab Date" -Description: "WHO CO Outcome Lab Date Observation" -* code = $LNC#96550-9 -* value[x] only dateTime -* valueDateTime 0..1 - Profile: WhoCoObservationOutcomeLabResult Parent: Observation Id: who-co-observation-outcome-lab-result @@ -95,6 +86,8 @@ Description: "WHO CO Outcome Lab Result Observation" * value[x] only CodeableConcept * valueCodeableConcept 0..1 * valueCodeableConcept from WhoCoValueSetPositiveNegativeUnknown +* effective[x] only dateTime +* effectiveDateTime 1..1 Profile: WhoCoObservationOutcomeContactsFollowed Parent: Observation @@ -176,21 +169,14 @@ Description: "Health Outcome" * status = #final * valueCodeableConcept = WhoCoHealthOutcome#death -Instance: WhoCoObservationOutcomeLabDateExample -InstanceOf: WhoCoObservationOutcomeLabDate -Usage: #example -Title: "WHO CO Outcome Lab Date Example" -Description: "If released from hospital /isolation, date of last laboratory test" -* status = #final -* valueDateTime = "2021-05-13" - Instance: WhoCoObservationOutcomeLabResultExample InstanceOf: WhoCoObservationOutcomeLabResult Usage: #example Title: "WHO CO Outcome Lab Result Example" -Description: "Results of last test" +Description: "Results of last test example" * status = #final * valueCodeableConcept = WhoCoPositiveNegativeUnknown#positive +* effectiveDateTime = "2021-05-13" Instance: WhoCoObservationOutcomeContactsFollowedExample InstanceOf: WhoCoObservationOutcomeContactsFollowed diff --git a/input/fsh/who-co-bundle.fsh b/input/fsh/who-co-bundle.fsh index 7e9984bf..73584674 100644 --- a/input/fsh/who-co-bundle.fsh +++ b/input/fsh/who-co-bundle.fsh @@ -45,11 +45,6 @@ Description: "Example of a clinical bundle representing a case outcome" * entry[=].request.method = #POST * entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomeLabDateExample" -* entry[=].resource = WhoCoObservationOutcomeLabDateExample -* entry[=].request.method = #POST -* entry[=].request.url = "Observation" - * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomeLabResultExample" * entry[=].resource = WhoCoObservationOutcomeLabResultExample * entry[=].request.method = #POST diff --git a/input/fsh/who-co-composition.fsh b/input/fsh/who-co-composition.fsh index a8c027c6..c777dd87 100644 --- a/input/fsh/who-co-composition.fsh +++ b/input/fsh/who-co-composition.fsh @@ -47,11 +47,9 @@ Description: "Composition example" * section[=].entry[+] = Reference(WhoCoObservationOutcomePatcourseVentExample) * section[=].entry[+] = Reference(WhoCoObservationOutcomePatcourseEcmoExample) * section[=].entry[+] = Reference(WhoCoObservationOutcomePatcourseStatusExample) -* section[=].entry[+] = Reference(WhoCoObservationOutcomeLabDateExample) * section[=].entry[+] = Reference(WhoCoObservationOutcomeLabResultExample) * section[=].entry[+] = Reference(WhoCoHospitalizationEncounterExample) * section[+].title = "exposure risk" * section[=].code = http://test.org/sectionCode#exposureRisk -* section[=].entry[+] = Reference(WhoCoObservationOutcomeContactsFollowedUnknownExample) * section[=].entry[+] = Reference(WhoCoObservationOutcomeContactsFollowedExample) From 1ef89e4e01bfde5e6e6d9590c6550a32548691e1 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Mon, 7 Jun 2021 16:47:33 +0200 Subject: [PATCH 74/88] Move encounter examples to Encounters file DSC19-130 --- input/fsh/who-co-Encounters.fsh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/input/fsh/who-co-Encounters.fsh b/input/fsh/who-co-Encounters.fsh index 26737f5d..3d562b56 100644 --- a/input/fsh/who-co-Encounters.fsh +++ b/input/fsh/who-co-Encounters.fsh @@ -14,3 +14,25 @@ Title: "WHO CO Encounter" Description: "WHO CO Encounter" * period 1..1 * period.end 1..1 + +/** + * Examples + */ + +Instance: WhoCoHospitalizationEncounterExample +InstanceOf: WhoCoHospitalizationEncounter +Usage: #example +* status = #finished +* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE +* period.start = "2021-05-12" +* period.end = "2021-05-13" + +Instance: WhoCoEncounterExample +InstanceOf: WhoCoEncounter +Usage: #example +* location.location = Reference(WhoCrLocationExample) +* status = #finished +* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE +* reasonCode = WhoCrCodeSystemReasonForTesting#CASE_CONTACT +* period.start = "2021-05-12" +* period.end = "2021-05-13" From 7c79671e7d238cc21138d9a39b8476bda039dbfe Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Mon, 7 Jun 2021 16:48:51 +0200 Subject: [PATCH 75/88] Update observations file This commit will remove Encounter examples from the Observations fsh file DSC19-130 --- input/fsh/who-co-Observations.fsh | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh index 614fdabd..f5f84771 100644 --- a/input/fsh/who-co-Observations.fsh +++ b/input/fsh/who-co-Observations.fsh @@ -194,21 +194,3 @@ Description: "Total number of contacts followed for this case example when value * status = #final * valueInteger = -1 * note.text = "unknown number of contacts follwed" - -Instance: WhoCoHospitalizationEncounterExample -InstanceOf: WhoCoHospitalizationEncounter -Usage: #example -* status = #finished -* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE -* period.start = "2021-05-12" -* period.end = "2021-05-13" - -Instance: WhoCoEncounterExample -InstanceOf: WhoCoEncounter -Usage: #example -* location.location = Reference(WhoCrLocationExample) -* status = #finished -* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE -* reasonCode = WhoCrCodeSystemReasonForTesting#CASE_CONTACT -* period.start = "2021-05-12" -* period.end = "2021-05-13" From adcd22f8db3504215cb714a656ce52bf8e8ebc44 Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Mon, 7 Jun 2021 17:03:28 +0200 Subject: [PATCH 76/88] Align Encounters with spec DSC19-130 --- input/fsh/who-co-Encounters.fsh | 13 ++++++++----- input/fsh/who-co-bundle.fsh | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/input/fsh/who-co-Encounters.fsh b/input/fsh/who-co-Encounters.fsh index 3d562b56..b92de4a9 100644 --- a/input/fsh/who-co-Encounters.fsh +++ b/input/fsh/who-co-Encounters.fsh @@ -1,26 +1,29 @@ -Profile: WhoCoHospitalizationEncounter +Profile: WhoCoHospitalEncounter Parent: WhoCrEncounterHospitalAdmission Id: who-co-hospitalization-encounter -Title: "WHO CO Hospitalization Encounter" -Description: "WHO CO Hospitalization Encounter" +Title: "WHO CO Hospital Encounter" +Description: "WHO CO Hospital Encounter" * status = #finished * period 1..1 * period.end 1..1 +* class.code = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE Profile: WhoCoEncounter Parent: WhoCrEncounter Id: who-co-encounter Title: "WHO CO Encounter" Description: "WHO CO Encounter" +* status = #finished * period 1..1 * period.end 1..1 +* class.code = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE /** * Examples */ -Instance: WhoCoHospitalizationEncounterExample -InstanceOf: WhoCoHospitalizationEncounter +Instance: WhoCoHospitalEncounterExample +InstanceOf: WhoCoHospitalEncounter Usage: #example * status = #finished * class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE diff --git a/input/fsh/who-co-bundle.fsh b/input/fsh/who-co-bundle.fsh index 73584674..c2598739 100644 --- a/input/fsh/who-co-bundle.fsh +++ b/input/fsh/who-co-bundle.fsh @@ -55,8 +55,8 @@ Description: "Example of a clinical bundle representing a case outcome" * entry[=].request.method = #POST * entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Encounter/WhoCoHospitalizationEncounterExample" -* entry[=].resource = WhoCoHospitalizationEncounterExample +* entry[+].fullUrl = "http://test.org/fhir/Encounter/WhoCoHospitalEncounterExample" +* entry[=].resource = WhoCoHospitalEncounterExample * entry[=].request.method = #PUT * entry[=].request.url = "Encounter" From d7f8384c9fe8fc2da006ca33e2bd27f5f43beebb Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Wed, 9 Jun 2021 09:04:00 +0200 Subject: [PATCH 77/88] Update input/fsh/who-co-Observations.fsh Co-authored-by: Matt --- input/fsh/who-co-Observations.fsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh index f5f84771..93018743 100644 --- a/input/fsh/who-co-Observations.fsh +++ b/input/fsh/who-co-Observations.fsh @@ -117,9 +117,9 @@ Instance: WhoCoObservationOutcomeAsympNoEffectiveDateExample InstanceOf: WhoCoObservationOutcomeAsymp Usage: #example Title: "WHO CO Outcome Asymp Example" -Description: "Developed symptoms after time of specimen collection example without effective date" +Description: "Did not develop symptoms after time of specimen collection example (no effective date)" * status = #final -* valueCodeableConcept = $cs-v2-0136#Y +* valueCodeableConcept = $cs-v2-0136#N Instance: WhoCoObservationPatcourseAdmitExample InstanceOf: WhoCoObservationPatcourseAdmit From 062841f761f2f0d0493fa4380ceb110d150cbb3a Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Wed, 9 Jun 2021 09:04:36 +0200 Subject: [PATCH 78/88] Update input/fsh/who-co-Observations.fsh Co-authored-by: Matt --- input/fsh/who-co-Observations.fsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh index 93018743..37519388 100644 --- a/input/fsh/who-co-Observations.fsh +++ b/input/fsh/who-co-Observations.fsh @@ -87,7 +87,7 @@ Description: "WHO CO Outcome Lab Result Observation" * valueCodeableConcept 0..1 * valueCodeableConcept from WhoCoValueSetPositiveNegativeUnknown * effective[x] only dateTime -* effectiveDateTime 1..1 +* effectiveDateTime 0..1 Profile: WhoCoObservationOutcomeContactsFollowed Parent: Observation From e904ce946b20eed9898d7605b6bc2ed927419f15 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Wed, 9 Jun 2021 15:29:32 +0200 Subject: [PATCH 79/88] Merge two hospital admission Observations into one The one observation was the date on which the admission happened. This refers to the effective DateTime of the observation - not an independant Observation. DSC19-78 --- input/fsh/who-co-Observations.fsh | 20 +++----------------- input/fsh/who-co-bundle.fsh | 5 ----- input/fsh/who-co-composition.fsh | 1 - 3 files changed, 3 insertions(+), 23 deletions(-) diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh index 37519388..44ccb3d2 100644 --- a/input/fsh/who-co-Observations.fsh +++ b/input/fsh/who-co-Observations.fsh @@ -19,15 +19,8 @@ Description: "WHO Case Outcome Patcourse Admit Observation" * value[x] only CodeableConcept * valueCodeableConcept 1..1 * valueCodeableConcept from WhoCrValueSetYesNoUnk - -Profile: WhoCoObservationPatcourseAdmitDate -Parent: Observation -Id: who-co-observation-patcourse-admit-date -Title: "WHO Case Outcome Patcourse Admit Date" -Description: "First date of admission to hospital" -* code = $LNC#8656-1 -* value[x] only dateTime -* valueDateTime 0..1 +* effective[x] only dateTime +* effectiveDateTime 0..1 Profile: WhoCoObservationOutcomePatcourseIcu Parent: Observation @@ -128,14 +121,7 @@ Title: "WHO Case Outcome Patcourse Admit Example" Description: "Admission to hospital (may have been previously reported)" * status = #final * valueCodeableConcept = $cs-v2-0136#Y - -Instance: WhoCoObservationPatcourseAdmitDateExample -InstanceOf: WhoCoObservationPatcourseAdmitDate -Usage: #example -Title: "WHO Case Outcome Patcourse Admit Date Example" -Description: "First date of admission to hospital" -* status = #final -* valueDateTime = "2021-05-13" +* effectiveDateTime = "2021-05-13" Instance: WhoCoObservationOutcomePatcourseIcuExample InstanceOf: WhoCoObservationOutcomePatcourseIcu diff --git a/input/fsh/who-co-bundle.fsh b/input/fsh/who-co-bundle.fsh index c2598739..a4f071cd 100644 --- a/input/fsh/who-co-bundle.fsh +++ b/input/fsh/who-co-bundle.fsh @@ -20,11 +20,6 @@ Description: "Example of a clinical bundle representing a case outcome" * entry[=].request.method = #POST * entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationPatcourseAdmitDateExample" -* entry[=].resource = WhoCoObservationPatcourseAdmitDateExample -* entry[=].request.method = #POST -* entry[=].request.url = "Observation" - * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCoObservationOutcomePatcourseIcuExample" * entry[=].resource = WhoCoObservationOutcomePatcourseIcuExample * entry[=].request.method = #POST diff --git a/input/fsh/who-co-composition.fsh b/input/fsh/who-co-composition.fsh index c777dd87..c3c8ae88 100644 --- a/input/fsh/who-co-composition.fsh +++ b/input/fsh/who-co-composition.fsh @@ -42,7 +42,6 @@ Description: "Composition example" * section[=].code = http://test.org/sectionCode#clinicalStatus * section[=].entry[+] = Reference(WhoCoObservationOutcomeAsympExample) * section[=].entry[+] = Reference(WhoCoObservationPatcourseAdmitExample) -* section[=].entry[+] = Reference(WhoCoObservationPatcourseAdmitDateExample) * section[=].entry[+] = Reference(WhoCoObservationOutcomePatcourseIcuExample) * section[=].entry[+] = Reference(WhoCoObservationOutcomePatcourseVentExample) * section[=].entry[+] = Reference(WhoCoObservationOutcomePatcourseEcmoExample) From f37af3df64431e3f7e04c2e2a96dc2fd7cfb3bab Mon Sep 17 00:00:00 2001 From: Lazola Sifuba Date: Thu, 10 Jun 2021 08:46:19 +0200 Subject: [PATCH 80/88] Remove note from Outcome Contacts Followed This commit will remove the cardinality definition of note from Outcome Contacts Followed observation profile. The base FHIR profile already has a 1..1 cardinality defined DSC19-130 --- input/fsh/who-co-Observations.fsh | 2 -- 1 file changed, 2 deletions(-) diff --git a/input/fsh/who-co-Observations.fsh b/input/fsh/who-co-Observations.fsh index 44ccb3d2..712eae8c 100644 --- a/input/fsh/who-co-Observations.fsh +++ b/input/fsh/who-co-Observations.fsh @@ -90,8 +90,6 @@ Description: "WHO CO Outcome Contacts Followed Observation" * code = $LNC#96551-7 * value[x] only integer * valueInteger 1..1 -* note 0..* -* note.text 1..1 /* * Examples From cf00845e0e9c8c8e531bc46b5cad9a064f564072 Mon Sep 17 00:00:00 2001 From: MattyJ007 Date: Thu, 10 Jun 2021 11:37:08 +0200 Subject: [PATCH 81/88] Fix typo in case encounter example name The resource example was not resolving DSC19-111 --- input/fsh/who-co-composition.fsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/fsh/who-co-composition.fsh b/input/fsh/who-co-composition.fsh index c3c8ae88..93169040 100644 --- a/input/fsh/who-co-composition.fsh +++ b/input/fsh/who-co-composition.fsh @@ -47,7 +47,7 @@ Description: "Composition example" * section[=].entry[+] = Reference(WhoCoObservationOutcomePatcourseEcmoExample) * section[=].entry[+] = Reference(WhoCoObservationOutcomePatcourseStatusExample) * section[=].entry[+] = Reference(WhoCoObservationOutcomeLabResultExample) -* section[=].entry[+] = Reference(WhoCoHospitalizationEncounterExample) +* section[=].entry[+] = Reference(WhoCoHospitalEncounterExample) * section[+].title = "exposure risk" * section[=].code = http://test.org/sectionCode#exposureRisk From 57ad5d70fe01e838d03efe07d90101919d737a21 Mon Sep 17 00:00:00 2001 From: brad Date: Thu, 24 Jun 2021 11:53:45 +0200 Subject: [PATCH 82/88] Correct the cardinality and merge profiles Some cardinalities were incorrect and the case isolation date and case isolation profile has been merged into one DSC-163 --- .../fsh/who-cr-CompositionCaseReportBasic.fsh | 47 ++++++------------- 1 file changed, 14 insertions(+), 33 deletions(-) diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh index 0b2c0451..4241af1c 100644 --- a/input/fsh/who-cr-CompositionCaseReportBasic.fsh +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -47,13 +47,14 @@ Parent: Encounter Id: who-cr-encounter-hospital-admission Title: "WHO CR Encounter Hospital Admission" Description: "WHO Encounter for hospital admission" -* period 1..1 +* period 0..1 * period.start 1..1 Profile: WhoCrConditionComorbidity Parent: Condition * code 1..1 * code from WhoCrValueSetComorbidity +* subject 0..1 Profile: WhoCrLocation Parent: Location @@ -169,7 +170,7 @@ Title: "WHO CR Observation Intensive Care Received" Description: "WHO Observation if the patient received intensive care in the hospital" * code = $LNC#95420-6 * value[x] only CodeableConcept -* valueCodeableConcept 1..1 +* valueCodeableConcept 0..1 * valueCodeableConcept from WhoCrValueSetYesNoUnk Profile: WhoCrObservationVentilationReceived @@ -179,7 +180,7 @@ Title: "WHO CR Observation Ventilation Received" Description: "WHO Observation if the patient received ventilation in the hospital" * code = $LNC#96539-2 * value[x] only CodeableConcept -* valueCodeableConcept 1..1 +* valueCodeableConcept 0..1 * valueCodeableConcept from WhoCrValueSetYesNoUnk Profile: WhoCrObservationECMO @@ -189,27 +190,19 @@ Title: "WHO CR Observation Extracorporeal Membrane Oxygenation Received" Description: "WHO Observation if the patient received extracorporeal membrane oxygenation in the hospital" * code = $LNC#96540-0 * value[x] only CodeableConcept -* valueCodeableConcept 1..1 +* valueCodeableConcept 0..1 * valueCodeableConcept from WhoCrValueSetYesNoUnk -Profile: WhoCrObservationCaseIsolated +Profile: WhoCrObservationCaseIsolation Parent: Observation Id: who-cr-observation-case-isolated Title: "WHO CR Observation Case Isolated" Description: "WHO Observation if the patient is in isolation" * code = $LNC#96548-3 * value[x] only CodeableConcept -* valueCodeableConcept 1..1 +* valueCodeableConcept 0..1 * valueCodeableConcept from WhoCrValueSetYesNoUnk - -Profile: WhoCrObservationCaseIsolationDate -Parent: Observation -Id: who-cr-observation-case-isolation-date -Title: "WHO CR Observation Case Isolation Date" -Description: "WHO Observation for the date the patient isolated" -* code = $LNC#96549-1 -* value[x] only dateTime -* valueDateTime 1..1 +* valueDateTime 0..1 Profile: WhoCrObservationHealthCareWorker Parent: Observation @@ -386,12 +379,8 @@ Description: "Example of a clinical bundle representing a case report" * entry[=].resource = WhoCrObservationECMOExample * entry[=].request.method = #POST * entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationCaseIsolatedExample" -* entry[=].resource = WhoCrObservationCaseIsolatedExample -* entry[=].request.method = #POST -* entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationIsolationDateExample" -* entry[=].resource = WhoCrObservationIsolationDateExample +* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationCaseIsolationExample" +* entry[=].resource = WhoCrObservationCaseIsolationExample * entry[=].request.method = #POST * entry[=].request.url = "Observation" * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationHealthCareWorkerExample" @@ -480,8 +469,7 @@ Description: "Basic Composition example" * section[=].entry[+] = Reference(WhoCrObservationIntensiveCareReceivedExample) * section[=].entry[+] = Reference(WhoCrObservationVentilationReceivedExample) * section[=].entry[+] = Reference(WhoCrObservationECMOExample) -* section[=].entry[+] = Reference(WhoCrObservationCaseIsolatedExample) -* section[=].entry[+] = Reference(WhoCrObservationIsolationDateExample) +* section[=].entry[+] = Reference(WhoCrObservationCaseIsolationExample) * section[=].entry[+] = Reference(WhoCrObservationHealthCareWorkerExample) * section[=].entry[+] = Reference(WhoCrEncounterHospitalAdmissionExample) * section[=].entry[+] = Reference(WhoCrConditionComorbidityExample) @@ -630,21 +618,14 @@ Description: "Observation ECMO Example" * status = #final * valueCodeableConcept = $cs-v2-0136#Y -Instance: WhoCrObservationCaseIsolatedExample -InstanceOf: WhoCrObservationCaseIsolated +Instance: WhoCrObservationCaseIsolationExample +InstanceOf: WhoCrObservationCaseIsolation Usage: #example Title: "Who Cr Observation CaseIsolated Example" Description: "Observation CaseIsolated Example" * status = #final * valueCodeableConcept = $cs-v2-0136#Y - -Instance: WhoCrObservationIsolationDateExample -InstanceOf: WhoCrObservationCaseIsolationDate -Usage: #example -Title: "Who Cr Observation Isolation Date Example" -Description: "Isolation Date Example" -* status = #final -* valueDateTime = "2021-01-19" +* valueDateTime = "2021-01-29" Instance: WhoCrObservationHealthCareWorkerExample InstanceOf: WhoCrObservationHealthCareWorker From 2ca57ec222a3afd2caca55da49c3e699d89fdc70 Mon Sep 17 00:00:00 2001 From: brad Date: Thu, 24 Jun 2021 12:09:32 +0200 Subject: [PATCH 83/88] Merge the travel city, country and date One profile is now used for the country and city travelled to and the date of travel DSC19-163 --- .../fsh/who-cr-CompositionCaseReportBasic.fsh | 33 ++++--------------- 1 file changed, 7 insertions(+), 26 deletions(-) diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh index 4241af1c..6f1bcd5f 100644 --- a/input/fsh/who-cr-CompositionCaseReportBasic.fsh +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -221,8 +221,13 @@ Title: "WHO CR Observation Travel Country" Description: "WHO Observation country traveled to by patient" * code = $LNC#94651-7 * value[x] only CodeableConcept -* valueCodeableConcept 1..1 +* valueCodeableConcept 0..1 * valueCodeableConcept from $vs-iso3166-1-2 +* effectiveDateTime 0..1 +* component 0..1 +* component.code = $LNC#91560-3 +* component.valueString 0..1 +* component.valueString from WhoCrValueSetAdmin1 Profile: WhoCrObservationTravelCity Parent: Observation @@ -391,14 +396,6 @@ Description: "Example of a clinical bundle representing a case report" * entry[=].resource = WhoCrObservationTravelCountryExample * entry[=].request.method = #POST * entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationTravelCityExample" -* entry[=].resource = WhoCrObservationTravelCityExample -* entry[=].request.method = #POST -* entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationTravelDateExample" -* entry[=].resource = WhoCrObservationTravelDateExample -* entry[=].request.method = #POST -* entry[=].request.url = "Observation" * entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationVisitedHealthCareExample" * entry[=].resource = WhoCrObservationVisitedHealthCareExample * entry[=].request.method = #POST @@ -478,8 +475,6 @@ Description: "Basic Composition example" * section[=].code = http://test.org/sectionCode#exposureRisk * section[=].entry[+] = Reference(WhoCrObservationHasTravelledExample) * section[=].entry[+] = Reference(WhoCrObservationTravelCountryExample) -* section[=].entry[+] = Reference(WhoCrObservationTravelCityExample) -* section[=].entry[+] = Reference(WhoCrObservationTravelDateExample) * section[=].entry[+] = Reference(WhoCrObservationVisitedHealthCareExample) * section[=].entry[+] = Reference(WhoCrObservationContactCaseExample) * section[=].entry[+] = Reference(WhoCrObservationContactCaseSettingExample) @@ -642,22 +637,8 @@ Title: "Who Cr Observation Travel Country Example" Description: "Observation Travel Country Example" * status = #final * valueCodeableConcept = $vs-iso3166-1-2#ZA - -Instance: WhoCrObservationTravelCityExample -InstanceOf: WhoCrObservationTravelCity -Usage: #example -Title: "Who Cr Observation Travel City Example" -Description: "Observation Travel City Example" -* status = #final -* valueString = "Harare" - -Instance: WhoCrObservationTravelDateExample -InstanceOf: WhoCrObservationTravelDate -Usage: #example -Title: "Who Cr Observation Travel Date Example" -Description: "Travel Date Example" -* status = #final * effectiveDateTime = "2021-01-19" +* component.valueString = "Harare" Instance: WhoCrObservationVisitedHealthCareExample InstanceOf: WhoCrObservationVisitedHealthCare From 30cdf613fd42f92b2529cfd5a1b60db689972c2d Mon Sep 17 00:00:00 2001 From: brad Date: Thu, 24 Jun 2021 12:14:45 +0200 Subject: [PATCH 84/88] Remove the profiles for the travel city and date These are no longer used DSC19-163 --- .../fsh/who-cr-CompositionCaseReportBasic.fsh | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh index 6f1bcd5f..8a175a34 100644 --- a/input/fsh/who-cr-CompositionCaseReportBasic.fsh +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -227,26 +227,6 @@ Description: "WHO Observation country traveled to by patient" * component 0..1 * component.code = $LNC#91560-3 * component.valueString 0..1 -* component.valueString from WhoCrValueSetAdmin1 - -Profile: WhoCrObservationTravelCity -Parent: Observation -Id: who-cr-observation-travel-city -Title: "WHO CR Observation Travel City" -Description: "WHO Observation city traveled to by patient" -* code = $LNC#94653-3 -* value[x] only string -* valueString 1..1 -* valueString from WhoCrValueSetAdmin1 - -Profile: WhoCrObservationTravelDate -Parent: Observation -Id: who-cr-observation-travel-date -Title: "WHO CR Observation Travel Date" -Description: "WHO Observation date on which the patient departed from the country" -* code = $LNC#91560-3 -* effective[x] only dateTime -* effectiveDateTime 1..1 Profile: WhoCrObservationVisitedHealthCare Parent: Observation From d720fc99e733e6ab89fe26a05030aeb3e5726024 Mon Sep 17 00:00:00 2001 From: brad Date: Mon, 28 Jun 2021 14:45:07 +0200 Subject: [PATCH 85/88] Merge all the details about contacting a case The details about contacting a case has been merged into one profile. This is the date of cantact the setting and the case id DSC19-78 --- .../fsh/who-cr-CompositionCaseReportBasic.fsh | 141 ++++-------------- 1 file changed, 30 insertions(+), 111 deletions(-) diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh index 8a175a34..862a9514 100644 --- a/input/fsh/who-cr-CompositionCaseReportBasic.fsh +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -247,52 +247,31 @@ Description: "WHO Observation if the patient has had contact with confirmed case * value[x] only CodeableConcept * valueCodeableConcept 1..1 * valueCodeableConcept from WhoCrValueSetYesNo +* component 0..1 -Profile: WhoCrObservationContactCaseSetting -Parent: Observation -Id: who-cr-observation-contact-case-setting -Title: "WHO CR Observation Contact Case Setting" -Description: "WHO Observation setting for contact with confirmed case in the past 14 days prior to symptom onset for case report" -* code = $LNC#81267-7 -* value[x] only string -* valueString 1..1 - -Profile: WhoCrObservationContactCaseID -Parent: Observation -Id: who-cr-observation-contact-case-id -Title: "WHO CR Observation Contact Case Id" -Description: "WHO Observation id of the confirmed case contacted" -* code = $LNC#94650-9 -* value[x] only string -* valueString 1..1 - -Profile: WhoCrObservationContactCaseFirstDate -Parent: Observation -Id: who-cr-observation-contact-case-first-date -Title: "WHO CR Observation Contact Case First Date" -Description: "WHO Observation first date patient came into contact with confirmed case" -* code = $LNC#96545-9 -* value[x] only dateTime -* valueDateTime 1..1 - -Profile: WhoCrObservationContactCaseLastDate -Parent: Observation -Id: who-cr-observation-contact-case-last-date -Title: "WHO CR Observation Contact Case Last Date" -Description: "WHO Observation last date patient came into contact with confirmed case" -* code = $LNC#95386-9 -* value[x] only dateTime -* valueDateTime 1..1 - -Profile: WhoCrObservationContactCaseLocation -Parent: Observation -Id: who-cr-observation-contact-case-location -Title: "WHO CR Observation Contact Case Location" -Description: "WHO Observation likely country for exposure to case" -* code = $LNC#77984-3 -* value[x] only string -* valueString 1..1 -* valueString from $vs-iso3166-1-2 +* component ^slicing.discriminator.type = #pattern +* component ^slicing.discriminator.path = "code" +* component ^slicing.rules = #open +* component ^slicing.description = "Slice of component based on code" + +* component contains + contactCaseSetting 0..1 and + caseID 0..1 and + contactFirstDate 0..1 and + contactLastDate 0..1 and + contactLocation 0..1 + +* component[contactCaseSetting].code = $LNC#81267-7 +* component[contactCaseSetting].valueCodeableConcept 0..1 +* component[caseID].code = $LNC#94650-9 +* component[caseID].valueString 0..1 +* component[contactFirstDate].code = $LNC#96545-9 +* component[contactFirstDate].valueDateTime 0..1 +* component[contactLastDate].code = $LNC#95386-9 +* component[contactLastDate].valueDateTime 0..1 +* component[contactLocation].code = $LNC#77984-3 +* component[contactLocation].valueString 0..1 +* component[contactLocation].valueString from $vs-iso3166-1-2 /** * Examples @@ -384,26 +363,6 @@ Description: "Example of a clinical bundle representing a case report" * entry[=].resource = WhoCrObservationContactCaseExample * entry[=].request.method = #POST * entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationContactCaseSettingExample" -* entry[=].resource = WhoCrObservationContactCaseSettingExample -* entry[=].request.method = #POST -* entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationContactCaseIDExample" -* entry[=].resource = WhoCrObservationContactCaseIDExample -* entry[=].request.method = #POST -* entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationContactCaseLastDateExample" -* entry[=].resource = WhoCrObservationContactCaseLastDateExample -* entry[=].request.method = #POST -* entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationContactCaseFirstDateExample" -* entry[=].resource = WhoCrObservationContactCaseFirstDateExample -* entry[=].request.method = #POST -* entry[=].request.url = "Observation" -* entry[+].fullUrl = "http://test.org/fhir/Observation/WhoCrObservationContactCaseLocationExample" -* entry[=].resource = WhoCrObservationContactCaseLocationExample -* entry[=].request.method = #POST -* entry[=].request.url = "Observation" * entry[+].fullUrl = "http://test.org/fhir/Encounter/WhoCrEncounterHospitalAdmissionExample" * entry[=].resource = WhoCrEncounterHospitalAdmissionExample * entry[=].request.method = #POST @@ -457,11 +416,6 @@ Description: "Basic Composition example" * section[=].entry[+] = Reference(WhoCrObservationTravelCountryExample) * section[=].entry[+] = Reference(WhoCrObservationVisitedHealthCareExample) * section[=].entry[+] = Reference(WhoCrObservationContactCaseExample) -* section[=].entry[+] = Reference(WhoCrObservationContactCaseSettingExample) -* section[=].entry[+] = Reference(WhoCrObservationContactCaseIDExample) -* section[=].entry[+] = Reference(WhoCrObservationContactCaseLastDateExample) -* section[=].entry[+] = Reference(WhoCrObservationContactCaseFirstDateExample) -* section[=].entry[+] = Reference(WhoCrObservationContactCaseLocationExample) Instance: WhoCrEncounterExample InstanceOf: Encounter @@ -600,7 +554,7 @@ Title: "Who Cr Observation CaseIsolated Example" Description: "Observation CaseIsolated Example" * status = #final * valueCodeableConcept = $cs-v2-0136#Y -* valueDateTime = "2021-01-29" +* effectiveDateTime = "2021-01-29" Instance: WhoCrObservationHealthCareWorkerExample InstanceOf: WhoCrObservationHealthCareWorker @@ -635,46 +589,11 @@ Title: "Who Cr Observation ContactCase Example" Description: "Observation ContactCase Example" * status = #final * valueCodeableConcept = $cs-v2-0136#Y - -Instance: WhoCrObservationContactCaseSettingExample -InstanceOf: WhoCrObservationContactCaseSetting -Usage: #example -Title: "Who Cr Observation Contact Case Setting Example" -Description: "Observation Contact Case Setting Example" -* status = #final -* valueString = "Home" - -Instance: WhoCrObservationContactCaseIDExample -InstanceOf: WhoCrObservationContactCaseID -Usage: #example -Title: "Who Cr Observation Contact Case ID Example" -Description: "Observation Contact Case ID Example" -* status = #final -* valueString = "12345678" - -Instance: WhoCrObservationContactCaseLastDateExample -InstanceOf: WhoCrObservationContactCaseLastDate -Usage: #example -Title: "Who Cr Observation Contact Case Last Date Example" -Description: "Contact Case Last Date Example" -* status = #final -* valueDateTime = "2021-01-19" - -Instance: WhoCrObservationContactCaseFirstDateExample -InstanceOf: WhoCrObservationContactCaseFirstDate -Usage: #example -Title: "Who Cr Observation Contact Case First Date Example" -Description: "Contact Case First Date Example" -* status = #final -* valueDateTime = "2021-01-20" - -Instance: WhoCrObservationContactCaseLocationExample -InstanceOf: WhoCrObservationContactCaseLocation -Usage: #example -Title: "Who Cr Observation Contact Case Location Example" -Description: "Observation Contact Case Location Example" -* status = #final -* valueString = "ZW" +* component[contactCaseSetting].valueString = "Home" +* component[caseID].valueString = "12345678" +* component[contactFirstDate].valueDateTime = "2021-01-19" +* component[contactLastDate].valueDateTime = "2021-01-20" +* component[contactLocation].valueString = "ZW" Instance: WhoCrEncounterHospitalAdmissionExample InstanceOf: WhoCrEncounterHospitalAdmission From 1f008fbeb72a30d2fede82daa11b2a4fd3eb1aa0 Mon Sep 17 00:00:00 2001 From: brad Date: Mon, 28 Jun 2021 15:32:22 +0200 Subject: [PATCH 86/88] Remove the condition profile The condition profile is no longer used as it requiers a patient reference which cannot be provided in this case. The comorbidities are now in the comorbidities profile DSC19-68 --- .../fsh/who-cr-CompositionCaseReportBasic.fsh | 25 ++++--------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/input/fsh/who-cr-CompositionCaseReportBasic.fsh b/input/fsh/who-cr-CompositionCaseReportBasic.fsh index 862a9514..ad245f4f 100644 --- a/input/fsh/who-cr-CompositionCaseReportBasic.fsh +++ b/input/fsh/who-cr-CompositionCaseReportBasic.fsh @@ -50,12 +50,6 @@ Description: "WHO Encounter for hospital admission" * period 0..1 * period.start 1..1 -Profile: WhoCrConditionComorbidity -Parent: Condition -* code 1..1 -* code from WhoCrValueSetComorbidity -* subject 0..1 - Profile: WhoCrLocation Parent: Location Id: who-cr-location @@ -122,6 +116,9 @@ Description: "WHO Observation if the patient has any co-morbidities for case rep * value[x] only CodeableConcept * valueCodeableConcept 1..1 * valueCodeableConcept from WhoCrValueSetYesNo +* component 0..1 +* component.code = $LNC#75618-9 +* component.valueCodeableConcept 0..1 Profile: WhoCrObservationHasTravelled Parent: Observation @@ -202,7 +199,7 @@ Description: "WHO Observation if the patient is in isolation" * value[x] only CodeableConcept * valueCodeableConcept 0..1 * valueCodeableConcept from WhoCrValueSetYesNoUnk -* valueDateTime 0..1 +* effectiveDateTime 0..1 Profile: WhoCrObservationHealthCareWorker Parent: Observation @@ -367,10 +364,6 @@ Description: "Example of a clinical bundle representing a case report" * entry[=].resource = WhoCrEncounterHospitalAdmissionExample * entry[=].request.method = #POST * entry[=].request.url = "Encounter" -* entry[+].fullUrl = "http://test.org/fhir/Condition/WhoCrConditionComorbidityExample" -* entry[=].resource = WhoCrConditionComorbidityExample -* entry[=].request.method = #POST -* entry[=].request.url = "Condition" Instance: WhoCrCompositionBasicExample InstanceOf: WhoCrCompositionBasic @@ -408,7 +401,6 @@ Description: "Basic Composition example" * section[=].entry[+] = Reference(WhoCrObservationCaseIsolationExample) * section[=].entry[+] = Reference(WhoCrObservationHealthCareWorkerExample) * section[=].entry[+] = Reference(WhoCrEncounterHospitalAdmissionExample) -* section[=].entry[+] = Reference(WhoCrConditionComorbidityExample) * section[+].title = "exposure risk" * section[=].code = http://test.org/sectionCode#exposureRisk @@ -490,6 +482,7 @@ Title: "Who Cr Observation ComorbiditiesExample" Description: "Observation ComorbiditiesExample" * status = #final * valueCodeableConcept = $cs-v2-0136#Y +* component[0].valueCodeableConcept = WhoCrCodeSystemComorbidity#PREGNANCY Instance: WhoCrObservationHasTravelledExample InstanceOf: WhoCrObservationHasTravelled @@ -603,11 +596,3 @@ Description: "Hospital Admission Encounter Example" * status = #finished * class = http://terminology.hl7.org/CodeSystem/v3-ActCode#ACUTE * period.start = "2021-01-19" - -Instance: WhoCrConditionComorbidityExample -InstanceOf: WhoCrConditionComorbidity -Usage: #example -Title: "Who Cr Condition Comorbidity Example" -Description: "Condition Comorbidity Example" -* code = WhoCrCodeSystemComorbidity#PREGNANCY -* subject = Reference("Patient/12333") From 37d391a3f7e4f1a408570eb5d2c61784441e0e74 Mon Sep 17 00:00:00 2001 From: Carl Leitner Date: Wed, 28 Jul 2021 12:58:12 -0400 Subject: [PATCH 87/88] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c55ec539..a6be43f4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # covid-ig -WHO COVID-19 Surveillance +WHO COVID-19 Surveillance From 972f7798c0634d4aa9c6595fcb7330630f30ef33 Mon Sep 17 00:00:00 2001 From: Carl Leitner Date: Wed, 28 Jul 2021 13:15:16 -0400 Subject: [PATCH 88/88] Update README.md touch file to trigger build --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a6be43f4..c65d3509 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# covid-ig +# covid-ig WHO COVID-19 Surveillance