<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Finance on Ash Tewari</title><link>https://www.tewari.info/category/finance/</link><description>Recent content in Finance on Ash Tewari</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><lastBuildDate>Sat, 14 Nov 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.tewari.info/category/finance/feed.xml" rel="self" type="application/rss+xml"/><item><title>Should you switch to an HSA plan? Let your own medical bills answer</title><link>https://www.tewari.info/2026/11/14/should-you-switch-to-an-hsa/</link><pubDate>Sat, 14 Nov 2026 00:00:00 +0000</pubDate><guid>https://www.tewari.info/2026/11/14/should-you-switch-to-an-hsa/</guid><description>&lt;img src="https://www.tewari.info/wp-content/should-you-switch-to-an-hsa.png" alt="Featured image of post Should you switch to an HSA plan? Let your own medical bills answer" /&gt;&lt;p&gt;Every fall I face the same open-enrollment question. My employer offers the usual PPO and a couple of high-deductible plans that come with a health savings account (HSA). The HSA plans have much lower premiums, and the employer puts money into the account, but the deductible is several thousand dollars. So which one costs less?&lt;/p&gt;&#10;&lt;p&gt;The comparison charts in the benefits guide don&amp;rsquo;t answer that. They compare a &amp;ldquo;typical&amp;rdquo; employee who visits the doctor twice and fills a generic prescription. I&amp;rsquo;m not that person, and you probably aren&amp;rsquo;t either.&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;⚠️ &lt;strong&gt;Warning: experimental alpha software.&lt;/strong&gt; This tool is new, has had limited testing, and may have bugs that produce wrong numbers. Treat its results as a starting point for your own research, not as an answer. Before you change plans, check the recommendation against your benefits guide and your insurer&amp;rsquo;s plan documents.&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;h2 id="why-i-built-this"&gt;Why I built this&#10;&lt;/h2&gt;&lt;p&gt;What you actually pay depends on details the charts skip: when in the year your bills land, what your insurer negotiated for each visit, which services get a flat copay and which go toward the deductible, and whether your family hits the out-of-pocket maximum. You already have that information. It&amp;rsquo;s in your insurer&amp;rsquo;s claims history and in years of Explanation of Benefits (EOB) statements.&lt;/p&gt;&#10;&lt;p&gt;I wanted to use real claims, but going through years of them by hand was tedious and easy to get wrong. I also didn&amp;rsquo;t want to upload raw medical records to a chatbot to do it for me. So I split the work in two. A small set of tools runs on my own computer, reads the claims and strips out personal details. Then an AI assistant &amp;ldquo;skill&amp;rdquo; walks anyone through the process. The assistant runs on a cloud AI model, but it works from the de-identified totals the local tools produce rather than from the original records.&lt;/p&gt;&#10;&lt;h2 id="what-it-does"&gt;What it does&#10;&lt;/h2&gt;&lt;p&gt;You give it your claims history and a description of each plan you can choose. It then:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Removes personal details (names, member IDs, doctors, drug names, exact dates) and keeps only the dollar amounts, the month and a broad category.&lt;/li&gt;&#10;&lt;li&gt;Replays every claim, in order, under each plan&amp;rsquo;s rules: copays, deductible, coinsurance, family limits and the out-of-pocket maximum.&lt;/li&gt;&#10;&lt;li&gt;Adds the things people often forget: premiums, the money your employer puts in the HSA, and the taxes you save by contributing to it.&lt;/li&gt;&#10;&lt;li&gt;Checks itself by replaying your current plan and comparing the result with what you actually paid. If the two don&amp;rsquo;t line up, it tells you before showing any recommendation.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;The result is an Excel workbook with your net yearly cost under each plan, plus a few &amp;ldquo;what if&amp;rdquo; views. These show a light year, a heavy year, the worst case where you hit the out-of-pocket maximum, the point where the cheaper plan would stop being cheaper, month-by-month HSA cash flow, and a five-year projection if you invest the HSA balance. You can change your contribution, tax rate or premiums in the workbook and watch the numbers update.&lt;/p&gt;&#10;&lt;p&gt;The gap between a PPO and an HSA plan can be several thousand dollars a year. The choice between two HSA plans is often closer, and which one comes out ahead can depend on whether you have a light year or a heavy one. That&amp;rsquo;s the kind of thing you only see when you run your own numbers.&lt;/p&gt;&#10;&lt;h2 id="how-it-handles-your-data"&gt;How it handles your data&#10;&lt;/h2&gt;&lt;p&gt;Keeping medical records private was a design goal from the start, but it helps to be clear about what goes where. There are two parts:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Local tools.&lt;/strong&gt; The scripts that read your claims, remove personal details and run the cost model work on your own computer. They don&amp;rsquo;t make network calls, and because the code is open source, you can check that yourself.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;The AI assistant.&lt;/strong&gt; If you use it, your conversation goes to the assistant&amp;rsquo;s cloud AI model. That includes what you type, like who&amp;rsquo;s on your plan and your tax bracket, and the de-identified counts and totals the local tools print. The local tools are what keep names, IDs, doctors, drugs and exact dates out of that stream.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Here&amp;rsquo;s what the project does to protect your data, and where its limits are:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The output files are built from a short list of allowed fields. That keeps names, IDs, doctors and exact dates out by design.&lt;/li&gt;&#10;&lt;li&gt;A leak scan checks the finished files against your original records (and against any private words you add, like your street name) before you share them. It&amp;rsquo;s a safety net that catches common mistakes. It can&amp;rsquo;t promise to catch everything.&lt;/li&gt;&#10;&lt;li&gt;A check in the code repository helps prevent real medical files from being committed by accident.&lt;/li&gt;&#10;&lt;li&gt;The skill tells the assistant not to open your claim files and to rely on the local tools instead. That&amp;rsquo;s an instruction to the AI model, not a technical barrier. Don&amp;rsquo;t paste claims, statements or screenshots into the chat, and check your AI provider&amp;rsquo;s data policies.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;No tool can guarantee perfect privacy or security. This one is designed to limit how much personal information gets exposed, and you can review the code to see exactly what it does.&lt;/p&gt;&#10;&lt;h2 id="how-to-use-it"&gt;How to use it&#10;&lt;/h2&gt;&lt;p&gt;The easiest way is to let an AI coding assistant guide you. Download the project and open its folder in an assistant that supports agent skills. GitHub Copilot in VS Code and Claude Code both find the skill on their own, so there&amp;rsquo;s nothing to install. Run the assistant on your own computer with the project folder open. Uploading the skill to a chat website doesn&amp;rsquo;t work here, because the tools that strip out personal details have to run on your machine.&lt;/p&gt;&#10;&lt;p&gt;Then ask something like:&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;Should I switch to an HSA plan? Walk me through it.&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;The assistant asks a few questions at a time: who&amp;rsquo;s on your plan, which plans you can choose, your rough tax bracket. Then it tells you exactly what to download and where to find it. You don&amp;rsquo;t need to know any of this in advance, or have every file. It works with:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;claim downloads from your insurer&amp;rsquo;s website (the README lists which insurers&amp;rsquo; exports work out of the box, and the assistant can convert other insurers&amp;rsquo; spreadsheets),&lt;/li&gt;&#10;&lt;li&gt;EOB statements, or claims you type into a simple template,&lt;/li&gt;&#10;&lt;li&gt;nothing at all, in which case it builds an estimate from a short chat about how often your family sees a doctor.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;If you&amp;rsquo;d rather do it yourself, the &lt;a class="link" href="https://github.com/ashtewari/hsa-vs-ppo" target="_blank" rel="noopener"&#10; &gt;project README&lt;/a&gt; lists the five commands to run.&lt;/p&gt;&#10;&lt;p&gt;Want to see how it works before using your own data? The skill has a demo mode that walks you through the whole process with a fictional family. &lt;a class="link" href="#example-2-a-real-run-of-the-skill-in-demo-mode" &gt;Example 2&lt;/a&gt; below shows how to start it.&lt;/p&gt;&#10;&lt;h2 id="example-1-what-a-recommendation-looks-like-hypothetical"&gt;Example 1: what a recommendation looks like (hypothetical)&#10;&lt;/h2&gt;&lt;p&gt;This first example is hypothetical. The Rivera family and every number below are made up for illustration, and none of it was produced by running the tool. For real tool output, skip to &lt;a class="link" href="#example-2-a-real-run-of-the-skill-in-demo-mode" &gt;Example 2&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;The Rivera family is two parents and two kids. They&amp;rsquo;re on a PPO and can switch to one of two HSA plans next year. After the assistant gathered their last two years of claims and the plan details, it came back with this:&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Net yearly cost&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: right"&gt;Current PPO&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: right"&gt;HSA Plus&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: right"&gt;HSA Basic&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A year like last year&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: right"&gt;$8,400&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: right"&gt;$4,900&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: right"&gt;$3,700&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A heavier year (like the year before)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: right"&gt;$9,300&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: right"&gt;$6,500&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: right"&gt;$6,900&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Worst case (out-of-pocket max reached)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: right"&gt;$10,900&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: right"&gt;$9,600&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: right"&gt;$8,800&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;&lt;em&gt;Net cost = premiums + what you pay for care − the employer&amp;rsquo;s HSA deposit − tax savings.&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;And the recommendation, in plain words:&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;&lt;strong&gt;Switch to HSA Basic and contribute through payroll.&lt;/strong&gt; It would have saved you about $4,700 last year compared with your PPO, and it&amp;rsquo;s still cheaper than the PPO in a heavy year and in the worst case. HSA Plus only pulls ahead in years when several of you need a lot of care, and even then by about $400.&lt;/p&gt;&#10;&lt;p&gt;Before you enroll, check three things:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Keep about $3,000 in savings for early-year bills. Your HSA builds up with each paycheck, but January is when the deductible hits.&lt;/li&gt;&#10;&lt;li&gt;Make sure your kids&amp;rsquo; doctors are in the new plan&amp;rsquo;s network.&lt;/li&gt;&#10;&lt;li&gt;You can only spend HSA money tax-free on yourself, your spouse and your tax dependents.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;How confident is this? Replaying your current PPO matched what you actually paid within 3% for both years, so the model understands your bills well. The one estimate in here is your teenager&amp;rsquo;s prescriptions, which you couldn&amp;rsquo;t see online.&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;h2 id="example-2-a-real-run-of-the-skill-in-demo-mode"&gt;Example 2: a real run of the skill in demo mode&#10;&lt;/h2&gt;&lt;p&gt;Unlike the Rivera example, this one is real. The skill has a &lt;strong&gt;demo mode&lt;/strong&gt; that runs the whole workflow on a fictional family of four, with synthetic claim exports and EOB PDFs and two fictional plans. No real medical data is involved, so you can see how the skill works before you gather your own documents.&lt;/p&gt;&#10;&lt;p&gt;To try it, clone the &lt;a class="link" href="https://github.com/ashtewari/hsa-vs-ppo" target="_blank" rel="noopener"&#10; &gt;repository&lt;/a&gt;, set up its Python environment as the README describes, and open the folder in an agent that supports skills (GitHub Copilot in VS Code or the Copilot CLI, or Claude Code). Then ask:&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;Walk me through the HSA decision with the demo family.&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;The agent takes about 10-15 minutes and runs the same five phases it would run on your data:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Interview.&lt;/strong&gt; It asks the usual questions, with the demo family&amp;rsquo;s answers pre-filled as defaults. You can accept them or change one, such as your state tax rate or HSA contribution, and watch the change carry through.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Plans.&lt;/strong&gt; It reads a fictional benefits summary and checks the plan details against it.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Claims.&lt;/strong&gt; It extracts the synthetic claims, goes through the two flagged rows with you and runs the leak scan.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Comparison.&lt;/strong&gt; It runs the cost model and checks that replaying the current plan matches what the family actually paid.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Result.&lt;/strong&gt; It explains the workbook, then tells you what to gather for a run on your own data.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;It follows the same privacy rules as a real run. For example, it never opens the claim files and works only from the counts and totals that the local tools print. Everything goes into &lt;code&gt;demo/output/&lt;/code&gt;, not the folder your real files would use.&lt;/p&gt;&#10;&lt;p&gt;With the default answers, this is the &lt;strong&gt;Annual comparison&lt;/strong&gt; sheet of the workbook the run produces:&lt;/p&gt;&#10;&lt;p&gt;&lt;img alt="Annual comparison sheet of the demo workbook for a fictional family: Example PPO net annual cost $7,785.58, Example HDHP $2,995.43" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://www.tewari.info/wp-content/hsa-demo-annual-comparison.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;Synthetic family and fictional plans. The two examples are unrelated, so their numbers don&amp;rsquo;t match. If you change an interview answer, your numbers will differ from these.&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;In this demo the example HDHP costs about $4,790 less than the example PPO. The family pays about $2,707 more at the doctor and pharmacy, but premiums are about $5,200 lower, and the employer&amp;rsquo;s HSA money and the tax savings more than cover the difference. With other plans and other claims, the answer can flip.&lt;/p&gt;&#10;&lt;p&gt;If you only want to see the result:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Open the finished workbook.&lt;/strong&gt; Download &lt;a class="link" href="https://github.com/ashtewari/hsa-vs-ppo/releases/download/v0.1.0/hsa_comparison_demo_recalculated.xlsx" target="_blank" rel="noopener"&#10; &gt;hsa_comparison_demo_recalculated.xlsx&lt;/a&gt; from the &lt;a class="link" href="https://github.com/ashtewari/hsa-vs-ppo/releases/tag/v0.1.0" target="_blank" rel="noopener"&#10; &gt;v0.1.0 pre-release&lt;/a&gt;, open it in Excel or LibreOffice and start on &lt;strong&gt;Annual comparison&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Skip the agent.&lt;/strong&gt; Run &lt;code&gt;python demo/run_demo.py&lt;/code&gt;. It builds the same workbook in a few seconds, without the guided walkthrough.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;The demo mode is documented in the &lt;a class="link" href="https://github.com/ashtewari/hsa-vs-ppo/blob/main/demo/README.md#try-it-with-an-ai-agent-the-skills-demo-mode" target="_blank" rel="noopener"&#10; &gt;demo README&lt;/a&gt;. It was added after the v0.1.0 pre-release, so use the &lt;code&gt;main&lt;/code&gt; branch to get it. The pre-release is marked that way because the tool is still experimental alpha software.&lt;/p&gt;&#10;&lt;h2 id="a-few-honest-caveats"&gt;A few honest caveats&#10;&lt;/h2&gt;&lt;p&gt;This is experimental alpha software. Expect rough edges, and please &lt;a class="link" href="https://github.com/ashtewari/hsa-vs-ppo/issues" target="_blank" rel="noopener"&#10; &gt;report anything that looks wrong&lt;/a&gt;. It&amp;rsquo;s a decision aid, not financial, tax or insurance advice, and every number it produces is an estimate. It assumes your doctors and negotiated prices stay the same on every plan. The automatic PDF reading only understands one insurer&amp;rsquo;s EOB format today (see the README for which); other insurers work through spreadsheet downloads, manual entry or estimates. Health care is also unpredictable, which is why the workbook shows you the bad years as well as the typical one.&lt;/p&gt;&#10;&lt;p&gt;The project is free and open source under the MIT license. You can find it on GitHub at &lt;a class="link" href="https://github.com/ashtewari/hsa-vs-ppo" target="_blank" rel="noopener"&#10; &gt;ashtewari/hsa-vs-ppo&lt;/a&gt;. If it helps you make your choice this open enrollment, I&amp;rsquo;d love to hear about it.&lt;/p&gt;&#10;</description></item></channel></rss>