Names

November 5, 2009 by user

The analytical framework now has many components and this is the overview:

Overall system: Morgagni system  (after an italian pathologist from 18th century)

components:
RetroGuide – retrospective execution of a scenario
FlowGuide – prospective execution of a scenario

Morgagni system has an ontology model and an ontology with a browser (OntoBot)

 

Architecture:

scr 2009-11-05, 08_24_38

Upgrade of our editor

September 25, 2009 by user

There is a new editor from Enhydra.

Many nice improvements.

scr 2009-09-24, 09_40_22

BPM engine (workflow engine) as you decision support engine

August 11, 2009 by user

It is hard to buy stand alone DSS engines. There is no GLIF or SAGE or Arden syntax engine on the market.

You can buy a workflow engine though and the XPDL flowcharts are very similar to task-network models standards (SAGE and GLIF).

Here is a demo screenshot:

scr 2009-08-11, 12_53_31-3

XPDL file(s)

July 17, 2009 by user

The linked file(s) do not represent all the processes we work on but give us a chance to send an link in an email with at least some example.

links

all002.xpdl

(for optimal viewing: in Jawe 1.4, go to File – Configuration – Object sizes and change activity width to 110 and activity height to 60)

(this file contains library of RGEA – external apps called from within the nodes)

Use JaWE 1.4 to open them. Installer can be found here:

link

There are some TIBCO examples.

tibco

Research alerts

July 14, 2009 by user

Imagine this:

waiting room kiosk message:  “Based on your EHR profile, you qualify for the following clinical trials:

1. heart failure study

2. chronic back pain study

Or this:

next kiosk screen: Thank you for expressing interest in participating in chronick back pain study. Please answer the following 2 questions for further eligibility determination:

1. Our EHR records indicate one acute attack of back pain. Did you have other episodes (undocumented  in EHR record tethered to “NextGen” Clinic ?  (YES    NO)

2. Did you take any OTC medication for back pain in the last 6 months?   (YES  NO)

Arden syntax decision support modules were used to notify research coordinators about elligible patients in the past.

RetroGuide is an attempt to adress this problem as well.

See related post here : http://healthcareworkflow.wordpress.com/2009/06/16/retroguide-i2b2-and-stride-comparison

RG progress update

June 25, 2009 by user

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 by user

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 by user

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

scr 2009-06-16, 09_11_12-stride

scr 2009-06-16, 09_29_37

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 by user

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

WCP11: Implicit Termination

May 22, 2009 by user

Shark worklow engine way of handeling WCP11

Engine log simply says:

2009-05-22 12:05:39,900: Process[key=1_arden001_eosinophilia,mgrname=arden001#1#eosinophilia] - No transitions left to follow
2009-05-22 12:05:39,915: WfProcessWrapper.start took 1328 millis for [key=1_arden001_eosinophilia],WMSessionHandle[Id=2,vendorData=admin]
Finishing process

 

This makes the flowchart much simpler to create. One does not have to worry about branches which would simply say “END”.