MARCHI Everest Framework Enabling RMIM Based Applications Justin
MARC-HI Everest Framework Enabling RMIM Based Applications Justin Fyfe (Mohawk College)
Agenda • • • Overview Architecture Using Everest Universal Messaging Data types Enhancements Roadmap
Overview • HL 7 v 3 Messaging API – Object representation of structures within MIFs – Improved v 3 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 Flexibility Performance Quality Standards Compliance Intuitiveness / Documentation
Documentation
ARCHITECTURE
10, 000 m View Canonical Data Development RIM Graph Canonical Data RIM Graph MARC-HI Everest ITS Graph Transport
5, 000 m - Everest. NET Code. Dom Connectors WCF MSMQ XML ITS 1. 0 DT R 1 Formatters Everest Core Library . NET Framework DT R 2 CDA UV NE 2008 RMIM Structures GPMR
5, 000 m - Overview j. Everest XML ITS 1. 0 Connectors Metro / Axis JMS DT R 1 Formatters CA 2. 04. 02 Everest Core Library J 2 SE/J 2 EE 1. 6 UV NE 2008
From MIF to Code REST /JSO N . js C# . DLL HTML . HTM Java . JAR XSL/ XSD . XSL /. XSD Optimizer MIF 2. 1. x GPMR COR Repo.
Graph to RMIMs Core Library Canonical Data RIM Graph Generated DLL RMIM Graph Code (Written by Developer) Data RMIM Objects
Formatting Objects Canonical Datatypes R 1 Graph Aide RIM Graph ITS Graph RMIM Objects XML ITS 1. 0 Formatter <PRPA_IN 201305 UV 02 … <id root=“ 1. 2. 3. 456 <creation. Time va…
Transporting Objects Canonical Datatypes R 1 Graph Aide XML ITS 1. 0 Formatter RIM Graph ITS Graph RMIM Objects WCF Client Connector Transport 1 Web Service
UNIVERSAL MESSAGING & CDA
UV Support • NE 2008 (since GPMR 0. 9. x) – *_HD*. *mif files should be removed • NE 2009 / NE 2010 – HTML renderer works on Patched MIF files in quirks mode – Missing Several CMET definitions in DEFN IFC file – Templating issue with several Interactions • CDAr 2 (NE 2010) (since GPMR 1. 1. x)
Patching NE 2009/2010 • Some MIFs duplicate the “true” option – <mif: class name="Guarantor. Choice" is. Abstract="true"> – Search / replace “true” with “true” • PORP_MT 0500032 UV 04 has invalid Type option – <mif: type name=")"/> – Replace name=“)” with name=“CS”
CDA IN EVEREST
CDA Support in Everest • GPMR 1. 1 supports processing of POCD_MTxxxxxx MIFs • Everest 1. 0 Supports rendering of the Clinical. Document RMIM structure
DT ENHANCEMENTS
Operators • HL 7 v 3 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 null. Flavors – Providing native operations (+, -, /, *, %, <=, >=, etc. . )
Behaving Like Native Types for (int i = 0; i < 10; i++) if ((i % 2). Equals(1)) Console. Write. Line("{0} odd", i); for (INT i = 0; i < 10; i++) if ((i % 2). Equals(1)) Console. Write. Line("{0} odd", i);
Set Utilities • Interval IVL<PQ> age. Range = new IVL<PQ>( new PQ(1, “a”), new PQ(3, “a”) ); age. Range. Contains(new PQ(24, ”mo”));
Set Utilities • Periodic Interval: IVL<TS> nine. To. Five = new IVL<TS>( Date. Time. Parse("2011 -09 -02 09: 00 AM"), Date. Time. Parse("2011 -09 -02 05: 00 PM") ); PIVL<TS> repeated = new PIVL<TS>( nine. To. Five, new PQ(1, "wk") ); TS y 2 k. Lunch = Date. Time. Parse("2000 -01 -01 11: 30 AM"); bool is. Included = repeated. Contains(y 2 k. Lunch ); // 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. Semantic. Equals()) – Are the two objects equal according to data types guide?
ROADMAP
Milestones • Q 4 2011 – j. Everest CTP (Community Tech. Preview) – Formatters – RMIM Structures – GPMR Patches • Q 1 2012 – Release Candidate 3 – Everest. NET: • CDA Support • Datatypes R 2 Support – j. Everest : • Connectors • Q 2 2012 – Release of Everest 1. 0 – j. Everest + GPMR Bundles – Documentation for j. Everest
Questions • http: //everest. marc-hi. ca
- Slides: 27