Possible Projects for Google Summer of Code 2013:
Panel |
---|
Project: Build a Registration Module in NodeJS/MeteorBrief explanation: Build a registration module in meteor Used Technologies: JavaScript, HTML5, Meteor Primary Mentor: Surajit Nundy Secondary Mentor: John Stoecker Objectives: Familiarize yourself with NodeJS and meteor formats Make registration-related calls to MySQL using meteor Create a webapp that does all the functions of the current module Create an iOS and Android app that does all the functions of the current module Document your module so that we can maintain it. |
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: 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: Implement a faster, node.js-based searchBrief explanation: Build a fast, responsive search layer for medical data. Currently, the search layer in OpenMRS performs many unecessary checks before accessing the data. Your task is to bring that data into a lightweight node.js search layer. Before each database lookup, perform a quick check using the OpenMRS API to see if the user is allowed to view that particular resource. Used Technologies: SQL, node.js, MongoDB/SOLR Primary Mentor: Piyush Madan Secondary Mentor: John Stoecker Suggested Reading: https://wiki.openmrs.org/display/docs/Data+Model Objectives: Familiarize yourself with different search layer/indexing techniques such as node.js/MongoDB/SOLR Propose a search model for highly structured medical data Build a search layer for these resources from OpenMRS: person, patient, encounter, obs, orders Document your search layer's API |
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: 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: Unsupervised Acoustic Model TrainerBrief explanation: Most languages, especially the ones used in rural parts of the world, don't share the privilege with languages like English, French and Russian, of existence of vast quantities of freely available and carefully transcribed audio data. This forms a bottle-neck in creating a usable speech recognizer for decoding such languages. However, technology like this could form a potential backbone for any organisation providing support in rural regions. Hence, we want to make an unsupervised acoustic model training system that creates it's own database and an acoustic model from audio collected by JSS and it's supporting organisations. Used Technologies and Prerequisites: CMUSphinx, Java, Machine Learning, CSS CouchDB Suggested Reading: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.2199 http://dl.acm.org/citation.cfm?id=1786947 Mentor: Apurv Tiwari Secondary Mentor: TBD |
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: Piyush 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: Apurv 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: UI for Raxa EMR Analytics and ReportingObjectives: To create an intuitive, beautiful, and easy-to-use interface for accessing information about the relationships between disease prevalence, geography, demography, the seasonality of illnesses and other contributing factors to health. Reason: To make healthcare information meaningful, useful and effective in the service of providing better levels of care, providers need to quickly, conveniently access and analyze the data captured in an EMR. The objective is better evaluate treatment protocols, staged interventions and physician responsiveness to the leading causes of morbidity and mortality. Used Technologies: Open source technologies such as Pentaho, I2B2, Sencha Touch Charts, Greenplum Chorus Primary Mentor: Surajit Nundy Secondary Mentor: Shuro Nundy |
Panel |
---|
Project: Geolocation and Mapping ToolsBrief explanation: Create a flexible tool to overlay useful data on a local village maps. The primary focus of this mapping task is to assist community health workers in finding patients and monitoring/updating village-specific data (clean water access, disease trends, landmarks). A major requirement is to emphasize that aspects of this data should be accessible and editable while offline (downloaded/updated while in WiFi areas). This work should be developed in coordination with the Analytics and Reporting project, to ensure maximum overlap in shared functionality. Used Technologies: OpenLayers, OpenStreetMaps, GoogleMaps , Leaflet, Cloudmade |
Panel |
---|
Project: Patient Medical TimelineBrief explanation: This is basically an idea taken from facebook timeline. Just like we have the timeline in facebook, we could have a timeline of the patient's medical history. Reports like X-ray report, blood report etc will be attached to the specific point in history, which would make it easy to understand and access it, instead of having all attachments in either hard-copy or dumped in a single folder. Later in years to come, we can come-up with ideas to share/export data with other doctors, say for example the patient moves to city for better treatment. Used Technologies: TBD |
Panel |
---|
Project: CHW ProjectBackground: Many are community health workers are semi-literate, and request help with decision making. CHWs want knowledge in a particular format; many have an aversion to writen text and would succeed more with images and and audio. The platform must be appropriate.We are working with various technology platforms to provide a couchy feel of application for use by public health at Raxa Objectives: Develop a case management platform to allow for users to implement case management for common diseases in JSS Implement MOTECH engine of connecting to openmrs for platform communication Improve task management of community health workers Added benefit: These are not core tasks, but will add a plus if implemeneted: Implement Arden decision rules support for the mobile platform Improving patient matching and record linkage strategies with the main JSS openmrs system. Used Technologies: HTML5, Javascript, CSS CouchDb Backup mentor : to be decided Resources: |