Rhapsody Rhapsody FHIR Brendon McAlevey – Nov 2018.

Slides:



Advertisements
Similar presentations
Building FHIR Servers on Existing Applications
Advertisements

Clinical Documents with HL7 CDA. HL7 CDA – Key messages CDA is the standard for electronic exchange of clinical documents; levels 1,2,3 are different.
iRequestManager for MediMizer X3
More Meaningful Use of CDA: the CDA-FHIR Bridge Robert Worden
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Implementing a Clinical Terminology David Crook Subset Development Project Manager SNOMED in Structured electronic Records Programme NHS Connecting for.
Integration of Applications MIS3502: Application Integration and Evaluation Paul Weinberg Adapted from material by Arnold Kurtz, David.
FHIR and Primary Care Systems; and a FHIR Query Tool Robert Worden Open Mapping Software Ltd
Peoplesoft: Building and Consuming Web Services
E | W | E | W | NHS e-Referral Service Referring Roles Issued: 3 June.
Organizing IHE Integration Profiles related to the Electronic Health Record Input to the IHE ITI Tech Committee November 2002 Charles Parisot, GE Medical.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
FHIRFarm – How to build a FHIR Server Farm (quickly)
1 ADVANCED MICROSOFT WORD Lesson 15 – Creating Forms and Working with Web Documents Microsoft Office 2003: Advanced.
Linking EDT to RMS to Allow 2- Way Communication with GPs Martin Paxton IT Programme Manager Dudley Group NHS Foundation Trust.
Chapter 6: Forms JavaScript - Introductory. Previewing the Product Registration Form.
Overview for IHE The MITRE Corporation. Overview hData was originally developed by The MITRE Corporation – Internal R&D – Focus on simplifying Continuity.
4-1 INTERNET DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
XML Overview. Chapter 8 © 2011 Pearson Education 2 Extensible Markup Language (XML) A text-based markup language (like HTML) A text-based markup language.
CHRIS NELSON METADATA TECHNOLOGY WORK SESSION ON STATISTICAL METADATA GENEVA 6-8 MAY 2013 Designing a Metadata Repository Metadata Technology Ltd.
Enabling High-Quality Printing in Web Applications
1 CS 502: Computing Methods for Digital Libraries Lecture 19 Interoperability Z39.50.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
ITGS Databases.
INT-9: Implementing ESB Processes with OpenEdge ® and Sonic ™ David Cleary Principal Software Engineer.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
34 Copyright © 2007, Oracle. All rights reserved. Module 34: Siebel Business Services Siebel 8.0 Essentials.
CCD and CCR Executive Summary Jacob Reider, MD Medical Director, Allscripts.
E | W | E | W | NHS e-Referral Service Referring Roles Issued: 27 th.
XML 1. Chapter 8 © 2013 Pearson Education, Inc. Publishing as Prentice Hall SAMPLE XML SCHEMA (XSD) 2 Schema is a record definition, analogous to the.
Stage 2 DATA SUBMISSIONS AND TRANSFERS 1www.ihpa.gov.au.
Stata tweets and other API libraries: a practical guide William Matsuoka Stata Conference Chicago, IL - July 28, 2016.
NIB, Transfer of Care and PRSB presented by Keith Naylor.
Clinical Data Exchange using HL7 and Mirth Connect Lecture 12 - Using JavaScript with Mirth Connect – III - Advanced Message Routing - XSLT transforms.
6. Application Server Issues for the Project
Java Web Services Orca Knowledge Center – Web Service key concepts.
Product Training Program
Key management issues in PGP
3. System Task Botton in Form (Uploader Function)
National Patient Portal
Robert Worden Open Mapping Software Ltd
FHIR and Relational Databases
FHIRForms – Viewing and Editing FHIR Data
WWW and HTTP King Fahd University of Petroleum & Minerals
Code4health – Interoperability Developers
Web Development Web Servers.
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
z/Ware 2.0 Technical Overview
WEB SERVICES.
Lesson 11: Web Services & API's
Unit 5 Systems Integration and Interoperability
Data Virtualization Tutorial: JSON_TABLE Queries
Tutorial (4): HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
WEB API.
ODS API Suite APIs to Organisation Reference Data
Exploring Microsoft® Access® 2016 Series Editor Mary Anne Poatsy
Chapter 27 WWW and HTTP.
Optimizing Efficiency + Funding
Quality Measure & Interoperability Solutions
WEB SERVICES From Chapter 19, Distributed Systems
Chapter 7 Network Applications
Sending a text message (and more)
Catherine Diaz Informatics Merseyside
Instructor Materials Chapter 5: Ensuring Integrity
WCF Data Services and Silverlight
BIOPAMA Data Management
QoS Metadata Status 106th OGC Technical Committee Orléans, France
Health Information Exchange for Eligible Clinicians 2019
Presentation transcript:

