import { IDENTTIFIER } from "../config";
import { ResourceMaster } from "../Interfaces";
import ResourceMain from "./ResourceMai";
type RelationshipCode = "FTH" | "MTH" | "SPS" | "HUSB" | "SON" | "DAU" | "BRO" | "SIS" | "UNCLE" | "AUNT" | "FRIEND";
type RelationshipDisplay = "Father" | "Mother" | "Wife" | "Husband" | "Son" | "Daughter" | "Brother" | "Sister" | "Uncle" | "Aunt" | "Friend";
interface Relationship {
    relationship: {
        code: RelationshipCode;
        display: RelationshipDisplay;
    };
}
interface PATIENT_CONTACT {
    relationship: {
        coding: {
            system: "http://terminology.hl7.org/CodeSystem/v2-0131";
            code: RelationshipCode;
            display: RelationshipDisplay;
        }[];
    }[];
    name: {
        use: string;
        family: string;
        given: string[];
    };
    telecom: {
        "system": string;
        "value": string;
        "use": string;
    }[];
}
declare const relationships: Relationship[];
export { Relationship, relationships, RelationshipCode, RelationshipDisplay, PATIENT_CONTACT };
export interface PATIENT {
    id?: string;
    internalId?: string;
    facilityId?: number;
    name: string;
    gender: string;
    healthNumber?: string;
    phrAddress?: string;
    mobile: string;
    dob: string;
    MRN?: string;
    organizationId: string;
    identifier?: IDENTTIFIER[];
    contact?: PATIENT_CONTACT[];
}
export declare class Patient extends ResourceMain implements ResourceMaster {
    toHtml(options: {
        body: PATIENT;
        addResourceType: boolean;
    }): Promise<string>;
    statusArray?: Function | undefined;
    getFHIR(options: PATIENT): {
        resourceType: string;
        id: string | undefined;
        meta: {
            versionId: string;
            lastUpdated: string;
            profile: string[];
        };
        text: {
            status: string;
            div: string;
        };
        identifier: IDENTTIFIER[];
        name: {
            text: string;
        }[];
        telecom: {
            system: string;
            value: string;
            use: string;
        }[];
        gender: string;
        birthDate: string;
        managingOrganization: {
            reference: string;
        };
        contact: PATIENT_CONTACT[] | undefined;
    };
    convertFhirToObject(options: any): PATIENT;
}
/**
 * @deprecated
 * @param options
 * @returns
 */
export declare const PatientResource: (options: PATIENT) => {
    resourceType: string;
    id: string | undefined;
    meta: {
        versionId: string;
        lastUpdated: string;
        profile: string[];
    };
    text: {
        status: string;
        div: string;
    };
    identifier: IDENTTIFIER[];
    name: {
        text: string;
    }[];
    telecom: {
        system: string;
        value: string;
        use: string;
    }[];
    gender: string;
    birthDate: string;
    managingOrganization: {
        reference: string;
    };
    contact: PATIENT_CONTACT[] | undefined;
};
//# sourceMappingURL=Patient.d.ts.map