UniCharts electronic medical record system accepts laboratory results through HL7 data files. It supports all versions of HL7 protocol (from 2.1 through 2.6) so as the make the interface compatible with as many systems as possible.
The laboratory company, using its own software, deposits the HL7 version 2.x ORU message files to a mutually agreed upon directory on the computer that has the EMR server installed. UniCharts EMR system scans this shared directory at regular intervals and automatically processes the new incoming files as soon as it detects them. Depending on the processing outcome and interface settings described further down the page, the files are then either deleted or moved to a sub-folder within the shared directory. The successfully processed files are converted into neatly formatted human-readable reports and then mapped to patient charts using an internal algorithm (also described further down the page). Finally, the system sends an alert message along with the generated report to the pre-designated user. The alert message and attached report lands in the Messages Inbox of the designated user, from where he/she is able to review, sign or forward it to any other user of the system for further action. If the system is not able to map the generated report to any chart, it still sends the alert message and the report to designated user but, in this case, it also provides the mechanism for manually indexing the report to its respective chart.
Enabling an Interface
The EMR server has a tab called "EDI Interfaces" that is dedicated to outgoing and incoming interfaces. The tab has three outgoing interfaces for exporting demographic and/or charge capture information and three incoming interfaces for importing laboratory and/or radiology information. The outgoing interfaces are enabled by default and users just have to define the configuration settings and turn them on as needed. However, the incoming interfaces must first be enabled by acquiring a key and then Entering the Key into the EHR system. One interface is for use with one lab or radiology clinic and, therefore, you should acquire key for one incoming interface if you receive results from just one entity. You can always enable the remaining two interfaces further down the road if need be.
Interface Configuration Settings:
Once an interface has been enabled, it must be first be configured before it could be started. To configure, just hit Configure button to open configuration screen and select options from the dropdown menus as appropriate.
The following table explains the setting options available on the above configuration screen:
| Interface Startup ||We recommend selecting Always start with the EMR server startup option. This would eliminate the risk of forgetting to start the interface after EMR startup. Note that an interface must be running in order to read and process any incoming messages. There may be situations in which it is desirable to keep it manual, but most of the time auto start is the best option to choose. |
| Message to read ||Select Laboratory Results as the option for laboratory interface. Note that the interface would be able to read both laboratory and radiology reports regardless of this setting. However, the generated report would bear the title based on the option selected here and it will also decide in which folder within the patient chart's Document Viewer the system would be saving the report. If you select Laboratory Results option, the reports would be saved to Laboratory folder. |
| Message version ||We recommend selecting Based on MSH option instead of any particular version. As some labs do not stick to a particular HL7 version and may send messages based on different versions at different times, this setting would be most flexible and cover any message version that may be sent to the interface. |
| Associated Clinic ||As multiple clinics could exist in the same UniCharts EMR installation, you must select which clinic is to be the recipient of messages read through this interface. Note that if there is only one clinic within the system, as it usually goes, there would be just one option available on the dropdown. |
| Supervising User ||Once you select the clinic, all of its users would become listed on this dropdown. Here, you must select which user would be performing the administrative role for this interface. Select this user carefully as he or she would be the one who will be receiving alerts and reports that are generated by the system and responsible for taking any further action on them. |
| Folder to scan ||You can select any directory you want as long as it is not a Windows protected directory and exists on the same computer on which EMR server program is installed. The selected folder should also be one dedicated to this purpose. That is, only the laboratory system should be accessing it to deposit message files and only UniCharts EMR system should be accessing it to read message files that may have been deposited. Note that the interface must be able to exclusively lock a file before it could be processed. |
| Del after read ||Selecting the target directory above would automatically create two subfolders "Processed" and "Errored" in it. Select Yes, delete option if you want to delete files that have been successfully processed. The other option No, just move will get them moved to the "Processed" folder instead. However, note that any files that could not be processed for any reason will always be moved to the "Errored" folder and will not be deleted. |
| Polling ||Here you select the scan interval you want for this interface. You may set it to 10 seconds initially while you are running test messages from the lab in order to get quicker feedback, the option Every 1 minute is usually sufficient for regular use then onwards. |
Starting the Interface:
Assuming that configuration settings have been saved, the interface is now set to read and process messages that may arrive. The only thing needed now is to start the interface. If you have selected Always start with the EMR server startup option on the configuration screen as recommended, the interface will start automatically on the next startup of the EMR program. In case you want to start it immediately, this can also be done just by clicking the Start button associated the interface, as shown below.
Monitoring the Interface
UniCharts EMR provides an easy way to monitor interfaces through a status bar right on the bottom pane of EMR server. The status bar has six square icons on it, three of which represent incoming while the other three correspond to outgoing interfaces. An icon for interface that has not yet been configured has no background color.
Once the configuration settings for an interface are saved, the square icon representing that interface on the status bar turns yellow. A yellow icon means an interface configured but not running.
Once the interface gets started, either manually or automatically at the time of EMR startup, its status icon turns green. A green icon indicates an interface that is running and ready to process messages.
Finally, if the interface encounters any problem while running, its icon changes to red color. A red icon signifies an interface that is in running state but for some reason not able to read or process messages.
It is recommended that EMR administrator periodically monitor the status bar. As status bar is visible on the bottom pane of the EMR server program, the status can be checked even without logging into the system. The need to log into the administrator area would only arise if an icon turns red, in which case the administrator must go to the "EDI Interfaces" tab to get more information about the error and resolve it. Note that the icon turns red only if the error is related to the functioning of interface itself. Any problem with the format or content of incoming files does not constitute to be an error condition for the interface, as discussed below.
There are two types of problems that an incoming interface may encounter during the course of its operation.
- Problem with incoming files: First is the case where interface is able to read a deposited file but the file itself has problems with it. For example, the file may not have any of the four allowed file extensions or it may simply be of a very large size. Similarly, the message contained in the file may not be syntactically correct or it may not be the expected ORU message in the first place. Furthermore, a message from the same source and bearing the same control ID that has been successfully processed earlier cannot be reprocessed.
- How does the Interface react in such a situation? The interface renames the file, moves it to the "Errored" folder mentioned above and sends an alert message to the designated user to that effect. The user may then retrieve the file/s from "Errored" folder and take further steps as appropriate.
- Is there any recommendation for administrator? Even though the Interface always sends an alert message, there is always a chance of an oversight or accidently deleting a message. Therefore, it is recommended to periodically (once or twice a week) check the "Errored" folder for any files therein that may be needing attention.
- Problem with the Interface: The second and less probable scenario is where the interface itself is not able to run or process the incoming files. For example, a firewall or antivirus program may be denying access to the folder containing incoming files. Similarly, there may be an internal application error preventing the interface to read and process incoming files.
- How does the Interface react in such a situation? The interface attempts to send an alert message to the designated user but, depending on its state and the type of error, the message may or may not get through. However, regardless of the alert message, the interface icon on the status bar always turns to red if any such error condition arises.
- Is there any recommendation for administrator? As there is no surety that the alert message would reach designated user in this case, it is strongly recommended to periodically check the status bar for any potential error conditions. However, the status bar is visible on the bottom pane of EMR server and just a glance on it would tell if there is an error condition needing further attention. The details of the error are available on that Interface's pane on the "EDI Interfaces" tab and also permanently saved to the log file residing in ../UniCharts/tomcat/logs folder.
General Parsing Rules:
Again, the EMR laboratory interfaces do not use a strict parser so as the make themselves compatible with as many systems as possible. However there are a few conditions that must be met for the messages to be acceptable.
- There should be one message per data file. Although every interface is capable of processing up to twenty messages in the same file as long as they are separated with carriage return and new line (\r\n) characters, it is strongly recommended to send one message per file.
- The MSH segment must be the first segment in the message. The interface does not accept any other information before this segment.
- The message must be syntactically correct.
Standard Segments Processed from ORU Messages
The UniCharts EMR laboratory results interfaces utilize the following message segments to extract data and generate reports. Any segments other than the below are not used and simply ignored.
| MSH || Message Header |
| PID || Patient Identification |
| ORC || Common Order |
| OBR || Observation Request |
| OBX || Observation |
| NTE || Notes and Comments |
Fields Usage for ORU Laboratory Messages
- The field MSH-7 is used to display the date and time on the generated report.
- The fields PID-2, PID-3, PID-4, PID-5, PID-7 and PID19 are used for matching the incoming report with an existing chart within the system. Note that the demographic information included in the PID segment is not used to update the demographics in the patient chart.
- The field ORC-12 is used to extract ordering provider's name and identification number. If ORC segment is not present or the ORC-12 field is empty, then OBR-16 is used to collect this information.
- The field OBR-15 is used to read specimen source whereas OBX-11 is used to determine the status of a test result. This OBX-11 value is displayed on the last column of report as the status of test result.
- The NTE segments associated with PID, OBR and OBX segments are all processed to extract any information that they may contain. The organization name is extracted from OBX-23 field if it is present. The system does not support Z-segments at this time.
- The first attempt is based on the chart ID number. The system looks for the chart ID first in PID-2, then PID-3 and then PID-4 fields. Whichever field first matches to an existing chart is used for further matching. A record is declared a match if:
Patient's last name (PID-5-0) also matches in addition to the chart ID number.
Patient's date of birth (PID-7) also matches in addition to the chart ID number.
Patient's first name (PID-5-1) also matches in addition to the chart ID number.
- The second attempt is based on the patient's social security number. The system looks for the social security number in PID-19 field. If the value matches to an existing chart, it is used for further matching. A record is declared a match if:
Patient's last name (PID-5-0) also matches in addition to the social security number.
Patient's date of birth (PID-7) also matches in addition to the social security number.
Patient's first name (PID-5-1) also matches in addition to the social security number.
- The third and final attempt is based on patient's last name (PID-5-0), first name (PID-5-1) and date of birth (PID-7). A record is declared a match if all three values match to a chart existing within the system.
If a chart cannot be matched on the above three attempts, no further attempt is made and the record is considered to be a null match requiring manual matching by the user.