Skip to content

WiFIS Connect is an application you can install in InterSystems Healthcare products to build your connection to WiFIS interoperability platform in SISCAT.

License

Notifications You must be signed in to change notification settings

intersystems-ib/wifis-connect

Repository files navigation

WiFIS Connect is an application you can install in InterSystems Healthcare products to build your connection to WiFIS interoperability platform in SISCAT.

What is included?

WiFIS Connect includes components you can include in your interoperability production to connect your application to WiFIS platform.

Quick Start

Run a quick test using a test docker environment and have a look at the examples. You can use VSCode, see some tutorials.

  1. Download the latest version:
git clone https://github.com/intersystems-ib/wifis-connect
  1. Build and run the sample environment. This will run an InterSystems IRIS For Health with WiFIS Connect installed
docker-compose build
docker-compose up

You can access now to the Management Portal using superuser/ SYS.

  1. Open an interactive session with IRIS
docker exec -it wifis-connect bash
iris session IRIS
  1. Start sample production and enable SAML Ticket generation feature
zn "WIFISCONNECT"
do ##class(Ens.Director).StartProduction("WiFIS.V202.Test.ProdSAML")
  1. Send some sample messages. In the directory you downloaded the code, copy some files from /samples into /samples/input

  2. See what's happened in the Production

Requirements

WiFIS Connect can be installed in:

  • InterSystems IRIS For Health
  • InterSystems Health Connect

You can still find deprecated releases here.

Installation

  • Make sure you have HealthCare HL7 XML installed in your namespace.

  • If you want to generate SAML tickets using SAML-COS, make sure you have it installed in your namespace.

  • Download latest version into a temporary directory (e.g. /tmp):

git clone https://github.com/intersystems-ib/wifis-connect
  • Load installer from an interactive session (terminal):
do $SYSTEM.OBJ.Load("/tmp/wifis-connect/src/WiFIS/V202/Utils/Installer.cls", "ck")
  • If you want to use SAML-COS, run installer:
do ##class(WiFIS.V202.Utils.Installer).Run("/tmp/wifis-connect")
  • If you don't want to use SAML-COS, run installer:
do ##class(WiFIS.V202.Utils.Installer).Run("/tmp/wifis-connect", "no")

For more complex installation options see Dockerfile example.

Getting Started

  • You can use and extend WiFIS Connect components.
  • Do not modify or overwrite WiFIS Connect components (in other case, you probably won't be able to update).

Message Basics

WiFIS is based on HL7 v.2.5 in XML version.

WiFIS Easy Connect use MHS.3 / HD.2 content on each message to identify workflow and action.

For instance, workflow Derivacions and action DemanarNova:

<MSH.3>
  <HD.1>HOSPITAL</HD.1>
  <HD.2>#Derivacions#DemanarNova</HD.2>
</MSH.3>

Sending Messages

When sending messages, you must implement some components for your application and the plug-in WiFIS Connect components.

Output. Your app

  • Your app will send data to a Business Service (TCP, SQL, SOAP, REST, etc.).
  • Transform your app data into an HL7 message (EnsLib.HL7.Message) following WiFIS requirements.
  • Send the HL7 message you've created to the WiFIS Connect layer to deliver it to WIFIS.

Output. WiFIS Connect

  • WiFIS Connect will convert your HL7 message into a WiFIS HL7 v.2.5 XML.
  • Then, it will determine which operation should send the message using a SOAP Business Operation.
  • Business Operation will deliver your message to WiFIS.

Receiving Messages

In order to receive messages from WiFIS you can use WiFIS Connect components and connect them to some of your application components.

Input. WiFIS Connect

  • WiFIS Connect have a Business Service (SOAP) for each workflow that will receive messages from WiFIS.
  • After receiving a message, WiFIS Connect will convert it an EnsLib.HL7.Message you can process.

Input. Your application

  • You receive the converted HL7 message and then you can transform it to whatever internal format you need.
  • Finally, you can feed your processed message into your application through a Business Operation (SOAP, REST, SQL, HL7, etc.)

Test Production

WiFIS Connect includes a sample production WiFIS.V202.Test.Prod to let you explore how you can use the package.

Main components are:

Output to WiFIS

Component Description
Leer HL7 ER7 File Reads Files HL7 in ER7 format from a directory and sends them to WiFIS Crear Msg
Leer HL7 XML File Reads Files HL7 in XML format from a directory and sends them to WiFIS Crear Msg
WiFIS Crear Msg Receives an HL7 message, transforms it to XML and build a WiFIS GenericReq. Sends WiFIS GenericReq to WiFIS Router.
WiFIS Router Receives a message WiFIS GenericReq and send it to the appropiate operation
WiFIS X BO Operation which is a WebService client and sends SOAP messages

Input from WiFIS

Component Description
WIFIS.V.BS.X WebService that receives WiFIS messages. Build a WiFIS GenericReq and sends it to WiFIS ProcesarMsg
WiFIS Procesar Msg Receives a WiFIS GenericReq, transforms it to ER7 and sends it to Escribir HL7 ER7 Fichero and Escribir HL7 XML Fichero.
Escribir HL7 ER7 Fichero Receives an EnsLib.HL7.Message and writes and HL7 file in ER7 format.
Escribir HL7 XML Fichero Receives an EnsLib.HL7.Message and writes and HL7 file in XML format.

SAML Ticket

WiFIS requires a SAML ticket in the SOAP messages you send to the interoperability platform.

WiFIS Connect includes a utility to generate those SAML Tickets. You only need to set it up to use your own certificates.

You can find the sample production using the SAML feature in WiFIS.V202.Test.ProdSAML.

Adding SAML ticket

WiFIS Connect has two different ways of generating the SAML ticket:

Using SAML-COS application

  • You need SAML-COS installed in your namespace.
  • Add the Business Operation IBSP.CONN.SAML.BO.SAMLSigner to your production and leave it with this same name.
  • Add the Business Operation IBSP.CONN.SAML.BO.SAMLcos to your production with name SAMLcos and add the SAML Attributes in JSON format
  • Add the Business Process WiFIS.V202.BP.Router and, in the GenerateSAML setting of this Business Process, select Using ObjectScript.
  • You can use the production WiFIS.V202.Test.ProdSAML as a starting point.

NOTE

This application is an open-source add-on for InterSystems HealthCare products and does not form part of the official release. InterSystems WRC technical assistance will not attend issues related with this application.


About

WiFIS Connect is an application you can install in InterSystems Healthcare products to build your connection to WiFIS interoperability platform in SISCAT.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published