The skill scans a bot with subagents (never runs it) and writes HANDOVER.md, an 11-section ops guide in the operator's order: where is what, how to run, how long to wait, after the run, how to see an exception, exception list, how you will know, how to tell us, don'ts, issues seen before. Dev material (check against 12 failure classes from Tebra Auto Post, gaps with file:line, incidents) goes to HANDOVER-DEV.md. Also adds ADR-0004, glossary terms, five fixture bots and a handoff eval runner (--resume, --regrade) with results from 47 runs of the earlier 13-section version. The grader still expects that structure and must be updated before the next eval run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
172 lines
11 KiB
Markdown
172 lines
11 KiB
Markdown
# Worked example: Tebra Auto Post (v2.5.3), scrubbed
|
|
|
|
What the two files look like for a real bot. It is shortened: the real guide lists every status and every message. Client names, IDs, amounts, credentials and server addresses are removed, and the channel name is an example. **Copy the depth and the plain wording, not the content.**
|
|
|
|
---
|
|
|
|
# File 1: `HANDOVER.md`
|
|
|
|
# Tebra Auto Post: ops guide
|
|
|
|
Version 2.5.3 · Questions or problems: #rpa-support Teams channel (see section 9)
|
|
|
|
## 1. What this bot does
|
|
|
|
Posts insurance ERA payments into the Tebra desktop app, company by company and practice by practice, from the input Excel. At the end it turns each downloaded ERA into a PDF with EasyPrint.
|
|
|
|
## 2. Where is what
|
|
|
|
| Where | What you see there | Open it when |
|
|
|---|---|---|
|
|
| **Run tab** | Upload box, sheet preview, **Trigger automation** button, live log, 7 checkpoint boxes | To start a run, and to watch it |
|
|
| **Dashboard** | Every batch with its status (Pending / Completed / Cleared). Click a batch to see each company and practice | After a run, to see if it finished |
|
|
| **Report tab** | One row per ERA: File Status (colour), Comments, Check #, Insurance. Search by Batch ID. Exports to Excel | To see which ERA failed and why |
|
|
| `data/files/Need_attention/` | ERAs whose PDF could not be made | When PDF Converted = No |
|
|
| `data/files/Xcel/ERA_Summary_<time>.xlsx` | Per-file PDF result: Status, Failure Reason | To see why a PDF failed |
|
|
|
|
## 3. How to run
|
|
|
|
**Before you start**
|
|
- [ ] EasyPrint shortcut is on the Desktop, the Public Desktop or the Start Menu.
|
|
- [ ] Input Excel has the sheets Login, Company, Location, Settings. Download the sample from the Run tab if unsure.
|
|
- [ ] **One practice per row.** Wrong: `North Clinic, South Clinic` in one cell (the bot splits it and skips both). Right: each on its own row.
|
|
- [ ] Practice names spelled exactly as in Tebra, including `&`.
|
|
- [ ] A new practice has a Client ID. Ask us to add it before the first run.
|
|
- [ ] The title bar shows v2.5.3.
|
|
|
|
**Steps**
|
|
1. Open **Ecare Tebra Automation Tool** from the Desktop.
|
|
2. Run tab → drop the input Excel on the upload box.
|
|
3. Check the preview: Login, Company and Location sheets all have rows.
|
|
4. Click **Trigger automation**.
|
|
5. Leave the machine alone until the run ends.
|
|
|
|
**What a normal run looks like:** the checkpoint boxes turn green one by one. The live log shows each company, practice and ERA. Tebra opens and closes by itself for every company.
|
|
|
|
## 4. How long to wait
|
|
|
|
| Step | Normal time | The bot waits at most | After that the bot | What you do |
|
|
|---|---|---|---|---|
|
|
| Any checkpoint box | — | 5 min (10 min for the ERA list) with no progress | Marks the box red **stuck**, closes Tebra, restarts. Up to 3 times | Nothing. Wait for the 3 restarts |
|
|
| Open one ERA | not measured | 90 s, 3 tries, then 3 Tebra restarts | Writes the row as Error, moves to the next ERA | Nothing during the run |
|
|
| Open the payment screen | not measured | 120 s, 4 tries, then 3 Tebra restarts | Pauses the run | See E07 |
|
|
| Save one payment | about 12 s (slowest seen 27 s) | 45 s + 30 s + 30 s | Checks the ERA list. If the ERA is gone, counts it as posted. If not, Error | See E05 |
|
|
| One company | depends on ERAs | 3 attempts | Leaves the company Pending | See E08 |
|
|
| PDF step | not measured | 60 min | Puts the file in `Need_attention/` | See E09 |
|
|
|
|
**When do you step in?** Only when the run has ended, or the log says "Stuck - automatic restarts exhausted. Click Resume.". Restarts before that are normal.
|
|
|
|
## 5. After the run
|
|
|
|
| Ending | Meaning | What you do |
|
|
|---|---|---|
|
|
| Batch **Completed** on the Dashboard | Every practice finished | Check the Report tab for amber/grey rows that need follow-up |
|
|
| Batch **Pending** | At least one practice is not finished | Section 6, then E08 |
|
|
| "Stuck - automatic restarts exhausted. Click Resume." | The bot gave up after 3 restarts | Click **Resume** once. If it stops again, tell us |
|
|
|
|
**The report:** Report tab → search the Batch ID → read File Status and Comments. Export it to Excel from the same tab.
|
|
|
|
| Status - Comments | Colour | Meaning | What you do |
|
|
|---|---|---|---|
|
|
| Completed - "Posted successfully" | green | Posted and saved | nothing |
|
|
| Completed - "ERA Errors on posting" | green | **Not posted.** Tebra rejected it | Review it in Tebra by hand |
|
|
| Completed - "negative balance account … not posted" | green | **Not posted on purpose** | Follow the negative-balance process |
|
|
| Completed - "Payment method '…' - not posted" | green | Not ACH, skipped | nothing |
|
|
| Deferred | grey | Check date after the cutoff or in the future | nothing, a later run picks it up |
|
|
| Error | red | Failed after all retries | Section 7 |
|
|
|
|
**Read the Comments column on every green row.** Three different results all show green.
|
|
|
|
## 6. How to see an exception
|
|
|
|
1. Report tab → search the Batch ID → sort by File Status → look at the red **Error** rows.
|
|
2. Read the **Comments** column.
|
|
3. Find that message in section 7.
|
|
4. If no row is red but the batch is Pending, open the batch on the Dashboard and find the practice that is still Pending.
|
|
|
|
## 7. Exception list
|
|
|
|
| ID | Message you see | Where | What it means | What you do | Bot retries / call us when |
|
|
|---|---|---|---|---|---|
|
|
| E01 | "[login] FAILED for company …" | Live log; company Pending on the Dashboard | Tebra's sign-in window or fields never appeared | Check the username and password in the Login sheet, then Resume | Bot tries the company 3 times. Call us if Resume fails too |
|
|
| E02 | "Wrong practice opened … leaving Pending" | Live log; practice Pending | The practice Tebra opened has a different name from the input | Fix the spelling in the input to match Tebra exactly (`&`, commas). Resume | Call us if the spelling is already exact |
|
|
| E03 | "Clearinghouse Reports not found after retries" | Live log; practice Pending | Tebra's menu didn't show up, even after restarts | Resume once | Call us if it happens again |
|
|
| E04 | "Could not open the ERA to view it" | Report tab, Comments, red | That ERA wouldn't open after 3 tries and 3 restarts | Resume. The bot continues at that ERA | Call us if the same ERA fails again |
|
|
| E05 | "Payment not confirmed after Save" | Report tab, Comments, red | The bot clicked Save but never saw "saved". **It may have posted** | 1. **Check the payment in Tebra before anything else.** 2. If it posted, edit the row in the Report tab to Completed. 3. Only if it did not post, Resume. **Re-running without checking can post it twice** | Call us if it is not posted and fails again |
|
|
| E06 | "Save button element not found" | Report tab, Comments, red | The payment screen had no Save button | Nothing. Tell us | Always call us |
|
|
| E07 | "… still failing after 3 Tebra restarts" | Live log; run paused | The payment screen won't open | Click Resume once | Call us if it pauses again |
|
|
| E08 | Batch stays **Pending** | Dashboard | One red or unfinished row keeps its practice open | Find the row (section 6). Fix or edit it, or request a Clear (an admin approves it). Yesterday's Pending batch does **not** block today's upload | Call us if you can't find the row |
|
|
| E09 | File in `Need_attention/` | `ERA_Summary_<time>.xlsx`, Failure Reason | EasyPrint couldn't make the PDF | Nothing. The next run tries again | Call us if it is still there after 2 runs |
|
|
|
|
## 8. How you will know
|
|
|
|
There is **no email or alert**. The bot only shows results on screen. Check the Dashboard after every run: a batch that is still Pending needs you.
|
|
|
|
## 9. How to tell us
|
|
|
|
- **Where:** #rpa-support Teams channel. Expect an answer the same working day.
|
|
- **Send:** Batch ID, time of the problem, E-number, a screenshot of the Run tab and of Tebra, the Report row.
|
|
- **Never send:** the Login sheet, passwords, the settings file, or patient names in chat.
|
|
|
|
```
|
|
Bot: Tebra Auto Post v2.5.3
|
|
Batch ID:
|
|
Time:
|
|
E-number and message:
|
|
What I already did:
|
|
Screenshot: attached
|
|
```
|
|
|
|
## 10. Don'ts
|
|
|
|
- **Don't use the mouse or keyboard while it runs.** Windows blocks the bot from taking focus, and its clicks land in the wrong window.
|
|
- **Don't keep SQL Server Management Studio, or any window with "Tebra" in its title, open.** The bot can grab it instead of Tebra.
|
|
- **Don't close Tebra to stop the bot.** The bot keeps going.
|
|
- **To stop the bot:** close the **Ecare Tebra Automation Tool** window.
|
|
|
|
## 11. Issues seen before
|
|
|
|
| When / version | What you saw | What to do now |
|
|
|---|---|---|
|
|
| v2.5.1 | Red "Payment not confirmed" rows that had really posted | Partly fixed. Always check in Tebra first (E05) |
|
|
| v2.5.0-2.5.3 | Batches Pending for weeks | Request a Clear (E08) |
|
|
| v2.5.1 | Stayed on 2.5.0 after an update | Check the title bar version after every update. Tell us if it didn't change |
|
|
| v2.5.2 | Some practices skipped on every run | One practice per row, no commas |
|
|
| v1.0.x | Bot drove the database tool, then closed Tebra | Close other "Tebra" windows (section 10) |
|
|
|
|
---
|
|
|
|
# File 2: `HANDOVER-DEV.md`
|
|
|
|
## Failure-class check (excerpt)
|
|
|
|
- F1 covered in HANDOVER.md section 3 (EasyPrint shortcut); gap 6 (ODBC driver not enforced)
|
|
- F2 covered in section 10
|
|
- F4 covered in section 3 (one practice per row); gap 5 (`&` in names)
|
|
- F6 covered in E05
|
|
- F7 covered in section 5 (three green results); gap 1
|
|
- F9 covered in section 10
|
|
- F10 covered in E08
|
|
- F11 gap 2, gap 3
|
|
- F12 covered in section 11; gap 4
|
|
|
|
## Gaps to fix before handover (excerpt)
|
|
|
|
| # | Gap | Why it hurts ops | Where |
|
|
|---|---|---|---|
|
|
| 1 | "ERA Errors" and "negative balance" rows are stored as Completed (green) | Ops thinks they are done | `src/automation/era_log.py` status map |
|
|
| 2 | The developer cause (TechComments) is in the DB only, not on the Report tab | Ops must ask dev for every red row | `src/db/report.py` |
|
|
| 3 | The app's own watchdog messages go to the screen only | Lost after the run | `src/ui/main_window.py` `_log()` |
|
|
| 4 | `ERA_Summary_*.xlsx` is named by time only | Can't be tied to a batch | `src/automation/remittance_pdf.py` |
|
|
| 5 | `&` in a practice name breaks the title match (fixed in the TVL fork only) | Practice abandoned after 13 tries | `src/automation/orchestrator.py` practice check |
|
|
| 6 | No check for ODBC Driver 17/18 at start | Cryptic "HYC00" error mid-run | `src/db/database.py` |
|
|
|
|
## Incidents (excerpt)
|
|
|
|
| When / version | What ops saw | Cause | Fix | Ref |
|
|
|---|---|---|---|---|
|
|
| v2.5.1 | "Payment not confirmed" rows that had posted | Save slower than the 20 s wait | 45/30/30 s + grid re-check | bug-206, bug-234 |
|
|
| v2.5.1 | Users on 2.5.0 for a month | Server marked the deploy done but kept the old container | Stop + Start on the server | bug-243 |
|
|
| v2.5.2 | 3 practices skipped every run | Split on commas | Split on newline/semicolon only | bug-233 |
|
|
| v1.0.x | Launcher never updated | Self-signed certificate | Retry without verification | bug-080 |
|