Coder Social home page Coder Social logo

alincc / naima Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tarunjr/naima

0.0 2.0 0.0 1.82 MB

Naima: Not Another Intelligent Medical Assistant. Developed @ SequoiaHack::2016

Java 40.93% Scala 2.19% Shell 0.09% C# 20.73% ASP 0.02% JavaScript 36.02%

naima's Introduction

naima

##Naima: Not Another Intelligent Medical Assistant

Developed with passion @ SequoiaHack::2016 by Prashant KS , Saurabh Minni and Tarun Rathor

##Vision: Provide assisted expert health care to remote patients in an easy and fast way.

##Problem: In indian rural and semi-urban context access to quality health care is very sparse. Locally available doctors may not be most experienced or informed to evaluate patients medical condition with consistency and quality.

##Solution: We propose to empower the doctor/ care agents at rural health centers with a system, that :-

  • Guide them collect most relevant examination data for the medical condition.
  • Enable online review of the case with a relevant speciality expert.

System improves over time in following manner:-

  • Experts update the system with more knowledge as they review the cases.
  • Latest medical data curated periodically to improve examination process.
  • Treatment outcomes will be feedback to the system in near realtime to finetune and localize.

System Architecture

Overview

System is modelled as a domain driven design with service components implemented as microservices using Node.JS leveraging MongoDB. Analytics consist of batch and streaming components in Apache Spark integrating with services using Kafka. Application components are developed as native android application.

System Architecture Diagram

Data Design

Following domain entities will be modelled in the system.

  • Patient : A human who has the medical condition
  • Doctor: A qualified doctor who can administer treatment.
  • Care Provider: A trained human who can collect diagnostic data. E.g Nurse, Trainee
  • Symptom: An indicator of a medical condition. E.g Bloating, Burning
  • Test: A medical diagnostic test done in lab. E.g Blood Test
  • Condition: A medical situation, disease, allergy, reaction or complication. E.g Acidity
  • Speciality: A segment of medical expertise. E.g Neurology, Gastroenterology etc.
  • Treatment: A prescribed drug, therapy or action which will address the condition
  • Case: A record which which details the diagnosis and treatment of patient condition.

Services Design

Following are the runtime services component of the system.

  • Users Service: Manages Patient, Doctors and Care Providers entities.Developed in Node.JS and MongoDB. Exposes REST API

  • Case Service: Manages Case entity and workflow between Doctor/Care Provider. Developed in Node.JS and MongoDB. Exposes REST API

  • Diagnostic Service: Maintains a repository of medical knowledge about Condition, Symptom, Test and Speciality. Using this knowledge and additional context It generates ranked ordering of Symptom and Test questions to be asked/collected next. Developed in Spring.Boot/Java and Redis. Uses the result of the Analytical component to adapt its behavior.

Analytics Design:

Following are the analytics components. Apache Spark is the runtime framework using Kafka as data ingestion and output component.

  • Symptoms association rules mining: A batch component in Apache Spark using FP-Growth algorithm from spark.mllib

  • Conditions Aggregation by region: A streaming component in Apache Spark using spark.streaming to perform windowed aggregation of conditions diagnosed per region.

  • Conditions/Speciality prediction: A nearest neighbour class of algorithm to classify a symptom to a speciality for doctor recommendation.

Application Design:

Application components are implemented a native android applications interacting with only the services component. Following two are the application components.

  • Care Provider UX: User interface for Examiner to prepare a Case and manage the Review and Treatment. Developed as a native Android application

  • Doctor UX: User interface for the Doctor to Review the Case and finalize the Treatment. Developed as a native Android application.

naima's People

Contributors

tarunjr avatar the100rabh avatar

Watchers

James Cloos avatar Alin Capitanescu avatar

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.