Category Archives: Technology

HL7 tools

What is HL7

Health Level-7 (also knows as HL7) refers to a set of international standards for transfer of clinical and administrative data between Hospital information systems. These standards focus on the application layer, which is “layer 7” in the OSI model. The HL7 standards are produced by the Health Level Seven International, an international standards organization, and are adopted by other standards issuing bodies such as American National Standards Institute and International Organization for Standardization.

We use this standard in Olympus to provide communications between our systems and the Hospital information systems, PACS and other providers.

Tools

In order to deal with all the interfaces, configurations and integration projects, I will propose some utilities to make easier our engineering job. All the tools explained are free and there is no installation needed. That is perfect for computers where we do not have administrative privileges or where we do not want to install anything else to maintain clean the installation.

SmartHL7 Viewer

This tool let us inspect any HL7 v2 message. It does not have all the HL7 Standard database, but for the great majority of all the messages we deal, it is perfect. We can load a message or paste it directly.

2014-10-07 16_21_51-

Features:

  1. It has a small single executable, no install required.
  2. It handles very large file easily.
  3. It has build-in simple HL7 references.
  4. It has a straight-forward layout, colored element highlighting.
  5. It can easily navigate through messages.
  6. It has versatile import methods, including file drag-n-drop and paste from memory (Clipboard).
  7. It is free.

Website link: http://smarthl7.com/tools.html

SmartHL7 sender

With SmartHL7 sender we will have an HL7 network client. We can use it for testing for to upload HL7 data to another system with a HL7 inbound interface.

2014-10-07 16_59_54-

Features

  1. It has a small single executable, no install required.
  2. It handles very large file easily, and it is very fast.
  3. It implements MLLP which is compliant with the HL7 Standard.
  4. It displays every message’s send-status, including the received ACK (acknowledgement) and response time.
  5. It provides stats and has the option of logging sent and received messages to file.
  6. It is designed to provide the most convenience.
  7. It is free.
  8. *Note* the sending destination’s port is limited to range 1024-65535. This is to discourge those “well-known ports” (range 0-1023) being used for HL7 communication.

Website link: http://smarthl7.com/tools.html

HL7 Language for Notepad++

Notepad++ it is a free and open source (under GPL license) powerful editor. Notepad++ can handle efficiently large files quickly and can colorize the text in order to improve reading.

From the Notepad++ website: Based on the powerful editing component Scintilla, Notepad++ is written in C++ and uses pure Win32 API and STL which ensures a higher execution speed and smaller program size. By optimizing as many routines as possible without losing user friendliness, Notepad++ is trying to reduce the world carbon dioxide emissions. When using less CPU power, the PC can throttle down and reduce power consumption, resulting in a greener environment.

This application is allowed to be used on Olympus computers, so if you  feel you need this application, ask the IT guys to install on your computer.

Notepad++ can handle a large types of languages but HL7 is not between them. We can create our language, so we can add a new entry and define it. To avoid to create it from scratch, you can save as XML the following code and import.

<NotepadPlus>
 <UserLang name="HL7" ext="hl7" udlVersion="2.1">
 <Settings>
 <Global caseIgnored="no" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
 <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
 </Settings>
 <KeywordLists>
 <Keywords name="Comments"></Keywords>
 <Keywords name="Numbers, prefix1"></Keywords>
 <Keywords name="Numbers, prefix2"></Keywords>
 <Keywords name="Numbers, extras1"></Keywords>
 <Keywords name="Numbers, extras2"></Keywords>
 <Keywords name="Numbers, suffix1"></Keywords>
 <Keywords name="Numbers, suffix2"></Keywords>
 <Keywords name="Numbers, range"></Keywords>
 <Keywords name="Operators1">(x0D) | ^ &amp; ~ \</Keywords>
 <Keywords name="Operators2"></Keywords>
 <Keywords name="Folders in code1, open"></Keywords>
 <Keywords name="Folders in code1, middle"></Keywords>
 <Keywords name="Folders in code1, close"></Keywords>
 <Keywords name="Folders in code2, open"></Keywords>
 <Keywords name="Folders in code2, middle"></Keywords>
 <Keywords name="Folders in code2, close"></Keywords>
 <Keywords name="Folders in comment, open"></Keywords>
 <Keywords name="Folders in comment, middle"></Keywords>
 <Keywords name="Folders in comment, close"></Keywords>
 <Keywords name="Keywords1">ACC ADD AIG AIL AIP AIS AL1 BHS BLG BTS DG1 DSC DSP ERR EVN FHS FT1 FTS GT1 IN1 IN2 IN3 MFA MFE MFI MRG MSA MSH NCK NK1 NPU NSC NST NTE OBR OBX ODS ODT OM1 OM2 OM3 OM4 OM5 OM6 ORC PD1 PID PR1 PRA PV1 PV2 QRD QRF RGS RQ1 RQD RXA RXC RXD RXE RXG RXO RXR SCH STF TQ1 UB1 UB2 URD URS ZAL ZBN ZEI ZLR ZNI ZPI ZQA ZV1</Keywords>
 <Keywords name="Keywords2">ACK ADR ADT ARD BAR DFT DSR MCF MFD MFK MFN MFR NMD NMQ NMR ORF ORM ORR ORU OSQ PGR QRY RAR RAS RDE RDR RDS RER RGV ROR RRA RRD RRE RRG UDM OML SIU</Keywords>
 <Keywords name="Keywords3">A01 A02 A03 A04 A05 A06 A07 A08 A09 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 A33 A34 A35 A36 A37 M01 M02 M03 O01 O02 P01 P02 P03 P04 Q01 Q02 Q03 Q05 R01 R02 R03 R04 SIU</Keywords>
 <Keywords name="Keywords4"></Keywords>
 <Keywords name="Keywords5"></Keywords>
 <Keywords name="Keywords6"></Keywords>
 <Keywords name="Keywords7"></Keywords>
 <Keywords name="Keywords8"></Keywords>
 <Keywords name="Delimiters">00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
 </KeywordLists>
 <Styles>
 <WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="COMMENTS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="LINE COMMENTS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="NUMBERS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="KEYWORDS1" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
 <WordsStyle name="KEYWORDS2" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
 <WordsStyle name="KEYWORDS3" fgColor="00FF00" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
 <WordsStyle name="KEYWORDS4" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="OPERATORS" fgColor="FF00FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="FOLDER IN CODE1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="DELIMITERS1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="DELIMITERS2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
 </Styles>
 </UserLang>
