Showing posts with label HL7. Show all posts
Showing posts with label HL7. Show all posts

Thursday, November 1, 2018

HL7Kit 2018 - Integrated DICOM and HL7 Solution

Yo! It's been a while ... no posts since June 2016 :-§

Maybe its because when you do there's less time to talk, ah? Anyway, I finally got some time for it and that's because HRZ have finally officially released HL7Kit 2018. Yeah! Check this beautiful little web site we've published for the occasion. Let me tell you about this product that my team and I worked so hard to push through the door.

For those of you that worked with the kit before, the first thing you will notice is the new UX. We've invested in usability and graphic design to make the kit nicer and simpler to use.

HL7Kit desktop applications shortcuts and the control panel


Another improvement is that now the installation and evaluation is much simpler because after installation (which is just a series of next-next-nexts) everything works with an internal SQLite database and by everything I mean everything! DICOM Storage, Q/R, Modality Worklist MPPS, and HL7 Orders ORM^O01 and Schedules SIU^S12 that are automatically mapped to Modality Worklist entries. Apart for the fact that it makes evaluation a snap, it also makes it really attractive for

Tuesday, March 12, 2013

HL7Kit Pro 2.0

[update 24 March 2023: Latest releases of HRZ software can be found on HRZ website - www.hrzkit.com]

At last, HL7Kit pro 2.0 is out! The new kit features complete integration between DICOM and HL7 and comes up with the DICOM Modality Worklist SCU (as an option) fully pre-configured out of the box. After installation, the package can serve both HL7 orders and DICOM modality worklist queries with no additional configuration. To complete the package we've added the Modality Worklist client so you can see the full cycle.
As before, the kit comes with free evaluation download. The price for the kit has not change but the DICOM Server comes as an extra. More updates soon as we complete new video tutorials and users manual.
The kit relays on SQL Server and installer looks for a pre-installed SQLEXPRESS instance. Check the downloads on roniza.com

Sunday, July 8, 2012

DICOM Modality Worklist Server

HRZ DICOM Server is in use for many years in my custom software projects. It's a windows based service that is easily installed and configured. I've been using it since 2008 for various purposes and it is now a very stable and reliable software.
In this post I'm going to present its use as a Modality Worklist Server (or in short MWL SCP), explain how to install the software and how to configure the database to match your needs. Then, on the next post, I'm going to combine it together with processing HL7 order message to schedule a new work item. This will close the gap between HL7 and DICOM and we'll have most of the parts of IHE's radiology schedule workflow (SWF) integration profile.


What's the difference between a DICOM Server and a PACS?

Throughout the years, as PACS evolved, there were many debates about what is the feature set that makes a PACS? Does it have to have a Viewer? Does it have to provide all DICOM services? Should it have HL7? Many questions and even more answers. Calling it a DICOM Server is a laundry cleaning bypass of all that. It's a DICOM Server meaning it serves requests for DICOM Clients. What services does it provide? DSRSVC is a Storage SCP by default and you can add more services to it as you like using a plugin API. In the download page you'll find two plugins. The INI file plugin provides configuration for the storage service. The MS SQL Server DICOM Database Plugin adds:
  • Query/Retrieve SCP, 
  • Storage Commitment SCP and 
  • Modality Worklist SCP
Throughout the years it was used in all kind of applications, as an inbox for web viewer, as a CAD engine, as a departmental archive, as a proxy, as a bridge, and many more.

If you're looking to speed up development and use an off-the-shelf software product that you can easily extend, customize and integrate with your system, read on.

Thursday, November 17, 2011

Special offer for the new HL7Kit Pro 1.5

The new version 1.5 of HL7Kit Pro - HL7 to Database Integration Engine was released today. To celebrate the new release, the new version is offered at only $249 and includes all 4 applications in a single installation package. We've come to realize that our users prefer having the entire product installed on the production server including the HL7 Sender, HL7 Receiver and the HL7 Mapping Tool.

The main new feature of the new release is the support of multiple protocol versions and multiple mapping rules for a single runtime service. The runtime service can be configured to use different message definition files and different mapping XML for every remote application. This feature was requested long ago by many customers and a workaround to allow this was introduced in version 1.2. Now this feature is fully integrated into the product. The new release can be downloaded here.

Friday, October 28, 2011

HL7Kit Video Tutorials

If one picture worth a thousand words, how much does a 20 minutes video tutorials worth?
The HL7Kit web site promise that "You are 20 minutes away from HL7 integration!" I checked that again, this time on film.
From download to runtime deployment, a series of five detailed videos showing step by step how to set up a ADT^A01 message interface using HL7Kit.
Here it is. Comments and questions are most welcome.


Sunday, September 25, 2011

Open Source HL7 Sender

[update 24 March 2023: Latest releases of HRZ software can be found on HRZ website - www.hrzkit.com]




HL7 Sender source code is now available for free download.
The full source code of the HL7 editor / HL7 sender application can be obtained from the product web site

Tuesday, February 1, 2011

New HL7Kit Release 1.4 adds multiple destinations

We're happy to announce the new release 1.4 of HL7Kit, HL7 Integration Engine.
This release takes HL7Kit a major step forward with the new multiple-destinations feature.
With multiple destinations, HL7Kit can serve as a dispatcher for HL7 messages, sending the same message to multiple applications.
Every destination is monitored independently and has it's own retry counter, logging and error handling.
Users may select to send messages to all configured destinations or just to specific ones, depending on integration needs.
In addition, this release includes new message structure definitions for MDM messages.
A complete list of the features can be found in the updated user's manual available for download from the product support page at http://www.hl7kit.com/support.html.

Wednesday, September 1, 2010

HL7 Mapper may not save configuration due to missing access to INFORMATION_SCHEMA

Symptom: When trying to save configuration, an error message is shown with the following text:
"Object Reference not set to an instance of an object"
Reason: The HL7 Mapping application relies on SQL Server INFORMATION_SCHEMA to generate the database view dynamically. Apparently there has been some compatibility issues with this feature since SQL Server 2005 and sometimes there's no access to this view.
The view may be accessible on one catalog and not accessible on another even if they are on the same table.
If this

Solution: We are working on a fix to this problem.

Ticket 224: HL7 Mapper may not save configuration due to missing system tables



Sunday, August 29, 2010

Healthcare Software Integration Engines are grossly over priced


"Healthcare Software Integration Engines are grossly over priced"
These are not my words. This is an exact quote of a very well recognized healthcare IT professional.
And I fully agree. After all, what's the big deal, Aha? It's just moving fields and attributes from one place to another, change some formats maybe, some XML tricks, database. Really, no big deal, right?

You maybe think to yourself that I'm joking but I'm not. After all, I have developed an HL7 Integration Engine of my own that I'm very proud of, HL7Kit Pro. This little devil is not a show off. It's a tool designed to do one thing - build a two way road, a bridge, between your SQL Server database and HL7. 

In modern design, less is more. When going over the features list of some of these products, I can't avoid the comparison with a 'do it all 149 peaces hardware tool kit' perfect package on TV Shop America.

When shopping for an integration engine it's important to remember that there's always the other road. The one of developing custom interfaces. Good programmers nowadays are not that expensive to hire and the software tools we have today are efficient and easy to use. So when you are facing an integration challenge, you should compare the options and don't get tempted to purchase a multi K$ package bundled with a big unknown figure of expert consultation, maintenance and support fees to feed the monster.

Instead, take the right HL7 tool in your hands and finish the work in no time.

The new 1.3 release of HL7Kit Pro adds hot folders integration. The runtime service can be configured to digest HL7 messages from an inbox folder and write outgoing messages to an Out-box directory.

There's also better support for running multiple HL7 runtime services on a single computer, each using it's own queue.

... And there's many bug fixes and little improvements like the ability to read and write directly from views ...

All in all, the new release is a direct continuation of the old one and that's simply because there's no need for major changes when a tool is doing the work. Simple work, but still work.

Ask every professional: working with quality tools designed for the task is great fun.

To get you started, there are two example projects on the HL7 support page. One for incoming messages and one for outgoing messages that you can download and try with the evaluation copy.


Thursday, February 18, 2010

"Hacking" HL7Kit Pro Runtime Service to work with multiple HL7 applications

I know that it's not very common to show how to hack your own application but since this issue has been circling for a while, I'd like to show a workaround that will allow you to use the kit to integrate with many HL7 applications simultaneously.

The kit original design is to communicate with one remote application.


The workaround is to have multiple instances of the HL7 service running. The services can connect to the same database but each mush have it's own queue table.
Each will have it's own configuration file and it's own mapping rules file and mapping definitions but they will all write to the same log file and there can be only one active tray icon.

Here's how to set this up step by step:

  1. Stop the HL7 Service.
  2. In windows explorer navigate to the installation folder (default is c:\program files\rz software services\hl7) and make a copy of the folder, so you have hl7 and hl72.
  3. Create a copy of the HL7_QUEUE table so you have two queue tables or if you prefer, use each service on a different database schema.
  4. Use the HL7ServiceConfiguration.exe application in each folder to configure the port settings, mapping files and queue table names. Alternatively you can edit the HL7Service.exe.config file manually.
  5. Test your setup by running "HL7Service.exe -run" from two separate command line windows.
  6. Configure the new service to run on system startup. This is a bit tricky but here's a way that works:
    1. Run regedit
    2. navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HL7Service and export it.
    3. Edit the reg file and replace all "HL7Service" with "HL7Service2"
    4. Save it and double click it to import it to the registry.
    5. In regedit change the ImagePath entry of HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HL7Service2 to the copied HL7 Folder (hl72)
    6. Restart the computer.
Now you should have two services installed: HL7Service and HL7Service2. 
Of course, you can duplicate them as well.