Rhapsody Rhapsody FHIR Brendon McAlevey – Nov 2018

24th July 2017 this email arrived in my Inbox, announcing NHS Digital’s plan to move from using CDAs to FHIR when sending discharge summaries and outpatient clinic correspondence to GPs. Much easier to move structured information using FHIR than CDA so there was a really good really reason for making the shift – worldwide experience has shown it’s easier to get structured information out of the FHIR – Move beyond sending a document someone can read -> shredding the document

Hospital Discharge Summary - Today GP Practice Post Discharge? Discharge Summary written Rhapsody Integration Engine Send to GP Practice Manually file into GP record Transcribe clinical codes e.g. diagnosis, allergies, medication Patient attends ED Yes No System Format Transport PAS RTF/PDF with flat file metadata Medical Interoperability Gateway Patient admitted to ward EDIS Digital Dictation ITK wrapped CDA document EDT DocMan Document Management Decision to discharge* Electronic Patient Record XML NHS.net email HL7 MDM DTS/MESH Clinical Portal with e-Forms Fax Kettering XML Shared Care Record *alternatively patient dies HTML

NHS Standard Contract – Changes and Technical Guidance Must use FHIR Must use PRSB headings Semantically interoperable SNOMED coded Allergies dm+d coded Medications Delivered nationally i.e. able to send to GPs outside usual catchment area Stop using NHS.net email Straight-forward to import the data under the guidance of a clinician in the practice

Transfer of Care – Future Hospital GP Practice Discharge? Discharge Summary written Rhapsody Integration Engine Send to MESH GP system retrieves from MESH Automatically file in GP record Patient attends ED Yes No Import clinical codes e.g. diagnosis allergies, medication Patient admitted to ward Certain data sets can be automatically parsed into GP Record Output as XML Mapped to FHIR Document Sent over MESH Decision to discharge*

NHS Standard Contract – Achieving Compliance

Open APIs - Contract NHS Standard Contract 2017/19 - Service Conditions (Full-length) - SC23 Service User Health Records The Provider must use all reasonable endeavours to ensure that its clinical information technology systems provide open interfaces in accordance with Open API Policy and must ensure that, by no later than 31 December 2018, all of its major clinical information technology systems enable the Key Clinical Data Fields to be accessible as structured information through open interfaces, subject to the provisions of GC21 (Patient Confidentiality, Data Protection, Freedom of Information and Transparency) to other providers of services to Service Users. NHS Standard Contract 2017/19 - General Conditions (Full-length) - Definitions Open API Policy - Guidance available at: https://www.england.nhs.uk/digitaltechnology/info-revolution/interoperability/open-api/ Interopen - adapt resources for use within the UK

Rhapsody Support for FHIR Javascript and HTTP REST client comm points Template based mapping filter (Freemarker mapper) XML/JSON conversion Server comm points for hosting FHIR endpoints. Can use email client to listen for Atom feeds or TCP, HTTP com points PH

Case Study Discharge Summaries Rhapsody

FHIR Documents Rhapsody Analogous to CDA Clinical summary at a point in time Can be signed, authenticated, etc Collection of resources in a Bundle Rhapsody can be used to convert between CDA & FHIR Documents Bundle Composition Resource 1 Resource 2

Mapping from HL7 v2 Rhapsody HL7v2 messages can be mapped to either FHIR messages or FHIR documents. The FHIR website even provides mapping specifications e.g http://hl7.org/fhir/encounter- mappings.html. However the mappings highlight how there are difficult mapping options or no clear equivalent mappings. This means any HL7v2 to FHIR mapping needs to allow for customisation as an out of the box mapping filter will ever be able to map from HL7 to FHIR.

Free Marker Mapper Rhapsody The FreeMarker Mapper filter transforms the input message from one format to another using the FreeMarker template engine. Its probably the best solution to map from any fomat into FHIR. It has the following advantages over other mapping methods in Rhapsody You don’t need to import an XSD schema, you only specify the output message and map fields into it. It allows importing files so the mapping logic can be reused and kept separate. What you see if want you get. The output isn’t restricted or post processed by an XML parser. It can output JSON. PH

Getting Started Rhapsody Basics The Input message can be XML or EDI (such as HL7v2, CSV, X12 etc) The Output message can be any format, but typically XML or JSON. Input as EDI When using EDI messages as input use the “inputEDI” template parameter to access the input message body context , for example And “getElementAt” is used to access fields. Input as XML For XML use “inputXML” and then the XML elements, for example PH

Inbuilt Functions Rhapsody Rhapsody includes some useful inbuilt functions. For FHIR generating UUID’s is common as well as converting date/time fields to other formats. Other functions also allow users to access the messages properties and Rhapsody lookup tables and the entire input message itself as text.