</NotepadPlus>

How to manage several connections using the mRemoteNG tool

Introduction

mRemoteNG (multi-Remote Next Generation) is a wonderful tool that will let you manage several connections at the same time.

From the mRemoteNG website:

mRemoteNG is a fork of mRemote, an open source, tabbed, multi-protocol, remote connections manager. mRemoteNG adds bug fixes and new features to mRemote.

It allows you to view all of your remote connections in a simple yet powerful tabbed interface.

mRemoteNG supports the following protocols:

  • RDP (Remote Desktop/Terminal Server)
  • VNC (Virtual Network Computing)
  • ICA (Citrix Independent Computing Architecture)
  • SSH (Secure Shell)
  • Telnet (TELecommunication NETwork)
  • HTTP/HTTPS (Hypertext Transfer Protocol)
  • rlogin
  • Raw Socket Connections

A portable version is available also on the download page: http:~//www.mremoteng.org/download

Using the application

Once you open the application, you can start to create connections inside the left panel “Connections”. I will recommend you create folders in order to have a clean organization:

2014-10-07 10_13_51-Useful tools - How to manage several connections using the mRemoteNG tool

To open a connection, just double click on the icon or choose “Connect”  from the right click with the mouse on the icon connection and a tab will be opened with the connection.To close a connection, just press the X button that appears at the right or right click with the mouse on the icon connection and choose “Disconnect”

2014-10-07 10_14_54-Useful tools - How to manage several connections using the mRemoteNG tool

If you choose “Connect” a new connection instance will be created.

Each kind of connection has this own properties. For example, for the http and http connection we can choose the rendering engine between Internet Explorer or Gecko (Firefox) and also the resolution.

2014-10-07 10_15_20-Useful tools - How to manage several connections using the mRemoteNG tool

For the ssh connections, you can choose between ssh version 1 or version 2 protocol (recommended).

2014-10-07 10_15_38-Useful tools - How to manage several connections using the mRemoteNG tool

Tools

There are tree tools already implemented with mRemoteNG. SSH File Transfer will let you know transfer files through a SSH connection. With Port Scan you can check for the status of ports (open / closed) you are interested on the IP range you specify.

2014-10-07 10_16_00-Useful tools - How to manage several connections using the mRemoteNG tool

With External Tools you can implement external tools, and this is very interested for us.

2014-10-07 10_16_20-Useful tools - How to manage several connections using the mRemoteNG tool

External tools

There are two tools that will be very useful for us. To be implemented, we have to add it using the External Tools. Once opened, to create a new entry just click with the right button mouse and choose “New External Tool”

Password Reveal

If we forgot one of the password stored, we can retrieve it using an External Tool. The properties we have to set for this External tool are:

2014-10-07 10_16_45-Useful tools - How to manage several connections using the mRemoteNG tool

To use it, just select this External tool on the right click menu over a connection icon.

2014-10-07 10_16_56-Useful tools - How to manage several connections using the mRemoteNG tool

A command line windows will appear with the password on top.

2014-10-07 10_17_13-Useful tools - How to manage several connections using the mRemoteNG tool

 

Launching WinSCP for tranfer files

The ssh file Transfer is not as intuitive as WinSCP, so we can call WinSCP from mRemoteNG when we need to transfer files. To do that first we have to create an External tool with the following parameters:

2014-10-07 10_17_26-Useful tools - How to manage several connections using the mRemoteNG tool

In Filename we have to choose where WinSCP executable is installed. We can also use a portable version.  Now we are able to use WinSCP from a SSH connection to transfer files easily.