520 likes | 885 Vues
A Very Brief History of HL7. HL7 = Health Level 7Founded in 1987- 2.0 was created in 1988
E N D
1. HL7 InterfacingPresented By: David HathawayJuly 20, 2010
2. A Very Brief History of HL7 HL7 = Health Level 7
Founded in 1987-
2.0 was created in 1988
2.1 ->2.3 1990-1999
3. Why it works Broad functionality used by many languages
Highly adaptable - least common denominator technology
Allows many different types of systems to communicate via a base format
4. Whats the Message Messages are the base format used for all HL7 communication
Broken by a | delimiter for each field
Each message is divided by Segments
These Segments contain fields in predetermined locations to be sent/received by the parties.
5. Types of Messages There are several types of messages that can be sent to and from data sources.
The two most common are
ORU = Tells the receiving system that the data is result based, such as RAD Reports
ORM = Tells the receiving system that the data is order based, such as RAD Orders
6. Segments Each line in a message is referred to as a Segment.
Each Segment has its own semantic purpose or function
There are over 120 types of Segments that can be used.
Each Segment provides a specific type of data to be sent.
7. Types of Segments MSH - Message Header. This contains information about the Sender and Receiver of the message, the type of message, time stamps, etc.
EVN Message Event. This contains information about the type of event. Example would be A04, and other basic type of the activity or transaction
8. Types of Segments PID contains demographic information about the patient like name, date of birth, account number
PV1 contains information regarding the patients stay in the hospital, such as location, room, bed, doctor information
THE ABOVE ARE REQUIRED SEGMENTS FOR MOST HL7 MESSAGES
9. Repeating Segments Some segments such as OBX, NTE, NK1, or AL1 can be repeating.
An example is the NK1 segment which shows the next of kin/associated parties will repeat several times if a person has several next of kin relationships
11. Sample of Repeating Segments
12. Composites Composites are the specific fields of a segment. The fields can be either a primitive data type such as a string number, alpha or alphanumeric or it can be made up of other composites (components). The components of each composite are separated by a ^ character and then sub-components of these components themselves can be delimited using the & character.
13. Delimiters | - FIELD DELIMITER
^ - SUB FIELD DELIMITER
& - SUB-SUB FIELD DELIMITER
~ - SEPERATOR FOR REPEATING FIELDS
\- ESCAPE CHARACTER
14. Sample of fields
15. ACK Every time an application accepts a message and processes the data it sends an Acknowledgement back to the sending application. The important part of an ACK is that it means the other systems has not only received but processed the message that was sent.
A NACK is an ACK that contains an error in that is sent back to the sending application.
16. Sample ACK
17. Questions ????
18. Outbound Vs Inbound There is no true definition of what can be considered Outbound or Inbound
The important factor is understanding what the main focus is.
In this case it is Meditech.
So all data being passed from Meditech to another Vendor is called Outbound and all data being passed into Meditech is called Inbound
19. What is NMI NMI stands for Non-Meditech Interface Module.
It is also called Interoperability.
The basic function of this module is to provide users with the ability to understand and monitor data being passed to/from Meditech to/from other Vendors.
20. Connection Manager The connection Manager is actually a collection of standard NMI routines that are based in one location.
This allows a user to access multiple sources of information in one location for both Inbound and Outbound interfaces.
21. How this HL7 Looks in NMI
22. Connection Manager Possible views that can be accessed from this routine:
Interface mnemonic and description
Last message sent with date/time
First message sent with date/time
Current status of the Interface
23. Connection Manager The Connection Manager also allows a user to drill down into a specific interface to see data related to that current feed.
There is a verb strip at the top of the routine that will allow a user to perform actions that produce different results
24. Connection Manager
25. Connection Manager Verb Strip Off = turn off currently selected feed
Restart = Toggle currently selected feed
Messages = drills down into the actual messages being sent from the feed. This will allow the user to see the actual HL7 message.
Xfer Log = activity log for selected feed. Provides information such as date/time start or stopped, number of messages, etc.
26. Connection Manager Verb Strip Trap Commands = This allows the system to capture any messages or errors sent to and from the feed.
This is a hidden function that is provided but not shown on the verb strip.
This is a very useful tool to see what is happening to the feed at a specific point.
27. Example of Verb Strip
28. Trap Commands To execute any of these Trap Commands a user must type the following at the command prompt in the connection manager
ST = Turn on Trap. User will be prompted with Y/N to confirm.
VT = Print trap data file
DT = Delete trap data
29. Trap Commands Users should consider that since a trap of any interface is going to store ALL activity, these files may become very large. It is a good idea to delete any trap files once they have been used.
A Green flag will appear on the second line of the feed to alert all users that a trap is running.
30. Trap Commands
31. View Paths This allows the users to drill down into the actual Inbound/Outbound level of the interface.
Outbound = Meditech -> to other Vendor system
Inbound = Other vendor -> to Meditech system
32. View Paths
33. Verb Strip for View Paths There are several commands off of this routine that will allow users to see a wealth of interface data.
The most relevant is the Msgs command. (which is equivalent to the view messages routine off of the main menu).
34. View Messages
35. View Messages This routine allows you to perform an F9 lookup and see all of the recent activity that has occurred for that interface.
Once a selection is made the view will then change to the actual message that was either sent or received by NMI.
Note: This is the actual HL7 formatted message.
36. View Messages
37. Useful Routines The Connection Manager is the best routine to see what the current state of any interface is at a given time.
With all of the functions provided, any user can troubleshoot the connection, stability, message format and other very useful actions with this one routine.
38. Useful Routines There are many other routines that will help expand on the users ability to troubleshoot any NMI feed.
A very good sub-menu to utilize is the Additional List Menu.
This menu offers a number of searches so that a user can find messages for specific patients or get very detailed data on a specific message.
39. Other Routines in NMI
40. Additional Routine Under this sub menu there are several search routines offered.
List messages by Account Number
List messages by Unit Number
List messages by Other Field
All of these searches work off the same basic principle.
41. Additional Routines Each will loop through the message for a specific piece of data, it could be account number, unit number or a user defined field.
A good part of this is to consider that since the HL7 format places these fields in specific locations the routine is able to check one spot on each message under the feed to find the data.
42. Example of a Search Routine
43. HL7 Message Detail This is one of the better routines that a user can use to see the actual HL7 process and data.
It lists the detail of any HL7 message
This includes interface name, mnemonic, message number, message type, if there was an ACK or NACK, segments, fields and any raw data in the message.
44. HL7 Message Detail
45. HL7 Message Detail
46. HL7 Message Detail
47. HL7 Message Detail
48. HL7 Message Detail
49. HL7 Message Detail
50. HL7 Message Detail
51. HL7 Message Detail
52. Summary As you can see from the HL7 Message Detail routine, the HL7 format is a means for both sides to communicate.
This allows for users to troubleshoot issues as long as they understand where to look for each specific piece of data.