import type { IBloodBornePathogen } from './pathogen.type';

export interface IPatInfoEventmonitoringAddDetail {
    id: number;
    code: string;
    clientCode: string;
    patientCode: string;
    monitoringTime: string;
    detailText: string;
}

// export interface IPatInfoEventmonitoringAddDetailDetailText {
//     血液透析用血管通路相关信息: {
//         血管通路类型: string;
//         导管穿刺部位: string;
//         插管日期: string;
//     },
//     血液透析感染事件: {
//         全身使用抗菌药物: boolean;
//         抗菌药物名称: string;
//         开始使用抗菌药物日期: string;
//         原因: {
//             穿刺部位感染: boolean;
//             血流感染: boolean;
//             其他感染: string;
//         },
//         血培养阳性: boolean;
//         送检日期: string;
//         检出病原体: string;
//         来源: {
//             血管通道: boolean;
//             非血管通道: boolean;
//             污染: boolean;
//             不确定: boolean;
//         },
//         "血管通路部位出现脓液、发红或肿胀加剧": boolean;
//         部位: {
//             "穿刺点/隧道口": boolean;
//             "穿刺点/隧道口周围皮肤": boolean;
//             "穿刺点/隧道口皮下组织": boolean;
//         },
//         临床表现: {
//             脓液: boolean;
//             发红: boolean;
//             肿胀加剧: boolean;
//         },
//         处理: {
//             局部使用抗菌药物: boolean;
//             抗菌药物封管: boolean;
//             全身使用抗菌药物: boolean;
//             其他: boolean;
//         }
//     },
//     感染结局: {
//         通道拔除: boolean;
//         重新插管: {
//             内瘘: boolean;
//             人工血管: boolean;
//             隧道式中心导管: boolean;
//             非隧道式中心导管: boolean;
//             其他: boolean;
//         },
//         住院: boolean;
//         死亡: boolean;
//     }
// }

export interface IPatInfoEventmonitoringAddDetailDetailText {
    血管通路类型: string;
    导管穿刺部位: string;
    // 插管日期: {
    //     年: number;
    //     月: number;
    //     日: number;
    // },
    插管日期: string; // YYYY-MM-DD
    血液透析感染事件: string[];
    // 全身使用抗菌药物
    血液透析感染事件_全身使用抗菌药物_抗菌药物名称: string;
    血液透析感染事件_全身使用抗菌药物_开始使用抗菌药物日期: string; // YYYY-MM-DD
    血液透析感染事件_全身使用抗菌药物_原因: string;
    // 血培养阳性
    血液透析感染事件_血培养阳性_送检日期: string; // YYYY-MM-DD
    血液透析感染事件_血培养阳性_检出病原体: string;
    血液透析感染事件_血培养阳性_来源: string;
    // 血管通路部位出现脓液、发红或肿胀加剧
    血液透析感染事件_血管通路部位出现脓液发红或肿胀加剧_部位: string;
    血液透析感染事件_血管通路部位出现脓液发红或肿胀加剧_临床表现: string;
    血液透析感染事件_血管通路部位出现脓液发红或肿胀加剧_处理: string;
    血液透析感染事件_血管通路部位出现脓液发红或肿胀加剧_其他: string;
    // ------ 感染结局 ---------
    感染结局: string;
    感染结局_重新插管_类型: string;
}


export interface IGetPatInfoEventmonitoringDeleteDetailListParams {
    startTime: string;
    endTime: string;
    clientCode: string;
    patientFuzzyQuery: string;
}


export interface IPatientDialysisInfectionEventMonitoringoCcurrenceRateParams {
    clientCode: string;
    startTime: string;
    endTime: string;
}
 
export type TPatientDialysisInfectionEventMonitoringoCcurrenceKey = 'HBV阳转率' | 'HCV阳转率' | 'HIV阳转率' | '新入患者传染病标志物检验完成率' | '梅毒阳转率' | '血液透析感染事件发生率' | '血管穿刺部位感染发生率' | '血管通路感染发生率' | '血管通路相关性血流感染发生率' | '长期患者传染病标志物检验完成率';


