Thursday, 23 May 2013

Eclair document publisher aka I don't know what I'm doing

Your business wants to put documents into Eclair huh? They have an application making documents but they can't put them into an OBR message for Eclair to process for whatever reason?
There is this thing called the Eclair document publisher which is a windows service that will look in a directory for files, it will grab those files, parse the file name to extract metadata for the file and then cram them the document into the Eclair repository so the document can be viewed from the front end.
Someone has just given you the install for Eclair document publisher, you can manage that right? WRONG! YOU ARE LOOSE CANNON BALANCING ON THE EDGE OF THE ABYSS!

So anyway, this is what you'll have to do:

  1. Install that sucker
  2. Add configuration so it knows where to read the files and how to parse them

Things that will make you sad

  1. The EclairDocumentPublisher.exe is 32 bit, you're probably on a 64 bit machine that means things going in to the registry will be in the Wow6432Node hive rather than where the documentation says they will be
  2. Both EXEs (the actual service and the configuration app for the service) will try to update the registry, this means you probably need to run them as administrator (and when you install the service via command prompt, run the command prompt as administrator) otherwise there will be a stunning lack of results
  3. When we started the document publisher in our production environment our Eclair front-end performance degraded to a point where it was unusable. Whoops! Apparently the Doc Publisher adds some additional load to some database processes somehow, and that was enough to push our DB server over the edge and maxed out CPU and paging and memory was being written to disk or some hardware nerd stuff like that. This was fixed, as always, by adding more RAM to the virtual machine.
  4. I found the document publisher service had to be run as a user that is a local admin, may have related to the directory we were picking files up from and the security on that directory.
  5. If you screw up a configuration you might need delete the entire thing and start from scratch rather than trying to edit it. When a configuration is first created (or maybe when first seen by the other services) it seems to copy some information into the Eclair database, you can then no longer change that information via the configuration app.  I had this problem when I pointed it to the wrong IP address (pointed it to the Eclair server rather thann the Iris server)
  6. When you change the configuration for the Document Publisher you need to restart all of the  Eclair services for it to take effect, why, well 

Installing the Document Publisher windows service


Before you start, you're going to need all this junk:
  • EclairDocumentPublisher.exe
  • EclairDocumentExporterConfiguration.exe
  • 2_3.HDT
  • 2_3.HTT
  • ORUR012_3.HMT
  • A directory that your documents to process will be placed in
  • An example file with its filename ready for parsing, e.g. John_Labtest_NHI1234_19650429_4677929_C_158_ExamEndo_Upper GI endoscopy_20130314125148_Kelvin_Perrie_KPE001_20130318112338.pdf
  • There should already be an ODBC connection installed (I think the other services use this), you can verify this by running C:\Windows\SysWOW64\odbcad32.exe (not the one in control panel if you're on a 64 bit machine) and checking that an Eclair32 data source exists.
The EclairDocumentPublisher.exe is the actual code for the windows service. The EclairDocumentExporterConfiguration.exe is used to configure the windows service.  The other files, who knows, I think they are some sort of message schema documents that the service needs.

  1. Log on to your Eclair machine
  2. Copy the above files to the C:\Eclair\Services\ directory
  3. Put the example file into the directory where the service will be reading documents from
  4. Start a cmd prompt as administrator and navigate to C:\Eclair\Services
  5. Enter "EclairDocumentPublisher.exe /INSTALL EclairDocumentPublisher [Environment]" where [Environment] is one of TRAIN, TEST or PROD.  Our development environment points to eclair training.
  6. Confirm the service installed correctly by checking its settings are in the registory, Start -> Run -> RegEdit then navigate to HKEY_LOCAL_MACHINE\Software\WOW6432node\Delphic\ and confirm the Sub Key EclairDocumentPublisher exists here.  
  7. You will need to update the values in the registry to be correct for your environment.  The DBName should be set to your ODBC connection name.

Configuring the Document Publisher to process some documents


  1. Right click your EclairDocumentExporterConfiguration.exe and run as administrator
  2. Click next to create a new 'export'
  3. Select your example document and click next
  4. Enter your delimiter (we used an underscore) and it will preview the fields
  5. Map the values in your filename to fields in Eclair
  6. Click next and set non filename data
  7. Click next and enter your ODBC details
  8. Click next and enter the type of documents you want the publisher to grab
  9. Enter the details for the Eclair interface.  This is where the Iris services are, for us this is a different machine to where the Eclair services were.  The document publisher will pick up documents, make an HL7 out of them and pass it to the Iris service.
  10. Perfrom a test when asked, and give it a name and save.
  11. Confirm everything was saved correctly in the registry at the key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Delphic\EclairDocumentPublishers\[The name of your configuration]
  12. Remove your example document so that when you start the document publisher service it isn't sent to Eclair
  13. Restart all of the Eclair services so that your changes to the configuration are picked up

All done yo.  Now when you drop a document into the folder it should get grabbed by the document publisher and put into Eclair.  The doc publisher service does have a log (location of the log is set in the registry), you can get more information in this log by setting the DEBUG value in the registry to 1.


No comments:

Post a Comment