Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add initial stab at Basic Composition for COVID case report #83

Draft
wants to merge 93 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
10594b4
Add initial stab at Basic Composition for COVID case report
rcrichton Jan 15, 2021
9a18942
Prevent deploying when PRs to master
rcrichton Jan 20, 2021
ebd6c04
Complete basic composition for PoC
rcrichton Jan 20, 2021
9976c93
Add an example QUestionnaireResponse with Basic answers for PoC
rcrichton Jan 20, 2021
e0ebf83
Revert script auto-update as the new change doesn't work in github ac…
rcrichton Jan 28, 2021
4f9e8cf
add the lab result questionnaire profile
bradsawadye Mar 30, 2021
012cb78
add the questionnaire response example
bradsawadye Mar 30, 2021
271be6a
remove unecessaty line
bradsawadye Mar 30, 2021
bc64df5
add patient profile and example patient
bradsawadye Mar 30, 2021
bd40826
add valid district to patient example
bradsawadye Mar 30, 2021
e1c7e66
fix typo and add the correct loinc code
bradsawadye Mar 30, 2021
1f4b9fb
add the patient county field to the example
bradsawadye Mar 30, 2021
2aa7c9a
update the sushi version
bradsawadye Mar 31, 2021
84e5178
add the diagnostic report profile and diagnostic report example
bradsawadye Mar 31, 2021
7bf8986
make the questionnaire fields required
bradsawadye Mar 31, 2021
d2d35b8
add the organization profiles
bradsawadye Mar 31, 2021
230fd1f
correct the instances for the examples
bradsawadye Mar 31, 2021
3ebb28d
add example encounter resource
bradsawadye Mar 31, 2021
452077d
add the encounter rule to the diagnostic report profile
bradsawadye Mar 31, 2021
ae45bb4
add an example bundle for the lab result
bradsawadye Mar 31, 2021
1954650
Add missing colons to questionnaire text fields
MattyJ007 Apr 8, 2021
7c18580
Remove field - required - from lab result
MattyJ007 Apr 8, 2021
37e6d49
Add lab test info section to lab result questionnaire
MattyJ007 Apr 8, 2021
7992a1a
Add the loinc code for specimen type field
MattyJ007 Apr 8, 2021
0f0a18b
Replace test type loinc code in lab result questionnaire
MattyJ007 Apr 8, 2021
aaf4642
Fix loinc codes relating to countries in case report Q
MattyJ007 Apr 8, 2021
2ad1c82
Merge branch 'master' into clinical-bundle
MattyJ007 Apr 9, 2021
7b28bcb
Improve loinc code choice for lab result id
MattyJ007 Apr 9, 2021
4bd06e9
Improve loinc code used for lab ID in lab report
MattyJ007 Apr 9, 2021
717ea8c
Improve the loinc code for patient county in lab report
MattyJ007 Apr 9, 2021
1b2e17a
Improve overall test result loinc code in lab result
MattyJ007 Apr 9, 2021
443af47
Simplify the coding syntax defining the diagnostic report
MattyJ007 Apr 12, 2021
98e1c54
Replace dateTime observation with field in DiagnosticReport
MattyJ007 Apr 12, 2021
bcb0eab
Specify required nested fields in lab report
MattyJ007 Apr 12, 2021
e832154
Set the patient name field to optional
MattyJ007 Apr 12, 2021
d59d55a
Change example address data to match field definition
MattyJ007 Apr 12, 2021
8fae2a5
Split out encounter definition from organization
MattyJ007 Apr 12, 2021
23fcca2
Fix typo in organization file name
MattyJ007 Apr 12, 2021
96a4064
Refactor profile names to indicate lab result
MattyJ007 Apr 13, 2021
b558691
Add lab report specimen to bundle
MattyJ007 Apr 13, 2021
0b3b39d
Rename lab report files to indicate separate flow
MattyJ007 Apr 13, 2021
336ee3f
Split out LR patient definition from CR file
MattyJ007 Apr 13, 2021
3f6cceb
Refactor lab result profile names to follow pattern
MattyJ007 Apr 13, 2021
4b66696
Remove organization resources from the LR Bundle
MattyJ007 Apr 13, 2021
c642373
Fix code used for test result in Diagnostic Report
MattyJ007 Apr 13, 2021
7729c2e
Set Patient request method in bundle to PUT
MattyJ007 Apr 13, 2021
4c64d92
Update diagnostic report category
MattyJ007 Apr 13, 2021
73dab56
Fix broken example link references
MattyJ007 Apr 13, 2021
e9e31bd
Remove Location and Practitioner from Cr Bundle
de-laz Apr 23, 2021
8f5f1f1
Convert composition case report bundle to transaction type
de-laz Apr 28, 2021
6eec5c3
Merge pull request #100 from openhie/dsc19-37-remove-location-and-pra…
MattyJ007 Apr 28, 2021
809bc98
Add Lab Organization to diagnostic report profile
MattyJ007 Apr 28, 2021
2ba824f
Change bundle instruction for patient resource
MattyJ007 Apr 29, 2021
a0cbd7a
Add Case Outcome Questionnaire profile
de-laz May 20, 2021
598154a
Add more profiles for a case report's FHIR resources
bradsawadye May 24, 2021
4a0a66a
Add examples for the new profiles created
bradsawadye May 25, 2021
425fe73
Update the case report questionnaire response
bradsawadye May 25, 2021
81561e6
Update the compositon and bundle examples
bradsawadye May 25, 2021
6e161ee
Modify the profiles
bradsawadye May 31, 2021
5588fae
Fix the errors in the questionnaire response
bradsawadye May 31, 2021
aeaac12
Change the profile for travel date
bradsawadye May 31, 2021
3c9cf9f
Merge branch 'clinical-bundle' of github.com:openhie/covid-ig into ds…
de-laz Jun 1, 2021
cf1a6c0
Add observation and Encounter resources
de-laz Jun 1, 2021
1c86b58
Add questionnaire response example
de-laz Jun 1, 2021
030fe1b
Add bundle example
de-laz Jun 1, 2021
362a0a1
Update Hospitalization Encounter
de-laz Jun 2, 2021
6c1b80d
Add Case Outcome encounter profile and example
de-laz Jun 2, 2021
17e4f55
Add encounter resources to bundle
de-laz Jun 2, 2021
945cadc
Add Case Outcome Composition
de-laz Jun 2, 2021
03b932b
Move CodeCystems and ValueSets to common file
de-laz Jun 7, 2021
6040705
Move CO Encounters to their own file
de-laz Jun 7, 2021
092d348
Add missing new lines to CO files
de-laz Jun 7, 2021
45fc45e
Add Outcome Contacts Followed example
de-laz Jun 7, 2021
9f71002
Move Asymp Date to Effective date
de-laz Jun 7, 2021
6b837c3
Remove Outcome contacts followed profile
de-laz Jun 7, 2021
7c71f6b
Move Outcome Lab Date to effective date
de-laz Jun 7, 2021
1ef89e4
Move encounter examples to Encounters file
de-laz Jun 7, 2021
7c79671
Update observations file
de-laz Jun 7, 2021
adcd22f
Align Encounters with spec
de-laz Jun 7, 2021
d7f8384
Update input/fsh/who-co-Observations.fsh
de-laz Jun 9, 2021
062841f
Update input/fsh/who-co-Observations.fsh
de-laz Jun 9, 2021
e904ce9
Merge two hospital admission Observations into one
MattyJ007 Jun 9, 2021
f37af3d
Remove note from Outcome Contacts Followed
de-laz Jun 10, 2021
ffc04a2
Merge pull request #101 from openhie/dsc19-78-case-outcome
MattyJ007 Jun 10, 2021
cf00845
Fix typo in case encounter example name
MattyJ007 Jun 10, 2021
57ad5d7
Correct the cardinality and merge profiles
bradsawadye Jun 24, 2021
2ca57ec
Merge the travel city, country and date
bradsawadye Jun 24, 2021
30cdf61
Remove the profiles for the travel city and date
bradsawadye Jun 24, 2021
d720fc9
Merge all the details about contacting a case
bradsawadye Jun 28, 2021
1f008fb
Remove the condition profile
bradsawadye Jun 28, 2021
ce55827
Merge pull request #102 from openhie/dsc19-78-case-outcome
MattyJ007 Jun 28, 2021
37d391a
Update README.md
litlfred Jul 28, 2021
972f779
Update README.md
litlfred Jul 28, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This appears like it would cause deploy even when PRs are made to master. This doesn't seem correct so I removed it.

workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
Expand All @@ -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
Expand All @@ -34,7 +32,7 @@ jobs:
run: |
mkdir ./public
mv ./output ./public/docs

- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
Expand Down
2 changes: 1 addition & 1 deletion _updatePublisher.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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* ) wget -q --spider http://tx.fhir.org/snomed/doco ;;
darwin* ) ping tx.fhir.org -c 1 >/dev/null ;;
*) echo "unknown: $OSTYPE"; exit 1 ;;
esac
Expand Down
261 changes: 261 additions & 0 deletions input/fsh/who-cr-CompositionCaseReportBasic.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,261 @@
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
ElliotSilver marked this conversation as resolved.
Show resolved Hide resolved
* section[patientInformation].entry only Reference(WhoCrObservationAge or WhoCrObservationBirthSex)

* section[clinicalStatus].title = "clinical status"
* 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"
* section[exposureRisk].code = http://test.org/sectionCode#exposureRisk
* section[exposureRisk].entry only Reference(WhoCrObservationHasTravelled)

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
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to profile all these observations to have our patient as the subject?

For observations from the QuestionnaireResponse, we should have derivedFrom pointing to the QuestionnaireResponse. However, I think a system might generate these observations directly without using the QR, so we either need two profiles or need to make having the derivedFrom as optional.

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
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see this isn't your work but do you know why does this linked valueset deliberately excludes other and unknown when FHIR defaults to all four?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that is because that is what the WHO form that this work is based off specifies.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it's a stupid value set. @litlfred is following up with WHO on improving it.


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
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The url associated with this value set code does not appear to resolve anywhere?
Is that okay?
alias cs-v2-0136 -> http://terminology.hl7.org/CodeSystem/v2-0136

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also noticed that. It might be just used as an identifier rather than pointing to somewhere real but don't really know.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just odd because the url alias below it does point to a real site :|
Therefore I thought it may be a typo. But I guess we don't have the spec for that


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
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@de-laz the should be a #transaction - the document Bundle won't create the individual resources as we need them. If we need to get all the related documents together again in a clinical context this would be done with the composition resource which has a reference to all related resources

* 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
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@de-laz remove these lines - the resources shouldn't be here as they would already exist in the registry - we are only referencing them - not creating new ones

* 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
86 changes: 86 additions & 0 deletions input/fsh/who-cr-QuestionnaireResponseBasic.fsh
Original file line number Diff line number Diff line change
@@ -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