+ All Categories
Home > Documents > MARC-HI Everest Framework

MARC-HI Everest Framework

Date post: 06-Jan-2016
Category:
Upload: cachet
View: 43 times
Download: 0 times
Share this document with a friend
Description:
MARC-HI Everest Framework. Enabling RMIM Based Applications Justin Fyfe (Mohawk College). Agenda. Overview Architecture Using Everest Universal Messaging Data types Enhancements Roadmap. Overview. HL7v3 Messaging API Object representation of structures within MIFs - PowerPoint PPT Presentation
27
MARC-HI Everest Framework Enabling RMIM Based Applications Justin Fyfe (Mohawk College)
Transcript
Page 1: MARC-HI Everest Framework

MARC-HI Everest Framework

Enabling RMIM Based ApplicationsJustin Fyfe (Mohawk College)

Page 2: MARC-HI Everest Framework

Agenda

• Overview• Architecture• Using Everest• Universal Messaging• Data types Enhancements• Roadmap

Page 3: MARC-HI Everest Framework

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

Page 4: MARC-HI Everest Framework

Guiding Principles

Quality

Performance

Intuitiveness / Documentation

Flexibility

Standards Compliance

Page 5: MARC-HI Everest Framework

Documentation

Page 6: MARC-HI Everest Framework

ARCHITECTURE

Page 7: MARC-HI Everest Framework

10,000 m View

Development

MARC-HI Everest

Canonical Data

RIM Graph

ITS Graph

Transport

Canonical Data

RIM Graph

ITS Graph

Transport

Page 8: MARC-HI Everest Framework

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

Page 9: MARC-HI Everest Framework

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

Page 10: MARC-HI Everest Framework

Optimizer

From MIF to Code

MIF 2.1.x

GPMR

C#

Java

HTML

XSL/XSD

CORRepo.

.DLL

.HTM

.JAR

.XSL / .XSD

REST/JSON .js

Page 11: MARC-HI Everest Framework

Graph to RMIMs

RMIM Graph Code(Written by Developer)

Generated DLL

Core Library

RMIM Objects

Data

Canonical Data

RIM Graph

Page 12: MARC-HI Everest Framework

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…

Page 13: MARC-HI Everest Framework

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

Page 14: MARC-HI Everest Framework

UNIVERSAL MESSAGING & CDA

Page 15: MARC-HI Everest Framework

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)

Page 16: MARC-HI Everest Framework

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”

Page 17: MARC-HI Everest Framework

CDA IN EVEREST

Page 18: MARC-HI Everest Framework

CDA Support in Everest

• GPMR 1.1 supports processing of POCD_MTxxxxxx MIFs

• Everest 1.0 Supports rendering of the ClinicalDocument RMIM structure

Page 19: MARC-HI Everest Framework

DT ENHANCEMENTS

Page 20: MARC-HI Everest Framework

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..)

Page 21: MARC-HI Everest Framework

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);

Page 22: MARC-HI Everest Framework

Set Utilities

• IntervalIVL<PQ> ageRange = new IVL<PQ>(

new PQ(1, “a”),new PQ(3, “a”)

);ageRange.Contains(new PQ(24, ”mo”));

Page 23: MARC-HI Everest Framework

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

Page 24: MARC-HI Everest Framework

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?

Page 25: MARC-HI Everest Framework

ROADMAP

Page 26: MARC-HI Everest Framework

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

Page 27: MARC-HI Everest Framework

Questions

• http://everest.marc-hi.ca


Recommended