About
I'm a pharmacist and a Typescript developer from Asheville, North Carolina. I'm currently searching for an entry-level software career, preferably as a front-end or full-stack development. Although my background is in healthcare, I'm open to developing for any field, so I'd love to hear what projects you could use help with.
Style of Development
I prefer to use a paradigm, language, or framework fits the project I'm working on. So far, that has meant TypeScript alone or in combination with Angular or Lit, with an emphasis on object-oriented, component-based development. Over the past year, I've also become invested in RxJS, and have learned some Python for shorter scripts and web scraping. In the backend space, most of my experience is in MySQL/NodeJS, but I've recently spent time getting to know Firestore and Firebase Functions.
Pharmacy and Programming
Medical software can be more harmful than helpful, with alert fatigue, poor standardization, and medical errors threatening both patient safety and provider efficiency. My hope is that my understanding of medical terminology and pharmaceutical work flow can be an asset to my development team, and that I can serve as an intermediary between software developers and healthcare staff.
Portfolio
Pharmacokinetics Components
The pharmacokinetic web components project was developed to provide a customizable, portable, and interactive platform for pharmacy professors to demonstrate how changes in pharmacokinetic properties affect drug absorption and metabolism.
SEE DEMOProject Description
The pharmacokinetic web components project was created to supplement the UNC Eshelman School of Pharmacy's pharmacokinetics curriculum. I was tasked with upgrading our school's interactive pharmacokinetic graphs so as to improve scalability and ease-of-implementation. I decided to use web components for the project in order to ensure interoperability with any future frameworks UNC wanted to use. The resulting web components render an interactive charts with a realtime equation and auto-generated range-inputs.
Challenges
Multiple Dosing Equations
Multiple dosing equations require a kinetic function to be run for each dose given to a (theoretical) patient. Alongside plot generation, this is computationally intensive when working with larger numbers. To improve performance when interacting with the component, web workers were used to allow for computation on a separate thread, which greatly improved performance on lower-end devices.Ease of use
Because the audience for these components is pharmacy professors, I had to make sure that any setup was intuitive -- in other words, no LaTeX or MathML knowledge should be required to create a chart. MathJax could render ASCII, but was very slow. I decided on KaTeX, which meant I had to transform an ASCII input into LaTeX. Luckily, a library called ASCIIMath2Tex made this transformation easy and efficient.Elder Drug
ElderDrug.com is an Angular PWA that uses the RxNorm API in order to simplify screening medication lists for drugs on Beers Criteria. Beers Criteria is a list of medications to be used with caution in adults 65+.
LEARN MOREProject Description
Beers Criteria is distributed as a PDF containing nearly 300 separate entries spread across several pages. Traditionally, a student applying the criteria to a patient's medication list could dedicate a few minutes per drug screened, which can become daunting when screening dozens of medications per patient. Elder Drug was created to make working up patients easier. It adds a comprehensive search that permits multiple drugs in a single query. Elder Drug also allows searching brands and generics even for entries pertaining to an entire therapeutic category (e.g. searching 'Abilify' would return any entries pertaining to antipsychotics).
Challenges
Therapeutic Categories
Drug classes and therapeutic categories do not have uniform nomenclature. The consequences of this can be illustrated with amitriptyline: it is an antidepressant, but if I associated all antidepressants with the effects of Amitriptyline, relatively benign drugs like Sertraline would be categorized as anticholinergics. As a result, I had to find drug classes that accurately corresponded to each entry on Beers Criteria while also containing a queryable ID on RxNorm. To do so, I created a compound index using therapeutic categories and classes from both DailyMed and Veterans Affairs.