Скачать презентацию Mirth Training Introduction and System Integration Christopher Lang Скачать презентацию Mirth Training Introduction and System Integration Christopher Lang

d5bceaf20eb1119aa7fc48315c7be630.ppt

  • Количество слайдов: 45

Mirth Training Introduction and System Integration Christopher Lang Product Manager, Web. Reach Inc. April Mirth Training Introduction and System Integration Christopher Lang Product Manager, Web. Reach Inc. April 2007

Agenda 1. Introduction to HL 7 2. Introduction to Mirth 3. Advanced Mirth Topics Agenda 1. Introduction to HL 7 2. Introduction to Mirth 3. Advanced Mirth Topics 4. IH Interface Overview 5. Web Services in Mirth 6. Maintenance and Deployment 7. Mirth Architecture Overview 8. Mirth Roadmap 9. Web. Reach Go-Live Support 10. Wrap-up, Q & A Copyright © 2007 Web. Reach, Inc.

Introduction to HL 7 Introduction to HL 7

What is HL 7? • Health Level 7 • ANSI standard for health care What is HL 7? • Health Level 7 • ANSI standard for health care information exchange • Used in hospitals, clinics, labs, and pharmacies • HL 7 v 2. x uses non-standard encoding of segments and data fields (i. e. |, *, ^) • HL 7 v 3 uses XML to encode data Copyright © 2007 Web. Reach, Inc.

What is HL 7? • HL 7 messages are composed of: • Segments: Discrete What is HL 7? • HL 7 messages are composed of: • Segments: Discrete data elements, each with its own semantic purpose • Example: PID segment contains all relevant patient demographics • Example: MSH segment contains message header information • Usually delimited by carriage return “r” • Some segments are optional and some can repeat • PID|1||0000001249||POI-KGH-IN^BABY^GIRL||20060301|F|^||123 MAIN STREET^^KELOWNA^BC^||250 -763 -7879|||||AC 000155/07| • Composites: Individual elements in a segment. • Example: PId. 5 contains a patient’s name • Usually delimited by “|” • PID|1||0000001249||POI-KGH-IN^BABY^GIRL||20060301|F|^||123 MAIN STREET^^KELOWNA^BC^||250 -763 -7879|||||AC 000155/07| Copyright © 2007 Web. Reach, Inc.

What is HL 7? • Composites can either be a primitive data type or What is HL 7? • Composites can either be a primitive data type or made up of other composites • Example: PID. 5 is an XPN (Extended Person Name) composite with fields for “Given Name”, “Middle Name”, “Family Name”, etc. Copyright © 2007 Web. Reach, Inc.

HL 7 Versions • Standard HL 7 versions include 2. 1, 2. 2, 2. HL 7 Versions • Standard HL 7 versions include 2. 1, 2. 2, 2. 3. 1, 2. 4, 2. 5, 3. 0 • Version 2. 3. 1+ introduces several changes to data-types • Versioning differences introduce problems in integration tasks • HL 7 2. x and 3. 0 are completely different standards and generally not compatible Copyright © 2007 Web. Reach, Inc.

Lower Layer Protocol (LLP) • Encoding for sending HL 7 messages over TCP/IP • Lower Layer Protocol (LLP) • Encoding for sending HL 7 messages over TCP/IP • Special characters at beginning and end of messages • Start with 0 x 0 B • End with 0 x 0 D and 0 x 0 A • Specifies Acknowledgement behavior • ACK Copyright © 2007 Web. Reach, Inc.

Common Use Cases • ADT messages received over LLP; patient demographics are extracted and Common Use Cases • ADT messages received over LLP; patient demographics are extracted and stored to a database • ORU messages generated from transcription reports; read from database and sent to lab over LLP • SCH messages generated from scheduling events, sent to database to update calendaring system Copyright © 2007 Web. Reach, Inc.

Sample Use Case Billing LLP Event-driven messages ADT A 01 Hospital or Clinic ACK Sample Use Case Billing LLP Event-driven messages ADT A 01 Hospital or Clinic ACK FTP Lab JDBC HIS Copyright © 2007 Web. Reach, Inc.

Extending HL 7 • HL 7 standard provides two mechanisms to extend the API Extending HL 7 • HL 7 standard provides two mechanisms to extend the API • Z-Messages • Allows for custom segment ordering, however the MSH segment is always required • Z-Segments • Allows for custom composite and data type ordering • Extensions are usually not recommended, as they introduce compatibility issues between systems. • Z-Segments are less harmful to interoperability than Z-messages Copyright © 2007 Web. Reach, Inc.

Future of HL 7 • Version 3 is a dramatic departure from 2. x Future of HL 7 • Version 3 is a dramatic departure from 2. x standard • Many systems are recently becoming 2. x compatible • IHE efforts for standard set of interoperability use cases • Example: IHE-PDQ for patient demographics query • New standards based on HL 7 v 2 • DICOM, CDA Copyright © 2007 Web. Reach, Inc.

Introduction to Mirth Introduction to Mirth

What is Mirth? • HL 7 integration engine (middleware) • Facilitates message exchange, filtering, What is Mirth? • HL 7 integration engine (middleware) • Facilitates message exchange, filtering, transformation, extraction, and routing • Mirth Administrator used to develop and manage HL 7 interfaces (channels) • Channels are deployed to Mirth Server where the necessary transport connectors are created • Supports a variety of connectors (TCP, HTTP, JDBC, and more…) Copyright © 2007 Web. Reach, Inc.

Channels • Channels define HL 7 interfaces to exchange data between one and many Channels • Channels define HL 7 interfaces to exchange data between one and many systems • Source connector connects to a data source and either listens or polls for data • Filter accepts or rejects message based on rules • Transformer manipulates and extracts data from message • Destination connectors route transformed messages to destination systems • Exercise: Creating a new channel Copyright © 2007 Web. Reach, Inc.

Deploying Channels • Channels must be deployed to the server before they can be Deploying Channels • Channels must be deployed to the server before they can be used • Only enabled channels are deployed to the server • The default status (configurable on the Channel Summary) of a channel is started • Redeploying will stop currently running channels then deploy the enabled channels • Exercise: Deploying channels Copyright © 2007 Web. Reach, Inc.

Connectors • Connect to systems external to Mirth • Large number of supported protocols Connectors • Connect to systems external to Mirth • Large number of supported protocols • LLP, TCP, HTTP, JDBC, JMS, File, PDF, RTF, SOAP • Connectors have properties which can be configured through the Mirth Administrator • Polling frequency, timeout, etc. • Demo: Walkthrough of each connector • Exercise: Configuring an LLP and File connector Copyright © 2007 Web. Reach, Inc.

Filters • Filters are composed of a series of rules which are evaluated as Filters • Filters are composed of a series of rules which are evaluated as Boolean expressions • Rules are written in Java. Script using E 4 X • Pseudo-Code Examples • if (PID. name == “Bob”) return true; • if (MSH. sending. Facility != “Hospital A”) return false; • Exercise: Creating a filter Copyright © 2007 Web. Reach, Inc.

Transformers • Transformers are composed of a series of transformation steps which are executed Transformers • Transformers are composed of a series of transformation steps which are executed in order • Three types of steps • Mapper – Extract field data from message to variable • Java. Script – Execute arbitrary block of Java. Script with access to message content and meta-data • Message Builder – Construct new message from incoming data • Exercise: Creating a transformer script Copyright © 2007 Web. Reach, Inc.

Message Generation • New HL 7 messages can be created based on a template Message Generation • New HL 7 messages can be created based on a template • Fields are populated using data extracted and manipulated from data source • Segments are referenced using E 4 X • Exercise: Generating message from template Copyright © 2007 Web. Reach, Inc.

Message Viewing • All messages are stored to a local database • Messages can Message Viewing • All messages are stored to a local database • Messages can be viewed using the Message Browser in Mirth Administrator • Both original raw data and transformed data for all destinations are stored • Messages can be reprocessed through channels • Exercise: Viewing, filtering, and reprocessing messages Copyright © 2007 Web. Reach, Inc.

