Healthcare process management in Python -...

56
Healthcare process management in Python: a use case giovedì 14 luglio 2011

Transcript of Healthcare process management in Python -...

Page 1: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Healthcare process management in Python:

a use case

giovedì 14 luglio 2011

Page 2: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

CRS4@Polaris Park, Sardinia

giovedì 14 luglio 2011

Page 3: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Agenda

• what field do we work in?

• what's the project?

• why (and how) Python?

• did it work?

• whither?

giovedì 14 luglio 2011

Page 4: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

what field do we work in?

giovedì 14 luglio 2011

Page 5: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Healthcare Flows

giovedì 14 luglio 2011

Page 6: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

distributedmedicine

giovedì 14 luglio 2011

Page 7: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

semantic and computational

management of biomedical and heterogeneous data

giovedì 14 luglio 2011

Page 8: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

clinical systems integration and traceability

in health processes

giovedì 14 luglio 2011

Page 9: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

To Err is HumanBuilding a Safer Health System

(Institute of Medicine, 2000)

giovedì 14 luglio 2011

Page 10: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

44 to 98thousands

people die each year in US as a result of preventable medical errors

Institute Of Medicine, To Err Is Human: Building a Safer Health System, 2000

giovedì 14 luglio 2011

Page 11: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors

44,000

41,000

20,000

17,000

3,600

Death causes in the U.S.

44.000

Institute Of Medicine, To Err Is Human: Building a Safer Health System, 2000

Kenneth D. Kochanek, M.A.; Jiaquan Xu, M.D.; Sherry L. Murphy, B.S.; Arialdi M. Miniño, MPH, and Hsiang-Ching Kung, Ph.D , Deaths: Preliminary Data for 2009 , Division of Vital Statistics, 2011

giovedì 14 luglio 2011

Page 12: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

15%16%

R. Amarsingham, M.D et al. Clinical Information Technologies and Inpatient Outcomes - A multiple hospital study; Archives

hospitals with automated clinical information systems had

less mortality

less post-operative complications

giovedì 14 luglio 2011

Page 13: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

1 billion €

Osservatorio ICT in Sanità, ICT in Sanità: l'innovazione in cerca d'autore, 2011

healthcare ICT yearly budget in Italy is about

giovedì 14 luglio 2011

Page 14: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Billing

Scheduling

Laboratory

Comm w/hospitals

Claims status

0% 25% 50% 75% 100%

What do physicians use computers for?

Modern Physician / PricewosterhouseCoopers survey of executive options on key information systems issues; Modern

giovedì 14 luglio 2011

Page 15: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Bad Health Informatics can kill

giovedì 14 luglio 2011

Page 16: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

HL7

• global authority

• interoperability

• HL7 v2 / v3

• documents, and more

giovedì 14 luglio 2011

Page 17: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

IHEAbbott

Siemens

IBMStanford

Harvard

CRS4

Inpeco TIH

Carl ZeissUS Social Security adm

AGFA

...and 438 more

giovedì 14 luglio 2011

Page 18: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

what's the project?

giovedì 14 luglio 2011

Page 19: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

60% - 70%of critical decision making

ToybertME, Chevret S, Cassinat B, Schlageter, Forsman; Why is the laboratory an afterthought for managed care

laboratory services leverage

giovedì 14 luglio 2011

Page 20: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Pre-Analytical60%

Analytical10%

Post-analytical30%

Errors in laboratory medicine

J. Kalra, Medical errors: impact on clinical laboratories and other critical areas; Clinical Biochemistry 37 (2004) 1052-1062

giovedì 14 luglio 2011

Page 21: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Laboratory test

examinsertion Results?

giovedì 14 luglio 2011

Page 22: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Laboratory test

examinsertion Results?

phlebotomy

giovedì 14 luglio 2011

Page 23: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

What can go wrong• typing errors

• patient misidentification (and swapping)

• wrong test order entry

• wrong tube type / number

• problems in associating samples with patients

• ...

giovedì 14 luglio 2011

Page 24: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

tubes and labelsgiovedì 14 luglio 2011

Page 25: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Our scenarios

• new patient and exam insertion

• query mode in phlebotomy room

• query mode in ward room

