Circle V2 API Docs
    Preparing search index...

    Module @repo/trpc

    @repo/trpc

    tRPC v11 API layer. The server export provides the appRouter (composed from domain routers: patients, patientSessions, profiles, orgMembers, facilities, templates, auditTemplates) and a fetch adapter. The client export provides TRPCProvider, useTRPC, useTRPCClient, and api for React Query–integrated procedure calls. It also exports authenticatedProcedure and Zod-based input schemas.

    %%{init:{"theme":"dark"}}%% graph TD trpc["@repo/trpc"] auth["@repo/auth"] db["@repo/db"] legacy["@repo/legacy"] logger["@repo/logger"] safe["@repo/safe"] react_query["@repo/react-query"] typescript_config["@repo/typescript-config"] vitest_config["@repo/vitest-config"] services["@repo/services"] utils["@repo/utils"] trpc -.-> auth trpc -.-> db trpc -.-> legacy trpc -.-> logger trpc -.-> safe trpc -.-> react_query trpc -.-> typescript_config trpc -.-> vitest_config trpc -.-> services trpc -.-> utils
    %%{init:{"theme":"default"}}%% graph TD trpc["@repo/trpc"] auth["@repo/auth"] db["@repo/db"] legacy["@repo/legacy"] logger["@repo/logger"] safe["@repo/safe"] react_query["@repo/react-query"] typescript_config["@repo/typescript-config"] vitest_config["@repo/vitest-config"] services["@repo/services"] utils["@repo/utils"] trpc -.-> auth trpc -.-> db trpc -.-> legacy trpc -.-> logger trpc -.-> safe trpc -.-> react_query trpc -.-> typescript_config trpc -.-> vitest_config trpc -.-> services trpc -.-> utils
    graph TD
      trpc["@repo/trpc"]
      auth["@repo/auth"]
      db["@repo/db"]
      legacy["@repo/legacy"]
      logger["@repo/logger"]
      safe["@repo/safe"]
      react_query["@repo/react-query"]
      typescript_config["@repo/typescript-config"]
      vitest_config["@repo/vitest-config"]
      services["@repo/services"]
      utils["@repo/utils"]
      trpc -.-> auth
      trpc -.-> db
      trpc -.-> legacy
      trpc -.-> logger
      trpc -.-> safe
      trpc -.-> react_query
      trpc -.-> typescript_config
      trpc -.-> vitest_config
      trpc -.-> services
      trpc -.-> utils

    Each procedure lives in its own file (*.query.ts or *.mutation.ts). Define a Zod input schema, export inferred types, and use authenticatedProcedure:

    // src/routers/patients/get-patient-by-id.query.ts
    import { TRPCError } from "@trpc/server";
    import { z } from "zod";

    import { patientsRepo } from "@repo/db";
    import { zPatientId } from "@repo/db/schema";

    import { authenticatedProcedure } from "../../procedures";

    export type GetPatientByIdInput = z.infer<typeof getPatientByIdInputSchema>;
    export type GetPatientByIdOutput = Awaited<ReturnType<typeof getPatientById>>;

    export const getPatientByIdInputSchema = z.object({
    id: zPatientId,
    });

    export const getPatientById = authenticatedProcedure
    .input(getPatientByIdInputSchema)
    .query(async ({ input }) => {
    const { data, error } = await patientsRepo.getById(input.id);

    if (error) {
    throw new TRPCError({
    code: "BAD_REQUEST",
    message: error.message || "Unknown error",
    });
    }

    return data;
    });

    Mutations follow the same pattern but use .mutation(...). The ctx object provides the authenticated user:

    // src/routers/patients/create-patient.mutation.ts
    export const createPatientInputSchema = z.object({
    firstName: z.string().min(1, "First name is required"),
    lastName: z.string().min(1, "Last name is required"),
    facilityId: zFacilityId.optional(),
    email: z.email().optional().or(z.literal("")),
    // ...
    });

    export type CreatePatientInput = z.infer<typeof createPatientInputSchema>;

    export const createPatient = authenticatedProcedure
    .input(createPatientInputSchema)
    .mutation(async ({ ctx, input }) => {
    const { data, error } = await patientsRepo.create({
    first_name: input.firstName,
    last_name: input.lastName,
    entity_id: ctx.user.entity_id,
    // ...
    });

    if (error) {
    throw new TRPCError({ code: "BAD_REQUEST", message: error.message || "Unknown error" });
    }

    return data;
    });

    Each domain has an index.ts that composes individual procedures into a router. Types are re-exported with export type *:

    // src/routers/patients/index.ts
    import { trpc } from "../../trpc";
    import { createPatient } from "./create-patient.mutation";
    import { getPatientById } from "./get-patient-by-id.query";
    import { listInOrganization } from "./list-in-organization.query";
    import { updatePatient } from "./update-patient.mutation";

    export type * from "./create-patient.mutation";
    export type * from "./get-patient-by-id.query";
    // ...

    export const patientsRouter = trpc.router({
    createPatient,
    getPatientById,
    listInOrganization,
    updatePatient,
    });

    Domain routers are then merged into the appRouter:

    // src/routers/app.router.ts
    export const appRouter = trpc.router({
    patients: patientsRouter,
    patientSessions: patientSessionsRouter,
    profiles: profilesRouter,
    // ...
    });

    For access-control checks that load and validate a resource, define composable middleware that can be chained onto a procedure with .concat:

    // src/middleware/auth/can-access-audit-template.middleware.ts
    export function canAccessAuditTemplate({ getId }: CanAccessAuditTemplateOptions) {
    return authenticatedProcedure.use(async (opts) => {
    const id = getId(opts.input as Record<string, unknown>);
    const { data: template, error } = await auditTemplatesRepo.getById(id);

    if (error) throw new TRPCError({ code: "NOT_FOUND" });
    if (!hasAccessToAuditTemplate(template, opts.ctx.user)) throw new TRPCError({ code: "FORBIDDEN" });

    return opts.next({ ctx: { auditTemplate: template } });
    });
    }

    Then use .concat to attach it after .input:

    export const getById = authenticatedProcedure
    .input(getAuditTemplateByIdInputSchema)
    .concat(canAccessAuditTemplate({ getId: (input) => input.id as AuditTemplateId }))
    .query(async ({ input, ctx }) => {
    // ctx.auditTemplate is now available and typed
    });

    Use useTRPC() to get the typed proxy, then pass queryOptions into TanStack Query's useQuery:

    import { useTRPC } from "@repo/trpc/client";
    import { useQuery } from "@repo/react-query";

    function PatientList({ search }: { search: string }) {
    const trpc = useTRPC();

    const { data, isLoading, error } = useQuery(
    trpc.patients.listInOrganization.queryOptions({
    sortBy: "name",
    sortOrder: "asc",
    limit: 25,
    offset: 0,
    patientSearch: search || undefined,
    }),
    );
    }

    Pass TanStack Query options like enabled as the second argument to queryOptions:

    function SessionDetail({ sessionId }: { sessionId: SessionId }) {
    const trpc = useTRPC();

    const { data } = useQuery(
    trpc.patientSessions.getById.queryOptions(
    { id: sessionId },
    { enabled: !!sessionId },
    ),
    );
    }

    Use mutationOptions with useMutation. Invalidate related queries in onSuccess using queryKey():

    import { useTRPC } from "@repo/trpc/client";
    import { useMutation, useQueryClient } from "@repo/react-query";

    function useCreateClient(options?: { onSuccess?: () => void }) {
    const trpc = useTRPC();
    const queryClient = useQueryClient();

    return useMutation(
    trpc.patients.createPatient.mutationOptions({
    onSuccess: () => {
    queryClient.invalidateQueries({
    queryKey: trpc.patients.listInOrganization.queryKey(),
    });
    options?.onSuccess?.();
    },
    }),
    );
    }

    Use the fetch adapter to mount the router in a Next.js route handler:

    import { createTRPCFetchAdapter } from "@repo/trpc/server";

    const handler = createTRPCFetchAdapter({
    endpoint: "/api/trpc",
    createContext: ({ req }) => createContext(req),
    });

    export { handler as GET, handler as POST };
    Script Description
    check-types Typecheck with tsc --noEmit

    Modules

    client
    routers/action-items/bulk-apply.mutation
    routers/action-items/bulk-apply.mutation.test
    routers/action-items/filters
    routers/action-items/get-question-detail.query
    routers/action-items/index
    routers/action-items/list-assignees.query
    routers/action-items/list-questions.query
    routers/action-items/update-action-item.mutation
    routers/action-items/update-action-item.mutation.test
    routers/ai-feedback/ai-feedback.router.test
    routers/ai-feedback/index
    routers/ai-feedback/lib/langsmith-feedback
    routers/ai-feedback/lib/langsmith-feedback.test
    routers/ai-feedback/lib/slack-notification
    routers/ai-feedback/lib/slack-notification.test
    routers/ai-feedback/list-own.query
    routers/ai-feedback/retract.mutation
    routers/ai-feedback/retract.mutation.test
    routers/ai-feedback/submit.mutation
    routers/ai-feedback/submit.mutation.test
    routers/app.router
    routers/audit-runs/archive.mutation
    routers/audit-runs/archive.mutation.test
    routers/audit-runs/create-response-trail.mutation
    routers/audit-runs/get-by-id.query
    routers/audit-runs/get-by-id.query.test
    routers/audit-runs/index
    routers/audit-runs/list-for-patient.query
    routers/audit-runs/list-question-run-history.query
    routers/audit-runs/list-recent-for-patient.query
    routers/audit-runs/rerun-question.mutation
    routers/audit-runs/rerun-question.mutation.test
    routers/audit-templates/create.mutation
    routers/audit-templates/delete.mutation
    routers/audit-templates/duplicate.mutation
    routers/audit-templates/get-by-id.query
    routers/audit-templates/index
    routers/audit-templates/list.query
    routers/audit-templates/list.query.test
    routers/audit-templates/restore.mutation
    routers/audit-templates/restore.mutation.test
    routers/audit-templates/toggle-sharing.mutation
    routers/audit-templates/update.mutation
    routers/census/census.query.test
    routers/census/constants
    routers/census/facility.query
    routers/census/index
    routers/census/list-facilities.query
    routers/census/program-members.query
    routers/chart-review-triggers/check.mutation
    routers/chart-review-triggers/check.mutation.test
    routers/chart-review-triggers/create.mutation
    routers/chart-review-triggers/create.mutation.test
    routers/chart-review-triggers/delete.mutation
    routers/chart-review-triggers/index
    routers/chart-review-triggers/list.query
    routers/chart-review-triggers/update.mutation
    routers/chart-review-triggers/update.mutation.test
    routers/chart-review/index
    routers/chart-review/releaseParkedRun.mutation
    routers/chart-review/releaseParkedRun.mutation.test
    routers/chart-review/run.mutation
    routers/chart-review/syncAndRun.mutation
    routers/chat/index
    routers/chat/send-message.mutation
    routers/chat/send-message.mutation.test
    routers/contact-types/create-contact-type.mutation
    routers/contact-types/delete-contact-type.mutation
    routers/contact-types/get-contact-type.query
    routers/contact-types/index
    routers/contact-types/list-contact-types.query
    routers/contact-types/update-contact-type.mutation
    routers/contacts/create-contact.mutation
    routers/contacts/delete-contact.mutation
    routers/contacts/get-contact.query
    routers/contacts/index
    routers/contacts/list-contacts.query
    routers/contacts/update-contact.mutation
    routers/dictionary/create-concept.mutation
    routers/dictionary/index
    routers/dictionary/list-chart-title-locations.query
    routers/dictionary/list-chart-title-locations.query.test
    routers/dictionary/list-chart-title-pattern-titles.query
    routers/dictionary/list-chart-title-pattern-titles.query.test
    routers/dictionary/list-chart-title-patterns.query
    routers/dictionary/list-chart-title-patterns.query.test
    routers/dictionary/list-concept-title-rules.query
    routers/dictionary/list-concept-title-rules.query.test
    routers/dictionary/list-concepts-with-rules.query
    routers/dictionary/list-concepts-with-rules.query.test
    routers/dictionary/list-concepts.query
    routers/dictionary/list-credential-entries-page.query
    routers/dictionary/list-credential-entries-page.query.test
    routers/dictionary/list-credential-entries.query
    routers/dictionary/list-credential-entries.query.test
    routers/dictionary/list-credential-providers.query
    routers/dictionary/list-credential-providers.query.test
    routers/dictionary/list-credentials-page.query
    routers/dictionary/list-credentials-page.query.test
    routers/dictionary/list-credentials.query
    routers/dictionary/list-credentials.query.test
    routers/dictionary/list-level-of-care-entries.query
    routers/dictionary/list-level-of-care-entries.query.test
    routers/dictionary/list-unmapped-level-of-care-names.query
    routers/dictionary/list-unmapped-level-of-care-names.query.test
    routers/dictionary/map-chart-titles-to-concept.mutation
    routers/dictionary/map-chart-titles-to-concept.mutation.test
    routers/dictionary/map-credentials.mutation
    routers/dictionary/map-credentials.mutation.test
    routers/dictionary/map-level-of-care-names.mutation
    routers/dictionary/map-level-of-care-names.mutation.test
    routers/dictionary/matcher-rule.helpers
    routers/dictionary/save-circle-matchers.mutation
    routers/dictionary/save-circle-matchers.mutation.test
    routers/dictionary/save-concept-exact-titles.mutation
    routers/dictionary/save-concept-exact-titles.mutation.test
    routers/dictionary/unmap-credentials.mutation
    routers/dictionary/unmap-credentials.mutation.test
    routers/dictionary/unmap-level-of-care-names.mutation
    routers/dictionary/unmap-level-of-care-names.mutation.test
    routers/dictionary/unmap-title-pattern.mutation
    routers/dictionary/unmap-title-pattern.mutation.test
    routers/facilities/create.mutation
    routers/facilities/create.mutation.test
    routers/facilities/delete.mutation
    routers/facilities/has-emr-integrated-facilities.query
    routers/facilities/index
    routers/facilities/list-in-organization.query
    routers/facilities/list-with-filter-options.query
    routers/facilities/list-with-integrations-page.query
    routers/facilities/list-with-integrations-page.query.test
    routers/facilities/list-with-integrations.query
    routers/facilities/list-with-levels-of-care.query
    routers/facilities/update.mutation
    routers/facilities/update.mutation.test
    routers/form-runs/delete-document.mutation
    routers/form-runs/delete-document.mutation.test
    routers/form-runs/download.query
    routers/form-runs/download.query.test
    routers/form-runs/get-answers.query
    routers/form-runs/get-answers.query.test
    routers/form-runs/get-retrieval-scope.query
    routers/form-runs/get-retrieval-scope.query.test
    routers/form-runs/get-status.query
    routers/form-runs/get-status.query.test
    routers/form-runs/get-template-url.query
    routers/form-runs/get-template-url.query.test
    routers/form-runs/index
    routers/form-runs/lib/answer-coordinates
    routers/form-runs/lib/answer-coordinates.test
    routers/form-runs/lib/answer-output
    routers/form-runs/lib/answer-progress
    routers/form-runs/lib/answer-progress.test
    routers/form-runs/lib/answer-value.input
    routers/form-runs/lib/answer-value.input.test
    routers/form-runs/lib/form-run-errors
    routers/form-runs/lib/kickoff-errors
    routers/form-runs/lib/kickoff-errors.test
    routers/form-runs/lib/kickoff-inputs
    routers/form-runs/lib/refresh-document
    routers/form-runs/lib/start-run
    routers/form-runs/list-forms.query
    routers/form-runs/list-forms.query.test
    routers/form-runs/refresh-document.mutation
    routers/form-runs/rerun.mutation
    routers/form-runs/rerun.mutation.test
    routers/form-runs/revert-answer.mutation
    routers/form-runs/revert-answer.mutation.test
    routers/form-runs/start.mutation
    routers/form-runs/start.mutation.test
    routers/form-runs/update-answer.mutation
    routers/form-runs/update-answer.mutation.test
    routers/form-templates/create-upload-target.mutation
    routers/form-templates/create-upload-target.mutation.test
    routers/form-templates/create.mutation
    routers/form-templates/create.mutation.test
    routers/form-templates/delete.mutation
    routers/form-templates/delete.mutation.test
    routers/form-templates/detect-with-extend.mutation
    routers/form-templates/detect.mutation
    routers/form-templates/detection.test
    routers/form-templates/extend-detection.test
    routers/form-templates/get-detection.query
    routers/form-templates/get-document.query
    routers/form-templates/get-document.query.test
    routers/form-templates/get-extend-detection.query
    routers/form-templates/get-fields.query
    routers/form-templates/get-fields.query.test
    routers/form-templates/get.query
    routers/form-templates/get.query.test
    routers/form-templates/index
    routers/form-templates/index.test
    routers/form-templates/lib/extend-detection
    routers/form-templates/lib/form-template-errors
    routers/form-templates/lib/form-template-row
    routers/form-templates/lib/pdf-reader-unavailable
    routers/form-templates/lib/pdf-reader-unavailable.test
    routers/form-templates/lib/run-detection
    routers/form-templates/lib/template-fields
    routers/form-templates/lib/template-fields.test
    routers/form-templates/lib/template-upload
    routers/form-templates/list.query
    routers/form-templates/list.query.test
    routers/form-templates/rename.mutation
    routers/form-templates/rename.mutation.test
    routers/form-templates/set-org-sharing.mutation
    routers/form-templates/set-org-sharing.mutation.test
    routers/form-templates/test-fill.mutation
    routers/form-templates/test-fill.mutation.test
    routers/form-templates/update-conditional-rules.mutation
    routers/form-templates/update-conditional-rules.mutation.test
    routers/form-templates/update.mutation
    routers/form-templates/update.mutation.test
    routers/integrations/full-sync.mutation
    routers/integrations/full-sync.mutation.test
    routers/integrations/get-integration-locations.query
    routers/integrations/get-patient-run-recording.query
    routers/integrations/get-patient-sync-status.query
    routers/integrations/get-patient-sync-status.query.test
    routers/integrations/index
    routers/integrations/lib/derivePatientSyncStatus
    routers/integrations/lib/syncInProgressMessage
    routers/integrations/sync-admissions.mutation
    routers/integrations/sync-episode.mutation
    routers/integrations/sync-episode.mutation.test
    routers/integrations/sync-facility-levels-of-care.mutation
    routers/integrations/sync-facility-programs.mutation
    routers/integrations/sync-integration-episodes.mutation
    routers/integrations/sync-integration.mutation
    routers/integrations/sync-patient-episodes.mutation
    routers/integrations/sync-patient.mutation
    routers/integrations/sync-patient.mutation.test
    routers/integrations/update.mutation
    routers/integrations/update.mutation.test
    routers/integrations/verify-emr-proxy-connection.mutation
    routers/integrations/verify-emr-proxy-connection.mutation.test
    routers/metrics/criteria-assistants.query
    routers/metrics/criteria-detail.query
    routers/metrics/criteria-responses.query
    routers/metrics/filters
    routers/metrics/index
    routers/metrics/metrics-facilities.query
    routers/metrics/metrics-grouped.query
    routers/org-members/create-invite.mutation
    routers/org-members/create-invite.mutation.test
    routers/org-members/get-member-by-profile-id.query
    routers/org-members/index
    routers/org-members/list-pending-invites.query
    routers/org-members/list-roles.query
    routers/org-members/list-users.query
    routers/org-members/remove-member.mutation
    routers/org-members/resend-invite.mutation
    routers/org-members/update-member.mutation
    routers/org-settings/index
    routers/org-settings/list.query
    routers/org-settings/update.mutation
    routers/patient-charts/count-for-patient.query
    routers/patient-charts/create-for-patient.mutation
    routers/patient-charts/create-for-patient.mutation.test
    routers/patient-charts/document-types-for-patient.query
    routers/patient-charts/get-by-id.query
    routers/patient-charts/get-by-id.query.test
    routers/patient-charts/get-trace-links.query
    routers/patient-charts/index
    routers/patient-charts/list-all-ids-for-patient.query
    routers/patient-charts/list-by-ids.query
    routers/patient-charts/list-for-patient.query
    routers/patient-charts/list-generated-forms-for-patient.query
    routers/patient-charts/list-packet-pieces.query
    routers/patient-charts/list-packet-pieces.query.test
    routers/patient-charts/preprocess-for-patient.mutation
    routers/patient-charts/reprocess.mutation
    routers/patient-insurances/index
    routers/patient-insurances/list-for-patient.query
    routers/patient-sessions/delete.mutation
    routers/patient-sessions/generate-note.mutation
    routers/patient-sessions/get-by-id.query
    routers/patient-sessions/get-last-template-for-patient.query
    routers/patient-sessions/get-playback-url.query
    routers/patient-sessions/get-recent-sessions.query
    routers/patient-sessions/index
    routers/patient-sessions/list-evidence-options.query
    routers/patient-sessions/list-evidence-options.query.test
    routers/patient-sessions/list-for-current-user.query
    routers/patient-sessions/list-for-patient.query
    routers/patient-sessions/modify-ai-note.mutation
    routers/patient-sessions/modify-ai-note.prompts
    routers/patient-sessions/modify-ai-note.prompts.test
    routers/patient-sessions/regenerate-codes.mutation
    routers/patient-sessions/session-note-gating.test
    routers/patient-sessions/switch-template.mutation
    routers/patient-sessions/update-ai-summarized-note.mutation
    routers/patient-sessions/update-codes.mutation
    routers/patient-sessions/update-private-note.mutation
    routers/patient-sessions/update-session-time.mutation
    routers/patient-utilization-reviews/index
    routers/patient-utilization-reviews/list-for-patient.query
    routers/patients/clone-patient-to-eval.mutation
    routers/patients/create-patient.mutation
    routers/patients/delete-patient.mutation
    routers/patients/get-clone-to-eval-status.query
    routers/patients/get-patient-by-id.query
    routers/patients/get-patient-detail.query
    routers/patients/get-patient-detail.query.test
    routers/patients/get-patient-overview.query
    routers/patients/index
    routers/patients/list-episodes.query
    routers/patients/list-in-organization.query
    routers/patients/list-in-organization.query.test
    routers/patients/list-program-stays.query
    routers/patients/merge-patients.helpers
    routers/patients/merge-patients.mutation
    routers/patients/merge-patients.mutation.test
    routers/patients/set-patient-archived.mutation
    routers/patients/set-patient-archived.mutation.test
    routers/patients/update-patient.mutation
    routers/profiles/index
    routers/profiles/list-emr-profiles.query
    routers/profiles/list-in-organization.query
    routers/profiles/update-profile.mutation
    routers/program-stays/index
    routers/program-stays/list-for-patient.query
    routers/review-dashboard/bulk-archive.mutation
    routers/review-dashboard/bulk-archive.mutation.test
    routers/review-dashboard/filters
    routers/review-dashboard/filters.test
    routers/review-dashboard/index
    routers/review-dashboard/review-dashboard-grouped.query
    routers/review-dashboard/review-dashboard-list.query
    routers/review-dashboard/review-dashboard-list.query.test
    routers/rulebook/create.mutation
    routers/rulebook/create.mutation.test
    routers/rulebook/dto
    routers/rulebook/evaluate-rule-now.mutation
    routers/rulebook/evaluate-rule-now.mutation.test
    routers/rulebook/findings
    routers/rulebook/get.query
    routers/rulebook/get.query.test
    routers/rulebook/index
    routers/rulebook/list-findings.query
    routers/rulebook/list-findings.query.test
    routers/rulebook/list.query
    routers/rulebook/list.query.test
    routers/rulebook/revise.mutation
    routers/rulebook/revise.mutation.test
    routers/rulebook/set-enabled.mutation
    routers/rulebook/set-enabled.mutation.test
    routers/rulebook/soft-delete.mutation
    routers/rulebook/soft-delete.mutation.test
    routers/saved-filters/create-saved-filter.mutation
    routers/saved-filters/delete-saved-filter.mutation
    routers/saved-filters/dto
    routers/saved-filters/index
    routers/saved-filters/list-saved-filters.query
    routers/saved-filters/rename-saved-filter.mutation
    routers/saved-filters/resolve-labels.query
    routers/saved-filters/update-saved-filter.mutation
    routers/storage/create-session-upload-target.mutation
    routers/storage/index
    routers/storage/upload-credentials.helpers
    routers/storage/upload-credentials.helpers.test
    routers/storage/upload-credentials.query
    routers/superadmin/ai-feedback/add-comment.mutation
    routers/superadmin/ai-feedback/create-linear-issue.mutation
    routers/superadmin/ai-feedback/delete-comment.mutation
    routers/superadmin/ai-feedback/index
    routers/superadmin/ai-feedback/lib/linear-issue
    routers/superadmin/ai-feedback/lib/linear-issue.test
    routers/superadmin/ai-feedback/list-comments.query
    routers/superadmin/ai-feedback/list.query
    routers/superadmin/ai-feedback/set-severity.mutation
    routers/superadmin/ai-feedback/set-status.mutation
    routers/superadmin/ai-feedback/update-comment.mutation
    routers/superadmin/audit-runs/compare-question.mutation
    routers/superadmin/audit-runs/compare-question.mutation.test
    routers/superadmin/audit-runs/compareArm.schema
    routers/superadmin/audit-runs/get-question-by-id.query
    routers/superadmin/audit-runs/index
    routers/superadmin/audit-runs/legacyResultToResponseViewModel
    routers/superadmin/audit-runs/list.query
    routers/superadmin/audit-runs/requeue.mutation
    routers/superadmin/audit-runs/rerun-question-v3.mutation
    routers/superadmin/audit-runs/rerun-question-v3.mutation.test
    routers/superadmin/audit-runs/resolve-compare-defaults.query
    routers/superadmin/automation-runs/filterOptions.query
    routers/superadmin/automation-runs/filters
    routers/superadmin/automation-runs/get-recording.query
    routers/superadmin/automation-runs/get.query
    routers/superadmin/automation-runs/index
    routers/superadmin/automation-runs/list.query
    routers/superadmin/automation-runs/listGroupedByPatient.query
    routers/superadmin/automation-runs/retry.mutation
    routers/superadmin/eval-clones/delete.mutation
    routers/superadmin/eval-clones/index
    routers/superadmin/eval-clones/list.query
    routers/superadmin/evals/createDatasetExamples.mutation
    routers/superadmin/evals/createDatasetExamples.mutation.test
    routers/superadmin/evals/index
    routers/superadmin/evals/runDateResolutionExperiment.mutation
    routers/superadmin/evals/runDateResolutionExperiment.mutation.test
    routers/superadmin/evals/runExpandQuestionExperiment.mutation
    routers/superadmin/evals/runExpandQuestionExperiment.mutation.test
    routers/superadmin/evals/runExperiment.mutation
    routers/superadmin/evals/runExperiment.mutation.test
    routers/superadmin/impersonation/end-impersonation.mutation
    routers/superadmin/impersonation/get-current-impersonation.query
    routers/superadmin/impersonation/index
    routers/superadmin/impersonation/start-impersonation.mutation
    routers/superadmin/impersonation/start-user-impersonation.mutation
    routers/superadmin/index
    routers/superadmin/org-users/groupTeamNames
    routers/superadmin/org-users/groupTeamNames.test
    routers/superadmin/org-users/index
    routers/superadmin/org-users/list-clients.query
    routers/superadmin/org-users/list-roles.query
    routers/superadmin/org-users/list.query
    routers/superadmin/org-users/transfer-clients.mutation
    routers/superadmin/org-users/update-role.mutation
    routers/superadmin/orgs/create.mutation
    routers/superadmin/orgs/get.query
    routers/superadmin/orgs/index
    routers/superadmin/orgs/list.query
    routers/superadmin/orgs/set-archived.mutation
    routers/superadmin/superadmin.router.test
    routers/superadmin/templates/filters
    routers/superadmin/templates/index
    routers/superadmin/templates/list-creators.query
    routers/superadmin/templates/list-for-export.query
    routers/superadmin/templates/list.query
    routers/superadmin/templates/restore.mutation
    routers/superadmin/usage/get.query
    routers/superadmin/usage/index
    routers/superadmin/usage/list-facilities.query
    routers/teams/add-team-members.mutation
    routers/teams/create-team.mutation
    routers/teams/index
    routers/teams/list-teams.query
    routers/teams/remove-team-member.mutation
    routers/templates/create.mutation
    routers/templates/delete.mutation
    routers/templates/duplicate.mutation
    routers/templates/get-by-id.query
    routers/templates/index
    routers/templates/list.query
    routers/templates/restore.mutation
    routers/templates/restore.mutation.test
    routers/templates/toggle-sharing.mutation
    routers/templates/update.mutation
    routers/user-prompts/create.mutation
    routers/user-prompts/delete.mutation
    routers/user-prompts/index
    routers/user-prompts/list.query
    routers/user-prompts/toggle-pin.mutation
    routers/utilization/episode-authorizations.query
    routers/utilization/episode-authorizations.query.test
    routers/utilization/facility-ledger.query
    routers/utilization/facility-pages.query.test
    routers/utilization/index
    routers/utilization/list-facilities.query
    routers/utilization/list-for-patient.query
    routers/utilization/list-for-patient.query.test
    routers/utilization/range-input
    server
    tests