Advanced Mirth Topics Advanced Mirth Topics

Common Routing Patterns • Router • Single incoming HL 7 data stream is filtered, Common Routing Patterns • Router • Single incoming HL 7 data stream is filtered, transformed, and routed to multiple destinations • Broadcast • Single incoming HL 7 data stream is routed to multiple destinations which each have a unique filter and transformer • Application Integration • Single HL 7 data stream routed to an application and response is sent back Copyright © 2007 Web. Reach, Inc.

Internal Routing • Two ways to route messages internally: • Channel Reader/Writer • Channel Internal Routing • Two ways to route messages internally: • Channel Reader/Writer • Channel reader allows a channel to only listen for new messages from other channels • Channel writer provides a way to pass messages between channels • VM Router • Accessible from any Java. Script context • Can route any data to any channel • Example: router. route. Message(channel. Name, 'message'); Copyright © 2007 Web. Reach, Inc.

Preprocessing • Block of Java. Script that is executed before the incoming message is Preprocessing • Block of Java. Script that is executed before the incoming message is passed to the encoder • Often used to adjust line-endings (Windows, Unix, and Mac) or fix invalid fields (ex. phone number) • Exercise: Using a preprocessing script Copyright © 2007 Web. Reach, Inc.

Using Java. Script with E 4 X • Creating new variables • var field Using Java. Script with E 4 X • Creating new variables • var field • Extracting data fields • field = msg[‘PID’][‘PID. 4’] • Iterating through list of segments • Using “for” loops with XML • Creating new segments • Populating XML elements • Exercise: Using Java. Script with E 4 X Copyright © 2007 Web. Reach, Inc.

Database Integration • Using simple SQL statements • INSERT (with on update statement) • Database Integration • Using simple SQL statements • INSERT (with on update statement) • DELETE • UPDATE • Using Java. Script with database connections • Connect to database, retrieve Result. Set and form new string • Exercise: Using Java. Script with database connections Copyright © 2007 Web. Reach, Inc.

Alerting • Alerts can be configured to send emails/SMS when an exception is encountered Alerting • Alerts can be configured to send emails/SMS when an exception is encountered during message processing • Error condition detection based on Regular expression • Channel based alert rules • Configurable message generation • Exercise: Creating an alert Copyright © 2007 Web. Reach, Inc.

System Events • Mirth system events are logged to an internal database and can System Events • Mirth system events are logged to an internal database and can be viewed using the System Event Browser • User login and logout events stored for auditing • Errors in channel configuration are displayed in event log (on deploy) • Exercise: Viewing system event log Copyright © 2007 Web. Reach, Inc.

User Management • Mirth allows for an unlimited number of user accounts • Default User Management • Mirth allows for an unlimited number of user accounts • Default admin/admin should be changed ASAP • User log-in events can be audited via the event browser • Exercise: Adding, editing, deleting user Copyright © 2007 Web. Reach, Inc.

Shell Client • • Alternate command-line interface into Mirth Interactive mode Scripted mode Ability Shell Client • • Alternate command-line interface into Mirth Interactive mode Scripted mode Ability to import/export channels, modify users, check channel stats and status • Remote access via HTTPS • Exercise: Launch shell, walkthrough commands, import channels Copyright © 2007 Web. Reach, Inc.

IH Interface Overview IH Interface Overview

IH Interface Overview • ORU Transcription reports received over LLP • Messages dispatched to IH Interface Overview • ORU Transcription reports received over LLP • Messages dispatched to file system based on CLINIC fields in ZRT segment • Preprocessing of exponential value characters • Demo • Discussion: Desired Modifications and future plans Copyright © 2007 Web. Reach, Inc.

Web Services in Mirth Web Services in Mirth

