🫁  PulmApps  🫁

Pulmonary-specific clinical tools for the busy clinician

Thanks those who support PulmApps!
Thanks to those who have already supported PulmApps - you've allowed me to keep PulmApps online and pay for server fees! If you want to help cover these expenses or just want to say thanks, click Donate!

Special thanks to:
Maurice Khayat
Ian Grasso
Michael Switzer
Jeanette Collins
Leslie Jette-Kelly
Haydar Al-Eid
Mark Nau

If you have an interest in helping me maintain and continue developing PulmApps, don't hesitate - reach out!
💊 💊 💊 Updates (as of 20 October 2023) 💊 💊 💊
A steroid taper calculator (specific to usual prednisone doses) is now available in beta. It allows for prescription of a prolonged higher dose "plateau" followed by a first taper schedule, an optional second taper schedule (e.g. decrease by less once below 20mg), and a specific end dose (e.g. 2.5mg). Be warned - there is limited input validation. Please send me any comments, bugs, critques, or suggestions. No, I haven't forgotten about the CPET calculator. It's just much more complex to code and accurately generate interpretations.
What is PulmApps?
SpiroMaker: A basic interface for generating PFT reports and performing common PFT calculations. The interface is designed to generate a report with the least number of clicks possible and include basic differential diagnoses to aid clinical decision making.

Future Features:
  • Impulse Oscillometry (IOS)
  • Evidence Base Description and Linkouts
BronchoProv: A basic interface for rapidly generating reports for common bronchoprovocation tests.
Nodule Tool: A clinical decision tool that unifies the most three most commonly used lung cancer risk calculations, the 2017 Fleishner Guidelines for Pulmonary Nodules, and the ACR's LungRADS. The goal of the Nodule Tool is to clearly identify the most accurate risk calculator (ie. based upon clinical data and demographics) and appropriate management strategies: Fleishner vs. LungRADS recommendations.

Future Features:
  • More Info pages (calcification, density, perifissurals, accurate measurement)
  • Risks / Benefits of Screening & Repeated CTs
  • NSCLC, SCLC staging guides
6MWT: Quick 6-minute walk text interpretation based on a commonly accepted walk distance model.
Steroid Taper Calculator: It allows for prescription of a prolonged higher dose "plateau" followed by a first taper schedule, an optional second taper schedule (e.g. decrease by less once below 20mg), and a specific end dose (e.g. 2.5mg).
CPET Calculator: I plan to fully recreate the CPET Calculator, but right now, just the basic interpretation and report generation is available. I hope to eventually implement the same basic tutorial in interpretation of numerical data, 9-plots, and exercise flow-volume loops along with the pre-operative Risk Stratification - just like in the original Excel workbook.
Why was PulmApps created?

As a pulmonary fellow, we had to read tons of PFTs a week - often well over a hundred. We had a shared document with stock-phrase interpretations, but the process of select-copy-paste was cumbersome and made it feel more time consuming than it should have been. And then there were the Cardio-Pulmonary Exercise Tests (CPET); sifting through the pages of tabular data, 9-plots that never seemed to make sense, and ECGs on a Friday afternoon was simply painful. A prior staff pulmonologist had made a rudimentary MS Excel spreadsheet to calculate some key CPET endpoints, but I felt like we could do better. How about a program that could take basic physiologic data, provide some basic calculations, and also generate the report for you? Conveniently, CPET interpretation tended to be highly algorithmic (how else can one make sense of that much data?). Maybe such a program could show the user a suggested interpretation and how it came to that conclusion! So, I set about to understand the basic evidence behind CPET interpretation and how to do some basic VBA coding in MS Excel, and created the first version of the CPET Calculator.

After a positive reception to the CPET Calculator, I figured I could do the same for spirometry interpetation: SpiroMaker was born. I eventually included sections for bronchoprovocation testing, impulse oscillometry, and mouth pressures. As I coded each test into SpiroMaker and focused on each test's nuances, I found my own interpretations to become much more nuanced and accurate. Later, after returning from a several month period of straight critical care, I found that pulmonary nodule management had changed completely: the Fleishner Guidelines had been updated and our hospital was in full swing of using the LungRADS system of classification. I needed some way to reconcile these two classification schemes with each other and with existing scoring systems: the Excel version of the Nodule Tool was the answer. Although narrow in scope, I discovered the limitations in each scoring system and guideline and which (limited) populations these could be used in.

Despite all of the utility in the CPET Calculator, SpiroMaker, and the Nodule Tool, the limitations of spreadsheet based coding, the difficulty in pushing updates to my colleagues, and requirement for pesky Macros drove me to create a web-based version. PulmApps is the result. What you see now is my Alpha - first published in August of 2019. Nodule Tool served as the proof of concept. Once I tested the PHP logic, Javascript, and look and feel of the site, I recreated the basic elements of SpiroMaker. My plan is to eventually recreate and improve upon each of the three original programs and a basic tutorial in PFT interpretation. I hope you find these programs useful, but they can only improve with your input and feedback. Enjoy!