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.
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.
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:
- Get the Streams Quick Start Edition VM from here.
- Clone this repository.
- Follow the instructions from here to run the demo: Healthcare Python Streaming Application Demo
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
To learn more about Streams: