The summary report has now the flowchart and links to xpdl files.
Also the complexity of our flowcharts is growing.
There is a good article about a DSS engine: (SAGE)
P. Ram, D. Berg, S. Tu, G. Mansfield, Q. Ye, R. Abarbanel, and N. Beard, “Executing Clinical Practice Guidelines Using the SAGE Execution Engine,” Medinfo, vol. 2004, pp. 251-5, 2004
RetroGuide can model DSS logic and execute it retrospectively(with some contrains) and prospectively.
For example Ram’s example here
would looke like this in XPDL (TIBCO – for colors):
SAGE’s decision maps can be similarly represented as subflows. Rule-in and Rule-out contructs would require additional flowchart logic, but it could be generally done.
i2b2 (repository cell) is a way to query data.
STRIDE is a query tool done at Stanford.
RetroGuide tries to go beyond cohort estimation and provide a query tool (with a friendly flowchart query metaphor) to not only query data but to do procedural logic:
e.g., test decision support logic, research eligibility protocol.
RetroGuide also goes beyond the underlying DBMS query technology (SQL in both i2b2 and STRIDE) by providing a layer where any technology can be combined with any technology (SQL combined with R, WSDL webservices, Java, etc.)
RetroGuide design objective was to have “retrospective/prospective” switch option. Which means: test your idea retrospectively, and with a switch of a button – change it into prospective logic.
e.g., research alerts functionality.
See the screenshots:
RetroGuide screenshot shows implementation of an Arden Syntax rule – pasted below.
Arden Syntax MLM translated above:
KEY PART:
logic:
if (eos is not number) or (inpatient_case is null) then
conclude false; /* pt must be inpt with valid eos count */
endif;
if eos > eos_upper_normal_limit then /* elevated eos in diff */
conclude true;
else
conclude false;
endif;
Full MLM:
maintenance:
title: Eosinophilia Research Screen;;
filename: EOSINOPHILIA_1;;
version: 1.06;;
institution: Columbia-Presbyterian Medical Center;;
author:
specialist: ;;
date: 1995-04-24;;
validation: research;;
library:
purpose: To send a log of inpatients with a CBC differential
signifying eosinophilia (> 6%). The study investigates the
association between eosinophilia and CAD;;
explanation: ;;
keywords: ;;
citations: ;;
knowledge:
type: data-driven;;
data:
cbc_storage := event {‘32506′,’41903’};
eos := read last {‘evoking’,’dam’=”PDQRES2″,
‘constraints’=”C****”; ; ‘32925’};
inpatient_case := read last {‘dam’=”GYDAPMP”,
‘constraints’=” IA**”; “HCASE”; “K”};
eos_upper_normal_limit := 6;
location := read last {‘dam’=”GYDAPMP”; “HLOC”; “HLOCNURS”};
email_dest := destination {’email’,
‘name’=”xxxxx@columbia.edu“};
;;
evoke: cbc_storage;;
logic:
if (eos is not number) or (inpatient_case is null) then
conclude false; /* pt must be inpt with valid eos count */
endif;
if eos > eos_upper_normal_limit then /* elevated eos in diff */
conclude true;
else
conclude false;
endif;
;;
action:
write “Eos = ” || eos || “% on ” || time of eos ||
“\nLocation = ” || location
at email_dest;
;;
end:
It is nice to be able to export a process with all details hidden behind the nodes for a user who does not have the editor installed.
Below is a TIBCO example of such export.
http://sites.google.com/site/clinforweb/Home/TIBCOBusinessStudio-export.mht?attredirects=0
http://sites.google.com/site/clinforweb/Home/TIBCOBusinessStudio-export.mht