Open-source extension to the OHDSI DQD for row-level data quality checking

Hi everyone,

I am happy to share our work on extending the OHDSI Data Quality Dashboard (DQD) to enable row-level data quality checking.

This allows users to trace a data-quality failure back to the specific OMOP record contributing to the issue and, where available, the underlying source document. This makes it possible to investigate individual records behind an aggregate DQD result and identify where a data-quality issue needs to be addressed.

The record-level DQD is available as open-source software here.

We’ve applied this record-level data quality checking in our recent study - Scaling Specialist Hepatology Expertise for Population-Scale MASLD Care: An AI-Enabled OMOP CDM Knowledge Transport Layer for India. The study is being presented at the Collaborator Showcase during the 2026 OHDSI Global Symposium, October 20-22 .

If you are attending the symposium and the topic is of interest, please feel free to stop by and take a look at our poster. We’d also be very interested to hear your thoughts and feedback on the row-level DQD approach and how it could be useful across different OMOP implementations.

Thanks for sharing! You’ll definitely want to connect with @clairblacketer and @Frank who presented a similar concept a few years ago: Enhancing Data Quality Management: Introducing Capture and Cleanse Modes to the Data Quality Dashboard – OHDSI

We never released this in DQD but I think that was largely a capacity/prioritization thing (and the “cleanse” mode was somewhat controversial :upside_down_face:). I’d be curious to see if we could evolve this concept beyond just surfacing impacted rows and make that information more actionable. We all have our typical investigation queries we run when a DQD check fails (and there are lots of recommendations for these in the DQD docs). I think there’s an opportunity to incorporate these directly into the package rather than having this as an ad hoc manual step for users.

@roger.carlson is also doing some cool stuff logging violating records in dbt.