Skip to content

IBMStreams/streamsx.health

Repository files navigation

Streams Healthcare Analytics Platform

Welcome to the Streams Healthcare Analytics Platform!

Our goal is to make it easy to create real-time healthcare analytics application using IBM Streams. We want our users to be able to rapidly develop, test and validate healthcare analytics. Researchers and clinicians should focus on the analytics part of an application, while the platform should take care of the necessary plumbing and infrastructure work.

Getting Started

NEW Release v0.1 is now available here! See this post to learn more about this release!

Follow the [Getting Started Guide]https://github.com/IBMStreams/streamsx.health/wiki/Getting-Started) to learn about how to leverage the services from the Streams Healthcare Analytics Platform

Streams Healthcare Demos

Python Jupyter Notebook Demo

As part of our initial work for this platform, we have developed a real-time ECG monitoring sample, using the Physionet Ingest Service, Python and Jupyter notebook.

Healthcare Jupyter Notebook Demo

To see this sample in action, you can run this sample using IBM Data Science Experience and Streaming Analytics Service on Bluemix. See this notebook for details.

To run this sample in Streams Quick Start Edition:

  1. Get the Streams Quick Start Edition VM from here.
  2. Clone this repository.
  3. Follow the instructions from here to run the demo: Healthcare Python Streaming Application Demo

Population Health and Patient Monitoring

This sample demonstrates how we can use IBM Streams and the Streams Healthcare Anallytics Platform to monitor patient status in real-time. The sample generates vitals and ECG data for 100 patients. Patient data is fed into an analytics application that checks if a patient's vitals are in the normal range. If the vitals exceed the normal ranges, an alert is raised and is displayed on the dashboard.

Population Health and Patient Monitoring

To run this sample in Streams Quick Start Edition:

  1. Get the Streams Quick Start Edition VM from here.
  2. Clone this repository.
  3. Follow the instructions from here to run the demo: Population Health and Patient Monitoring Demo

Platform Design and Roadmap

Streams Healthcare Analytics Platform Roadmap

This diagram shows what we think a typical Streams healthcare application will look like and its major components. The blue boxes represent components that should be provided by the platform. The purple box represents an area where our end-user should focus on. (i.e. developing advanced analytics).

For details on the design and roadmap of this platform, please refer to here:

https://github.com/IBMStreams/streamsx.health/wiki

Our design and roadmap are always up for discussions and we welcome your feedback and contribution. Please submit an issue if you have any feedback for us.

Repository Organization

The platform is designed to employ the microservice architecture. A microservice is a small application written in SPL, Java, or Python that fulfills a specific task in a bigger healthcare application. An application is made up of one or more of microservices, loosely connected to each other using the dynamic connection feature (Import/Export operators) in Streams. To learn more about the microservice architecture in Streams, refer to this post.

The repository is set up to accomodate this architecture. The top level folders represent major functional components of the platform. Under each folder, you will find one or more microservices for that component. Each of the services can be built independently using gradle. You can build them by following the build instructions below.

To run the services, follow instructions as documented in their respective README.md files.

Build Instructions

This repository is set up to build using Gradle.

All of the services can be built from the root folder by running gradle build.

If gradle is not installed on your system, the project is shipped with a gradle wrapper. You can build the projects by using this wrapper and running gradlew build.

Similarly, individual components and services can be built by navigating to either the component or service directory and running gradle build.

All projects can be cleaned from either the root folder, a component folder or a service folder by running gradle clean

The Contributors

Thank you to all our contributors. This platform is made available from their contributions and valuable feedback/advises.

Name Company
Brandon Swink IBM
Gergens Polynice CleMetric
James Cancilla IBM
Jonathan Lachman True Process
Peter Nicholls IBM
Samantha Chan IBM
Sharath Cholleti CleMetric

CleMetric True Process IBM

Learn more about Streams

To learn more about Streams: