05 Sep The MD Link Integration Strategy
The MD Link Integration Strategy
MD Link is a unique and innovative platform for integrating systems, regardless of differences in data formats, hardware platforms and software used.
System integrators can use MD Link to create custom interfaces that can be run on virtually any computing platform.
MD Link’s integration strategy can be summed up as:
- Support the widest possible range of data and network standards using Java technology
- Easy-to-use data mapping tools leverage the transformational power of XML
- Custom Interfaces support complex business logic
- Testing and debugging can be done without running the Service, via the Design Studio
- Interface-based licensing reduces cost for small to medium implementations
Systems Interface requirements are often more complex than simple point-to-point data feeds – many require query-response communication. MD Link’s mapping model lets designers handle their point-to-point or query-response needs within any Interface.
Java technology for portability, security and compatibility
The MD Link Design Studio
The MD Link Design Studio allows programmers and analysts to create Interfaces via a drag and drop graphical user interface. These Interfaces can be run as part of the MD Link Service, where they log their history. You can monitor this history from the visual MD Link Monitor.
Interfaces are the customized mapping of data, application and network resources. MD Link’s growing list of Interface adapters provide visual customization and data mapping. (See Interface Adapters)
Processes link Event, Task and Resource Interfaces to create active solution Services. (See Design Studio)
Data mappings can be created between any two of an Interface’s Components using the drag and drop data mapping view. For advanced mappings, custom Python code is supported, as well as preset functions for math, text transformation, and date handling.
The MD Link Service
Any Interface created in the Design Studio can be loaded by the MD Link Service. The Service runs in the background, and is designed for production use, running all of your Interfaces in parallel.
The MD Link Monitor
The MD Link Monitor is a graphical user interface which connects to the MD Link Service. It shows each Interface and its Components, which are color coded by their status.
As each Component executes, logs are generated at the info, warning, error, and debug levels. These logs can each be filtered or disabled for maximum flexibility while troubleshooting.
MD Link has various Component types designed to handle common use cases in integration problems, providing access to various data and communication protocols. The input or output from any two components can be linked together, offering unlimited possibilities.
Designers can also create custom Interface Adapters by writing Python code directly within the Studio.
Health Level 7 Protocol (HL7)
- Parse and generate HL7 2.X messages
- Parse and generate HL7 3.0 XML
- Send and receive HL7 over TCP/IP or Web services
Remote File Transfer
- Send and receive data files using FTP
Database Management Systems
- Interface with any SQL database
- Parse and serialize XML
Formatted Text Files
- Parse and generate text files
- Supports hierarchical record matching
- Send data to any Web service through HTTP
- Supports REST
- Supports SOAP
Generic TCP Sender Task
- Define your own simple TCP-based protocol
- Supports SMTP
- Supports POP3
- Invoke other applications on your machine
- For any third-party application which has a command line interface, you can pass data between that application and MD Link
- Monitor folders for new or changed files
- Load documents for processing
- Write scripts in Python
- Use third party Java libraries for extended functionality
Case 1: HL7 Patient Admission to Nursing
This case shows how to receive, parse, generate and send HL7 messages. The Interface monitors an admissions message queue using an HL7 Socket Event. It parses the message and generates a nursing HL7 record. Finally, an HL7 Socket Task sends the converted admission message to a Nursing System via a Web service.
The HL7 Generator Task shows:
- HL7 message version
- HL7 message type
- Using a standard message schema, as opposed to a custom one
The Data Mapping window shows:
- Source is ORU R01 (admission)
- Target is also ORU R01 (nursing)
- The mapping uses an XPath function which converts last names to upper case characters.
Case 2: Sending Spreadsheet Data as HL7 Messages
This case shows how to take patient data, stored in a non-HL7 format, and send it to a receiving system as an HL7 message. In the case shown, patient data is taken from .csv (spreadsheet) files.
The Interface’s workflow:
- A user moves the .csv files to an input directory
- A File Change Event (labeled here as “Detect Excel File”) sees each .csv file as it appears in the input directory, passing that file’s data down the chain.
- A Custom Task (labeled here as “Generate HL7 Message”) runs a Python script which creates an HL7 message out of the .csv file’s data.
- An HL7 Socket Task then sends the HL7 message to the receiving system.