University of Maryland started out looking into how we could manage payments with our services on AFFORDABLE. Depending on how users interact with our system, there needs to be a way to handle the financial transfers and documentation that comes along with grant assistance or assisting these individuals in finding other sources of financial or service support for their healthcare needs.
AFFORDABLE’s mission is to connect these networks of healthcare and health supporting organizations into a portal, while concurrently reducing the complexity of the process for the individuals in need. Part of this process is the easy fluid transfer of financial aid, and this applied to the COVID-19 Relief Programs that AFFORDABLE has worked to coordinate and sponsor. With the aid we have collected, we wanted to use the AFFORDABLE portal to directly transfer financial aid after their story and request was evaluated.
So how did they go about accomplishing this goal? Well, the answer is surprisingly complicated. First they elaborated on the user classes of AFFORDABLE to have donors, applicants, and administrators. Each of these users can have financial account data with duel entry accounting to ensure that there are no errors in these important numbers. Then donors (people who are delivering the aid) need to transfer money into their AFFORDABLE account, and this can be credit card, debit card, or a direct ACH transfer from their checking account. Then, they can review applicant data and select people to receive a grant. Then the money gets internally transferred to the donor’s AFFORDABLE balance. Then, the awardee can withdraw the money to their selected bank account.
With all these important and critical steps required for successful transfer of aid, its important that there are not any error or mistakes! So, the UMD team enlisted the support of major financial API tools from Stripe and Plaid. Stripe is a developer friendly payment processing tool similar to PayPal, and Plaid offers simplified tools to connect your bank account automatically. Stripe provided several tools that allowed a simple process to deposit funds into a donor account, and similarly has special pages for award recipients to verify their identity and receive their financial aid. Similarly, normally linking a bank account requires two microdeposits and several days before we can verify that the bank account owner matches the AFFORDABLE account information. However, Plaid has special databases that will allow them to use their banking credentials to automatically confirm that this user is real and ready to roll.
Collectively, this was a significant design and software development challenge to complete, and to complete it with a high level of fidelity and security. This team was dedicated to making this project become a reality when COVID-19 was persistently spreading throughout the United States. Their work was also featured in the UMD COVID-19 response:
This was part of the efforts from the SEAM lab and the developers who work on unique and interesting development challenges:
The culminating experience for students of software engineering at College Park is a capstone course that challenges them to draw on all their newly-acquired skills in order to solve a real problem in a project of substance. Think of it as finishing school for young technologists before they head off to industry or grad school.
This semester’s capstone activities started like any other. Through the SEAM lab (Software Engineering at Maryland) students under the mentorship of Professor James Purtilo have been collaborating with the community health nonprofit AFFORDABLE in order to improve the lives of vulnerable socioeconomic populations by connecting them with donors of HUGS – “health utilizing grants.” AFFORDABLE’s web portal will host a ‘universal application’ to eliminate application fatigue, so once someone enters basic information, AFFORDABLE will coordinate applications with many likely donor groups. It’s a powerful multi-semester project that crosses many organization boundaries and brings a host of tech challenges – exactly the stuff of a capstone.
This was a great accomplishment for the UMD team and that was done to help improve the accessibility of healthcare resources. This repository will be used to improve the code quality, tooling, and security implementation as we expand these features to bring the full AFFORDABLE application to fruition.
Meet the team that made this project possible:
Laura is a senior Computer Science major and Mathematics minor in the University of Maryland. She has taken part in SEAM (Software Engineers at Maryland) since Fall 2016 and has worked on automating vulnerability detection in source code. This semester she is taking CMSC435 which gave her the opportunity to work with AFFORDABLE.
Thong is a Computer Science major at the University of Maryland, College Park. He had about 2-3 years experience in Java. He also has experience in C and some HTML. As of Fall 2019, he had taken courses on data structure and compiler development.
A former bio major interested in Linux, Rust, new & user-friendly tech, and eusocial hymenopterans. Has worked most in C/C++, Java, and Python 3.
Mitch is a Senior, soon-to-be CS Grad at UMD. He is knowledgeable with both front-end and back-end technologies, and is always looking to expand his skillset as a future Full Stack Engineer.
Elan is a computer science major with a strong focus on scientific computing, data science, machine learning, and sociology. His focus on human behavior and user friendliness give him a unique skill set in the computer engineering world.
Mikiyas is a senior Computer Engineering major at the University of Maryland. He has knowledge of C/C++ and Java. He has worked on surgical robots and is looking to broaden his experience with back end web development and databases.
Matt is an undergraduate junior pursuing a degree in Computer Science at the University of Maryland, College Park with a burning passion for technology and software development. He has proven experience in virtual reality research, software development and game development and is skilled in Java, the Unity Game Engine (C#), C++, Python and object-oriented design.
Abiy is a senior computer engineering student at the University of Maryland. He started his freshman year of college as a physics major. While pursuing a physics degree, he taught himself JAVA, which he found interesting enough to make him switch major. He has strong JAVA knowledge and an interest in building web applications. He has experience in working with AWS, and building web applications using NodeJs and spring framework.