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.
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
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.
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:
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.
To run this sample in Streams Quick Start Edition:
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.
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.
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
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 |
To learn more about Streams: