Possible Projects for Google Summer of Code 2013:
...
Panel |
---|
Project: Build a Radiology Image Viewer that Syncs with OpenMRSBrief explanation: Build a radiology image viewer that will allow radiologists to input notes and diagnoses Used Technologies: JavaScript, HTML5, Sencha Primary Mentor: Akhil Ravindran Secondary Mentor: John Stoecker Barry Levine Objectives: Familiarize yourself with dcm4che and DICOM formats Create an image editor by forking Oviyam DICOM viewer Allow radiologists to link radiology patients to OpenMRS Allow radiologists to input diagnoses/thoughts and send them as observations to OpenMRS Document your image viewer so we can easily make changes in the future |
...
Panel |
---|
Project: Offline mode for Registration, Screener, and Pharmacy ModulesBrief explanation: In rural hospitals and clinics, cell and data connectivity is sporadic and bandwidth-limited. A point-of-care system needs to be responsive, so caching data on connection fail is a requirement. Your project is to build a cache all relevant data for offline mode, then sync when internet is available. Used Technologies: JavaScript, HTML5, Sencha/ExtJs, SQLite Primary Mentor: John Stoecker Secondary Mentor: Nathan Leiby Surajit Nundy Suggested Reading: http://www.sencha.com/learn/taking-sencha-touch-apps-offline/ Objectives: Familiarize yourself with the Registration, Screener, and Pharmacy modules on raxa.io Propose a cache model using Sencha caching/session storage/SQlite Cache patient record/data/images when POST fails Create dummy records when GET on patient fails Use lists of most-used resources when GET on diagnosis/drug fails Document your cache, so when patient record data model changes, we can easily cache these |
Panel |
---|
Project: Implement a timeline-based view for patient record imagesBrief explanation: Currently, patient images are saved as part of the whole patient record. A useful image viewing tool for doctors would allow them to view similar images over time, seeing how a lesion changes, or how a bone/ligament is healing in an x-ray. In this project, you would create an interactive, intuitive image gallery viewer tailored specifically for medical data over time. Some features this project might include are editing images (such as circling interesting areas of an x-ray) and adding ICD-10 tags to an image. Used Technologies: JavaScript, HTML5, Sencha/ExtJs Primary Mentor: John Stoecker Secondary Mentor: Nathan Leiby Objectives: Familiarize yourself with the Outpatient module on raxa.io/outpatient Propose a cache model using Sencha caching/session storage/SQlite Cache patient record/data/images when POST fails Create dummy records when GET on patient fails Use lists of most-used resources when GET on diagnosis/drug fails Document your cache model, so we can easily change caching when the patient record model changes |
Panel |
---|
Project: 2-way SMS menu for patient-facing moduleBrief explanation: Medical data must be accessible to a patient through many channels. With this goal in mind, you will create an interactive module to allow a patient to access and edit their information through SMS. Patients will be able to edit their details, view structured medical data, see current prescriptions, and control who is allowed to access their records. Used Technologies: Java, OpenMRS, Spring/Hibernate Primary Mentor: John Stoecker Secondary Mentor: Surajit Nundy Suggested Reading: Objectives: Familiarize yourself with REST api's for mvaayoo's SMS gateway Familiarize yourself with OpenMRS' data model and the creation of OpenMRS modules Implement simple session security that checks whether an incoming SMS matches phone number stored for a patient Connect to mvayoo SMS gateway API to allow GET/POST calls on these OpenMRS resources: person, patient, obs, orders, encounters |
...
Panel |
---|
Project: Lab ReportsBrief explanation: The laboratory module needs to generate a variety of reports: test results, daily log, exception reports, monthly statistics, quality control charts, etc. Some of these reports will be saved as PDFs and possibly printed, others will be exported to Excel or other tools. The lab module will also need a report and parameter selection screen. Used Technologies: BIRT or iReport for report generation, Java for integrating the report generator into the module, jsp with jquery and/or HTML5 for the report and parameter selection screen. Mentor: TBDPiyush Madan |
Panel |
---|
Project: Arden Syntax ImplementationBrief explanation: Adapt and extend OpenMRS' Arden Syntax implementation at Raxa EMR. The EMR has a data structure derived from OpenMRS on which we are creating point-of-care and after-care interfaces for both providers and patients. These interfaces will have intelligence, both heuristically-derived and data-driven, to provide support so that providers and patients can make evidence-based, informed decisions about their plan of care. These rules will be implemented using Medical Logic Module interfaces such as the Arden Syntax, so that the rules created here can be used by other such systems, and so that rules from other systems can be implemented easily here. During this project, we shall be creating the software interfaces to implement rule-based validation and suggestions during provider data entry and patient behavior. Resources: https://wiki.openmrs.org/display/docs/Clinical+Decision+Support http://healthinformatics.wikispaces.com/Arden+Syntax Used Technologies: Arden Syntax, OpenMRS Objectives: Familiarize yourself with the Arden Syntax as implemented in OpenMRS Create service for Arden Rules (e.g. https://source.openmrs.org/browse/OpenMRS/branches/1.9.x/api/src/test/java/org/openmrs/arden/include/HiRiskLeadScreen.java?r=24212) Create user interface using HTML5/Javascript/ExtJS4 that will allow non-developer users to create rules for the system on the backend Add REST service to the backend to serve Arden Rules to module apps Insert calls to the REST service in the Outpatient Module frontend code so that Arden rules can be followed Primary Mentor: Surajit Nundy Backup Mentor: Dr Rachna Kucheria |
Panel |
---|
Project: E-Triage SystemObjectives: Develop e-triage system Reason: In rural areas of India and other similar parts of the world, patient-doctor ratios may be 10000-1 or lower. Alternative technologies are required to enable emergency response and for optimal connection of doctors to patients. The objective is to develop an IVR setup that patients can call into. The patients will be guided through a brief dialogue system that supports natural language queries and requests. The spoken input will be analyzed, and based on its contents, the system will automatically connect the patient to the optimal available doctor or hospital, where "optimality" will be decided based on emergency level of the call, distance of the patience to the doctor, the doctor's current load and other such factors. In cases of epidemics or other obvious illnesses, the system will also dispense emergency advice to follow before getting to the doctor. Used Technologies: Open source speech recognition, dialog system and natural language processing tools. Primary Mentor: TBDApurv Tiwari Backup Mentor: TBD |
Panel |
---|
Project: Medical Disaster ResponseObjectives: Implement voice-based input/output modalities for a Disaster response system for Raxa Reason: Disasters, ranging from medical disasters such as cholera or malaria, to earthquakes, floods, etc. require immediate response, access to information, etc. The objective is to adapt disaster management tools into the Raxa structure, with to implement voice-based mechanisms for populating the information databases in it via human input, in addition to current methods, as well as voice-based responses. Used Technologies: Open source disaster response tools from sahanafoundation.org, open source speech recognition, synthesis and dialog system tools,Ushahidi Primary Mentor: TBD Secondary Mentor: TBD |
...
Panel |
---|
Project: Disease Prediction via Machine Learning AlgorithmsBrief explanation: Clinical data-warehouse that will store all information about the diseases occurred in a particular area, let say Bilaspur district of Chhattisgarh region where this system will be deployed. Understanding the pattern of disease, number of times a particular disease has occurred, reason why it occurred, preventive methods that doctors could implement in order to prevent the disease if it occurs next time. This will not only help in giving the best medical services in remote areas but also help administrators, doctors to be well prepared in advance to tackle the emergence of any kind of disease. Used Technologies: TBD |
...