September 3, 2026

I stopped rebuilding my CME total by hand

Learning AI in Public. One log for every credit, a quarterly check, and the two things that did not work.

Every year, I rebuilt my CME total from scratch, and it was never complete on the first pass. Some credits were on the work account, some were reported to CME Gateway, some were certificates in email from society meetings that report to no aggregator at all, and the CME Passport account I only opened this month. The total I handed in was whatever I could find that week. This piece is the account of replacing that with one log and a scheduled check, in the series format: what I tried, what worked, what didn't, and what I am still unsure about.

Thanks for reading RadBrief! Subscribe for free to receive new posts and support my work.

What I tried

The design has three parts, and the assistant is only the third. The first is routing: two aggregators, CME Passport and CME Gateway, plus one email address. I made a filter in Gmail so anything sent to my address with +cme added, name+cme@gmail.com, skips the inbox and goes under one label, and from now on every completion email and every society certificate gets forwarded there. The second is a single log, one row per activity with date, credits, provider, source, and a link to the certificate. I keep it in Notion, but a spreadsheet would do. The third is the assistant, Claude Cowork in my case. It read both transcripts and built the log, it looked up the requirements for my two state licenses and the ABR and wrote the windows down where the scheduled task can read them, and it now runs on a schedule. On the 27th of the last month of each quarter it reminds me to send fresh transcripts, and on the 1st of the new quarter it reconciles them. It also checks the calendar once a week for upcoming CME days, because a CME day at home only counts if I complete a set number of credits that day, so I need a plan for which ones before the day arrives.

What worked

The load matched the transcripts to the quarter credit. 104 rows, 92.5 credits: 87.75 from the Passport transcript across 85 activities and 4.75 from the Gateway report across 19 sessions, and every row is AMA PRA Category 1. Checking that took one look at two printed totals, which is the only checking I want to do by hand. The rule that made it trustworthy is that the assistant never claims a credit. It records what a certificate or a transcript shows, and it matches on activity and date, so a certificate forwarded twice does not become two rows. The first reconciliation also did the job I built it for. It found a mandated one-hour course with no row while the total looked healthy, and it reported that the ABR total is a minimum, because the log starts in March 2024 and anything earned before that is not counted.

What didn't

The Gmail connection could not find the CME Passport email. The email existed, it was correctly labeled, and the label count included it, but every search through the assistant came back empty, and retrying did not help. I ended up dropping the PDF into the chat myself, which took no time once I stopped trying to make the search work. The guide now says so: if the label count and the search disagree, hand it the file and move on. The second thing is not a failure of the tool. SAR and SABI report to neither aggregator, so their certificates only reach the log if I forward them, and the assistant cannot find them on its own, because there is nothing for it to search.

What I'm still unsure about

One recurring conference has never produced a row on any date, and I do not know yet whether that means it is not accredited or that the credits are reported under a name I have not matched. The next run will test it rather than assume. The calendar cross-check is the other open piece. My schedule feeds a calendar and CME days show up on it, but the same entry type can mean a home CME day or an in-person meeting, so the assistant has to ask me before it plans one. I would rather it asked than guessed, but it means that part is not fully automated and may never be. And I have not tested the design with any assistant other than Claude. The prompts are written for Cowork. Any assistant that can read a labeled email folder, write rows to a database, and run a task on a schedule should manage it with small edits, but "should" is the honest word.

The guide with the four prompts is at modvium.com/cme-guide. It is free, and it is written for physicians. CME days themselves, the paid time an employer owes, are a separate count from credits, and I built a separate tool for that, docdays.app. I kept it out of the assistant on purpose. CME credits come from documents someone else issued, so the assistant only has to read them and add rows, and the total can be checked against a printed transcript in one look. Days come from rules applied to a schedule, every day, for years: which calendar entries count, how days accrue, which unused days transfer into the next year, what a holiday does to the count. That has to be computed the same way every time, corrections have to be recorded as adjustments rather than edits, and the running balance has to export as something an HR office will accept as a record. An assistant reading the calendar on each run can arrive at a slightly different count each time and cannot show how it got there. An app with fixed rules and an append-only log can. So the reading is done by the assistant, and the counting by a separate app.

If your credits are in more places than mine, tell me where. The next version of the guide should cover them.

Thanks for reading RadBrief! Subscribe for free to receive new posts and support my work.