• request mode at GP's office

giovedì 14 luglio 2011

Page 26: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

giovedì 14 luglio 2011

Page 27: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

why (and how) Python?

giovedì 14 luglio 2011

Page 28: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

why?

giovedì 14 luglio 2011

Page 29: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

1. readabilitynot everyone involved is a developer;

code audits should be easy to do

giovedì 14 luglio 2011

Page 30: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

2. agilitylots of ever-changing standards, laws and requirements

giovedì 14 luglio 2011

Page 31: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

3. portabilitymust support different operating systems and

environments

giovedì 14 luglio 2011

Page 32: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

4. completenesslots of different ICT needs in a project of this scope

giovedì 14 luglio 2011

Page 33: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

5. ease of deploymentas self-consistent as possible;

as few external packages as possible

giovedì 14 luglio 2011

Page 34: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Our requirements

• 1. readability

• 2. agility

• 3. portability

• 4. completeness

• 5. ease of deployment

giovedì 14 luglio 2011

Page 35: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Python's best features

• 1. readability

• 2. agility

• 3. portability

• 4. completeness

• 5. ease of deployment

giovedì 14 luglio 2011

Page 36: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

how?

giovedì 14 luglio 2011

Page 37: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

"it's not Java"

giovedì 14 luglio 2011

Page 38: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

shut up and show them the prototype

First Law of Python advocacy

giovedì 14 luglio 2011

Page 39: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

you are probably already using Python

Zeroth Law of Python advocacy

giovedì 14 luglio 2011

Page 40: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

did it work?

giovedì 14 luglio 2011

Page 41: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

giovedì 14 luglio 2011

Page 42: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

1.hardware drivers

giovedì 14 luglio 2011

Page 43: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Managing hardware with Python

• PySerial, python-usb, ctypes...

• use struct!

• see lightning talk @ 18:30 :-)

• hardware CLI

• fast scripting for hardware testing

• build second/third level APIs

giovedì 14 luglio 2011

Page 44: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

2. asynchronous messages and

networking

giovedì 14 luglio 2011

Page 45: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

One word: Twisted• one of Python's killer apps

• write new protocols in minutes

• once you finally get it :-)

• non blocking, asynchronous

• look, ma: no Apache!

• very robust and quite scalable

• XMLRPC, SOAP, SSL come for free

giovedì 14 luglio 2011

Page 46: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

3. applications

giovedì 14 luglio 2011

Page 47: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Why web apps• no deployment or client maintainance

• support several usage and business models

• modern interfaces: RIA, AJAX, etc.

• Django of course!

• MVC, reusable components

• very useful even outside the web

• loose coupling always a good idea

giovedì 14 luglio 2011

Page 48: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

admin's applicationgiovedì 14 luglio 2011

Page 49: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

phlebotomist's giovedì 14 luglio 2011

Page 50: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

IHE certification

• our system was certified as IHE-compliant during Connectathon Europe 2011

• LB, LIP, PDQ-S, PDQ-C

giovedì 14 luglio 2011

Page 51: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

AO G. Brotzugiovedì 14 luglio 2011

Page 52: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

whither?

giovedì 14 luglio 2011

Page 53: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

Python in Healthcare SIG

• established on march 2011

• last edit of wiki on 2011-03-17

• mailing list

• 18 messages in 4 months

• last message in April

giovedì 14 luglio 2011

Page 54: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

No Country for Old Snakes...

• HL7 implementations

• we only have v2...

• ...and it's quite limited

• everyone uses Java

• Mirth

• made in Java

• scriptable in Javascript

giovedì 14 luglio 2011

Page 55: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

...or is it?

• we must work together

• Healthcare ICT is important

• philosophically

• and economically -in fact we're hiring ;-)

• show them prototypes; use Trojan horses

• have a good list of use cases

giovedì 14 luglio 2011

Page 56: Healthcare process management in Python - CRS4publications.crs4.it/pubdocs/2011/Cab11/healthcare...Motorcycle acc Homicide AIDS/HIV Breast Cancer Medical Errors 44,000 41,000 20,000

questions, thoughts, suggestions

Federico [email protected]

http://www.crs4.it

giovedì 14 luglio 2011