Archive for June, 2009

RG progress update

June 25, 2009

The summary report has now the flowchart and links to xpdl files.

Also the complexity of our flowcharts is growing.

scr 2009-06-25, 10_29_40

RetroGuide and other DSS projects

June 18, 2009

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

scr 2009-06-18, 11_55_32

would looke like this in XPDL (TIBCO – for colors):

scr 2009-06-18, 11_54_39

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.

RetroGuide, i2b2 and STRIDE comparison

June 16, 2009

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.

scr 2009-06-16, 09_23_34-i2b2

i2b2 RetroGuide FlowGuide comparison

scr 2009-06-16, 09_11_12-stride

stride cohort tool stanford

scr 2009-06-16, 09_29_37

RetroGuide FlowGuide HealthFlow

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:

Export a process from a workflow editor

June 2, 2009

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