HL7  

HL7 is the name of the file format that EZ2000 Plus  Dental uses to synch data with other medical software.  There are two different HL7 interface technologies built into EZ2000 Plus Dental:

eClinicalWorks Program Link: These interfaces have been used for years.  They are stable and proven.  They are still used by most customers.

Generic HL7: These interfaces can be customized to accommodate any software.  There are a few more options, such as to use TCP/IP instead of shared folders.

Messages are used to pass information between EZ2000 Plus Dental and the other medical software.  The EZ2000 Plus Dental server will have two shared folders that will be used to pass files back and forth.  A service (program without a user interface) called EZ2000PlusDentalHL7 will need to be installed on the server.  It will handle the interaction between the HL7 messages and EZ2000 Plus Dental database. Start by making sure the client EZ2000 Plus Dental program is installed on the server the same as it would be on any other workstation.

Connecting to the Database
The information for connecting to the database is contained in a file in the application folder called FreeDentalConfig.xml.  This is the very same file that the main EZ2000 Plus program uses to connect to the database.  The information in this file must be accurate before starting the EZ2000 PlusDentalHL7 service.  One way of ensuring the accuracy of this file is to start the ordinary EZ2000 Plus Dental client program and use the Choose Database window to set the database connection information.  Only simple direct database connections are supported.  Warning!  If you are using Vista, Windows 7, or Windows 8, you must right click, run as administrator when running EZ2000 Plus Dental or the information you enter will not be saved to the FreeDentalConfig.xml file.  You can verify that the information saved correctly by launching EZ2000 Plus Dental again.  You must not have checked the "do not show this window on startup" checkbox in the Choose Database window in order to see the information again.   Once the information is correct and verified, you can be sure that EZ2000 PlusDentalHL7 will connect to the correct database when the service is started.

HL7 Folders
See the screenshots of the eClinicalWorks, Mountainside, or Generic HL7 setup windows.  That's where the HL7 folder(s) are set up.  You will most likely be accessing the setup window from the server, so the paths will be relative to the machine you are on.  But beware that the setup window is also viewable from other computers, in which case the paths will be invalid from the other computer.

Service Manager
The EZ2000 Plus Dental Service Manager must be used to create a service to send and receive HL7 messages. If there are multiple database for multiple customers being hosted on one server, then multiple HL7 services, each with unique names, must be setup.  Then, each database must be set up to match with a differently named HL7 service.

Errors
If the service does not start as expected, then check to make sure the database and HL7 folder are correct as explained above. Also, it will not start if the version is not exactly the same as the version of the main OD program.   If it still won't start, look in the Computer Management tool.  My Computer, right click, Manage.  Expand System Tools, Event Viewer, Windows Logs.  Click on Application.  The error and information entries will help determine the reason why the EZ2000 PlusDentalHL7 will not start.

Update Sequence
1. As part of the ordinary update, close EZ2000 Plus Dental on all workstations.
2. This would also be the best time to stop the EZ2000 PlusDentalHL7 service using the tool above (or using any other method).  It is critical to stop the service if you are going to up date the server first.
3. Update one computer to the new version and get EZ running well on that computer.  If you are also using the Middle Tier, you would perform the first update on that computer, which is not necessarily the same computer as the HL7 server or the database server.
4. Update the other computers.
5. At whatever point the HL7 server computer gets updated, the EZ2000 PlusDentalHL7 service absolutely must be stopped first.
6. If you forget to stop it, then stop it and "repair" the EZ installation.
7. Start the service.

Simple Troubleshooting
If the messages are not being passed to EZ and processed as expected:
1. Stop the EZ2000 PlusDentalHL7 service.
2. Make sure your version of Open Dental is at least 7.3.10, 7.4.13, or 7.5.10.  Make sure eCW is at least version 8.0, build 100.17.
3. Edit the FreeDentalConfig.xml file by adding a line for <HL7verbose>True</HL7verbose>.  Example:
<?xml version="1.0" encoding="utf-8"?>
<ConnectionSettings>
   <DatabaseConnection>
      <ComputerName>localhost</ComputerName>
      <Database>opendental</Database>
      <User>root</User>
      <Password></Password>
      <NoShowOnStartup>False</NoShowOnStartup>
   </DatabaseConnection>
   <DatabaseType>MySql</DatabaseType>
   <HL7verbose>True</HL7verbose>
