Skip to content

mcardle-features-dashboard - #13

Open
rtmcardle wants to merge 4 commits into
runsheet-linkingfrom
mcardle-features-dashboard
Open

mcardle-features-dashboard#13
rtmcardle wants to merge 4 commits into
runsheet-linkingfrom
mcardle-features-dashboard

Conversation

@rtmcardle

Copy link
Copy Markdown
Collaborator

Additional features developed in July 2026, surfacing TranscribeMe data, pipeline failures, and linking runsheets to malnamed files.

* Wire the transcribeme db schema information into the dashboard

* Introduce reusable aggregate view of tables

* Wire reusable aggregate view into each page
* Introduce the pipeline-failures page

* Wire the transcribeme db schema information into the dashboard
Allows a user to explore and override audio qc failures.
* Introduce datetime parse/missing interview reconciliation page

* Runsheet match page into nav sidebar

* pm2 configuration and directions

* Surface runsheet redcap event name in matching view (unmatched runsheets only)

* Override audit trail page for visualization
@rtmcardle
rtmcardle requested a review from dheshanm July 21, 2026 18:33
@dheshanm

Copy link
Copy Markdown
Member

Posting @rtmcardle 's comments here for the record:

/v1/issues/unresolved/pipeline-failures/datetime-override/route.ts POST method, which calls:

DashboardActions.recordAction to write to public.dashboard_actions, and
DatetimeOverrides.create to write to pipeline_ledger.datetime_overrides

I think you might be intending to link to the .../pipeline-failures/resolve/route.ts change near it, which does call:

DashboardActions.recordAction to write to public.dashboard_actions, and
PipelineFailures.resolve to write to pipeline_ledger.pipeline_failures.

This endpoint is called in ./src/app/issues/pipelineFailures/page.tsx , the resolveFailure function. This is a feature to mark a failure as resolved with an optional note. There is not a lot of functionality here at this time, just a basic 'mark this failure so we can ignore it as "resolved"'.

if (!status || !status.wav_conversion) {
return (
<div className="m-16">
<Empty description="This recording has not entered the AMPSCZ transcription pipeline yet" />

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick: We should use consistent branding for the pipeline as dpinterview

@dheshanm dheshanm left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR adds:

  • New issue types: AudioQC failures, awaiting vendor transcription, pipeline failures
  • Aggregation summaries for most issues, grouped by various dimensions

This significantly improves visibility into the transcription pipeline, surfacing:

  • QC failures (files not sent for transcription) — with support for manual overrides to force transcription
  • Files waiting on the vendor
  • Files not yet pushed to the vendor

Implementation looks solid, with parameterized SQL queries on TranscribeMe model. Approved!

non-blocking nitpick: I would lean toward computing hours_waiting client-side rather than in the query — keeps the SQL deterministic and cacheable. Fine as-is though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants