80 likes | 242 Views
Progress on Guideline Expression Language. ASTM: Hypokalemia and Digoxin MLM. Sample Virtual EMR. OO Query. Arden Syntax. /* read the potassium that evoked the MLM */ potassium := read last { potassium level }; /* get the last active digoxin or digitoxin order */
E N D
ASTM: Hypokalemia and Digoxin MLM
OO Query Arden Syntax /* read the potassium that evoked the MLM */ potassium := read last {potassium level}; /* get the last active digoxin or digitoxin order */ digoxin_order := read last {digoxin order}; Gello /* read the potassium that evoked the MLM */ List<Observation>all_potassium := select obs from Observation as obs where obs.service_cd.equals(new Concept(“MTH”, “C0543465”)) sort descending obs.critical_time.high; /* get the last active digoxin or digitoxin order */ List<SubstanceAdministration> digoxin_orders := select meds from SubstanceAdministration as meds where meds.service_cd.equals(new Concept(“MTH”, “C0012265”)) and meds.isActive()==true; PhysicalQuantityhypokalemia_threshold := new PhysicalQuantity(3.3, “mEq/l”);
OO Expression Arden Syntax /* exit if the potassium value is invalid */ if potassium is not number then conclude false; endif; /* exit if there is no hypokalemia */ if potassium >= 3.3 then conclude false; endif; /* exit if indication of digoxin use cannot be found */ if (digoxin_order is null) then conclude false; endif; /* send an alert */ conclude true; Gello PhysicalQuantitypotassium := all_potassium.first_element().value(); /* alert if patient has hypokalemia and is on digoxin */ if (potassium.lt(hypokalemia_threshold) and not digoxin_orders.is_empty()) then conclude true; // send alert endif; conclude false; // do not send alert
Discussion • Based on OQL and TSQL • Portable mapping to EMR • Eliminates curly braces • Query and expression writing can be simplified using editing GUIs • templates and object navigators
Next steps • Encode multiple MLMs to validate approach • Refine language as needed • Coordinate with virtual EMR project • Help determine functions and attributes for vEMR objects • Feedback from DSTC • Authoring tools incorporating graphical programming aids