Mapping basics - Variables Rhapsody Mapping basics - Variables Free Marker Mapper has a concept of variables. This is useful for creating UUID’s that need to be used in multiple places. To use them use the “#Assign” element, the following example creates a variable “identifier_UUID” with the value from the result of calling the Rhapsody UUID.Generate function: The next example creates an “lastUpdated” variable to store an HL7 datetime value and then uses an datetime formatting function to convert it to an specific format. PH

Mapping basics – if then else statements Rhapsody Mapping basics – if then else statements Every mapping language needs an if-then-else statement. In Free Marker Mapper this is an example of how its used: PH

Mapping basics – List (For Loops) Rhapsody Mapping basics – List (For Loops) The Free Marker Mapper allows users to use “lists” to loop though repeating elements. The example below uses an “list” to loop through HL7 repeating OBX segments. PH

Mapping basics – Importing templates Rhapsody Mapping basics – Importing templates The template file is included as an auxiliary file in Rhapsody. Other FreeMarker templates can be added to the auxiliary files on the filter and referenced from within the main template using the “#import” element. This allows mapping to be modelled around the structure of an FHIR document or Message. The main template can be used to store the “Bundle” object and import the necessary resources contain in individual template files. PH

Case Study – Mapping an HL7v2 MDM to FHIR Rhapsody Case Study – Mapping an HL7v2 MDM to FHIR ed PH

Case Study – Mapping an HL7v2 MDM to FHIR - Approach Rhapsody Case Study – Mapping an HL7v2 MDM to FHIR - Approach The approach used here was to use the Free Marker Mapper filter An sample output message (FHIR bundle with Composition resource and related resources was used as a base). The main template models the FHIR Bundle which imports other templates containing either Resources or Lists. By storing the Resources in separate template files allows for the mapping to be easier debugged and designed. It is also hoped the templates for each Resource can be reused by other projects. The input message was an deidentified actual HL7 v2 MDM message from Cerner that has a lot of the required Composition section information, although not all. PH

This is an example of an main template containing an FHIR bundle and importing Composition, Patient and Encounter resources. Bundle Composition Patient Encounter XX Resource

Mapping Composition Sections Rhapsody Mapping Composition Sections

Mapping Composition Sections Rhapsody Mapping Composition Sections A number of section text is stored in OBX segments in the HL7v2 message. The Free Marker Mapper loops though these segments and extracts the data for the appropriate FHIR composition section.

Rhapsody Input and Output ed PH

Message Distribution Bundle Rhapsody Message Distribution Bundle

Message Exchange for Social Care and Health (MESH) Rhapsody Message Exchange for Social Care and Health (MESH) The Message Exchange for Social Care and Health (MESH) is the main messaging service used across health and social care. It works on the Spine infrastructure. It's used to transfer electronic messages directly from one application to another, so different organisations can communicate securely. As an example, pathology labs use MESH to communicate test results to GP practices. MESH replaced the Data Transfer Service (DTS). https://digital.nhs.uk/services/message-exchange-for-social-care-and-health-mesh

Message Exchange for Social Care and Health (MESH) Rhapsody Message Exchange for Social Care and Health (MESH) https://digital.nhs.uk/services/message-exchange-for-social-care-and-health-mesh

Message Exchange for Social Care and Health (MESH) Rhapsody Message Exchange for Social Care and Health (MESH)

Case Study Implementing a simple FHIR Server Rhapsody

Simple FHIR Server Rhapsody This demo shows how to implement a simple FHIR server in Rhapsody using an HTTP Server to return a patient resource The demo has two parts: An non FHIR REST API to retrieve an HTML page with an list of patients read from an database An FHIR API to retrieve a Patient Resource for a patient in the list above in either XML or JSON format. PH

Rhapsody Patient List The URL http://127.0.0.1:7188/PatientList invokes an HTTP server communication point that retrieves a list of Patients from a SQL Server database, then uses an Free Marker Mapper filter to create an HTML page which is returned to the HTTP Server communication point . PH Users can click on the “FHIR XML” to retrieve the patients FHIR Patient Resource in XML format or “FHIR JSON” to receive the resource in JSON.

Get Patient Resource Rhapsody The second route uses an HTTP Server to process an REST request like http://localhost:7188/Patient/11112?_format=JSON by selecting an patient to obtain the patient (eg 11112) record from the database and the uses an Free Marker Mapper to map it to XML. Depending on the format requested it could be transformed into JSON format.

Free Marker Mapper Filter Rhapsody Free Marker Mapper Filter The Free Marker Mapper filter is used to transform the database output into an FHIR Patient Resource by mapping the input fields into the appropriate places.

Rhapsody Patient List The returned result is either XML or JSON

Rhapsody INTEROPen Hackathon

Rhapsody INTEROPen Hackathon

Rhapsody INTEROPen Hackathon extenstions