</ConnectionSettings>

4. Start the service.
5. Trigger eCW to create a text file in one of two ways:
---Edit patient information.
---Create a new appointment.
6. In either case, wait about 10 seconds for the message to be processed.
7. Look in the Windows Log as described above, refreshing as needed.  Verify that the information was processed by EZ2000 Plus Dental. Both kinds of messages should result in an insert or update to the patient table. If the trigger was a new appointment, then the message should also result in an insert or update of the appointment table.
8. After troubleshooting, remove the <HL7verbose>True</HL7verbose> line from the xml file. The line will also usually be removed automatically when you click OK from the Choose Database window.

Complex Troubleshooting
1. Perform the Simple Troubleshooting above first. If that does not solve the problem.
2. Turn off EZ2000 PlusDentalHL7.
3.  Look up the paths that are saved in the eCW folder.
4. Open the out folder in Windows.
5. Trigger eCW to create a text file in one of two ways:
---Edit patient information.
---Create a new appointment.
6. In either case, wait up to 60 seconds for the message to appear in the out folder.
7. If it does not appear, then the HL7 service is not set up properly in eCW to create files.
8. If it does appear, make a copy of the message for later analysis.
9. Start EZ2000 PlusDentalHL7.
10. If the original message does not disappear, then there is a problem with EZ2000 PlusDentalHL7. Look in the Windows Log for errors with the message processing.
11. If the message still does not seem to have been processed, then it will need to be debugged.  A copy of the message, and possibly the database itself, will need to be sent to EZ2000 Plus Dental programmers for testing.

HL7 Field Documentation
As of version 11.0.31

MSH - Message Header
Every incoming and outgoing message must have a MSH segment, which is usually the first segment. MSH.8 is required to be the message type field and is composed of two components. Component 1 is the message type (ADT, SIU, DFT, etc.) and component 2 is the event type with the designated component separator between them. A typical MSH.8 field would look like this: SIU^S12 or ADT^A04.

ADT - Demographics Message
PID.2 (eCW internal patient number) is used to determine patient.  If using tight integration, this is stored in the PatNum field in EZ.  If using standalone integration, this is stored in the ChartNumber field in EZ.  If a match is not found, then a new patient is created in EZ.
PID imports LName, FName, MiddleI, Birthdate, Gender, Race, Address, City, State, Zip, HmPhone, WkPhone, Position(marital), and SSN.  If this is a new patient, PriProv is set to practice default.
PID.4 (eCW account number) is saved to the ChartNumber field when using tight integration, but not saved at all when using standalone integration.
PID.22 is parsed for the fee schedule, creating a new one if needed.
PV1 is ignored.
PD1 is ignored.
GT1 is processed to create a guarantor if needed.  The processing is nearly identical as for the PID segment.
IN1 is ignored.

SIU - Scheduling Message
PID.2 (eCW internal patient number) is used as PatNum to determine patient. If match is not found, a new patient is created with that PatNum.
PID is processed to extract 16 various patient demographic fields.
PID.4 (eCW account number) is saved to the ChartNumber field when in tight integration mode.
PV1 is ignored.
SCH.2 (eCW visit number) is used as AptNum to find or create an appointment.  If a found appointment does not match PatNum, error message is shown.
SCH.7 stored in appointment.Note
SCH.11.3 is stored in appointment.AptDateTime
SCH.11.4 (stop time) is used to caculate appointment.Pattern, the length of the appointment.
If AIG segment is present, it is processed for appointment.ProvNum and patient.ProvNum.  A provider is created if needed, based on the eCW alphanumeric provider id. 
If AIG segment is missing, PV1 is processed instead.
AIL is ignored.
AIP is ignored.

DFT - Charge Specification
PID.2 (eCW account Number)
PID.3 (eCW internal patient number)
PID includes an additional 14 patient demographic fields
PV1 includes provider information
PV1.19 (eCW visit number) The AptNum that was originally passed in by eCW.
FT1 A series of segments for all the procedures.
ZX1.5 If this DFT is being used to send a treatment plan, then this is a pdf file, encoded as base64 string. Otherwise, blank.

Also, see HL7 Unit Tests.

 

EZ2000 Plus  Dental Software 800-273-5033