Status: summary to expand as we complete each setup.
Quick checklist
| # | Step |
|---|---|
| 1 | Open Dental: create clients/<id>.json with the client's Customer Key |
| 2 | Open Dental: import plans from master to the client's base |
| 2.a | Stedi: create API code for the client (clearinghouse) |
| 2.b | Open Dental: activate Key Connect (client's customer_key) |
| 2.c | OD Imaging: create folder "Insurance Verification - BC" |
| 2.d | OD: create Insurance Status tag in appointment notes (Yami's steps pending) |
| 3 | Sheet Insurance Logins: fill in client's portal credentials |
| 4 | Sheet Dr Directory: load providers (NPI, license, etc.) |
| 5 | Sheet Agreement & Cycle: load agreement and client's billing cycle |
| 6 | Stripe: client creates their subscription; manually add the $150 installation fee (one-time) at day 31 |
| 7 | Jotform: manually add client to the listing |
| 8 | Google Script ALL PATIENTS BALANCE: add client to the Composite ID Generator file |
| 9 | WhatsApp: create group and add Yami BC + client's team |
Detail
1-2Open Dental — credentials and plans
Create clients/<id>.json with the open_dental block (shared Developer Key + client's Customer Key). Then import plans from master to their base:
cd "/Users/yamibrandan/Documents/Claude/Projects/api open dental stedi claims" source .venv/bin/activate # 1. Test without writing, confirm listed plans are the BC curated ones: python push_plans.py --source master --dest <client-id> --limit 3 --dry-run # 2. If the 3 are correct, real test with 3: python push_plans.py --source master --dest <client-id> --limit 3 # 3. If all OK, migrate all BC curated plans: python push_plans.py --source master --dest <client-id>
--source master = our developers OD; --dest <client-id> = the new base. Creates only what's missing (carriers, code groups). Real offices already have ADA codes, so import_proc_codes is NOT needed.
--all: the master has old developer plans (the "8-9 already existing" ones at the start) that we do NOT want in the client. Without --all, the default filter (Plan Updated - BC) only grabs the curated ones.
2.a-dAdditional OD + Stedi setup (pending to expand with details)
These steps are documented here so they don't get forgotten — Yami will provide the exact steps to enrich each one.
2.a — Stedi: create API code for the client
Go to the Stedi dashboard → create a new API code associated with the client. This is what enables sending 270/276/837D to the clearinghouse on behalf of the client's provider.
(Detailed steps pending)
2.b — Open Dental: Key Connect
Activate the client's customer_key in Open Dental Key Connect so our scripts can access their OD base via API.
(Detailed steps pending)
2.c — Create "Insurance Verification - BC" image category in Open Dental
This is the Image Category where AutoVerify uploads the eligibility and benefits PDF for each patient. If the category doesn't exist, the upload fails silently.
1Open Dental → Setup → Definitions
2In the left list Select Category
Choose Image Categories.
3In Edit Items, click Add
4In Name type exactly
Insurance Verification - BC
Leave all Usage checkboxes unchecked; Hidden unchecked.
5Click Save
Short path: Setup → Definitions → Image Categories → Add → Name: "Insurance Verification - BC" → Save
Insurance Verification-BC or insurance verification - BC, uploads fail.
STEDI_PDF_DOC_CATEGORY = "Insurance". For PDFs to actually land in the new category:
config.py→ change toSTEDI_PDF_DOC_CATEGORY = "Insurance Verification - BC".env.example(and prod.env) → same- Redeploy
Insurance, and the new one stays empty.
2.d — OD: Insurance Status tag in appointment notes
Create the Insurance Status tag in the client's appointment notes (e.g. INS ACTIVE - BC / INS INACTIVE - BC). This is used by SOP-IT-003 (Metrics & A/R Recovery) to count cycle verifications.
(Yami will provide the detailed steps)
3Insurance Logins (Sheet)
Fill in client's insurance portal credentials.
5Agreement & Cycle (Sheet)
Load agreement and billing cycle for the client.
6Stripe
Client creates subscription in Stripe. Manually add the $150 installation fee (one-time) at day 31 from activation.
7Jotform
Manually add the client to the Jotform listing.
8Google Script — ALL PATIENTS BALANCE
Manually add the client to the "ALL PATIENTS BALANCE" script, in the Composite ID Generator file.
9WhatsApp
Create the client's WhatsApp group and add Yami BC + the client's team.
Hosting map — where each piece lives
| URL | System | How to update |
|---|---|---|
brandacare.com/docs/…API-Setup.pdf | WordPress / Cloudways | WP Admin → WP File Manager → public_html/docs/ → replace file (same name) |
brandacare.com (landing, dashboards) | WordPress / Cloudways | Dashboards via GitHub Actions + SFTP to public_html/dashboards/ |
manual.brandacare.com | Netlify | Drag-and-drop the docs/ folder |
manual.tecnico.brandacare.com | Netlify | Drag-and-drop the docs-tecnico/ folder |
- WP Admin → Breeze → Purge All Cache
- Cloudways → Application → Purge Varnish (if applicable)
- Cloudflare → Purge (if in front)
?v=2 at the end of the link in the email to force the new version. Always verify in incognito.
To expand (TODO)
- Detail exactly which columns to fill in each Sheet
- Stripe steps with screenshots (where the one-time fee is added)
- How to add to Jotform and the Composite ID Generator script (exact fields)
- Variants by tier (what changes between tiers)
- Final verification checklist (that everything works)
