Project Requirements - Team-B-Capstone/Team-B-Capstone-2015 GitHub Wiki

Project Requirements and Planning

The following documentation is the result of the S-Store team meeting which occurred on May 15th.

Architecture Pertinent to the S-Store Capstone Team

The architecture we discussed in our first planning meeting is what we will proceed with. We will build a REST API sitting between the S-Store client and our Web UI / Android Watch apps.

Our API will poll the S-Store client at an interval that we determine for whatever data is needed based on the current view in the browser.

  • The patient view will ask for all patient data for a specific patient
  • The overview dashboard will ask for a subset of data about all patients

Alerts are calculated in the backend, and so the S-Store client will keep a table of patient alerts which our API will also ask the client for while polling for data. This is how we will know if an alert has been triggered.

We will drop the user management component.

Priorities

  • The Android watch app is a high priority, as it is a highly demo-able feature. We should commence work on this as soon as possible.
  • The Web UI should be worked on in parallel with the watch app.
  • Edits to the S-Store client will probably be minimal. We may only need to update errors and error messages, but we are free to work with Cliffy and alter any parts we need.

The S-Store GitHub Repository

  • The S-Store client is embedded in the S-Store private repo. A handful of us will be given access to this repo to work with the client.
  • We will not be forking this repo, and instead will work in branches.

Data

  • Data is retrieved from the S-Store client through stored procedures, which we can write both ourselves and with the help of the backend team.
  • Procedures are flexible, and we should be able to do things like:
    • Get all data about a specific patient
    • Get specific waveform data about a specific patient
    • Get data from all patients

Available waveforms, all processed by the client:

  • PAP
  • ECG
  • ABP
  • Heart rate derived from ECG
  • AVF
  • MCL
  • V

This data is returned in JSON format. The backend team is working on setting up some stored procedures now.

Setting up S-Store

  • We will need to setup S-Store on our own machine.

  • We can use H-Store's documentation, but clone the S-Store repo instead of H-Store.

  • Once it is installed, it is populated with data by running 'benchmarks' ** The backend team is working on a simple-mimic benchmark to fill S-Store with MIMIC data

  • Once the data is populated, we turn on the S-Store client and can poll it via our REST API for data. ** We can also run our own client. It is just a single Java file.

  • We may need to work with Cliffy to create a patient ID -> name mapping table. He said it should be easy.