+ All Categories
Home > Documents > MARC-HI Everest Framework Enabling RMIM Based Applications Justin Fyfe (Mohawk College)

MARC-HI Everest Framework Enabling RMIM Based Applications Justin Fyfe (Mohawk College)

Date post: 14-Dec-2015
Category:
Upload: cason-root
View: 215 times
Download: 0 times
Share this document with a friend
Popular Tags:
27
MARC-HI Everest Framework Enabling RMIM Based Applications Justin Fyfe (Mohawk College)
Transcript

MARC-HI Everest Framework

Enabling RMIM Based ApplicationsJustin Fyfe (Mohawk College)

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

Documentation

ARCHITECTURE

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

UNIVERSAL MESSAGING & CDA

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 IN EVEREST

CDA Support in Everest

• GPMR 1.1 supports processing of POCD_MTxxxxxx MIFs

• Everest 1.0 Supports rendering of the ClinicalDocument RMIM structure

DT ENHANCEMENTS

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?

ROADMAP

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

Questions

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


Recommended