Skip to main content

Clinical reports query filters

Summary​

The Public API clinicalReports query now accepts an optional filters argument so integrations can narrow results by patient, clinical pathway, report type, and status — without paginating the full practice list and filtering client-side.

Draft reports are never returned. filters.status: Draft is accepted but ignored (same as omitting status).

This change is additive: omitting filters behaves as before.

What changed​

ArgumentDescription
filters.patientIdReports for a single patient
filters.clinicalPathwayIdReports linked to a clinical pathway
filters.reportTypeInitialReport, RFATReport, or DischargeReport
filters.statusAny ClinicalReportStatus; Draft is ignored

Filters may be combined. Malformed ObjectId values return a GraphQL validation error (BAD_USER_INPUT), consistent with other ID filter arguments.

Example​

query PatientPathwayReports($patientId: ID!, $pathwayId: ID!) {
clinicalReports(
pagination: { page: 1, pageSize: 30 }
filters: {
patientId: $patientId
clinicalPathwayId: $pathwayId
reportType: InitialReport
status: PendingApproval
}
) {
data {
id
reportType
status
clinicalPathway {
id
}
}
pageInfo {
page
pageSize
hasMore
}
}
}

Integration guidance​

  • Prefer server-side filters instead of client-side filtering of the unfiltered list when you only need a subset of reports.
  • Combine with pagination as usual; page size remains capped at 100.
  • Use clinicalReport(id:) when you need the PDF download URL for a single report.

See also​