export interface IPatientDialysisInfectionEventMonitoringoCcurrenceRate {
    "HBV阳转率": IPatientDialysisInfectionEventMonitoringoCcurrenceRateHbvItem;
    HCV阳转率: IPatientDialysisInfectionEventMonitoringoCcurrenceRateHcvItem;
    "HIV阳转率": IPatientDialysisInfectionEventMonitoringoCcurrenceRateHivItem;
    "新入患者传染病标志物检验完成率": IPatientDialysisInfectionEventMonitoringoCcurrenceRateCrbItem;
    "梅毒阳转率": IPatientDialysisInfectionEventMonitoringoCcurrenceRateMdItem;
    "血液透析感染事件发生率": IPatientDialysisInfectionEventMonitoringoCcurrenceRateXtGrsjItem;
    "血管穿刺部位感染发生率": IPatientDialysisInfectionEventMonitoringoCcurrenceRateCibwgrItem;
    "血管通路感染发生率": IPatientDialysisInfectionEventMonitoringoCcurrenceRateXgtlgrItem;
    "血管通路相关性血流感染发生率": IPatientDialysisInfectionEventMonitoringoCcurrenceRateXlxgrItem;
    "长期患者传染病标志物检验完成率": IPatientDialysisInfectionEventMonitoringoCcurrenceRateCrbBzwItem;
}

export interface IPatientDialysisInfectionEventMonitoringoCcurrenceRateItem {
    发生率: number;
    统计基数: number;
    统计数量: number;
}


export interface IPatientDialysisInfectionEventMonitoringoCcurrenceRateHbvItem extends IPatientDialysisInfectionEventMonitoringoCcurrenceRateItem {
    统计基数详情: {
        原有患者: any[];
        留治患者: any[];
    };
    统计数量详情: IBloodBornePathogen[];
}

export interface IPatientDialysisInfectionEventMonitoringoCcurrenceRateHcvItem extends IPatientDialysisInfectionEventMonitoringoCcurrenceRateItem {
    统计基数详情: {
        原有患者: any[];
        留治患者: any[];
    };
    统计数量详情: IBloodBornePathogen[];
}

export interface IPatientDialysisInfectionEventMonitoringoCcurrenceRateHivItem extends IPatientDialysisInfectionEventMonitoringoCcurrenceRateItem {
    统计基数详情: {
        原有患者: any[];
        留治患者: any[];
    };
    统计数量详情: IBloodBornePathogen[];
}

export interface IPatientDialysisInfectionEventMonitoringoCcurrenceRateCrbItem extends IPatientDialysisInfectionEventMonitoringoCcurrenceRateItem {
    统计基数详情: any[];
    统计数量详情: IBloodBornePathogen[];
}

export interface IPatientDialysisInfectionEventMonitoringoCcurrenceRateMdItem extends IPatientDialysisInfectionEventMonitoringoCcurrenceRateItem {
    统计基数详情: {
        原有患者: any[];
        留治患者: any[];
    };
    统计数量详情: any[];
}

export interface IPatientDialysisInfectionEventMonitoringoCcurrenceRateXtGrsjItem extends IPatientDialysisInfectionEventMonitoringoCcurrenceRateItem {
    统计基数详情: any[];
    统计数量详情: any[];
}

export interface IPatientDialysisInfectionEventMonitoringoCcurrenceRateCibwgrItem extends IPatientDialysisInfectionEventMonitoringoCcurrenceRateItem {
    统计基数详情: any[];
    统计数量详情: IBloodBornePathogen[];
}

export interface IPatientDialysisInfectionEventMonitoringoCcurrenceRateXgtlgrItem extends IPatientDialysisInfectionEventMonitoringoCcurrenceRateItem {
    统计基数详情: any[];
    统计数量详情: any[];
}

export interface IPatientDialysisInfectionEventMonitoringoCcurrenceRateXlxgrItem extends IPatientDialysisInfectionEventMonitoringoCcurrenceRateItem {
    统计基数详情: any[];
    统计数量详情: IBloodBornePathogen[];
}

export interface IPatientDialysisInfectionEventMonitoringoCcurrenceRateCrbBzwItem extends IPatientDialysisInfectionEventMonitoringoCcurrenceRateItem {
    统计基数详情: any[];
    统计数量详情: any[];
}