I hope to have a new release soon that will allow multiple destinations and sources of messages.

Roni

Tuesday, March 24, 2009

HL7Kit Pro 1.2 Released!

We're proud to announce the release of HL7Kit Pro.
This product is the full version of HL7Kit and HL7FreeSender that were released in 2008.

With HL7Kit Pro you're just 20 minutes away from HL7 Integration.
No programming required!

Checkout the product site at [update 24 March 2023: latest HRZ ZiKiT Server can be found on HRZ website - www.hrzkit.com]

Here's a screen shot of the GUI Interface Design Tool.

Monday, November 17, 2008

HL7Kit 1.0.0.0 - a new HL7 Software

HL7Kit is a continuation of the HL7Sender that was released almost a month ago. This package is a subset of our upcoming HL7 Interface Development Suite and Integration Services carrying the same name (with optional Pro/Enterprise edition).
The current package can be downloaded  [update 24 March 2023: latest HRZ ZiKiT Server can be found on HRZ website - www.hrzkit.com]  from our web site and includes two applications for validating, editing, sending, receiving and processing HL7 v2.x messages.


The first application, HL7Sender, is an improved version with message editing area featuring Synchronized Structure and Content views of the HL7 Message and a save as XML option (from File/Save As menu item) for creating comprehensive and very useful representation of HL7 v2.x messages as HL7 XML. Clicking a node on the left panel tree view highlights the corresponding text in the right panel text box and vice versa. HL7Sender is currently a freeware.


The second application, HL7Reciever, is a powerful brand new application for receiving, validating and processing HL7 messages over TCP/IP connections. HL7Reciver runs a network listener and waits for incoming connections. When a message is received it can be saved automatically either as HL7 or as XML file (or both). In addition, you can configure HL7Reciever to start a new process and pass the saved message as a parameter (by default, the message is saved in XML format and opened using internet explorer). The behavior of HL7Reciver is controlled by no less than 6 Checkboxes! But don’t worry, it is rather straight forward and the tooltips explains it all. HL7Reciever can save logs to text files and has an event log as well that can be used for monitoring and auditing (Vista users, when running HL7Reciver for the first time, run it as administrator so it can create the event log).
As you can read, HL7Reciever is a very handy tool with lots of useful options. This package includes a 30 days fully functional free trial version that requires online registration. The licensed software is currently sold online for $150 USD. For purchase please follow this link.

One last note about the message structure. Check this post for a short explanation of how to modify the message structure definition files. Note also that the XML hierarchical structure is defined by this configuration. The field names in the XML are defined in the segment definition file and can be modified as well.


As already mentioned above, HL7Kit is a subset of HL7 Integration Suite that is coming very soon. Check this blog for updates or reigster for the feed to get updates on this product, how to use it and more.

Editing the message rules used by HL7Kit



The message rules configuration file msgRules.251 is using a similar notation to the one used in the HL7 Standard documentation.
Every line in the file represents one message definition.
The first element is the event type.
When the event type is followed by a semicolon and another event type that means that the structure of the message is defined by the event type on the left is identical to the one with event type on the right. In the example above ADT^A03 is defined to have an identical structure as ADT^A02.
When the event type is followed by a colon, a list of segment names and special grouping characters follow.
The special grouping characters are:




Aliases
Elements that are not special characters or a valid segment names are regarded as aliases. Aliases are used to group segments into entities. For example, in the ADT^A01 an alias called ‘patient’ is defined. Note that the alias name comes AFTER the segments group.

Tuesday, October 28, 2008

Free HL7 Message Sender Utility


As part of our ongoing development, we create all kind of utilities and test applications. Sometimes the story ends here. But occasionally we find some of the development by products worthwhile and decide to spend some more effort and remove the 'by'.
HL7Sender is a utility for sending HL7 messages through the network. It is rather simple, single form application with very few features. It can read, write, validate and send HL7 messages.
The upper part of the form shows the message in a rich text control where it can be edited. Be careful with these edits. Every HL7 segment starts in a new line. The best way to edit the message is simply to cut and paste segments from other messages (you can open multiple instances of the program) or fill text between two | signs (field separator).
At the lower part of the form there are a few text fields where the user can set the MLP network protocol elements, the TCP/IP protocol attributes (destination host name or IP address, port number and timeouts) and disable or enable ACK’s.
HL7Sender uses Igor Chernizer’s HL7ImEx HL7 parser and the two message structure text configuration files (segDefs and msgRules) are located in the installation folder and can be edited manually if necessary. The user can duplicate these files with different suffixes in order to use multiple ‘flavors’ of the HL7 version. The flavor’s suffix can be set in the ‘Message configuration version’ text box (don’t forget the dot ‘.’).
HL7Sender is currently free and can be downloaded from [Update 24 March 2023, this download is no longer available. Please visit HRZ ZiKiT Server at www.hl7kit.com].