The OHF Legacy

Download Report

Transcript The OHF Legacy

The OHF Legacy
Eclipse UOMo, STEM and Open
Health Tools
Werner Keil
Eclipse Day Kraków
13th September 2012
UOMo
2
© 2007-2012 Creative Arts & Technologies
STEM
Open Health Tools
Images based on © Universal Pictures
Overview
• Introduction
• UOMo
• Type-Safety
• Why do we need it?
• Unit-API, UOMo
• Units and Healthcare
• UCUM, HL7, used by Healthcare
• STEM
• What is STEM?
• New Features
• Demo
• Open Health Tools
• Q&A
3
© 2007-2012 Creative Arts & Technologies
Who am I?
Werner Keil
• Consultant – Coach
• Creative Cosmopolitan
• Open Source Evangelist
• Software Architect
• Java Godfather
• UOMo Project Lead
• …
Twitter @wernerkeil
4
© 2007-2012 Creative Arts & Technologies
Type-Safety
• Java does not have strongly typed primitive types
(like e.g. Ada language).
• For performance reasons most developer prefer
primitive types over objects in their interface.
• Primitives type arguments often lead to name
clashes (methods with the same signature)
5
© 2007-2012 Creative Arts & Technologies
What do these disasters have in common?
• Patriot Missile
The cause was an inaccurate calculation of the
time since boot due to a computer arithmetic error.
• Ariane 5 Explosion
The floating point number which a value was
converted from had a value greater than what
would be represented by a 16 bit signed integer.
6
© 2007-2012 Creative Arts & Technologies
What do these disasters have in common?
• Gimli Glider (near disaster)
Fuel loading was miscalculated through misunderstanding of the
recently adopted Metric System, replacing the Imperial System
• Mars Orbiter
Preliminary findings indicate that one team used English units (e.g. inches,
feet and pounds) while the other used metric units for a key spacecraft
operation.
• NASA lost a $125 million Mars orbiter because a Lockheed Martin engineering team used
English units of measurement while the agency's team used the more conventional metric
system for a key spacecraft operation
• A credible source disclosed, there was a manual step with an outsourced person to convert
these calculations between the different teams, and NASA budget cuts caused them to fire
him and have the wrong, unpatched data transmitted!!!
• This also underlines the added risk when 3 rd party contractors are involved or projects are
developed Offshore
7
© 2007-2012 Creative Arts & Technologies
NASA “Star Wars” Initiative, 1983
23rd March 1983. Ronald Reagan
announces SDI (or “Star Wars”): groundbased and space-based systems to
protect the US from attack by strategic
nuclear ballistic missiles.
8
© 2007-2012 Creative Arts & Technologies
1985
Mirror on underside of
shuttle
Big mountain in Hawaii
9
© 2007-2012 Creative Arts & Technologies
SDI Experiment:
The Plan
1985
SDI Experiment:
What really
happened
10
© 2007-2012 Creative Arts & Technologies
1985: What happened?
11
© 2007-2012 Creative Arts & Technologies
Unit Tests wouldn‘t find these…
Despite their name
• All previous example illustrate three categories of
errors difficult to find through Unit Testing:
• Interface Errors (e.g. millisecond/second, radian/degree, meters/feet).
• Arithmetic Errors (e.g. overflow).
• Conversion Errors.
13
© 2007-2012 Creative Arts & Technologies
Causes of Conversion Errors
• Ambiguity on the unit
• Gallon Dry / Gallon Liquid
• Gallon US / Gallon UK
• Day Sidereal / Day Calendar
• Degree Celsius / Degree Fahrenheit
• Did you know that Gabriel Fahrenheit was born in Gdansk (Danzig) in northern
Poland?
• ...
• Wrong conversion factors:
static final double PIXEL_TO_INCH = 1 / 72;
double pixels = inches * PIXEL_TO_INCH
14
© 2007-2012 Creative Arts & Technologies
Eclipse UOMo
One Small Step…
Unit-API | Operations
Results with
Same Dimension
Different Dimension
Binary Operations
Binary Operations
add(double) or (long)
root(int)
multiply(double) or (long)
power(int)
divide(double) or (long)
multiply(Unit)
compound(Unit)
divide(Unit)
Unary Operations
inverse()
Eclipse UOMo
Bundles
• UOMo currently consists of
• UOMo Core
• General parts of the framework, reusable components
• UOMo Util
• Utility classes, Formatting, Date/Time and other ICU4J or Unicode
related items
• UOMo XML
• XMLPull and support for Markup Languages like UnitsML, MathML
or SensorML
17
© 2007-2011 Creative Arts & Technologies
Eclipse UOMo
Bundles (2)
• UOMo Units
• Based on Units of Measurement API
• UOMo UCUM
• Unified Code for Units of Measure support
• UOMo Business
• Business Types and Monetary System
18
© 2007-2012 Creative Arts & Technologies
UOMo UCUM
Unified Code for Units of Measure
The Unified Code for Units of Measure is inspired by
and heavily based on
• ISO 2955-1983
• ANSI X3.50-1986
• HL7's extensions called ISO+
19
© 2007-2012 Creative Arts & Technologies
HL7 DSL
def mySegment = ...
NK1 segment instance
// assignment to another
def group = message.PATIENT_RESULT(0).PATIENT
group.NK1(0) = 'abc'
// syntax error!
msg1.NK1(0) = mySegment
// syntax error!
msg1.NK1(0).from(mySegment)
// works!
def nk1
= message.PATIENT_RESULT(0).PATIENT.NK1(0)
def otherNk1 = message.PATIENT_RESULT(0).PATIENT.NK1(0)
nk1[4]
= otherNk1[4]
// copy address
nk1[4][4]
only
= otherNk1[4][4] // copy state or province
nk1[4][4].from(otherNk1[4][4])// equivalent
nk1[4][4]
20
= 'NY'
© 2007-2012 Creative Arts & Technologies
// set state or province directly
UOMo Examples
DEMO
STEM is Open Source
http://www.eclipse.org/stem/downloads.php
22
STEM is a Framework
Epidemiological Compartment Models
Standard SEIR model
Standard SIR model
Births
Births
S
E
I
R
S
Deaths
S: susceptible
E: exposed but not yet infectious
I: infectious
R: recovered
23
I
R
Deaths
The Many Vectors of Infectious Disease
Human Flu
Swine Flu
“Mixing Cell
24
US Counties (3109) Edges
Common
Border Edges
Interstate Highway
Edges
Air Travel Edges
25
Goal: Evaluation of Public Health Policies
Masks
No Air travel
HCN/HL7
Weather
Vaccinate
Air Traffic
Masks/No Air
Multiple parallel scenarios identically initialized
from current real world conditions and simulate
each simultaneously forward in time.
26
?
Simulations Based on ICDC Influenza Data
as initial condition
27
Recent H1N1 Outbreak
28
STEM in Action
DEMO
VISION OF OPEN HEALTH TOOLS
Vision:
To enable a ubiquitous ecosystem where members of
the Health and IT professions can collaborate to build
open, standards-based interoperable systems that
enable patients and their care providers to have
access to vital and reliable medical information at the
time and place it is needed.
OHT | Stakeholder Communities
Community of Health
Professionals
Community of National
Health Services
Consumers
Community of Vendors
Providers
Patients
Community of Regional,
State and Local
Health Services
Physicians
Community of Standards
Organizations
31
Community of Open Source
Technology Developers
OHT | Approach to Standards
Strategy:
■
Adopt recognized industry standards and best practices in services.
 Maintain close working relationships with identified SDOs
 Provide feedback to SDOs via early adopter program and communities to
