WHO Clinical Care in Crisis Implementation Guide for Children
0.1.0 - ci-build
WHO Clinical Care in Crisis Implementation Guide for Children - Local Development build (v0.1.0). See the Directory of published versions
This implementation guide provides computable content based on the Digital Adaptation Kit (DAK) to facilitate the implementation of the Clinical Care in Crises guidelines. The following diagram illustrates the components of a Digital Adaptation Kit and how those components are represented in FHIR:
The general approach is to use the PlanDefiniton to start the relevant task/questionnaire based on the Patient and its history
/!\ this part with PlanDefinition is not yet in place because we didn’t succeded to generate CarePlan from PlanDefiniton with cpg-collectWith activityDefinition
The PlanDefinition will compute the task (implementation of an activity) required for a given patient when a EmCare encounter starts, it get updated at the end of each tasks
the picture above shows the posssiblity to replace the data collection proposed in that IG (FHIR questionnaire) by any other tasks given the task will create the required outputs expected later in the Encounter
Most, if not 100%, of the logic depicted in the image above is located in CQL libraries, those library could be reused by other task than the “cpg-collectWith” ones, for example the classification library could be reused to have the cases definiton of EMcare classification
The questionnaire are for data collection but the question display logic plays a role in the consultation because a based on answer outpout may or may not be collected which would impact the decision logic later on.
Each activity within an Encounter follows those steps:
Each activity may require those artefacts:
Diagram picturing the relation between activities for this IG
The key activities for Clinical Care in Crises (EmCare) are the following
Code | Description | Applicability | predecessor |
---|---|---|---|
EmCareA.Registration.P | New Patient registration [NEED_INPUT] | Any | New Patient |
EmCareA.Registration.E | New Encounter registration [NEED_INPUT] | Any | New Encounter |
EmCare.B7.LTI-DangerSigns | Danger signs [NEED_INPUT] | >= 2 months | Registration |
EmCare.B6.Measurements | Measurement [NEED_INPUT] | Any | Danger Signs |
EmCare.B18-21.Symptoms.2m.m | Signs infant [NEED_INPUT] | futurework | Measurements |
EmCare.B10-14.Symptoms.2m.p | Signs Child [NEED_INPUT] | >= 2 months | Measurements |
EmCare.B18-21.Signs.2m.m | Symptoms infant [NEED_INPUT] | < 2 months | Symptoms |
EmCare.B10-16.Signs.2m.p | Symptoms child [NEED_INPUT] | >= 2 months | Symptoms |
EmCare.B22.AssessmentsTests | Assessemnt-Test [NEED_INPUT] | See details below | Any |
EmCare.B23.Classification.2m.m | Classification infant [NEED_INPUT] | < 2 months | Assessement-test |
EmCare.B23.Classification.2m.p | Classification Child[NEED_INPUT] | >= 2 months | >= 2 months |
EmCare.Treatment | Treatment [NEED_INPUT] | Any | Any |
Code | Description | Applicability |
---|---|---|
Breastfeeding | [NEED_INPUT] | AgeInMonths >=2 and AgeInMonths <6 and “severe classification up to assessments and tests excluding severe dehydration” !=true OR AgeInMonths <2 and “Breastfed” = true and “yi severe classification other than severe dehydration” !=true |
Respiratory Rate | [NEED_INPUT] | (“Cough” = true or “Difficulty Breathing” = true or “AgeInMonths”<2) and “Fast Breathing” is null |
Bronchodilator | [NEED_INPUT] | (“Cough” = true or “Difficulty Breathing” = true) and “Wheezing” = true and (“Fast Breathing” = true or “Chest Indrawing” = true) and “danger signs” != true and “Stridor in a calm child”= false and “Oxygen Saturation” >= 90 ‘%’ |
Hemoglobin | [NEED_INPUT] | “Palmar pallor” = “Some palmar pallor” or “Palmar Pallor” = “Severe Palmar Pallor” or “Mucous membrane pallor” = “Some mucous membrane pallor” or “Mucous membrane pallor” = “Severe mucous membrane pallor” |
Second Temperature | [NEED_INPUT] | “psbi other than temperature” != true and AgeInMonths()<2 and “Axillary Temperature (degrees Celcius)” > 38.5 ‘Cel’ |
FluidTest | [NEED_INPUT] | (“Not able to drink or breastfeed” = true or “Vomiting Everything” = true or “Diarrhoea” = true) and “Oral Fluid Test Results” is null |
Data elements are represented within this implementation guide using a codesystem of the appropriate resource as well as libraries of associated calculation logic for calculated, or inferred, data elements.
Note that some “Data elements” from the perspective of the Data Dictionary presented in the DAK are actually rollups. For example, Patient last name is a specific data element within the DAK, but is represented as one of many elements in the EmCare Patient profile.
The following diagram illustrates the processing used to derive FHIR terminology and profile resources from the data dictionary using pyfhirsdc
The inputs on the left consist of:
NOTE: The FHIR mappings are not part of the Digital Adaptation Kit, but are introduced as part of this implementation guide. The xls_form_iraq_v1.xlsx spreadsheet in the input/l2
folder is the source for these mappings, and was created by copying the WHO L2 spreadsheet from the Digital Adaptation Kit following the pyfhirsdc format, and then adding the FHIR mapping columns and providing the individual data element mappings.
The outputs on the right consist of:
Separating the Concepts CQL allows the domain-friendly name for each concept and answer set to be referenced by that name within the logic. This pattern also allows implementations to easily vary implementation by providing alternate versions of the Concepts library with their own definitions for the value sets, supporting local adaptation.
Separating the Patient and Encounter perspectives of the DataElements libraries allows the same data elements to be used from different contexts, depending on the use case. For example, when referenced from decision support logic, the Encounter perspective is typically used, whereas from indicator logic, the Patient perspective is typically used.
The model for data elements represented within this implementation guide is based on the following profiles. All the data elements defined derive from one of these profiles, and all data used within smart content and related decision support rules and health metrics use these profiles, or profiles that are derived from them:
Profile |
---|
EmCare Condition |
EmCare Observation |
EmCare Patient |
The following index lists all data elements, grouped by their activity:
required for the execution
| type | code / path | valueType | Description | |—|—|—|—|
ouputs generated by the structureMaps
type | code / path | valueType | Description |
---|---|---|---|
Patient | name | HumanName | set a ressource value |
RelatedPerson | name | HumanName | set a ressource value |
required for the execution
| type | code / path | valueType | Description | |—|—|—|—|
ouputs generated by the structureMaps
| type | code / path | valueType | Description | |—|—|—|—| | Observation | CHE.B7.DE01 | boolean | Obstructed or Absent Breathing | | Observation | CHE.B7.DE01-tt | boolean | h1. Obstructed or absent breathing If foreign body aspirated • Manage airway in choking infant (under 12 months) Figure 1 • Manage airway in choking child (12 months and older) Figure 2 If no foreign body aspirated • Manage airway Figure 3 • Give oxygen Figure 4 • Make sure the child is warm Manage airway in choking infant (under 12 months) | | Observation | CHE.B7.DE02 | boolean | Convulsing Now | | Observation | CHE.B7.B8.B9.DE01 | CodeableConcept | Continue to Assess Sick Child | | Observation | CHE.B7.DE03 | boolean | Convulsion(s) in this Illness | | Observation | CHE.B7.DE04 | CodeableConcept | Number of convulsions in this Illness | | Observation | CHE.B7.DE07 | boolean | Convulsion(s) last 15 minutes or more | | Observation | CHE.B7.DE08 | boolean | Unconscious or Lethargic | | Observation | CHE.B7.DE09 | boolean | Not able to drink or breastfeed | | Observation | CHE.B7.DE10 | CodeableConcept | Vomiting |
required for the execution
type | code / path | valueType | Description |
---|---|---|---|
Observation | CHE.B7.DE09 | boolean/quantity | Not able to drink or breastfeed |
Observation | CHE.B7.DE10 | boolean/quantity | Vomiting |
ouputs generated by the structureMaps
type | code / path | valueType | Description |
---|---|---|---|
Observation | CHE.B24.G.DE07 | CodeableConcept | Oral Fluid Test Results |
Observation | CHE.B24.G.DE13 | boolean | Unable to Perform Oral Fluid Test |
Observation | CHE.B24.G.DE14 | boolean | Completely Unable to Drink or Vomits Everything |
Observation | CHE.B24.G.DE15 | boolean | Has the Child had anything to drink today? |
Observation | CHE.B24.G.DE16 | Quantity | How did the child last drink |
required for the execution
| type | code / path | valueType | Description | |—|—|—|—|
ouputs generated by the structureMaps
type | code / path | valueType | Description |
---|---|---|---|
Observation | CHE.B6.DE01 | Quantity | Axillary Temperature (degrees Celcius) |
Observation | CHE.B6.DE02 | boolean | Prefer to take Rectal Temperature |
Observation | CHE.B6.DE03 | Quantity | Rectal Temperature (degree Celcius) |
Observation | CHE.B6.DE03A | CodeableConcept | Measured Temperature |
Observation | CHE.B6.DE04 | boolean | Thermometer not available |
Observation | CHE.B6.DE05 | boolean | Hot to Touch |
Observation | CHE.B6.DE06 | Quantity | Weight (kilograms) |
Observation | CHE.B6.DE07 | boolean | Weight cannot be measured |
Observation | CHE.B6.DE08 | Quantity | Estimated Weight |
Observation | CHE.B6.DE09 | Quantity | Height (cm) |
Observation | CHE.B6.DE10 | boolean | Prefer to measure length |
Observation | CHE.B6.DE11 | boolean | Height cannot be measured |
Observation | CHE.B6.DE12 | Quantity | Length (cm) |
Observation | CHE.B6.DE12a | boolean | Prefer to measure height |
Observation | CHE.B6.DE13 | boolean | Length cannot be measured |
Observation | CHE.B6.DE17 | Quantity | MUAC (mm) |
required for the execution
| type | code / path | valueType | Description | |—|—|—|—|
ouputs generated by the structureMaps
type | code / path | valueType | Description |
---|---|---|---|
Observation | CHE.B10S1.DE05 | boolean | Cough |
Observation | CHE.B10S1.DE06 | CodeableConcept | Cough for how long? |
Observation | CHE.B10S1.DE01 | boolean | Difficulty Breathing |
Observation | CHE.B10S1.DE02 | CodeableConcept | Difficulty breathing for how long? |
Observation | CHE.B11S1.DE01 | boolean | Diarrhoea |
Observation | CHE.B11S1.DE02 | CodeableConcept | Diarrhoea for how long? |
Observation | CHE.B11S1.DE05 | boolean | Blood in the stool in this Illness |
Observation | CHE.B12S1.DE02 | boolean | Fever Reported |
Observation | CHE.B12S1.DE03 | CodeableConcept | Fever for how long? |
Observation | CHE.B12S1.DE06 | boolean | Has Fever been present every day for more than 7 days |
Observation | CHE.B12S1.DE09 | boolean | Pain:No Pain |
Observation | CHE.B12S1.DE10 | boolean | Pain:Joint or Bone Pain |
Observation | CHE.B12S1.DE11 | boolean | Pain:Pain or Difficulty Passing Urine or Crying when Passing Urine |
Observation | CHE.B12S1.DE12 | boolean | Pain:Skin Pain |
Observation | CHE.B12S1.DE13 | boolean | Pain:Ear Pain |
Observation | CHE.B12S1.DE14 | boolean | Pain:Other |
Observation | CHE.B12S1.DE15 | CodeableConcept | Malaria Risk |
Observation | CHE.B12S1.DE19 | boolean | Recent Travel to a High Malaria Risk area |
Observation | CHE.B13S1.DE01 | boolean | Ear Problem |
Observation | CHE.B13S1.DE02 | boolean | Ear pain |
Observation | CHE.B13S1.DE03 | CodeableConcept | Ear discharge |
Observation | CHE.B13S1.DE04 | boolean | Ear discharge for how long? |
Observation | CHE.B14S1.DE01 | boolean | Eye Problem |
Observation | CHE.B14S1.DE02 | boolean | Skin Problem |
required for the execution
type | code / path | valueType | Description |
---|---|---|---|
Observation | CHE.B10S1.DE05 | boolean/quantity | Cough |
Observation | CHE.B10S1.DE01 | boolean/quantity | Difficulty Breathing |
Observation | CHE.B11S1.DE01 | boolean/quantity | Diarrhoea |
Observation | CHE.B13S1.DE01 | boolean/quantity | Ear Problem |
Observation | CHE.B13S1.DE03 | boolean/quantity | Ear discharge |
Observation | CHE.B14S1.DE02 | boolean/quantity | Skin Problem |
ouputs generated by the structureMaps
type | code / path | valueType | Description |
---|---|---|---|
Observation | CHE.B10S2.DE03 | boolean | Chest Indrawing |
Observation | CHE.B10S2.DE04 | boolean | Stridor in a calm child |
Observation | CHE.B10S2.DE05 | boolean | Wheezing |
Observation | CHE.B10S2.DE06 | boolean | Recurrent Wheeze |
Observation | CHE.B10S2.DE07 | boolean | Oxygen Saturation (%) |
Observation | CHE.B10S2.DE08 | Quantity | Oxygen Saturation < 90 % |
Observation | CHE.B10S2.DE09 | boolean | Oxygen saturation not measured |
Observation | CHE.B11S2.DE01 | boolean | Sunken eyes |
Observation | CHE.B11S2.DE02 | CodeableConcept | Skin pinch of Abdomen |
Observation | CHE.B11S2.DE06 | boolean | Restless and Irritable |
Observation | CHE.B12S2.DE01 | boolean | Stiff neck |
Observation | CHE.B12S2.DE02 | boolean | Refusal to use a limb |
Observation | CHE.B12S2.DE03 | boolean | Warm Tender or Swollen Joint or Bone |
Observation | CHE.B12S2.DE05 | boolean | Runny nose |
Observation | CHE.B13S2.DE01 | boolean | Tender swelling behind the ear |
Observation | CHE.B13S2.DE02 | boolean | Pus seen draining from the ear |
Observation | CHE.B13S2.DE03 | CodeableConcept | Pus Seen Draining from the Ear for how long? |
Observation | CHE.B14S2.DE01 | boolean | Red Eyes |
Observation | CHE.B14S2.DE02 | boolean | Pus Draining from Eye |
Observation | CHE.B14S2.DE03 | boolean | Clouding of the Cornea |
Observation | CHE.B14S2.DE04 | boolean | Is clouding of the cornea a new problem |
Observation | CHE.B14S2.DE05 | boolean | Has Clouding of the Cornea previously been treated |
Observation | CHE.B14S2.DE07 | boolean | Generalised or Localised Skin Problem:Generalised Skin Problem |
Observation | CHE.B14S2.DE08 | boolean | Generalised or Localised Skin Problem:Localised Skin Problem |
Observation | CHE.B14S2.DE09 | boolean | Generalised or Localised Skin Problem:No Problem |
Observation | CHE.B14S2.DE10 | boolean | Measles rash |
Observation | CHE.B14S2.DE11 | boolean | Measles within the last 3 months |
Observation | CHE.B14S2.DE11A | boolean | Itchy Skin |
Observation | CHE.B14S2.DE012 | boolean | Blisters, Sores or Pustules |
Observation | CHE.B14S2.DE14 | boolean | Abscess - Hot Tender Swelling |
Observation | CHE.B14S2.DE15 | boolean | Deep or extends to muscle |
Observation | CHE.B14S2.DE16 | boolean | Cellulitis - Hot Tender Skin |
Observation | CHE.B14S2.DE17 | boolean | Rapidly spreading, extensive, or not responding to oral antibiotics |
Observation | CHE.B14S2.DE19 | boolean | Ringworm (Tinea) |
Observation | CHE.B14S2.DE20 | boolean | Extensive Ringworm (Tinea) |
Observation | CHE.B14S2.DE23 | boolean | Herpes Zoster |
Observation | CHE.B14S2.DE24 | boolean | Eye Involvement |
Observation | CHE.B14S2.DE25 | boolean | Impetigo or Folliculitis |
Observation | CHE.B14S2.DE26&CHE.B14S2.DE27 | boolean | Signs of Severe Impetigo / Folliculitis:Skin Lesions >= 4 cm |
Observation | CHE.B14S2.DE26&CHE.B14S2.DE28 | boolean | Signs of Severe Impetigo / Folliculitis:Red Skin Streaks |
Observation | CHE.B14S2.DE26&CHE.B14S2.DE29 | boolean | Signs of Severe Impetigo / Folliculitis:Tender Nodes (Nodules) under the skin |
Observation | CHE.B14S2.DE26&CHE.B14S2.DE30 | boolean | Signs of Severe Impetigo / Folliculitis:Skin Infection extends to Muscle |
Observation | CHE.B14S2.DE26&CHE.B14S2.DE30a | boolean | Signs of Severe Impetigo / Folliculitis:No signs of severe Impetigo / Folliculitis |
Observation | CHE.B14S2.DE31 | boolean | Molluscum Contagiosum - Skin coloured pearly white papules with central umbilication. Most commonly seen on face and trunk in children. |
Observation | CHE.B14S2.DE32 | boolean | Warts - Papules or nodules with a rough (Verrucous) surface |
Observation | CHE.B14S2.DE33 | boolean | Seborrhoea |
Observation | CHE.B14S2.DE34 | boolean | Severe Seborrhoea |
Observation | CHE.B14S2.DE35 | boolean | Fixed Drug Reactions - Generalised red, wide spread with small bumps or blisters; or one or more dark skin areas |
Observation | CHE.B14S2.DE36 | boolean | Eczema - Wet oozing sores or excoriated, thick patches |
Observation | CHE.B14S2.DE37 | boolean | Steven Johnson Syndrome |
Observation | CHE.B14S2.DE44 | boolean | Skin Problem |
Observation | CHE.B14S2.DE45 | boolean | The child has Oral Sores or Mouth Ulcers |
Observation | CHE.B14S2.DE46 | boolean | Eye Problem |
Observation | CHE.B14S2.DE39 | boolean | Oral Sores or Mouth Ulcers:No Oral Sores or Mouth Ulcers |
Observation | CHE.B14S2.DE40 | boolean | Oral Sores or Mouth Ulcers:Oral Thrush |
Observation | CHE.B14S2.DE41 | boolean | Oral Sores or Mouth Ulcers:Mouth Sores or Mouth Ulcers - Deep and Extensive |
Observation | CHE.B14S2.DE42 | boolean | Oral Sores or Mouth Ulcers:Mouth Sores or Mouth Ulcers - Not Deep and Extensive |
Observation | CHE.B15S2.DE01 | CodeableConcept | Palmar Pallor |
Observation | CHE.B15S2.DE05 | CodeableConcept | Malaria Risk |
Observation | CHE.B16S2.DE01 | boolean | Oedema of both feet |
required for the execution
type | code / path | valueType | Description |
---|---|---|---|
Observation | CHE.B7.DE02 | boolean/quantity | Convulsing Now |
ouputs generated by the structureMaps
type | code / path | valueType | Description |
---|---|---|---|
Observation | CHE.B18S1.DE01 | boolean | Convulsions in this Illness |
Observation | CHE.B18S1.DE02 | CodeableConcept | Difficulty with Feeding |
Observation | CHE.B20S1.DE01 | boolean | Diarrhoea |
Observation | CHE.B21S1.DE06 | boolean | Breastfed |
required for the execution
type | code / path | valueType | Description |
---|---|---|---|
Observation | CHE.B6.DE06 | boolean/quantity | Weight (kilograms) |
Observation | CHE.B11S1.DE01 | boolean/quantity | Diarrhoea |
Observation | CHE.B21S1.DE06 | boolean/quantity | Breastfed |
ouputs generated by the structureMaps
type | code / path | valueType | Description |
---|---|---|---|
Observation | CHE.B18S2.DE07 | boolean | Severe Chest Indrawing |
Observation | CHE.B18S2.DE08 | CodeableConcept | Infant’s Movements |
Observation | CHE.B18S2.DE12 | boolean | Umbilicus Red or Pus Draining |
Observation | CHE.B18S2.DE13 | boolean | Skin Pustules |
Observation | CHE.B19S2.DE01 | boolean | Yellow Skin |
Observation | CHE.B19S2.DE02 | boolean | Yellow Palms or Yellow Soles |
Observation | CHE.B19S2.DE04 | CodeableConcept | When did the Jaundice first appear? |
Observation | CHE.B20S2.DE01 | boolean | Sunken Eyes |
Observation | CHE.B20S2.DE02 | CodeableConcept | Skin pinch of Abdomen |
Observation | CHE.B20S2.DE06 | boolean | Restless and Irritable |
Observation | CHE.B21S2.DE01 | CodeableConcept | Weight Status |
Observation | CHE.B21S2.DE06 | boolean | Sufficient feeds |
Observation | CHE.B21S2.DE07 | boolean | Insufficient feeds |
Observation | CHE.B21S2.DE08 | boolean | Young Infant receives food or fluids other than breast milk |
Observation | CHE.B21S2.DE09 | CodeableConcept | What milk is being given as a replacement feed? |
Observation | CHE.B21S2.DE12 | boolean | How many replacement feeds during the day and night (24 hours)? |
Observation | CHE.B21S2.DE13 | boolean | Sufficient replacement feeds (in 24 hours) |
Observation | CHE.B21S2.DE14 | boolean | Insufficient replacement feeds (in 24 hours) |
Observation | CHE.B21S2.DE15 | CodeableConcept | How much milk is given at each feed? |
Observation | CHE.B21S2.DE18 | CodeableConcept | How is the milk prepared? |
Observation | CHE.B21S2.DE21 | CodeableConcept | How is the milk given? |
Observation | CHE.B21S2.DE24 | CodeableConcept | How are the feeding utensils cleaned? |
Observation | CHE.B21S2.DE27 | CodeableConcept | Is infant given any breast milk at all? |
Observation | CHE.B21S2.DE30 | boolean | Ulcers or White Patches in Mouth |
Observation | CHE.B21S2.DE31 | boolean | Unable to check if Ulcers or White Patches in Mouth |
required for the execution
| type | code / path | valueType | Description | |—|—|—|—|
ouputs generated by the structureMaps
| type | code / path | valueType | Description | |—|—|—|—|
required for the execution
type | code / path | valueType | Description |
---|---|---|---|
Observation | CHE.B24.G.DE05 | boolean/quantity | Fast Breathing |
Observation | CHE.B24.G.DE04 | boolean/quantity | Respiratory Rate Second Count Not Possible |
ouputs generated by the structureMaps
type | code / path | valueType | Description |
---|---|---|---|
Observation | CHE.B24.G.DE01 | Quantity | Respiratory Rate (breaths per minute) |
Observation | CHE.B24.G.DE02 | boolean | Unable to perform Respiratory Rate at this time |
Observation | CHE.B24.G.DE03 | Quantity | Respiratory Rate Second Count (breaths per minute) |
Observation | CHE.B24.G.DE04 | boolean | Respiratory Rate Second Count Not Possible |
Observation | CHE.B24.G.DE05 | boolean | Fast Breathing |
required for the execution
| type | code / path | valueType | Description | |—|—|—|—|
ouputs generated by the structureMaps
type | code / path | valueType | Description |
---|---|---|---|
Observation | CHE.B24.G.DE39 | Quantity | Axillary Temperature (second measurement) |
Observation | CHE.B24.G.DE40 | boolean | Prefer to take Rectal Temperature (second measurement) |
Observation | CHE.B24.G.DE41 | Quantity | Rectal Temperature (second measurement) |
Observation | CHE.B24.G.DE42 | CodeableConcept | Second Temperature Measurement not Feasible |
Observation | CHE.B24.G.DE43 | boolean | Measured Temperature (second measurement) |
Decision tables within this implementation guide are represented with a combination of recommendation definitions and libraries of associated criteria logic.
The following diagram illustrates the processing used to derive decision support rules and logic from the decision tables:
The input on the left consists of decision tables included in the Digital Adaptation Kit.
The output on the right consists of:
Because the pseudo-code for the criteria in the decision table is expressed in terms of the labels for the data elements, a knowledge-engineer can easily take the pseudo-code, and by referencing the expressions from the DataElements libraries, construct the CQL for the condition logic.
Functional requirements are specified in the Digital Adaptation Kit. Future work may involve specifying these requirements as CapabilityStatement resources, depending on feedback from the implementation community.