QDX

Setup guide

QDX in Canvas Medical: setup guide for your team

QDX lets clinicians order lab tests from the patient's chart in Canvas, and files each result back into that chart as a lab report. Patients go to a patient service center for their visit (availability varies by state, patient and test). This guide lists what your Canvas admin sets up.

On this page

QDX has two parts in Canvas: a small Canvas plugin that opens QDX in the chart, and results filed back into the chart. Both work in Canvas's developer sandbox, tested end to end on 2026-09-29.

1. The ordering app

QDX's Canvas plugin, qdx_lab_ordering, adds QDX Lab Ordering to the patient chart's app drawer. It opens QDX in the right chart pane with SMART App Launch for the open patient.

SettingValue
OAuth app for orderingAt https://<your instance>.canvasmedical.com/auth/applications/register/: client type Public, grant type Authorization code, algorithm RSA with SHA-2 256, redirect URI https://qdx.systems/app/launch.html. Give QDX the client ID.
PluginInstall with the Canvas CLI: canvas install qdx_lab_ordering --host <instance> --variable QDX_ORGANIZATION=<your QDX organization ID>. QDX sends the plugin, or installs it with your admin.
What it readsThe signed-in user, the patient and the chart's conditions. Canvas shows the user the permissions once, on its Authorize page.
FramingQDX allows only your instance (https://<instance>.canvasmedical.com) to frame it

What the clinician sees, measured in Canvas's sandbox:

  • The order screen, 19.7 seconds after opening the app for the first time. That includes the Canvas sign-in inside the pane (the browser keeps Canvas's own session out of the embedded frame), the Authorize page (reached at 11.7 s) and choosing the clinician.
  • The patient's demographics filled in, and the chart's ICD-10 conditions offered with one click (for example E785, hyperlipidemia).
  • The estimated total before ordering, then the requisition and the patient's hold letter.
  • The first time each Canvas user opens QDX, they choose which of your verified clinicians they are. QDX remembers it.

2. Results back into the chart

When an order placed from a patient's chart is resulted, QDX files a lab report in that patient's chart through Canvas's DiagnosticReport/$create-lab-report. Your QDX administrator chooses one of two forms:

FormWhat is filed
Lab report with each valueThe lab's report as a PDF, plus each value that carries a LOINC code as a lab test and value, with units, the reference range and an abnormal flag. Canvas accepts only LOINC-coded values; any other value stays in the PDF.
Lab reportThe PDF only

For this, QDX signs in with a second OAuth app in your instance: client type Confidential, grant type Client credentials. Enter its client ID and secret in QDX under Settings > EMR connections > Results to the chart. QDX stores the secret encrypted and never shows it again.

A result in test mode is marked TEST MODE in the report's title.

3. Checklist

StepWhere
Register the ordering app (public) and the results app (confidential)Your instance's /auth/applications/register/
Connect in QDXSettings > EMR connections: FHIR base URL https://fumage-<instance>.canvasmedical.com, the ordering app's client ID, frame site https://<instance>.canvasmedical.com, test or live mode
Install the pluginThe Canvas CLI, with your QDX organization ID
ResultsIn QDX, the results app's client ID and secret, and the form
TestWith the connection in test mode, orders are simulated and never sent to the lab, and a simulated result is filed marked TEST MODE

4. Results by fax, for any practice

Until results are filed into your chart (or alongside it), QDX can fax each result report to your EMR's fax inbox. See Results into any EMR by fax.

5. Questions

Write to ops@qdx.systems. Include your Canvas instance name and the time of the launch.