foster creation of useful, usable healthcare standards that address real
healthcare requirements.
Important SDOs:
32
■
HL7: CCD, Semantics, Documents, Services
■
OMG: technical specifications of services
■
IHE: pragmatic community for adoption
■
IHTSDO (SNOMED): Semantics, terminology definitions for healthcare
■
ASTM: CCR / CCD specifications
■
ISO/CEN/HL7: EHR requirements and specifications
■
ISO
OHT | Clinical Application Layers
Business Use Case
Clinical Use Case
Clinical Content Model
Clinical Templates
Clinical Archetypes
Reference Model, Types, Terminology
33
Application Design
OHT | Based upon Eclipse Experience
The Eclipse Eco-system
Eclipse Open Source Community
Eclipse Foundation
Eclipse Eco-system
The Eclipse Open Source
The community builds the technology
has over 4 million developers and 120 open source projects. These
projects can be conceptually organized into seven different "pillars" or
categories:
-Enterprise Development
-Embedded and Device Development
-Rich Client Platform
-Rich Internet Applications
-Application Frameworks
-Application Lifecycle Management (ALM)
-Service Oriented Architecture (SOA)
The community takes the Open Source Technology and
build products for profit and use.
The community includes 800,000 vendors and
organizations, 10 Leadership Projects, 150 Members, in
120 countries project.
The economic value of the “free” code is $700,000,000
(USD). The commercial value of the revenue generated
to members is in excess of 2 Billion (USD)
The Eclipse Foundation
Enable & Manage Eclipse
-Infrastructure Support
-Intellectual Property
-Legal
-Marketing
-Enable Eco-system
-Enable Open Source
OHT | Communities
Open Health Tools
Open Source Community
Private Public
Commercial
Applications
Code & Data
Open Health Tools
Eco-system
Eclipse Open Source Community
Non-Eclipse
Open
Source
Community
Eclipse Eco-system
The Open Health Tools Open Source
The Open Health Tools Eco-system
The community builds common services, frameworks,
exemplary tools and example applications.
The community takes the Open Health Tools
Technology and builds, packages, and sells the
technology as products, applications, tools, for
profit and use.
For example:
Record Locator Services & Hl7 Messaging
Terminology Services & Identity Management
35
Let‘s talk
Q&A
Links
Eclipse – Project UOMo
http://www.eclipse.org/uomo/
Units of Measurement API
http://www.unitsofmeasurement.org
UCUM
http://www.unitsofmeasure.org
Links (2)
Eclipse STEM
http://www.eclipse.org/stem
Open Health Tools
http://www.openhealthtools.org/
OpenHealth Project
http://www.openhealth.org
Contact
[email protected]
or
[email protected]
Twitter: @wernerkeil
Hashtag #EclipseUOMo