Best Toxicology LIS and Lab Software
For directors and managers of clinical toxicology labs serving pain, addiction-medicine and primary-care practices. We read each vendor's own module pages, API documentation and help articles, the CLIA rules in 42 CFR 493, the 2026 Medicare fee schedule and a Medicare contractor's urine drug testing policy, and checked each vendor against the steps a urine specimen takes from order to claim.
The verdict by use case
Best overall for a toxicology reference lab
Its published API documents the prescribed-medication list, the rule behind each reflex, ranges set per client account, a consistent or inconsistent comment for every drug, and the diagnosis and procedure codes billing needs.
Best for a physician office lab adding drug testing
One option sheet documents adulteration alerts, user-defined reflex from screen to confirmation and a consistency report against the medication list, and a second checks diagnosis codes against NCD and LCD files.
Best for validity checks a lab can switch on itself
Its help centre shows a preset formula that turns low creatinine, abnormal pH or specific gravity and detected oxidants into report comments, and screening reflex switched on panel by panel.

Requirement by requirement
- verified against a document
- stated by the vendor
- not stated
Scroll sideways for more vendors
| Requirement | 1CGM LABDAQ | 2Dendi LIS | 3LABGEN LIS | 4CrelioHealth | 5Prolis | 6Clinisys Toxicology Laboratory |
|---|---|---|---|---|---|---|
| AFlags specimen validity: creatinine, pH, specific gravity, oxidants§ 493.1242(a)(7), § 493.1291(c)(7) | CGM LABDAQ: verified against a document | Dendi LIS: not stated | LABGEN LIS: not stated | CrelioHealth: verified against a document | Prolis: not stated | Clinisys Toxicology Laboratory: stated by the vendor |
| BReflexes a positive screen to confirmation by rule§ 493.2 | CGM LABDAQ: verified against a document | Dendi LIS: verified against a document | LABGEN LIS: verified against a document | CrelioHealth: verified against a document | Prolis: verified against a document | Clinisys Toxicology Laboratory: not stated |
| CRecords the patient's prescribed medications with the order§ 493.1241(c)(8) | CGM LABDAQ: verified against a document | Dendi LIS: verified against a document | LABGEN LIS: verified against a document | CrelioHealth: stated by the vendor | Prolis: not stated | Clinisys Toxicology Laboratory: not stated |
| DCaptures diagnosis codes per test for medical necessityCh. 16 § 120.1 | CGM LABDAQ: verified against a document | Dendi LIS: verified against a document | LABGEN LIS: verified against a document | CrelioHealth: verified against a document | Prolis: verified against a document | Clinisys Toxicology Laboratory: not stated |
| EHolds screen and confirmation cutoffs per drug§ 493.1253(b) | CGM LABDAQ: not stated | Dendi LIS: verified against a document | LABGEN LIS: not stated | CrelioHealth: not stated | Prolis: not stated | Clinisys Toxicology Laboratory: stated by the vendor |
| FReports each drug as consistent or inconsistent with the prescriptions§ 493.1291(c)(6) | CGM LABDAQ: verified against a document | Dendi LIS: verified against a document | LABGEN LIS: verified against a document | CrelioHealth: not stated | Prolis: not stated | Clinisys Toxicology Laboratory: not stated |
| GTracks chain of custody, where the lab offers it§ 493.1283(a) | CGM LABDAQ: not stated | Dendi LIS: not stated | LABGEN LIS: not stated | CrelioHealth: not stated | Prolis: stated by the vendor | Clinisys Toxicology Laboratory: stated by the vendor |
| HHands codes and claims to billing | CGM LABDAQ: stated by the vendor | Dendi LIS: verified against a document | LABGEN LIS: stated by the vendor | CrelioHealth: verified against a document | Prolis: verified against a document | Clinisys Toxicology Laboratory: not stated |
Vendor by vendor
CGM LABDAQColumn 1
What it is
CompuGroup Medical's LIS, with toxicology handled by two add-on options: Medication Compliance, which reflexes screens to confirmation and reports each drug against the prescription list, and Medical Necessity Checking against NCD and LCD files.
Who it fits
A physician office lab or small reference lab serving pain practices that wants the screen, the confirmation and the consistency report documented in one vendor's option sheet, and is happy to buy options one by one.
What CLIA asks, and whether it meets it
AFlags specimen validity: creatinine, pH, specific gravity, oxidants
§ 493.1242(a)(7), § 493.1291(c)(7) verified, source
BReflexes a positive screen to confirmation by rule
§ 493.2 verified, source
CRecords the patient's prescribed medications with the order
§ 493.1241(c)(8) verified, source
DCaptures diagnosis codes per test for medical necessity
Ch. 16 § 120.1 verified, source
EHolds screen and confirmation cutoffs per drug
§ 493.1253(b) not stated; check with the vendor
FReports each drug as consistent or inconsistent with the prescriptions
§ 493.1291(c)(6) verified, source
GTracks chain of custody, where the lab offers it
§ 493.1283(a) not stated; check with the vendor
HHands codes and claims to billing
stated, vendor page; check with the vendor
Dendi LISColumn 2
What it is
A cloud-native LIS from a US company that lists toxicology screening and confirmation among its workflows and publishes its full API, which exposes prescribed-medication history, reflex sources and per-client reference ranges.
Who it fits
A growing toxicology or multi-specialty reference lab that wants to pull its own data out through an API, set ranges per client account, and send claims to an outside billing company.
What CLIA asks, and whether it meets it
AFlags specimen validity: creatinine, pH, specific gravity, oxidants
§ 493.1242(a)(7), § 493.1291(c)(7) not stated; check with the vendor
BReflexes a positive screen to confirmation by rule
§ 493.2 verified, source
CRecords the patient's prescribed medications with the order
§ 493.1241(c)(8) verified, source
DCaptures diagnosis codes per test for medical necessity
Ch. 16 § 120.1 verified, source
EHolds screen and confirmation cutoffs per drug
§ 493.1253(b) verified, source
FReports each drug as consistent or inconsistent with the prescriptions
§ 493.1291(c)(6) verified, source
GTracks chain of custody, where the lab offers it
§ 493.1283(a) not stated; check with the vendor
HHands codes and claims to billing
verified, source
LABGEN LISColumn 3
What it is
MEDFAR's LIS, sold with a pain management and toxicology module that records each prescription's dose, date taken and PRN status and reports results as consistent or inconsistent, including parent and metabolite pairs.
Who it fits
A pain-management or addiction-medicine lab whose providers want a longitudinal medication history on every report, and whose LC-MS/MS instruments need an interface.
What CLIA asks, and whether it meets it
AFlags specimen validity: creatinine, pH, specific gravity, oxidants
§ 493.1242(a)(7), § 493.1291(c)(7) not stated; check with the vendor
BReflexes a positive screen to confirmation by rule
§ 493.2 verified, source
CRecords the patient's prescribed medications with the order
§ 493.1241(c)(8) verified, source
DCaptures diagnosis codes per test for medical necessity
Ch. 16 § 120.1 verified, source
EHolds screen and confirmation cutoffs per drug
§ 493.1253(b) not stated; check with the vendor
FReports each drug as consistent or inconsistent with the prescriptions
§ 493.1291(c)(6) verified, source
GTracks chain of custody, where the lab offers it
§ 493.1283(a) not stated; check with the vendor
HHands codes and claims to billing
stated, vendor page; check with the vendor
CrelioHealthColumn 4
What it is
A cloud LIS with preloaded drug masters, a public help centre and US claim submission through an Immediata integration. Its help articles show a specimen-validity formula and panel-level screening reflex.
Who it fits
A small toxicology lab with no IT staff that wants validity comments and screen-to-confirmation reflex it can switch on itself, panel by panel and client by client.
What CLIA asks, and whether it meets it
AFlags specimen validity: creatinine, pH, specific gravity, oxidants
§ 493.1242(a)(7), § 493.1291(c)(7) verified, source
BReflexes a positive screen to confirmation by rule
§ 493.2 verified, source
CRecords the patient's prescribed medications with the order
§ 493.1241(c)(8) stated, vendor page; check with the vendor
DCaptures diagnosis codes per test for medical necessity
Ch. 16 § 120.1 verified, source
EHolds screen and confirmation cutoffs per drug
§ 493.1253(b) not stated; check with the vendor
FReports each drug as consistent or inconsistent with the prescriptions
§ 493.1291(c)(6) not stated; check with the vendor
GTracks chain of custody, where the lab offers it
§ 493.1283(a) not stated; check with the vendor
HHands codes and claims to billing
verified, source
ProlisColumn 5
What it is
American Soft Solutions' LIS, cloud-hosted or on premises, with a toxicology page built around immunoassay screens reflexing to LC-MS/MS and feature pages for revenue cycle and workflow automation.
Who it fits
A toxicology lab that bills in-house and wants medical-necessity checks, ABN generation and 837 claim files in the same system as the reflex rules.
What CLIA asks, and whether it meets it
AFlags specimen validity: creatinine, pH, specific gravity, oxidants
§ 493.1242(a)(7), § 493.1291(c)(7) not stated; check with the vendor
BReflexes a positive screen to confirmation by rule
§ 493.2 verified, source
CRecords the patient's prescribed medications with the order
§ 493.1241(c)(8) not stated; check with the vendor
DCaptures diagnosis codes per test for medical necessity
Ch. 16 § 120.1 verified, source
EHolds screen and confirmation cutoffs per drug
§ 493.1253(b) not stated; check with the vendor
FReports each drug as consistent or inconsistent with the prescriptions
§ 493.1291(c)(6) not stated; check with the vendor
GTracks chain of custody, where the lab offers it
§ 493.1283(a) stated, vendor page; check with the vendor
HHands codes and claims to billing
verified, source
Clinisys Toxicology LaboratoryColumn 6
What it is
A pre-configured toxicology package on Clinisys's laboratory platform, which Clinisys itself calls a LIMS. It is a separate product from Clinisys Harvest, the LIS on our small-lab comparison.
Who it fits
A larger toxicology lab, often multi-site, that also runs forensic or employer work and needs chain-of-custody tracking and configured confirmation cutoffs more than a quick start.
What CLIA asks, and whether it meets it
AFlags specimen validity: creatinine, pH, specific gravity, oxidants
§ 493.1242(a)(7), § 493.1291(c)(7) stated, vendor page; check with the vendor
BReflexes a positive screen to confirmation by rule
§ 493.2 not stated; check with the vendor
CRecords the patient's prescribed medications with the order
§ 493.1241(c)(8) not stated; check with the vendor
DCaptures diagnosis codes per test for medical necessity
Ch. 16 § 120.1 not stated; check with the vendor
EHolds screen and confirmation cutoffs per drug
§ 493.1253(b) stated, vendor page; check with the vendor
FReports each drug as consistent or inconsistent with the prescriptions
§ 493.1291(c)(6) not stated; check with the vendor
GTracks chain of custody, where the lab offers it
§ 493.1283(a) stated, vendor page; check with the vendor
HHands codes and claims to billing
not stated; check with the vendor
The path a urine specimen takes through the LIS
Every row in the plate map is one step of the same journey. A general-purpose LIS handles the first and last steps well (what an LIS does). The middle steps are where toxicology labs lose time, money and, at inspection, findings.
- Order. CLIA asks the requisition to solicit “any additional information relevant and necessary for a specific test to ensure accurate and timely testing and reporting of results, including interpretation” § 493.1241(c)(8). For a drug panel, that is the medication list. Diagnosis codes ride on the same order for the claim. Requisitions are kept at least 2 years § 493.1105(a)(1).
- Receipt and validity. The lab logs the date and time of receipt § 493.1242(b), runs its validity checks against written acceptability and rejection criteria § 493.1242(a)(7), and records the condition and disposition of any specimen that fails § 493.1283(a)(3).
- Presumptive screen. An immunoassay reports a drug class as positive when it reads above a cutoff.
- Reflex. A rule sends some screens on to definitive testing: positives to confirm them, and negatives for a drug the patient is supposed to be taking.
- Definitive test. GC-MS or LC-MS/MS names the drug and its metabolites, in house or at a reference lab.
- Interpretation. Each drug is read against the medication list as consistent or inconsistent, which is the part the ordering clinician acts on.
- Report and claim. The report carries the content in § 493.1291(c); the claim carries the codes, the diagnosis and, where needed, an ABN.
A vendor that documents steps 1, 4 and 6 is selling a toxicology LIS. One that only documents steps 3 and 5 is selling an instrument interface, which every LIS on our small-lab LIS comparison already does.
Reflex rules a Medicare contractor will pay for
Your reflex rules are a billing decision as much as a lab one. Palmetto GBA's Urine Drug Testing local coverage determination (L35724) is a useful model because it spells reflex out. It says that, since reference laboratories do not have access to patient-specific data, reflex testing is reasonable and necessary in two cases:
- to verify a presumptive positive with a definitive method before the presumptive finding is reported, without an additional order from the clinician;
- to confirm the absence of a prescribed medication when the presumptive screen is negative “for a prescribed medication listed by the ordering clinician”.
The second case only works if the medication list reached the LIS as data, not as a scanned page. The same LCD notes that oxycodone and oxymorphone “will not typically be detected even at a 300 ng/mL cutoff” on a presumptive opiate screen, so a negative screen for a patient on oxycodone is exactly the specimen the rule exists for.
The LCD also lists what it will not pay for. Three of them are LIS settings:
- reflex definitive testing when the presumptive test was done at the point of care;
- “routine standing orders for all patients in a physician's practice”;
- more than one presumptive result per patient per date of service, “regardless of the number of billing providers”.
It sets frequency limits for presumptive and definitive testing over rolling 7, 30, 90 and 365-day windows, by patient group, and calls specimen validity testing “quality assurance, not a Medicare benefit, and thus not separately payable by Medicare”.
Palmetto is one contractor of several
The CMS coverage database also carries drug-testing LCDs from CGS, WPS, Noridian, Wellpoint Federal, Novitas and First Coast, and commercial payers write their own policies. Build the reflex and frequency rules from your own contractor's LCD, and ask the vendor whether a rule can differ by payer or by client account.
Takeaway
Coding the confirmation: drug classes per day
Medicare pays definitive drug testing by how many drug classes were tested for one patient in one day, not by how many drugs or specimens. On the 2026 clinical laboratory fee schedule, the definitive codes are HCPCS G-codes, billed “per day” and including metabolites “if performed”:
| Code | Drug classes tested per day |
|---|---|
| G0480 | 1 to 7 drug classes |
| G0481 | 8 to 14 drug classes |
| G0482 | 15 to 21 drug classes |
| G0483 | 22 or more drug classes |
| G0659 | Any number, when the method lacks drug-specific calibration, matrix-matched QC or internal standards |
The first four codes require stable isotope or other recognised internal standards in every sample, plus drug-specific calibration and matrix-matched quality control; a run without them falls to G0659. Every one of the five “includes specimen validity testing”, which is why validity is never a line of its own on the claim. The presumptive screens are CPT codes 80305, 80306 and 80307, split by how the screen is read: by eye from a cup, card or dipstick, by an instrument reading the same devices, or on an analyzer (immunoassay, chromatography or mass spectrometry). Each is billed per date of service and includes sample validation. The fee schedule also lists 80305 with the QW modifier, the mark of a CLIA-waived test, for cups read by eye.
So the LIS has to count drug classes per patient per day across every specimen and every instrument, map each analyte to its class, and know which methods meet the internal-standard rule. Ask the vendor where that drug-to-class table lives and who updates it. Diagnosis codes have to come from the ordering clinician: a lab “may not report on a claim for Medicare payment a diagnosis code in the absence of physician-supplied diagnostic information” Claims Manual ch. 16 § 120.1.
When a test is likely to fail a coverage rule, the ABN has to be the patient's own: CMS says blanket notices are “not an acceptable practice”, and the office that collects the specimen and gives the ABN should send a copy to the billing entity Claims Manual ch. 30. If your billing is outsourced, the hand-off file has to carry the class count, the diagnosis codes and the ABN flag. Our lab billing software comparison covers the claim side, and outsourced lab billing companies the service side.
Takeaway
What the toxicology report must carry
A drug report carries the same seven items as any CLIA report: patient identification, the name and address of the lab location that ran the test, the report date, the test, the specimen source when appropriate, the result with units or interpretation, and the condition and disposition of any specimen that failed the lab's acceptability criteria § 493.1291(c). That last line is where a dilute or adulterated specimen shows up, so the validity flag has to print, not only sit in the LIS.
Three more paragraphs matter more in toxicology than elsewhere. The lab's reference intervals must be available to the ordering clinician § 493.1291(d); for a drug panel that means the cutoff for each analyte. On request, the lab must list its test methods and performance specifications and give “information that may affect the interpretation of test results, for example test interferences” § 493.1291(e), which is how a clinician learns what cross-reacts with your opiate screen. And a corrected report keeps “duplicates of the original report, as well as the corrected report” § 493.1291(k)(3).
When the confirmation is sent out
Many small labs screen in house and refer confirmations to a reference lab, which must hold a CLIA certificate § 493.1242(c). Then the referral paragraph governs the report:
The referring laboratory must not revise results or information directly related to the interpretation of results provided by the testing laboratory.
The referring lab must also retain or be able to produce “an exact duplicate of each testing laboratory's report”, and tell the ordering clinician the name and address of each lab location that ran the test § 493.1291(i)(2), (3). In practice the LIS must store the reference lab's report as received, show both labs on the combined report, and leave the reference lab's interpretive comment untouched, even when your own consistency logic would word it differently.
A proposed change, not yet law
CMS's proposed rule CMS-3478-P, published on 8 October 2026 (91 FR 64480), would add the CLIA number and laboratory name to test reports. Comments are due by 7 December 2026. For a lab that prints its own name and a reference lab's on one report, ask how a new field would reach both. Read the proposed rule.
Takeaway
Cutoffs, validation and PT for an in-house confirmation menu
If your LC-MS/MS confirmations were developed in house, or you modified a cleared test system, CLIA makes the lab establish the method's performance itself before reporting patient results: accuracy, precision, analytical sensitivity, analytical specificity “to include interfering substances”, reportable range and reference intervals § 493.1253(b)(2). Your cutoffs come out of that work. The procedure manual then carries the reportable range and reference intervals § 493.1251(b)(6), (10), and the director approves, signs and dates any change before use § 493.1251(d).
That gives the LIS cutoff table three jobs. It must match the validation file and the signed procedure, it must change only when they do, and it must remember which cutoff was in force for each past report. CLIA has no section titled “audit trail”, but a dated history of cutoff changes is how you show that a report from last spring was read against last spring's numbers § 493.1283, § 493.1291(k). Performance specifications themselves are kept for as long as the test system is in use and no less than 2 years § 493.1105(a)(3)(i).
Proficiency testing for urine drugs
The toxicology analytes with CLIA proficiency testing rules are serum, plasma or blood tests such as acetaminophen, blood alcohol, blood lead, digoxin and lithium § 493.937. Urine drugs of abuse are not on that list. For a test outside subpart I, the lab must verify its accuracy “at least twice annually” § 493.1236(c), and document it § 493.1236(d). Our comparison of PT programs covers the providers.
Screens and confirmations are separate test systems
The immunoassay screen on a chemistry analyzer and the LC-MS/MS confirmation each need their own QC, their own accuracy checks and their own place in the procedure manual. An LIS that stores QC with patient results, covered in our lab QC software comparison, helps with both.
Takeaway
How this comparison was made
We read each vendor's own toxicology, module and option pages, Dendi's API documentation and CrelioHealth's help centre, 42 CFR 493 on eCFR, CMS's 2026 clinical laboratory fee schedule file and Palmetto GBA's urine drug testing LCD, last on .
A filled well means we verified the claim against a document we could read and link: the vendor's own documentation or a regulator's record. An open ring means the vendor says so in its own material, but we found no document to check it against. A blank well means we found nothing either way, which does not prove the product lacks it.
Verdicts are editorial: no vendor can buy a verdict position or displace another vendor. This page carries no prices and no ratings; ask each vendor for a quote and a demo on your own test menu.
A filled well here means a vendor document written to explain the function (a module or option page, API documentation or a help article) names it, and the well links to it. Solution pages and brochures earn an open ring. For the cutoff row we read Dendi's API, which documents ranges with upper and lower bounds set per test and per client account. LigoLab, on our small-lab comparison, publishes no toxicology page and is left out here.
This page covers clinical testing ordered by a treating clinician. Federal workplace testing runs at HHS-certified laboratories under separate rules, and no vendor was scored for it.
Questions labs ask
Do we need a toxicology LIS, or will our general LIS do?
A general LIS can store a drug panel. What it usually lacks is the middle of the workflow: a medication list held as data, reflex rules that fire on negatives for prescribed drugs as well as on positives, a cutoff table per drug, and a report that reads each drug against the prescriptions. If your clients are pain or addiction-medicine practices, those are the features they buy your reports for. For a lab running routine chemistry and hematology, start with our small-lab LIS comparison or, for a PCR menu, our molecular lab LIS comparison.
Does CLIA require specimen validity testing?
No CLIA section names it. CLIA requires written criteria for specimen acceptability and rejection (§ 493.1242(a)(7)) and a report line on any specimen that fails them (§ 493.1291(c)(7)). Validity checks are how a drug-testing lab applies those criteria to urine. Medicare does not pay for them separately: the definitive drug codes include specimen validity testing, and Palmetto GBA's LCD calls it quality assurance, not a Medicare benefit.
Can the lab reflex to a confirmation without a new order?
Under Palmetto GBA's LCD, yes in two cases: to verify a presumptive positive before reporting it, and to confirm a negative screen for a prescribed medication the ordering clinician listed. Not when the screen was done at the point of care. Other Medicare contractors and commercial payers set their own rules, so build reflex rules per payer if your LIS allows it.
We send confirmations to a reference lab. What must our LIS keep?
An exact duplicate of the reference lab's report, and the name and address of every lab location that tested the specimen, which the ordering clinician must be told. You must not revise the reference lab's results or its interpretation (§ 493.1291(i)). Test reports are kept at least 2 years after the date of reporting (§ 493.1105(a)(6)).
Does this page cover workplace or forensic drug testing?
No. Federal workplace drug testing runs under HHS's Mandatory Guidelines at HHS-certified laboratories, whose current list HHS publishes in the Federal Register. Chain of custody appears here only as a row for clinical labs that also take that work.
Why are there no prices on this page?
Toxicology LIS pricing is quoted lab by lab. Dendi prices its subscription by the number and type of integrations, and CGM sells LABDAQ's toxicology features as separate options, so two labs with the same menu can get very different quotes. Ask each vendor for a written quote on your own instruments and clients. All our software comparisons are on the compare index.