Skip to content
This repository was archived by the owner on Jul 22, 2024. It is now read-only.
MaxShapiro32 edited this page Apr 2, 2019 · 2 revisions

Short title

Summit Health Analytics

Long title

Build a Node.js analytics web application that connects to a zOS Mainframe.

Author

URLs

Github repo

Other URLs

Summary

Summit Health is a conceptual healthcare/insurance type company. This part of Summit Health is a conceptual Node.js analytics web application for a health records system, designed to showcase best in class integration of modern cloud technology, in collaboration with legacy mainframe code.

Technologies

  • Analytics
  • API Management
  • Containers
  • Data Science
  • JavaScript
  • Node.js

Description

Summit Health is a conceptual healthcare/insurance type company. It has been around a long time, and has 100s of thousands of patient records in a SQL database connected to a zOS mainframe. Summit's health records look very similar to the health records of most insurance companies.

Summit has recently started understanding how data science/analytics on some of the patient records, might surface interesting insights. Summit has also heard a lot about cloud computing. There is a lot of legacy code in the mainframe, and it works well for now, but Summit thinks it may be a complimentary opportunity to explore some data science/analytics in the cloud.

This project is a conceptual Node.js analytics web application for a health records system, designed to showcase best in class integration of modern cloud technology, in collaboration with legacy mainframe code.

Flow

Using Kubernetes

Using Cloud Foundry

  1. Data Service API acts as a data pipeline and is triggered for updating data lake with updated health records data by calling API Connect APIs associated with the zOS Mainframe.
  2. API Connect APIs process relevant health records data from zOS Mainframe data warehouse and send the data through the data pipeline.
  3. The Data Service data pipeline processes zOS Mainframe data warehouse data and updates MongoDB data lake.
  4. User interacts with the UI to view and analyze analytics.
  5. The functionality of the App UI that the User interacts with is handled by Node.js. Node.js is where the API calls are initialized.
  6. The API calls are processed in the Node.js data service and are handled accordingly.
  7. The data is gathered from the MongoDB data lake from API calls.
  8. The responses from the API calls are handled accordingly by the App UI.

Instructions

Find the detailed steps for this pattern in the readme file. The steps will show you how to:

  1. Clone the repo
  2. Prerequisites
  3. Get Mapbox Access Token
  4. Run the application
  5. Deploy to IBM Cloud

Components and services

  • Cloud Foundry
  • Docker
  • IBM Cloud
  • Kubernetes
  • Node Package Manager
  • IBM Kubernetes Service
  • IBM SDK for Node.js
  • IBM Compose for MongoDB
  • Synthea
  • Mapbox GL JS
  • FCC API

Runtimes

  • javascript/node

Related IBM Developer content

Any Summit Health work

Announcement

Summit Health Analytics is one code pattern that is part of a collection of code patterns around the project Summit Health. Summit Health is a conceptual healthcare/insurance type company. This part of Summit Health is a conceptual Node.js analytics web application for a health records system, designed to showcase best in class integration of modern cloud technology, in collaboration with legacy mainframe code.

Summit Health Analytics offers the flexibility of having different approaches to deploying to the cloud and as a result uses different cloud technologies. The first approach containerizes the Node.js web application into Docker containers and deploys them to Kubernetes. The other approach makes use of Cloud Foundry services and deploys the different components of the Node.js web application to these services. I have also written a blog post about my experience using both approaches with the same Node.js web application.

While this code pattern is designed to showcase best in class integration of modern cloud technology, in collaboration with legacy mainframe code, this code pattern can also be run as a stand alone application without depending on a zOS mainframe for data. With a provided script, synthetic data can be generated using Synthea to populate the database of this code pattern.