Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Google Summer Of Code 2020 Final Report

Organization - LibreHealth

Project - Develop an Android, IOS mobile application to show patient friendly costs of care.

Student - Darshpreet Singh


Recent changes in Medicare’s payment policies under the inpatient prospective payment system (PPS) and the long-term care hospital PPS required that the CDM be made available in a machine-readable format by January 1, 2019 . These formats are in XML or CSV and while machine readable do not make sense for a patient who is comparing the prices

The Goal of this Cost Of Care Project is to provide patient friendly costs of care, to help patients get better cost estimates for medical procedures of US Hospitals. User can view the chargemaster, search for a particular procedure in multiple hospitals chargemasters & can sort data by Category or sort by price in ascending or descending order. App downloads hospitals chargemaster from GitLab Repository and save it to local storage of phone in SQL database. Users can also compare hospitals based on ratings & patients experience to get idea about hospital services. This App can work offline and can update downloaded data.


Librehealth Project Repository

My Forked Repository

Mobile App

What was done:

During these three months, I have:

  • Used Scrapy & selenium to implement a web scraper in python which scraps US hospitals ChargeMasters
  • Developed a Flutter Application from scratch which shows these CDM & provides many other functionalities
  • Created a CI pipeline in Data Scraper Repo to scrap & push data every month.

Merge Requests

Cost Of Care Mobile Application Project

  1. Merge Request !2 - Created UI with Dummy Data - status:-Merged
  • Developed UI Screens of App with Dummy Data
  • Created Navigation Drawer,Bottom Navigation, Home, Search, Settings, Saved ChargeMasters,View CDM Screens
  1. Merge Request !12 - Worked on home,download cdm,saved cdm screens backend, Added Download Progress Indicator - status:-Merged
  • Added GeoLocator & Location package to get user Location
  • Used overpass API to fetch nearby hospitals
  • Used GitLab API to download CDM
  • Showed a progress when CDMs are downloading
  • Created SQL Database in App
  • Woked on Saved screen which shows all tables from SQL
  1. Merge Request !13 - Worked on Compare Hospitals UI, View CDM Statewise Screen - status:-Merged
  • Made UI with Dummy Data for compare hospitals screen
  • Used Gitlab API for view CDM statewise screen
  • Showed CDM for each state from GitLab Data Scraper Repository
  1. Merge Request !15 - Working on Search functionality & fixing issues in App - status:-Merged
  • Added Search Functionality in View CDM Screen
  • Used Flutter Cache Manager to store downloaded CDM before inserting to SQL
  • Fixed issues in App - CDMs not displayed immediately after downloading
  • Improved hospital CDM list tile UI
  1. Merge Request !20 - Created Unit tests,Added alert dialog, search by price, added location choose feature, Used LH theme- status:-Under Review
  • Completed
  • Added Unit tests
  • completed
  • Fixed dart analysis
  • added license
  • fixed bugs
  • Worked on share,about screens of app
  • Search by price
  • unit tests passed
  • Splash screen created
  • Used LH colors for theme
  • Created table in for screenshots of App
  • Added intro slides in App

Cost Of Care Data Scraper Project

  1. Merge Request !10 - Scraped & Processed Medicare data- status:-Merged
  • Used scrapy for web scraping
  • Used Selenium to automate web browser interaction from Python. With Selenium webdriver this scraper can also scrap dynamic websites.
  • Scraped & Processed CDM of Alaska
  • Scraped & Processed CDM of California
  • Scraped & Processed CDM of Indiana
  • Scraped & Processed Medicare Data
  • Wrote process scripts for each hospital
  1. Merge Request !12 - Trigger Pipeline- status:-Merged
  • Created CI(Continous Integration) pipeline which scraps, process cdm & then push to GitLab Repository
  • Tested CI pipeline on my forked repo
  1. Merge Request !27 - Fixing issues - status:-Merged
  • Completed
  • added license
  • Made Repository size small with BFG Repo Cleaner
  • Used lowercase for naming directories
  • Fixed problems in Adventist Hospital
  1. Merge Request !31 - Used chromedriver 85 version , Fixed process scripts of california hospitals - status:-Under Review
  • Fixed ChromeDriver exception
  • Fixed issues in california hospitals process scripts

What after GSoC

I will continue to contribute to LibreHealth for this project. I will assist the new members who are willing to contribute for this project. I will actively take part in the discussions and I will contribute by creating, Solving issues and adding improvements to this app.

I would be happy if I get chance to become mentor for next year GSoC.

Thanks to Almighty Lord

I am thankful to god that I was able to complete this project during this COVID pandemic, may everyone prosper & be in peace that's what I pray.

"In the remembrance of God, the filth of the mind is removed & one's works are accomplished." By Guru Arjan Dev Ji

Thanks to my mentors

I would like to thank my mentors, Mua N. Laurent, Saptarshi Purkayastha, Robby O Connor, Judy Gichoya for being so nice and helpful. I have learnt a lot in the past 4 months and it has been a great experience to be a part of this wonderful organisation.

I am very much thankful to Mua N. Laurent, I highly appreciate your mentoring & guidance, I am very grateful to you, this was all possible because of your encouragement, advice, and support that you’ve given me. You have been incredibly generous with your time and energy, Your words of encouragement brightened me & helped sharpen my skills.


Home screen displaying nearby hospitals & user location Settings screen to filter nearby hospitals & change location Search screen - Searching by procedure
Search screen - Searching by price Bottom sheet to filter searching in CDM Navigation drawer - Navigate to different app screens.
Choose any two hospitals to compare them Compare screen - Comparing general information Compare screen - Comparing patient experience
Download CDM - Download ChargeMaster of your nearby hospitals View CDM - Viewing individual CDM with search functionality. View CDM Statewise - View CDM of other states of US.
Saved ChargeMasters - CDMs Saved in SQL database of app About us page of the project in the app.


The Cost Of Care chat channel is on Librehealth Forums, my entire communication with my mentors can be seen there.

Blog posts during GSoC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.