Web Services in Mirth • Mirth provides the ability to consume and send message Web Services in Mirth • Mirth provides the ability to consume and send message payloads via SOAP • Automatic WSDL processing and mapping • Can receive raw HL 7 or XML • . NET Compatible • Demo video: Ron Sweeny, PACS Midwest, Mirth, SOAP and. NET in 4 minutes • Exercise: Build SOAP listener, explore WSDL, invoke from. NET client Copyright © 2007 Web. Reach, Inc.

Maintenance and Deployment Maintenance and Deployment

Maintenance and Deployment • Internal Derby. DB should not be used in production environments Maintenance and Deployment • Internal Derby. DB should not be used in production environments • Oracle and Postgre. SQL officially supported • MS SQL support in 1 -3 weeks • Database pruner runs each hour • Performs message cleanup • Re-indexing coming in 1. 4. 1 • Logs auto-rotate, can be configured via log 4 j. properties • Windows Service deployment recommended • Logs stored in “wrapper. log” • Back-up procedure demo • Channels • Messages • Complete database dump (internal and Postgre. SQL) Copyright © 2007 Web. Reach, Inc.

Maintenance and Deployment • External database performance dictates message retention • • • Derby. Maintenance and Deployment • External database performance dictates message retention • • • Derby. DB: Performance decrease ~100, 000 messages. Not recommended for loads > 1, 000 Postgre. SQL: Performance decrease ~1, 000 messages. Production deployment steps: 1. 2. 3. 4. 5. 6. Install Mirth Service Configure external database (example) Configure user accounts Import channel configurations Configure IP and hostname settings Deploy Copyright © 2007 Web. Reach, Inc.

Maintenance and Deployment • Production Examples • NHSC (Mirth Enterprise) • In production ~4 Maintenance and Deployment • Production Examples • NHSC (Mirth Enterprise) • In production ~4 months • Running Postgre. SQL • One support case (out of disk space on root drive, db logged to incorrect file system) Resolved in < 30 minutes remotely “Hands-off” Maintenance strategy • • • Vocal. EZ (Embedded Mirth) • In production ~9 months • Running combination of Postgre. SQL and Derby • Migrated from 1. 0 ->1. 1 ->1. 2 ->1. 3. 2 ->1. 4 (in testing) • Three database migrations on production system • Database is pruned every 30 days • Regular channel updates and deployments • Weekly database backups Copyright © 2007 Web. Reach, Inc.

Mirth Architecture Overview Mirth Architecture Overview

Mirth Architecture Overview • Built on Mule-ESB product • • Leverages HAPI HL 7 Mirth Architecture Overview • Built on Mule-ESB product • • Leverages HAPI HL 7 Encoder/Decoder Rhino Java. Script Engine w/E 4 X In-house HL 7, X 12, EDI parsers Internal XML engine for message transformation Client HTTPS interface • • Customized routing engine for broadcast/router modes Re-built endpoints (SFTP, LLP, Document Writer) Additional endpoints can be easily added Extensible on other platforms (. NET, Web) Custom Code extensions loaded via new JAR packages Copyright © 2007 Web. Reach, Inc.

Mirth Roadmap Mirth Roadmap

Mirth Roadmap • Short Term • • • 1. 4. 1 release scheduled for Mirth Roadmap • Short Term • • • 1. 4. 1 release scheduled for 2 -3 weeks (minor bug fixes, no new features or core changes) 1. 5 release approx. 2 -3 months (IHE, CDA support, possible Tcl/Tk support). User roles and security updates Long Term • 2. 0 - Major platform shift • JBI compliant ESB (Red. Hat, Sun, Service. Mix) • Partner agreements • Clustering, Redundancy, Java. EE support • AS 2 support • Same UI, backwards compatible • 6 -12 months • 1. x branch developed along-side 2. 0 (Apache style) Copyright © 2007 Web. Reach, Inc.

Web. Reach Go-Live Support Web. Reach Go-Live Support

Web. Reach Go-Live Support • Discuss: • • • Expected Dates Needs and expectations Web. Reach Go-Live Support • Discuss: • • • Expected Dates Needs and expectations Engineer availability Remote access information Test system information Copyright © 2007 Web. Reach, Inc.