import { CODEABLE_CONCEPT, MULTI_RESOURCE } from "../config";
import { ResourceMaster } from "../Interfaces";
import { OBSERVATION } from "./Observation";
import ResourceMain from "./ResourceMai";
declare const diagnosticReportStatus: readonly ["registered", "partial", "preliminary", "final"];
export declare type DiagnosticReportStatus = typeof diagnosticReportStatus[number];
interface Performer extends MULTI_RESOURCE {
    resource: "CareTeam" | "Organization" | "Practitioner" | "PractitionerRole";
}
interface ResultsInterpreter extends MULTI_RESOURCE {
    resource: "CareTeam" | "Practitioner" | "Organization" | "PractitionerRole";
}
interface Basedon extends MULTI_RESOURCE {
    resource: "CarePlan" | "ImmunizationRecommendation" | "NutritionOrder" | "MedicationRequest" | "ServiceRequest";
}
interface Subject extends MULTI_RESOURCE {
    resource: "Group" | "Device" | "Location" | "Patient";
}
export interface DIAGNOSTIC_REPORT {
    id?: string;
    labId?: string;
    mediaId: string[];
    issuedDate: string;
    /**
     * conclusoin drawn from full diagnositic report
     */
    conclusion: string;
    /**
     * conclusoin drawn from full diagnositic report
     */
    conclusionCode?: CODEABLE_CONCEPT[];
    status: DiagnosticReportStatus;
    /**
     * Name of the test or group of tests like lipid panel, CBC RFT LFT
     */
    code: CODEABLE_CONCEPT;
    /**
     * Hematlogy, biochemestry, micrbiology, radilogy
     */
    category?: CODEABLE_CONCEPT[];
    base64Data?: string;
    specimenId?: string[];
    observationResultid?: string[];
    performer?: Performer[];
    basedOn?: Basedon[];
    subject?: Subject;
    resultsInterpreter: ResultsInterpreter[];
    encounterId?: string;
    observations?: OBSERVATION[];
    text?: string;
}
export declare class DiagnosticReport extends ResourceMain implements ResourceMaster {
    toHtml(): Promise<string>;
    getFHIR(options: DIAGNOSTIC_REPORT): any;
    convertFhirToObject(options: any): DIAGNOSTIC_REPORT;
    statusArray(): DiagnosticReportStatus[];
    bundlify(resource: any): any;
}
export {};
//# sourceMappingURL=DiagnosticReport.d.ts.map