If you attended the IBM InterConnect or Insight conferences in 2015, you might have seen our demo of the Good Health application, either as part of a keynote session or at Expo. This article describes the details behind our demo and how we extended Good Health to work with IBM® IMS™ transactions as part of a case study.
What’s Good Health?
Good Health is a demo mobile app developed by IBM. As a case study in 2015, the IMS team extended the Good Health demo app to show how easy it can be to have cloud and mobile technologies work with existing z/OS® assets.
Good Health uses a mobile System of Engagement and a System of Record based on System z®. As a mobile app, the System of Engagement can be connected to various wearable Bluetooth sensor devices. The System of Record consists of System z server application components running in IMS Transaction Manager (TM) and IBM DB2® for z/OS.
In addition, the IMS team used IBM Bluemix® and IBM MobileFirst™ technology that made it easy to extend Good Health to work with IMS transactions.
Medical professionals and their patients can use Good Health to monitor a patient’s physical and mental health. For example, Good Health can remind patients when to take their medications, and it can show real-time biometric data, such as heart rate. Patients can also Ask Dr. Watson to find answers to common health questions.
Health case study
Several IBM teams collaborated to extend Good Health under the guidance of Kyle Charlet, IBM Distinguished Engineer. We worked closely together to deliver a demo of Good Health working with IMS transactions in six weeks.
Initially, Good Health had a traditional 3270 IBM CICS® interface accessing a DB2 database. Tasks such as Add Patient, Inquire Patient, Add Medication, Inquire Medication, and others were CICS transactions.
In our case study, the IMS team was challenged to:
- Write IMS transactions, similar to the initial CICS transactions, to access the existing database, DB2 for z/OS.
- Use the power of IBM WebSphere® Liberty z/OS Connect and IMS Explorer for Development to transform the IMS transactions to RESTful services. As RESTful services, these transactions would be consumable by any mobile application.
- Develop Good Health as a Bluemix application to take advantage of the Bluemix Secure Gateway service, and use z/OS Connect to communicate with the System z artifacts.
- Use IBM Watson™ speech-to-text APIs, which allow patients to verbally communicate with Good Health.
- Make Good Health available on Android and iOS mobile devices.
- Test Good Health with Bluetooth biometric sensor devices.
Figure 1 shows a high-level view of the components we used to extend Good Health to work with IMS transactions.
Background of our case study
Our primary goal in this case study was to show how easy it is to integrate your existing z/OS assets with cloud and mobile technologies:
- Customers on z/OS have a need today for their existing System of Record business assets to be consumable by typical mobile applications.
- The fast advancing worlds of mobile and cloud computing are putting more and more pressure on applications and business logic located on z/OS in environments, like IMS, CICS, batch, and others, to work seamlessly.
- Many IMS customers are interested in a common solution that can be used by cloud, mobile, web, and components like API Management, to enable simple discovery and secure access to z/OS business and infrastructure assets using the REST technology.
To meet these needs, the WebSphere Liberty z/OS Connect solution was born.
WebSphere Liberty z/OS Connect
IMS transactions as RESTful services
After developing three IMS transactions similar to the previous CICS transactions, we used IMS Explorer for Development to transform the transactions into JSON RESTful services.
getPatient: Provides patient data, such as name, address, and birthdate. After starting up Good Health, patients then log into the app.
getMedications: Runs after authenticating a patient’s login, and checks if the patient has prescription medications. If they do, Good Health reminds the patient to take their medication. After the patient confirms having taken the medication, Good Health doesn’t show the alert again until the next dose is due. Figure 2 shows an example of this alert.
getThresholds: Checks against heart rate thresholds or EEG thresholds set for the patient and displays an alert if current measurements go above the set thresholds.
IBM Watson APIs
We used IBM Watson APIs to extend some of the Good Health features to work with IMS transactions. Figure 3 shows the main page of Good Health after a patient logs in, and what steps the patient can take.
Collect Data and My Mental States gather real time data if a patient is wearing a heart monitor or an EEG headset and the biometric sensor is connected by Bluetooth to a mobile device. Patients can Ask Dr. Watson to interactively ask common health-related questions. For this feature, using the IBM Watson speech-to-text API, we programmed the question, “What is Flu?”. For demonstration purposes, we created a small data store with common answers to our sample questions.
Figure 4 shows the results of the spoken question, another possibility of what the future of healthcare can be like!
Why did we use Bluemix?
Bluemix services offered several major benefits for our project. Because Bluemix uses a secure gateway, we could consistently and securely connect to enterprise systems from our Good Health cloud application.
Bluemix’s API Management (APIM) allowed us to see the exposed back-end APIs. This optional plug-in provides additional opportunities to make back-end assets more consumable by cloud and mobile technologies.
As previously discussed, we used IBM Watson speech-to-text APIs so patients can verbally ask Good Health questions and get answers. This service can easily be expanded to provide a full-fledged Q&A service.
Also, the student interns on our team who performed development and testing tasks, found Bluemix a friendly platform with which to work.
Role of IBM MobileFirst
IBM MobileFirst technology provides the integration and deployment of the end-to-end service. This technology made it easy to blend in the Bluemix applications and then deploy Good Health to Android and iOS devices.
Learning to develop and deploy mobile applications using the tools of the MobileFirst Platform Foundation was very easy. With support from other IBM teams, we quickly completed our Good Health case study, and got our demo up and running to show at a number of IBM events.
Our project had an aggressive timeline, but in six weeks we were up and running, and showing Good Health at IBM events.
Our objectives were to not only show what’s possible with improving the experience of patient healthcare, but also how we used Bluemix and z/OS Connect to securely connect this modern mobile app developed on the cloud to use IMS transactions to a DB2 back-end system.
From all the positive feedback we’ve received at demos and presentations, it’s clear we achieved our goals. Our team is proud to show that IMS powers on in this age of cloud and mobile computing.
If you have an example of a mobile app that accesses IMS data that you’d like to share, we’d love to hear from you! Drop us an email.
For more information on our project, see our YouTube video.