Skip to main content

Red Hat JBoss Fuse - Healthcare integration demo Part One

Continue on with the topic from last week, I want to try to demonstrate how JBoss Fuse can help to build a more robust, and agile healthcare integration solution. In this blog I will explain what the demo is about, how to install and play with the demo. You can access the code base here: https://github.com/weimeilin79/healthcaredemo  I tried to mimic a common situation when we visit a clinic or hospital. Lets start by looking at the departments. There are 5 different parties involve. As you can see, these are commonly found in healthcare and they uses different data format and talks in various protocol. just like what it would be in real life. 
  • Front Registration Desk
    • Responsible for patient registration 
    • Sending registered patient to all departments
    • Storing patient registration data
    • Talks in HL7 v2
  • Doctor Clinic 
    • Receives registration info
    • For clinical prescriptions 
    • Doctor sending patients to eithe lab test or radiology x-ray
    • Recording paitent condition
    • HL7
    • Messaging broker
  • Laboratories
    • Receives registration info
    • Schedule Lab test for patients
    • FHIR
    • Restful Endpoint
  • Radiology 
    • Receives registration info
    • Schedule x-ray test for patients
    • HL7
    • MLLP socket
  • Pharmacies  
    • Ask for patient prescriptions data
    • JSON
    • Restful Endpoint
  • Insurance company
    • Get all patient registration data
We first by registering ourselves in the front desk, the front desk will get the registration information, and system will store these data for insurance company that will later be collect via their batch system. Then the register data are sent to all the departments in the hospitals. After that the patient is then sent to doctor clinic for quick diagnose, this is when the doctor will decide to either send them on to more detailed test, radiology scan or simply give prescription. For the lab in the hospital, it will receive both the registration administration data and the request for different test coming from clinic. Same applies to Radiology system. Lastly when the patients tries to get their prescription from the pharmacy, it's application will link back to the hospital to check the validity and content of the prescribed medicines. 

To make this demo more real, these department application does not speak the same language, below is the diagram that shows what context of data format each department expect. 


Both the clinic and Radiology department uses the most common HL7 v2 format, HL7 is the most common standards for transfer of clinical and administrative data between software applications by healthcare providers. The messages use a non-XML encoding syntax based on segments (lines) and one-character delimiters. It's a very complex data because not only it tries to cover many aspect in healthcare industry, but since the evolution of technology, many customization was implemented over the years, making it hard to decode and read. Even using this format, many vendors interoperate it differently. And we also have FHIR, which is the new data format pushing by the same community by trying to address the problem HL& v2 and 3 has. It supports better with the mobile and uses the concepts of hierarchical resources. And we also have pharmacy which is an outside vendor that requires a specific data format.   

To install the demo, please make sure you have installed Vagrant and Virtual Box beforehand. Go to my repository and clone the project by running 

 git clone MY_REPO_URL 

Go to the project directory and run

   init.sh 

Start build and deploy JBoss Fuse Camel services by goingu nder project directory ./projects/healthcaredemo and run

     mvn -Pf8-local-deploy

After projects are depolyed, go back to the demo root directory (where the init.sh is) we want to create two extra services 

     oc create -f support/clinichl7service.json
  oc create -f support/labrestservice.json

Also expose a new route for the Lab Rest API Service 

     oc create -f support/labrestapi.json 

You can take a look at the pods and service that are running inside OpenShift, by login to OpenShift console with USERNAME/PWD admin/admin
     https://10.1.2.2:8443/console/



And start playing with the demo by registering your info, by going into the page you will see different sections, 


You can start by registering your patient information then schedule different test by entering different fields. 
Next week, I will be talking about my approach to break this problem done into microservices. 



Comments

Dhiya L said…
Wow amazing i saw the article with execution models you had posted. It was such informative. Really its a wonderful article. Thank you for sharing and please keep update like this type of article because i want to learn more relevant to this topic.

Hadoop Training in Chennai
Eduardo Vilas said…
kudos Wei Mei! i will install it in my laptop. regards Edu Vilas
Hcue India said…
This is very nice post i m very like it and i appreciate you for good work keep it up it is very useful for me
Healthcare Software Companies 
mind.it said…
I have bookmarked your website, the articles are route superior to anything other comparative web journals.. a debt of gratitude is in order for an awesome site! teleradiology services

Popular posts from this blog

Red Hat JBoss Fuse/A-MQ - Fuse and A-MQ Version 6.3 GA is released!

Fuse and A-MQ 6.3 GA has just went out. Maybe, you would think this is just only a minor version release why should I care? Hold your thoughts on that! Because they have done a lot of improvements and also added many new features into this release.

Besides various bug fixes and making sure Fuse Fabric is much more stable. There are two major change in this version update:

New Tooling in JBoss Developer Studio (JBDS) 9.1 GA. Newer Apache Camel version – Camel v2.17. I was really impressed by the work put in to make developing Camel application much simpler. First is the installation of tooling itself. Now it has a all-in-one installer so you don't need to worry about which plugins you need to check. See the videos below to see the new "Getting Started" of Fuse 6.3.



And If you notice from the above video, the presentation of camel route in JBDS has also updated. It fixed some of the miss representation of logic and making it easier to read.

Old Camel Route
New Camel Route
On …

Fuse Integration Service - Setup JBDS and create first quickstart application

Before we go and start creating our first application, I want to show you how to setup your JBoss Developer Studio, create a small application from the quickstart example and then running it on Fuse Integration Service.

I am using JBoss Developer Studio version 9, you can find it here.
After download the

jboss-devstudio-9.0.0.GA-installer-eap.jar
double-click it, and start installing with default values.

After successful installation, we will need install the plugins for Fuse, on JBoss Central view, select software update, select enable early access.


And select JBoss Fuse Development for the plugin,


Click on install, and we are all set to go!

First thing first, we want to create a Fuse project to deploy on the base of Fuse Integration Service, which is OpenShift. If you have not installed it, please go back to my previous post for instructions. So on your JBDS, right click and start creating the project. Select new, maven project, if you have installed the plugin correctly, you should …

Red Hat JBoss Fuse - Getting Started with Fuse Integration Service 2.0 Tech preview

I just realized that I did not do a getting started for Fuse Integration Service 2.0 Tech preview before I did the pipeline demo, thanks for those of you who reminded me! :)

To get started with FIS 2.0, for people who has just getting to know the technology, here is how I interpret it. Basically, it's divide into two aspect,

1. Integration development, FIS uses Apache Camel as the core technology that creates, orchestrate, compose microservices into a super lightweight thin integration layer, and become the API provider and service orchestrator through exposing RESTful or messaging service endpoints. And you can choose to either package and run it with Spring-Boot or Karaf.


2. Application Deployment and Management, FIS takes advantages of OpenShift platform, and allows you to separately deploy the micro-integration service among distributed environment, at the same time takes care of the failover, high availability, load balancing and service lookup problem for you.


So, now we know …