Execution procedure
How WinClaw handles DentWeb intake
- 01Open DentWeb
DENTWEB_MOCK=1 — runs on the mock page (dentweb-intake-mock.html). Real account not used.
- 02Analyse intake form
ai.see() scans the form state and identifies filled vs. empty fields.
- 03Verify health insurance
Auto-extracts insurance type and co-pay rate from the eligibility-check panel.
- 04Duplicate patient search
Checks for patients with the same name. On match, asks the dentist to review first.
- 05Request dentist review
Sends a patient summary via Telegram and waits for a Confirm or Cancel reply.
- 06Safe stop before intake submit
stop_before("intake_submit") — the register button is never clicked automatically.
Intake fields
Intake form filled by WinClaw (Mock)
| Chart no. | (auto-generated) | auto |
| Name | Kim ○○ | confirmed |
| Date of birth | Born 2002 (age 23) | masked |
| Contact | 010-****-5678 | masked |
| Insurance | NHI Tier 1 | verified |
| Patient type | New patient | confirmed |
| Reason for visit | Wisdom tooth extraction — lower left #38 | confirmed |
Evidence recorded
Every step is recorded
From connection to dentist approval, every step is saved as an evidence package.
- evidence.json — timestamps for connect, form analysis, insurance check, duplicate search, approval
- intake-form-state.json — ai.see extraction result (name and insurance masked)
- insurance-check.json — eligibility check response (insurance type, co-pay rate)
- screenshots/01-dentweb-form.png — intake form loaded
- screenshots/02-insurance-verified.png — eligibility check complete
- screenshots/03-approval-stop.png — safe stop before intake_submit
Safety design
The dentist always has final say
WinClaw only prepares the intake. Actual registration happens only after explicit dentist confirmation.
- No real DentWeb account — runs only on the mock page
- Patient name, contact, and date of birth are all masked
- Register button is available only after dentist confirmation
- Personal health data is processed locally only — no external transmission
- stop_before("intake_submit") — no automatic registration