Using software engineering technology to improve the quality of medical processes

In this paper, we describe some of the key observations resulting from our work on using software engineering technologies to help detect errors in medical processes. In many ways, medical processes are similar to distributed systems in their complexity and proneness to contain errors. We have been investigating the application of a continuous process improvement approach to medical processes in which detailed and semantically rich models of the medical processes are created and then subjected to rigorous analyses. The technologies we applied helped improve understanding about the processes and led to the detection of errors and subsequent improvements to those processes. This work is still preliminary, but is suggesting new research directions for medical process improvement, software engineering technologies, and the applicability of these technologies to other domains involving human-intensive processes.

[1]  Rachel L. Cobleigh,et al.  Engineering Medical Processes to Improve Their Safety An Experience Report , 2007 .

[2]  Ethan Katz-Bassett,et al.  Increasing patient safety and efficiency in transfusion therapy using formal process definitions. , 2007, Transfusion medicine reviews.

[3]  Nancy G. Leveson,et al.  Safety verification in MURPHY using fault tree analysis , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[4]  Leon J. Osterweil,et al.  Software Processes Are Software Too, Revisited: An Invited Talk on the Most Influential Paper of ICSE 9 , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[5]  A. Wise,et al.  Little-JIL 1.0 Language Report TITLE2: , 1998 .

[6]  Jayadev Misra,et al.  Distributed discrete-event simulation , 1986, CSUR.

[7]  George S. Avrunin,et al.  User guidance for creating precise and accessible property specifications , 2006, SIGSOFT '06/FSE-14.

[8]  George S. Avrunin,et al.  Complex medical processes as context for embedded systems , 2006, SIGBED.

[9]  George S. Avrunin,et al.  Automatic Fault Tree Derivation from Little-JIL Process Definitions , 2006, SPW/ProSim.

[10]  George S. Avrunin,et al.  Analyzing medical processes , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[11]  Leon J. Osterweil,et al.  Little-JIL/Juliette: a process definition language and interpreter , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[12]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[13]  George S. Avrunin,et al.  PROPEL: an approach supporting property elucidation , 2002, ICSE '02.

[14]  Lori A. Clarke,et al.  Flow analysis for verifying properties of concurrent software systems , 2004, TSEM.

[15]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[16]  George S. Avrunin,et al.  Process Programming to Support Medical Safety: A Case Study on Blood Transfusion , 2005, ISPW.

[17]  W E Vesely,et al.  Fault Tree Handbook , 1987 .

[18]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[19]  Nancy G. Leveson,et al.  Safeware: System Safety and Computers , 1995 .

[20]  P. Maurette [To err is human: building a safer health system]. , 2002, Annales francaises d'anesthesie et de reanimation.

[21]  George S. Avrunin,et al.  Rigorously Defining and Analyzing Medical Processes: An Experience Report , 2008, MoDELS.