Date post: | 14-Dec-2015 |
Category: |
Documents |
Upload: | cason-root |
View: | 215 times |
Download: | 0 times |
Agenda
• Overview• Architecture• Using Everest• Universal Messaging• Data types Enhancements• Roadmap
Overview
• HL7v3 Messaging API– Object representation of structures within MIFs– Improved v3 Experience• Extensive documentation in developer’s IDE• Value sets represented as business names• Parameterized constructors, operators and helper
functions
– Flexible ITS and Transport Channel architecture
Guiding Principles
Quality
Performance
Intuitiveness / Documentation
Flexibility
Standards Compliance
10,000 m View
Development
MARC-HI Everest
Canonical Data
RIM Graph
ITS Graph
Transport
Canonical Data
RIM Graph
ITS Graph
Transport
5,000 m - Everest .NET
.NET Framework
GPMREverest Core Library
Connectors Formatters
WCF MSMQ
XML ITS 1.0 DT R1 DT R2
RMIM Structures
CDA UVNE2008CodeDom
5,000 m - Overview jEverest
J2SE/J2EE 1.6
Everest Core Library
Connectors Formatters
Metro / Axis JMS
XML ITS 1.0 DT R1
CA 2.04.02
UVNE2008
Optimizer
From MIF to Code
MIF 2.1.x
GPMR
C#
Java
HTML
XSL/XSD
CORRepo.
.DLL
.HTM
.JAR
.XSL / .XSD
REST/JSON .js
Graph to RMIMs
RMIM Graph Code(Written by Developer)
Generated DLL
Core Library
RMIM Objects
Data
Canonical Data
RIM Graph
Formatting Objects
Canonical Data
RIM Graph
ITS GraphRMIM
Objects XML ITS 1.0 Formatter
Datatypes R1 Graph Aide
<PRPA_IN201305UV02 …<id root=“1.2.3.456<creationTime va…
Transporting Objects
Canonical Data
RIM Graph
ITS Graph
Transport
RMIM Objects WCF Client Connector
XML ITS 1.0 FormatterDatatypes R1 Graph Aide
1
Web Service
UV Support
• NE2008 (since GPMR 0.9.x)– *_HD*.*mif files should be removed
• NE2009 / NE2010– HTML renderer works on Patched MIF files in quirks
mode– Missing Several CMET definitions in DEFN IFC file– Templating issue with several Interactions
• CDAr2 (NE2010) (since GPMR 1.1.x)
Patching NE2009/2010
• Some MIFs duplicate the “true” option– <mif:class name="GuarantorChoice"
isAbstract="true true">– Search / replace “true true” with “true”
• PORP_MT0500032UV04 has invalid Type option– <mif:type name=")"/>– Replace name=“)” with name=“CS”
CDA Support in Everest
• GPMR 1.1 supports processing of POCD_MTxxxxxx MIFs
• Everest 1.0 Supports rendering of the ClinicalDocument RMIM structure
Operators
• HL7v3 data types should behave like native primitives when not null-Flavored– INT should behave like int, long, uint– REAL should behave like float, double– BL should behave like bool
• Operator overloading allows us to achieve this:– Casting to/from native types– Adding nullFlavors– Providing native operations (+, -, /, *, %, <=, >=, etc..)
Behaving Like Native Types
for (int i = 0; i < 10; i++) if ((i % 2).Equals(1)) Console.WriteLine("{0} odd", i);
for (INT i = 0; i < 10; i++) if ((i % 2).Equals(1)) Console.WriteLine("{0} odd", i);
Set Utilities
• IntervalIVL<PQ> ageRange = new IVL<PQ>(
new PQ(1, “a”),new PQ(3, “a”)
);ageRange.Contains(new PQ(24, ”mo”));
Set Utilities
• Periodic Interval:IVL<TS> nineToFive = new IVL<TS>( DateTime.Parse("2011-09-02 09:00 AM"),
DateTime.Parse("2011-09-02 05:00 PM") ); PIVL<TS> repeated = new PIVL<TS>(
nineToFive, new PQ(1, "wk")
); TS y2kLunch = DateTime.Parse("2000-01-01 11:30 AM"); bool isIncluded = repeated.Contains(y2kLunch ); // Returns false
Three levels of Equality
• Reference Equals (default == operation)– Do the two objects represent the same reference in
memory
• Value Equality (via .Equals())– Do all of the properties in A have the same content as all
the properties in B?
• Semantically Equal (via .SemanticEquals())– Are the two objects equal according to data types guide?
Milestones• Q4 2011 – jEverest CTP (Community Tech. Preview)
– Formatters– RMIM Structures – GPMR Patches
• Q1 2012 – Release Candidate 3– Everest .NET:
• CDA Support• Datatypes R2 Support
– jEverest :• Connectors
• Q2 2012 – Release of Everest 1.0– jEverest + Everest + GPMR Bundles– Documentation for jEverest