Giter Club home page Giter Club logo

opentransplant's People

Contributors

ginabeena avatar meredithstewart avatar wiredsister avatar yanlow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

widal001

opentransplant's Issues

Scheduling Services: (OCaml & Redis -- OCaml & Postgres)

Definition of feature:

OCaml will block on read on incoming queue (named organ-intake-request-01) in Redis and will process requests via Matcher on CLI and then respond by writing to queue (named organ-tracking-cache-01) in Redis by organ-tracking-id which is a UUID.

Another scheduled program reads from organ-tracking-cache-01 and writes to Postgres by row-key UUID that is the organ-tracking-id... but no idea at this point what the naming for the Postgres table needs to be or the document name to insert.

How to be a considerate API user? How to scale integrations?

Over time, we are going to want to have potentially hundreds of triggers and feeds from EHRs and custom medical feed subscriptions (like, Data at the Point of Care - Medicare, in the USA, for example) and have that recalibrate matches and decorate organ and patient data with new tests and disease information, as well as reweigh them in the system as being more or less close to death without a transplant.

Frontend/UI rework

I cobbled together a quick UI mock (below). I can translate this into a functional frontend or rework it if necessary. It uses tailwind css because I think material makes everything look like google.

I already partially implemented this in react/typescript, but want to make sure you're all good with that choice before I get too far into it. It's hard to tell if React's the right tool or if it's overkill.

intake mock

Create Organ Intake UI (for OPO to POST organ to organ tracking db)

Given I am an Organ Procurement Organization,
And I am logged in to the OpenTransplant Network,
Then I should be able to submit an Organ via the Intake User Interface,
And get a success message with a tracking number

(Boss bonus feature would be average wait-time for that given organ or likelihood of match)

Create Technologies.md

  • List out what technologies the project uses and why we made the decisions we did. Mention the tradeoffs.

  • Mention failure scenarios here and how we will avoid them or how disaster recovery works.

  • Create a section of the document: Security & Privacy. Edit to include an assessment of how you'd benchmark and audit the security health of the application at various points in user experience.

Terraform scripts

What scripts are needed and what parts of deployment need automation?

Should we use Jenkins as well?

Algorithm Spec Template

Summary

Create a template for the algorithmic specifications referenced in #57

Tasks

  • Create an algorithm-specs/ directory
  • Create algorithm-specs/README.md which provides the instructions for creating an algorithm spec
  • Create algorithm-specs/TEMPLATE.md which will be used as the foundation of future algorithm specifications
  • Create .github/ISSUE_TEMPLATE/algorithm-spec.md which will be the issue type used for new algorithms

Definition of Done

  • An algorithmic advisor can follow the instructions in algorithm-specs/README.md to create a specification for each of the algorithms listed in #57
  • After creating a specification using the algorithm-spec/TEMPLATE.md, an algorithmic advisor can signal that the algorithm is ready for a contribution by creating an issue using the .github/ISSUE_TEMPLATE/algorithm-spec.md issue type
  • A contributor who wants to develop an algorithm for the project has access to all of the information they need, including sample inputs and outputs to validate the accuracy of their algorithm, by referencing a specification created using the algorithm-spec/TEMPLATE.md and the issue created using the .github/ISSUE_TEMPLATE/algorithm-spec.md issue template

Architecture Diagram of Complete MVP

Components

  • OCaml Rules Engine (Matching - Policy)
  • Phoenix WebAPI (Integrations & API Layer)
  • Web GUIs (Patient, OPO, Surgeon)
  • Data Warehouse Solution (Data Scientists & Researchers)
  • Kafka (Triggers & Event Driven System Behavior)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.