Assessment scores — committed to the report.
Drop the publisher’s score-report PDFs in. Each assessment is identified from its content, its scores extracted and written into a dated copy of your practice’s own DOCX template — locally, on one Windows machine.
Request a demo See the four stages ↓
Local files only · Your template is never modified · No scores or file names ever leave this machine
One run, four stages.
-
1.0 · Drop
Drop the publisher’s score-report PDFs into the window. Each assessment is identified from its content — never the filename — and scores are extracted across up to 8 parallel worker processes. Digital PDFs only; there is no OCR.
Assessments identified from PDF content, not filenames. -
2.0 · Review
Files the app cannot verify stay in the queue, labeled for you — you resolve each one with its editable label before anything is written. Classification bands are computed from fixed score ranges, never read from the PDF’s own text. A qualified clinician must review the final report; automation does not replace clinical judgment.
Green means detected on sight; amber and red are routed to your review. -
3.0 · Generate
Preflight validation runs first; a zero-write dry run proves the pass; then atomic staged writes with rollback. Ambiguity aborts before any file is created. Nothing is uploaded.
Files resolved by hand are marked “Edited” before anything is written. -
4.0 · File
A dated copy is saved under Documents › Psych Reports with its audit JSON — your master template stays byte-for-byte untouched. Author metadata is scrubbed from the generated report — dc:creator, cp:lastModifiedBy, free-text docProps.
“Report ready” — the count of verified values written, saved with its audit JSON.
That’s the whole run. Request a demo →
What it writes today — and what it won’t.
The app tells you which tier an assessment is in before it writes anything.
- Writes score cells today
-
- BASC-3 Parent · Teacher
- BRIEF2
- BYI-2
- CAARS-2 Observer · Spouse/Partner
- CEFI Parent · Teacher
- Conners 4 Teacher; Parent when the respondent is the mother
- CPT-3
- D-KEFS Verbal Fluency
- WAIS-V
- WISC-V
- WRAT-5
- Detected, routed to review
-
Recognized on sight and sent to the audit JSON’s review list; no cells are written.
- ASRS
- PAI
- CVLT-3
- WMS-5
- K-CPT 2
- In the registry, coming soon
-
- Raven’s 2
- WPPSI-IV
- WAIS-IV
- Vineland-3
- WIAT-III
- CEFI-A
- BRIEF-A
- Conners CBRS
- BASC-3 PRQ
- Sensory Profile 2
- SRS-2
- CARS-2 ST
Anything the app cannot verify is routed to review — never guessed.
Nothing leaves this computer.
Extraction, review, and generation all run locally. The app never uploads assessment or report data — there is no cloud component to send it to. Tandym is built by McKinney Neuropsychology.
Activation contacts only our licensing server — licensing.mckinneyneuropsych.com, if your firewall keeps an allowlist. No report data, file names, or scores ever leave this computer.
Because no assessment or report data is ever transmitted to us, there is no cloud processor handling PHI. Review the published allowlist beside this with your own compliance counsel.
License files are signed and encrypted at rest, and the app keeps working for 14 days without a server connection. Releases are signed — Azure Trusted Signing, RFC3161 timestamp, SHA-256 published with each release.
The specification.
| Platform | Windows desktop · a single executable | releases signed via Azure Trusted Signing · RFC3161 timestamp · published SHA-256 |
|---|---|---|
| Input | Test-publisher score-report PDFs | identified from content, never the filename · no OCR |
| Output | Dated DOCX copy + audit JSON | saved under Documents › Psych Reports |
| Template | Your practice’s existing DOCX | prepared as part of onboarding · never modified |
| Extraction | Up to 8 parallel worker processes | opt-in checkpoint cache keyed by SHA-256 |
| Writes | Atomic staged writes with rollback | preflight validation · zero-write dry runs · ambiguity aborts |
| Classification | Fixed bands computed from score ranges | never trusted from the PDF’s own text |
| Network | Licensing handshake only | allowlist pinned by tests/unit/test_licensing_privacy.py |
| Offline | 14-day grace | Ed25519-signed · AES-256-GCM machine files · DPAPI at rest |
| Metadata | Author fields scrubbed on generation | dc:creator · cp:lastModifiedBy · free-text docProps |
Pricing.
Seat license
$— per seat / year
Final price to confirm.
- Template onboarding included
- Expiry restricts report generation — never your data
- Annual per-seat subscription
- Licensed per computer — one seat, one machine
- Self-service seat release
- 14-day offline grace
Questions.
Does it run on Mac?
No. Tandym is Windows-only — a single executable. Releases are signed via Azure Trusted Signing, with an RFC3161 timestamp and a published SHA-256.
Where does client data go?
Nowhere. Extraction, review, and generation run on your computer. The only network traffic is a licensing handshake with our licensing server, and its payload is a strict allowlist — never file names, paths, scores, or report content.
Do we need a BAA for this?
The app transmits no assessment or report data to us or to anyone, so there is no cloud processor handling PHI. The licensing payload allowlist is published and pinned by an automated test; review it with your own compliance counsel.
Will it work with our report template?
Yes — your practice’s template is prepared as part of onboarding. Reports are written to a dated copy under Documents › Psych Reports; the master template is never opened for writing.
Can it read scanned score reports?
No. There is no OCR. The app reads digital score-report PDFs as exported by the test publisher.
What happens when we are offline?
The app keeps working for 14 days without reaching the licensing server. After that, report generation pauses until the app can reach the server again — your reports, templates, and audit files stay where they are on disk.
What happens when the license expires?
Report generation stops. Your data does not — templates, reports, and audit JSONs are ordinary files on your disk and stay there.
What does it do with a value it cannot verify?
It refuses to guess. Unverifiable values are routed to the audit JSON’s review list, and ambiguity aborts the run before any file is created.
How do we buy it?
Request a demo. Licensing is an annual per-seat subscription — one seat per computer, with self-service seat release. There is no self-serve download and no trial.
See a live run.
A demo is a live run — publisher PDFs in, a dated report and its audit JSON out — on a prepared sample template. A short screen-share; nothing to install, no client data involved. Your practice’s own template is prepared as part of onboarding.
Opens the scheduling page — pick a time that suits you.
Local files only · Your template is never modified