You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add I/T-ratio criterion to the HAP/Pneumonia definition (#87)
Add NEOIPC_HAP_IT_RATIO as its own clinical/laboratory criterion of the HAP program stage — a data
element, program-rule variables (value + uint value), a value-true rule that assigns the uint value,
and its term in the clinical-criteria total count — so the deployed Pneumonia definition counts at
least 4 of 9 criteria, matching the protocol. Previously I/T ratio had no data element and was folded
into the laboratory-findings boolean, which made the deployed definition stricter than the protocol
(at least 4 of 8).
Also document the CommonCommensal / resistance-category flag inheritance (down hierarchies, synonyms,
and children unless explicitly overridden) and the structural virus classification in the
infectious-agents directory README.
Copy file name to clipboardExpand all lines: metadata/common/dataElements.csv
+3-2Lines changed: 3 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -54,7 +54,7 @@ boPV9RWoanT,NEOIPC_HAP_DOL,NeoIPC HAP Day of life,NeoIPC HAP DOL,Day of life,The
54
54
UNYrrkrnjM4,NEOIPC_HAP_FEVER,NeoIPC HAP Fever,NeoIPC HAP Fever,Temperature abnormalities,Fever (> 38 °C) or hypothermia (< 36.5 °C) or temperature instability.,,BOOLEAN,TRACKER,NONE,False,bjDvmb4bfuf,,,,,PUBLIC_RW
55
55
piqoBwxf7t8,NEOIPC_HAP_IMAGING_FINDINGS,NeoIPC HAP Imaging findings,NeoIPC HAP Imaging findings,Imaging findings,"At least one of the following imaging findings (imaging technologies: X-ray, CT, MRI, ultrasound) shows new changes suggestive of pneumonia, such as: infiltrate, shadowing, opacification, increased density, fluid in the intrapleural cavity or interlobar fissure.",,BOOLEAN,TRACKER,NONE,False,bjDvmb4bfuf,,,,,PUBLIC_RW
h8FpJvGQDfJ,NEOIPC_HAP_LABORATORY_FINDINGS,NeoIPC HAP Laboratory findings,NeoIPC HAP Laboratory findings,Increased CRP/interleukin,There is at least one laboratory test result with a C-reactive protein (CRP) value of more than 20 mg/L (2 mg/dL) or an increased level of interleukin (IL) 6 or 8,,BOOLEAN,TRACKER,NONE,False,bjDvmb4bfuf,,,,,PUBLIC_RW
57
+
h8FpJvGQDfJ,NEOIPC_HAP_LABORATORY_FINDINGS,NeoIPC HAP Laboratory findings,NeoIPC HAP Laboratory findings,Increased CRP/interleukin,There is at least one laboratory test result with a C-reactive protein (CRP) value of more than 10 mg/L (1 mg/dL) or an increased level of interleukin (IL) 6 or 8,,BOOLEAN,TRACKER,NONE,False,bjDvmb4bfuf,,,,,PUBLIC_RW
58
58
f22ppOLUE5q,NEOIPC_HAP_LOS,NeoIPC HAP Length of Stay,NeoIPC HAP LOS,Day of occurrence after admission,The Length of Stay on which the pneumonia occurred. This field is calculated automatically.,,INTEGER_ZERO_OR_POSITIVE,TRACKER,DEFAULT,False,bjDvmb4bfuf,,,,,PUBLIC_RW
59
59
Z2GhKrAdO2c,NEOIPC_HAP_MICROBIOLOGICAL_TEST_RESULT,NeoIPC HAP Microbiological test result,NeoIPC HAP Microbiological test result,Culture/non-culture based microbiologic testing,Availability of test results from a culture- or non-culture based microbiologic test from the respiratory tract specimen.,,INTEGER,TRACKER,NONE,False,bjDvmb4bfuf,TnE2yuSrqEP,,,,PUBLIC_RW
60
60
bUNxV2zp4Lu,NEOIPC_HAP_PATHOGEN_1,NeoIPC HAP Organism 1,NeoIPC HAP Org. 1,Organism 1,The first organism detected in samples from the respiratory tract.,,INTEGER_ZERO_OR_POSITIVE,TRACKER,DEFAULT,True,bjDvmb4bfuf,KHMPRkX5a4r,,,,PUBLIC_RW
YdP1whGQD3c,NEOIPC_HAP_PATHOGEN_3_SOURCE,NeoIPC HAP Organism 3 source,NeoIPC HAP Org. 3 source,- Source,The material the organism has been recovered from.,,INTEGER_POSITIVE,TRACKER,DEFAULT,False,bjDvmb4bfuf,Y64Emj9405U,,,,PUBLIC_RW
83
83
NZqoT6ZGuX2,NEOIPC_HAP_PATHOGEN_3_VRE,NeoIPC HAP Organism 3 VRE,NeoIPC HAP Org. 3 VRE,- VRE,"The organism is a vancomycin-resistant Enterococcus(VRE). Select ""Yes"" if the isolate was tested for vancomycin resistance and the result was positive. Select ""No"" if it was tested and the result was negative. Select ""Not tested"" if no test for vancomycin resistance was performed.",,INTEGER,TRACKER,DEFAULT,True,bjDvmb4bfuf,TnE2yuSrqEP,,,,PUBLIC_RW
Ii1DSs7ZGbT,NEOIPC_HAP_RESPIRATORY_DISTRESS,NeoIPC HAP Respiratory distress,NeoIPC HAP Respiratory distress,Respiratory distress,"New or more frequent symptoms of respiratory distress (retractions, nasal flaring, grunting).",,BOOLEAN,TRACKER,NONE,False,bjDvmb4bfuf,,,,,PUBLIC_RW
85
+
Ii1DSs7ZGbT,NEOIPC_HAP_RESPIRATORY_DISTRESS,NeoIPC HAP Respiratory distress,NeoIPC HAP Respiratory distress,Respiratory distress,"New or more frequent symptoms of respiratory distress (retractions, nasal flaring, grunting, chest indrawing).",,BOOLEAN,TRACKER,NONE,False,bjDvmb4bfuf,,,,,PUBLIC_RW
86
86
sTrkGnTPDL2,NEOIPC_HAP_RESPIRATORY_SUPPORT,NeoIPC HAP Respiratory support,NeoIPC HAP Respiratory support,Beginning or increase in respiratory support,New initiation of respiratory support or escalation of existing level of respiratory support* for ≥ 2 days after at least two days of stability.,,BOOLEAN,TRACKER,NONE,False,bjDvmb4bfuf,,,,,PUBLIC_RW
87
87
uvcHUgCtACj,NEOIPC_HAP_SECONDARY_BSI,NeoIPC HAP Secondary bloodstream infection,NeoIPC HAP Sec. BSI,Secondary bloodstream infection,"A BSI that is thought to be seeded from this hospital-acquired pneumonia. A BSI can be attributed to a site-specific infection (in this case the hospital-acquired pneumonia) if it occurs in a 17-day period that includes the day of infection (=first symptoms of site-specific infection), 3 days prior, and 13 days after.",,INTEGER,TRACKER,NONE,True,bjDvmb4bfuf,KfIEzWRibj7,,,,PUBLIC_RW
88
88
ZpwYoMtJea3,NEOIPC_HAP_SEC_BSI_PATHOGEN_1,NeoIPC HAP Secondary BSI organism 1,NeoIPC HAP Sec. BSI org. 1,Organism 1,The first pathogen detected in a blood culture in a secondary sepsis.,,INTEGER_ZERO_OR_POSITIVE,TRACKER,DEFAULT,True,bjDvmb4bfuf,KHMPRkX5a4r,,,,PUBLIC_RW
@@ -252,3 +252,4 @@ Xn8q3giOGcB,NEOIPC_SURVEILLANCE_END_PATIENT_DAYS,NeoIPC Surveillance end Patient
252
252
U4ys5n9dSRR,NEOIPC_SURVEILLANCE_END_PROBIOTIC_DAYS,NeoIPC Surveillance end Probiotic days,NeoIPC Surv. end PB days,Probiotic days,"The cumulative number of days the patient receives an oral probiotic containing at least one of Lactobacillus spp. or Bifidobacterium spp., regardless of the amount.",,INTEGER_ZERO_OR_POSITIVE,TRACKER,DEFAULT,True,bjDvmb4bfuf,,,,,PUBLIC_RW
253
253
ZrBvuqbXY0I,NEOIPC_SURVEILLANCE_END_PVC_DAYS,NeoIPC Surveillance end PVC days,NeoIPC Surv. end PVC days,PVC days,The cumulative number of days when a peripheral venous catheter was in place for at least 12 hours/day.,,INTEGER_ZERO_OR_POSITIVE,TRACKER,DEFAULT,True,bjDvmb4bfuf,,,,,PUBLIC_RW
254
254
wxIOvNRgLIE,NEOIPC_SURVEILLANCE_END_REASON,NeoIPC Surveillance end Reason,NeoIPC Surv. end Reason,Reason,Reason for the end of surveillance. This can be either death or the discharge/transfer of the patient.,,INTEGER_POSITIVE,TRACKER,DEFAULT,False,bjDvmb4bfuf,knhSB8VaArg,,,,PUBLIC_RW
255
+
iriHpzXRO5e,NEOIPC_HAP_IT_RATIO,NeoIPC HAP I/T-Ratio,NeoIPC HAP I/T-Ratio,I/T-Ratio > 0.2,I/T-Ratio (ratio of immature granulocytes to total granulocytes) > 0.2.,,BOOLEAN,TRACKER,NONE,False,bjDvmb4bfuf,,,,,PUBLIC_RW
Copy file name to clipboardExpand all lines: metadata/common/infectious-agents/README.md
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,17 @@ Find-NextFreeInfectiousAgentId
26
26
27
27
The cmdlet returns `max(existing Id:) + 1`. Gaps left by retired entries are not refilled — IDs are append-only, so a retired ID stays retired and out-of-band downstream consumers don't have to worry about it being silently reused.
28
28
29
+
## Ontology structure: flag inheritance and virus classification
30
+
31
+
The ontology is a tree: every node may carry child nodes under `Hierarchies`, `Synonyms`, and `Children`. **A synonym is a first-class, Id-bearing, selectable option**, not just a display alias — a value collected in DHIS2 may be a synonym's `Id`, so downstream classification must treat synonyms exactly like the concepts they belong to.
32
+
33
+
Two classification mechanisms follow from this, and both are relied upon by the generated DHIS2 program rules (the `set recognized pathogen` / `set virus` ASSIGN rules) **and** by the synthetic-data generator that must produce rule-valid data:
34
+
35
+
-**`CommonCommensal` (and resistance) flags are inherited.** A node's **effective** flag is the nearest explicit value on its path to the root: its own value if it carries one, otherwise the closest ancestor that does; absent everywhere it defaults to `false`. The flag **flows down** through `Hierarchies`/`Synonyms`/`Children`, so setting `CommonCommensal: true` on a genus marks every species and synonym beneath it without repetition — and an **explicit `false` on a descendant overrides an inherited `true`** (and vice versa). This is why you cannot read a node's flag in isolation: e.g. the *Coagulase-negative staphylococci* group node and the *Staphylococcus epidermidis* species node beneath it can carry different effective flags depending on where the explicit value sits. Resistance flags (`MRSA`, `VRE`, `3GCR`, carbapenem, colistin) use the identical own-or-inherited model.
36
+
-**Virus classification is structural, not a flag.** There is no per-concept "kingdom" attribute. A concept **is a virus iff it descends from the top-level `Viruses` realm** (the ICTV branch) — mirroring how bacteria live under `Bacteria` and eukaryotes under `Eukaryota`. Because synonyms are Id-bearing options too, the virus set is the **full subtree** under `Viruses` (every concept *and* synonym Id), so a value entered against a virus synonym still classifies as a virus.
37
+
38
+
The canonical implementations are `Get-NeoIPCCommonCommensalFlag` / `Get-NeoIPCCommonCommensalCodeSet` and `Get-NeoIPCVirusCodeSet` in the `NeoIPC-Tools` module — the single source both the rule generator and its tests expand from. Compute effective flags/sets through those functions rather than reading a node's literal `CommonCommensal` value or guessing at kingdom membership.
39
+
29
40
## Data sources
30
41
31
42
The ontology is compiled from the following sources. All citations and source URLs live here; the licensing implications are documented in [`LICENSE.md`](LICENSE.md).
zlY0clPbaNQ,ASSIGN,#{NeoIPC SSI Pathogen 1 may be MRSA},expressions/programRules/NeoIPC SSI Pathogen 1 - set MRSA/zlY0clPbaNQ.data.dhis2,,,oL9OcdE1yJb,,,,,,,,
zymb9KfUUyl,ASSIGN,#{NeoIPC NEC Secondary BSI pathogen 3 may be carbapenem-resistant},expressions/programRules/NeoIPC NEC Secondary BSI pathogen 3 - set carbapenem-resistant/zymb9KfUUyl.data.dhis2,,,WFe5AdOdVi3,,,,,,,,
748
+
cN9UvYEbpdy,ASSIGN,#{NeoIPC HAP IT ratio uint value},expressions/programRules/NeoIPC HAP IT ratio value - true/cN9UvYEbpdy.data.dhis2,,,KaUyBtMlag2,,,,,,,,
Copy file name to clipboardExpand all lines: metadata/common/programRules.csv
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -496,3 +496,4 @@ OleZ8ZztQBQ,NeoIPC Surveillance end NIV days - validate,,expressions/programRule
496
496
GYKv7YBS4WS,NeoIPC Surveillance end PVC days - validate,,expressions/programRules/NeoIPC Surveillance end PVC days - validate/condition.dhis2,1,D8mSSpOpsKj,DDLi3OGC5Yh,gY4SFKCv9Ss,
497
497
ECeGbWVvXFf,NeoIPC Surveillance end Patient days - set,Automatically calculate the patient days.,expressions/programRules/NeoIPC Surveillance end Patient days - set/condition.dhis2,0,D8mSSpOpsKj,DDLi3OGC5Yh,keCrtq3RtkZ,
498
498
e7OKeQN5jpg,NeoIPC Surveillance end Probiotic days - validate,,expressions/programRules/NeoIPC Surveillance end Probiotic days - validate/condition.dhis2,1,D8mSSpOpsKj,DDLi3OGC5Yh,TMcdpdR5yBs,
499
+
KaUyBtMlag2,NeoIPC HAP IT ratio value - true,"Adjusts the dialog and assigns variables when ""NeoIPC HAP IT ratio value"" is true",expressions/programRules/NeoIPC HAP IT ratio value - true/condition.dhis2,0,D8mSSpOpsKj,gS3zQzPpsgV,cN9UvYEbpdy,
iaqYohF3EvA,Surgical Procedure,"Each time a surgical procedure is performed on an enrolled child, you must complete this form and start following up the patient for surgical site infections for 30 days (90 days if an implant was left in place during the procedure).",0,BHWwaviIFvy,AmCKOzIAn8i ey4XJquYYBI ki0ykiLotTO rIXwdgfrfkf VaJLazkIZ5E zPmHnqnPgpf aFchS2IgTuh lgO6BRWuni9 Yu7iGKrtyeL mWLdYcsxiR6 DTZ9HfILgnX BsacMxp5fja vVHhhpB31DW OVCzlltgwNt pojfTuJ4RlC,,LISTING,LISTING,
8
8
g4LMsgA5hHK,Surgical Site Infection (SSI),,0,cZhr3Wm2fc8,YHYi79E8xhN LCX6yQP1K3D kMJlTTKr5VN bRwNwkGZDnx SWwmWqVfFX4,,LISTING,LISTING,
hIePMPYES5Q,End of Surveillance,"Information on cumulative risk factors that can be calculated (aggregated) after the surveillance for this patient has ended. ",1,DDLi3OGC5Yh,wxIOvNRgLIE Xn8q3giOGcB Z3GQcwMosHH ZrBvuqbXY0I mRAdPplmm5a nHIk8qJetwF vlFLj6rwVgf gCZe3wijCy4 U4ys5n9dSRR,,LISTING,LISTING,
YqlVWuPOBcn,Imaging Findings,"At least one of the following diagnostic imaging findings. Imaging diagnostics can be X-ray, CT, MRI or ultrasound.",1,Cp8UiWONR1B,kqSndqsPCLA nIqZE9xCVJ8 vVI3Cks7WgS aMA52Q2QgNk,,LISTING,LISTING,
0 commit comments