Every integration we've shipped was built on the same API, interface engine, and reporting you get with Voquill Lab. Connect what you need, on your own schedule. We're here when you want help, and out of your way when you don't.
Our apps run on the same API you get. Our interfaces run on the engine you get. Our reports come from the same library.
Build, test, and ship your own interfaces and reports. No tickets, no waiting in a queue.
Our engineers are available for advice and custom development, whenever you'd like a hand.
Every interface we've built for a lab runs on this engine, and you get the same access we do. Messages are decoded into labeled fields, mapped by a short script, and written straight into the case.
MSH|^~\&|PracticeFusion|DRDERM|LAB|VQ|20260627112109||ORM^O01|CTRL123|P|2.5.1PID|1|PA1|||Doe^Jane||19850212|FIN1|1|Medicare|PID1|AetnaORC|NW|ORD555OBR|1|ORD555||6410^PAP TEST^99LABDG1|1|I10||Z01.419^Encounter
order = { "external_id": input["ORC-2"], "patient": { "last_name": input["PID-5-1"], "first_name": input["PID-5-2"], }, "clinic": input["MSH-4"], "tests": [], } for obr in segments("OBR"): order["tests"].append({ "code": obr["4-1"], "name": obr["4-2"], }) emit_electronic_order(order)
Each channel maps messages with a short Starlark script. When a client does something unusual, the fix is a few lines you can write yourself, or we'll write them for you.
Save sample messages from each client as tests, and run the whole suite against every change in seconds.
For any inbound message, see the raw payload, the ACK sent back, and every order, encounter, and slide it touched.
Paste a sample message and the built-in assistant does the rest, using the same engine tools our engineers use. It decodes the message, writes the mapping, and proves it with tests.
Prefer a person? Our engineers will happily build and look after your interfaces for you.
inspect_message Decoded 7 segments, 41 fields get_electronic_order_spec Read the order fields it can fill set_script Wrote a 14-line mapping create_test Saved your sample as a test run_all_tests 3 of 3 tests passing Ask for the numbers you need, or start from the reports we've already built, with no IT ticket required. Want something custom? Our team will build it with you.
Know how your lab is really doing, whenever you want to: turnaround, quality, and volume, by client, by pathologist, or across the lab. Every run is saved, so when a client, your board, or an inspector asks, the answer is already on file. Popular reports include:
SELECT c.client_name, count(*) AS cases, count(*) FILTER (WHERE reporting.business_days( c.accessioned_at::date, rv.signed_at::date) <= 3 ) AS within_goal FROM reporting.cases c JOIN reporting.report_versions rv ON rv.case_id = c.id WHERE c.primary_test_type_family = 'cytology' AND rv.signed_at IS NOT NULL AND c.accessioned_at BETWEEN '2026-07-01' AND '2026-09-30' GROUP BY c.client_name ORDER BY cases DESC;
| Client | Cases | Within goal | % within | Avg days |
|---|---|---|---|---|
| Example Dermatology | 1,284 | 1,263 | 98.4% | 1.4 |
| Sample Women's Health | 962 | 924 | 96.0% | 1.8 |
| Demo Family Practice | 611 | 572 | 93.6% | 2.1 |
| Test Clinic OB/GYN | 447 | 394 | 88.1% | 2.6 |
| All clients | 3,304 | 3,153 | 95.4% | 1.8 |
Ask a question in plain language, or write SQL against documented reporting views. Save it and run it again next month.
Each run keeps the exact query version, parameters, results, who ran it, and when, so last quarter's numbers never shift.
Add date, client, or pathologist pickers to any report, so anyone on your team can rerun it without touching SQL.
Voquill Lab's own apps run on the same documented API you get. If our app can do it, your integration can too, and our engineers are glad to help you build it.
The spec is generated from the server itself, so the reference your team signs in to can't drift from what's deployed.
Subscribe to any of 58 event types, like case.signed_out, and long-poll for deliveries with retries built in.
Run any saved report through the API and pull the results as JSON, CSV, or Excel, ready for your own dashboards or data warehouse.
The systems we connect today, and the tools to connect the next one, yourself or with our help.
Every connection runs through a small device your IT team sets up on your own network. You own both ends, so changing an IP address or a firewall rule never means coordinating with us.
HL7 orders in, ORU results out.
Stain orders and slide status over MLLP.
ASTM orders and results.
Cassette, slide, and requisition labels.
Send-out tests, shipments, and returned results, tracked with the case.
Real-time insurance eligibility.
EHR, fax, portal, and billing routes.
Anything with an API, a file share, or an HL7 feed. Connect it yourself, or let us build it with you.
Interfaces, reporting, and the API are core parts of Voquill Lab, not add-ons. Each one shares the same permissions and the same audit trail as everything else, whether someone uses a page, the API, or an assistant.
Underneath, we handle the fundamentals: every change is scanned before it ships, the platform is independently pen-tested, and assistants never exceed their user's access.
Every channel version records who published it, every message shows exactly what it changed, and channel secrets rotate whenever you like.
Reports follow the same roles as the rest of the LIS, never change data, and every run is logged with who ran it, when, and how.
Keys are tied to a role and shown only once. See when each was last used, and rotate or revoke it in a click.
Our engineers are here for advice and custom work whenever you want a hand. You'll never have to wait on us to move forward.