import { useCallback } from "react"; import { useHttpService } from "../services/HttpService.tsx"; import { environment } from "../environments/environment.ts"; import type { SaveTransport } from "../utils/saveOperation"; import type { DiagnosticPublicationRequest, DiagnosticPublicationStatus } from "../utils/diagnosticPublicationOperation"; export const CRITICAL_FINDING_CHANNELS = [ { value: "telephone", label: "By telephone" }, { value: "in-person", label: "In person" }, { value: "secure-message", label: "By secure message" }, ] as const; export type CriticalFindingChannel = (typeof CRITICAL_FINDING_CHANNELS)[number]["value"]; export interface CriticalFindingRequest { told: string; how: CriticalFindingChannel; toldAt?: string; readBack?: boolean; note?: string; } export type ReleasedResult = DiagnosticPublicationStatus; export const useReleaseDiagnosticResult = () => { const { post } = useHttpService(); return useCallback((orderId: string, request: DiagnosticPublicationRequest, transport: SaveTransport) => post(`${environment.fhirBaseApi}/diagnostic-order/${orderId}/release`, request, transport), [post]); };