# Runbook: Open Dental — Duplex ADF scanner captures only one side **Applies to:** Any single-pass duplex ADF scanner feeding Open Dental over **TWAIN** on a Windows 11 workstation (standalone / self-enrolled is common). Written against a Canon imageFORMULA DR-series with the combined ISIS/TWAIN/WIA driver package, but the diagnostic tree is model-agnostic. **Symptom:** A double-sided document run through the ADF into the Open Dental **Imaging** module lands as front-only — the back side is missing, blank, or pages come out in the wrong order. **Most likely cause:** Duplex is not enabled on whichever setting is *authoritative*, and which one is authoritative depends on the **Show TWAIN UI** toggle. The classic miss is a checked-but-inert control on the branch that isn't in charge. **Placeholders:** | Placeholder | Meaning | |---|---| | `` | The Windows 11 workstation with the scanner attached | | `` | The duplex ADF scanner model (e.g. a Canon DR-series) | | `` | The native TWAIN data source name as it appears in Open Dental's **Twain Name** dropdown | | `` | A dummy patient/chart used for test scans only — never a live chart | | `` | The Open Dental user the front desk actually scans as | --- ## Key concept — where duplex is governed > [!IMPORTANT] > In Open Dental, duplex is controlled in **one of two places**, and only one is live at a time. The **Show TWAIN UI** toggle (Setup → Imaging → **Edit Imaging Device**) decides which: > > - **Show TWAIN UI = OFF** → **Open Dental's own Duplex checkbox** (Imaging Quality → **Multipage Scans**) is authoritative. The scanner's own dialog never appears. > - **Show TWAIN UI = ON** → the **scanner's TWAIN dialog at scan time** is authoritative. Open Dental's Duplex checkbox is **inert** — it is not read. > > **The trap:** an OD Duplex checkbox that is checked *while Show TWAIN UI is ON* (or a scanner dialog set to duplex *while Show TWAIN UI is OFF*) changes nothing. A control set correctly on the **wrong branch** is the single most common misdiagnosis here. Always establish the toggle state **first**, then set duplex on the branch that matches it. --- ## Diagnostic steps Work these in order. Steps a–c establish ground truth before you change anything. ### a. Confirm the Twain Name binds to the NATIVE source, not a WIA bridge In **Edit Imaging Device**, check the **Twain Name** value. - It should be the vendor's **native TWAIN** source (e.g. the `` TWAIN entry). - If it reads **`WIA-`** or any `WIA-…` entry, that is the Windows WIA→TWAIN bridge. **The WIA bridge frequently drops the second side** and cannot be relied on for duplex. Re-select the native TWAIN source. If the native source isn't in the list, the 32-bit TWAIN driver isn't registered — see [Gotchas](#gotchas). ### b. Record the Show TWAIN UI state Note whether **Show TWAIN UI** is **ON** or **OFF**. This determines which fix branch applies below. Write it down — you'll restore or deliberately set it. ### c. Screenshot the current settings (baseline / rollback) Capture the current **Edit Imaging Device** and **Imaging Quality → Multipage Scans** settings before touching anything, so you have a known-good rollback point and a record of what changed. > [!WARNING] > Screenshots for your own rollback are fine, but they may contain client-identifying detail (hostname, user, chart data). Keep them in the **private tier** — never attach them to this public repo. ### d. Confirm the scan action is multi-page (ADF), not single-page The front-desk action must be **Scan Multi-Page Document** (ADF → multi-page PDF). The plain **Scan Document** action pulls a single page and **can never be duplex** regardless of every other setting. If the button in use is single-page, that alone explains front-only output. ### e. Reproduce with a real double-sided document Feed a genuine two-sided document through the ADF and record the **exact** failure mode — they point at different causes: | Observed | Points toward | |---|---| | Front pages only, backs never appear | Duplex off on the authoritative branch (step f) | | Backs captured then dropped if blank/light | **Skip Blank Page** is on (see Gotchas) | | Both sides present but interleaved/out of order | Scan-order / driver page-order setting | ### f. Apply the fix for the matching branch Use the [decision table](#fix-decision-table) below, keyed to the Show TWAIN UI state from step b. ### g. If still failing, isolate with Twacker over TWAIN Twacker is the reference TWAIN test application. Scan the same document through Twacker against the **same ``**: - **Works in Twacker, fails in Open Dental** → the driver and hardware are fine; the problem is Open Dental configuration or how it drives the source. Return to steps a–f. - **Fails in Twacker too** → the problem is below Open Dental: driver settings or hardware. Fix it in the scanner's TWAIN dialog / driver, then retest. ### h. Verify end-to-end and set as default 1. Trigger the scan from the **actual front-desk button** as `` — not a settings-screen test. 2. **Open the resulting PDF** and confirm **both sides are present and in reading order**. 3. Set the working configuration as the **default** so it survives an app restart or profile reset. A fix that only holds for the current session isn't done. --- ## Fix decision table | Show TWAIN UI | Authoritative setting | Action | |---|---|---| | **OFF** | Open Dental **Duplex** checkbox (Imaging Quality → Multipage Scans) | **Check it.** | | **ON** | Scanner's **TWAIN dialog** at scan time | Set **Scanning Side = Duplex**; set **Skip Blank Page = OFF**. | > **Resolved example (OFF branch):** In the case that prompted this runbook, **Show TWAIN UI was OFF** and Open Dental's **Duplex** checkbox was **unchecked**. Checking it resolved the issue immediately — no driver or hardware change needed. This is the common OFF-branch outcome; still walk the tree above rather than assuming, since the ON branch fails differently. --- ## Gotchas - **"Skip Blank Page" masquerades as simplex.** With this enabled in the TWAIN driver, a blank or light back side is **silently deleted on save** — the output looks exactly like a simplex scan even though both sides were captured. Turn it **OFF** while diagnosing duplex. - **Open Dental is 32-bit and binds a 32-bit TWAIN source.** Open Dental only supports **32-bit TWAIN** drivers. The ISIS/TWAIN/WIA package installs a 32-bit source, and Open Dental (a 32-bit app) binds to it. A 64-bit-only driver, or picking the wrong source, means no working duplex — confirm the **native 32-bit TWAIN** source is what's selected in step a. - **Windows Fax and Scan is NOT a valid isolation test.** It drives the scanner over **WIA, not TWAIN**. It can succeed while the TWAIN path fails (or vice versa) and tells you nothing about an Open Dental/TWAIN problem. Use **Twacker over TWAIN** (step g) for isolation. - **Mechanical checks.** Before chasing software: the feed/separation **lever is in the separation (multi-sheet) position**, **double-feed detection** isn't misfiring and halting the second side, and the back side of the test document **genuinely has content**. --- ## Compliance note > [!WARNING] > Run all test scans into a **``** dummy account — **never a live chart**. When finished, **purge the test images** from `` so no stray PHI or test scans are left behind. Confirm the dummy account holds nothing before leaving the workstation. ## References - Open Dental manual — Imaging module / device setup: - Open Dental manual — Edit Imaging Device (Twain Name, Show TWAIN UI):