Support Laboratory Data Exchange with FHIR Project Proposal

SUPPORT FOR LABORATORY DATA EXCHANGE WITH FHIR PROJECT PROPOSAL

1.Who are you? What are you studying?

Name: Wadinga Leonard Ngonga

Email: wadingal37@gmail.comwadingaleonard@gmail.com

IRC Nick:  wadleo, wad

Skype name: wad_leo 

I am a second year student in the University of Buea, Cameroon studying Software Engineering as a major in the College of Technology under the Department of Computer Engineering. 

2.Why are you the right person for this task?

I believe so much in using technology in solving our daily problems especially here in the developing world where health is a major call for concern. So by contributing to the OpenMRS, I think, I am playing a part in helping these communities solve one of its greatest problems.

As a kid, I was always fascinated by technology and always dreamt of inventing and developing tools to facilitate human life. So with my young career as a software engineer I feel delighted to contribute to a project I feel will play a great part in enhancing the development of developing countries. I will be privileged if accepted to work on this project this summer.

3.Describe in detail your software development experience by various technologies. Include all technologies you have used for development projects.

I was introduced to programming in the first year of university studies particularly in the C programming language that was last year. I decided personally to start learning Java this academic year to facilitate the usage of JUnit as a testing framework for an Introduction to Software Engineering course during the first semester and as a prerequisite for an object-oriented course this semester. As an individual class project I built an address book app in Java using SQLite. Working with OpenMRS this summer would be an immense uplift and experience in my programming career. 

Skills

Languages:

C (Proficient), Java (Proficient), Sql (Proficient), Html, CSS, JavaScript, XML (Basic).

Tools:

Eclipse, Netbeans, Git, Maven, Tomcat, Bash.

4. List any previous experience working with open source projects other than OpenMRS. (This experience is not a requirement.)

I have never contributed to an open source project and will be privileged to contribute to OpenMRS as my first Organisation to contribute to.

5. Provide links to any websites or applications created by you, or other source code examples.

As an individual class project I built an address book app in Java using SQLite. Working with OpenMRS this summer would be an immense uplift and experience in my programming career. 

6. Please provide the URL to your wiki personal space. (If you don't have one yet, please create one.)

This is the link to my personal wiki space.

7. You must have made at least one coding contribution to OpenMRS BEFORE submitting your proposal. Please include in your proposal all relevant issue numbers, pull requests, commit links, etc. for these contributions. If you don't include this information, your proposal will not be reviewed. It's not necessary for your pull requests need to be merged. We just want to see that you've made some effort to learn the basics about OpenMRS.

Not yet but am working on one which i will place a link here or on my personal wiki space.

 

8. Describe your interactions with our community so far. Include dates of developer forums you have attended, and include any IRC nicknames used when visiting our channel previously.

I'm always on OpenMRS IRC channel as wadleo when I'm online and has taken part in countless scrum chats. Also a member of OpenMRS developers’ mailing list. 

9. What is your preferred method of contact and how should we reach you with it? (phone, email, IRC, IM, etc.)

My prefered methods of contact in order of preference is through my email, on IRC, or on Skype. 

10. Do you have any other commitments during the program? (Include any and all holidays, vacations, travel, exams, classes, research projects, other work, job offers, etc.)

I plan spent about 40 hours every week during this period as indicated on my schedule above and except for the 2 weeks of my exams. I'm in GMT+1(CAT) and I will work mostly at nights and during the weekends to meet up with the 40 hours per week.

 

Project Information

Introduction

Fast Healthcare Interoperability Resources Specification came about to improve on the sharing of electronic medical reports between various systems. So adding support for laboratory data exchange between these systems using FHIR is very important for any medical platform like OpenMRS. 

Detailed Project Description

-Adding Support for the FHIR Module to accept a Diagnostic Resource.

          Looking at a sample of the Diagnostic report which has some resources like Patient, Practitioner, Device, Encounters, Location, Specimen, Observation, Results (Imaging) etc. and with the current implementation of the FHIR module some these resources; Location, Patient, Observation, Composition, Encounter, Practitioner,  AllergyIntolerance are already supported. Adding support for the resources that are not yet supported i.e Results, Device, Specimen, is necessary for the persistence of a diagnostic report or for it to be generated.

-Creating, modifying and updating the OpenMRS database to support request and persist a diagnostic resource.

          To be able to generate reports from the database additional tables for Results, Devices, Specimen, have to be created to store the laboratory diagnosis and results. Also modification of tables; creating an additional column on the Encounter to hold a specimen_id,

Devices(device_id:string, device_type:string, state:string)

Results(patient_id:string, practitioner_id:string, diagnosis:Text, image:BLOB, comments:Text)

Specimens(specimen_id: string, type:string)

-Sending Feedback to Third Party Applications.

          The FHIR standard also supports a message resource which I will implement to send feedback to these applications depending on the operation(request) performed.

-Testing, Verification and Validation.

          Implementing test for each class created and checking if these tests run smoothly will help to ensure that the acceptance and persistence of the diagnostic report will not cause any unwanted changes to the database or disrupt the other usage of the diagnostic report.

Milestones

-Implementation of the following FHIR resources; Devices, Specimens and Results.

-Creation of a Results, Specimens and Devices tables and modification of the Encounter table. 

-Implementation of the message resource as service to send feedback to third party applications.

Development Schedule

This is a temporary plan subject to change as the project work begins

*May 3 - May 24 (3 weeks)

-In depth study and implementation discussions with mentors on the changes to the OpenMRS database to support requests and the persistence of the diagnostic report.

-Research and material gathering with the HAPI FHIR community.

*May 24 – June 7 (2 weeks)

-Adding the required classes to the FHIR module and the required unit test for these classes.

*June 7 – June 28 (3 weeks)

-Making the required changes to the OpenMRS database to support requests and persist a diagnostic report.

*June 28 – July 12 (2 weeks)

-School Exams.

*July 12 – July 26 (3 weeks)

-Implementation of the message service (resource) using the FHIR API to send feedback to third party applications. 

*August 2 – August 16 (2 weeks)

-Generation of use cases and test sets.

-Implementation of tests and verification.

*August 16 – August 29 (2 weeks)

-Final verification and validation of deliverables.

 Resources

-FHIR for Developers

-HAPI FHIR - Core Library