export interface BatchReplaceParams {
	clientCode: string;
	replaceType: 'drugName';
	oldValue: string;
	newValue: string;
}

export interface VascularAccessStatDetailParams {
	clientCode: string;
	beginDate: string;
	endDate: string;
	isInHospital: 0 | 1 | 2;
}

export interface VascularAccessStatDetail {
	accessState: 0 | 1; // 使用状态 0停用 1使用中
	code: string; // 通路code
	dictText: string; // 通路类型
	patientIsAlive: 1 | 2; // 患者转出状态 1已转入 2已转出
	patientName: string; // 患者名称
}

export interface DialysisAgeStatisticsParams {
	clientCode: string;
	isAlive: number;
}

export interface DialysisAgeStatisticsDetailParams {
	clientCode: string;
	condition: string;
	isAlive: number;
}

export interface DialysisAgeStatisticsDetail {
	age: string; // 年龄
	dialysisAge: string; // 透析龄
	patientCode: string; // 患者编号
	patientFirstTimeMedTime: string; // 首次透析日期
	patientGender: string; //患者性别 0:男 1:女
	patientName: string; // 患者姓名
}

export interface GetMedSummaryParams {
	patientCode: string;
	date1: string;
	date2: string;
}

export interface IMedSummary {
	KTV标本日期当天实际透析时长: string;
	KTV标本日期当天抗凝剂名称: string;
	KTV标本日期当天抗凝剂总量: number | null;
	KTV标本日期当天抗凝剂维持: number | null;
	KTV标本日期当天抗凝剂规格: string;
	KTV标本日期当天抗凝剂追加: number | null;
	KTV标本日期当天抗凝剂首剂: number | null;
	KTV标本日期当天提前下机: string;
	KTV标本日期当天置换方式: string;
	'KTV标本日期当天透析方式': string;
	'Kt/V检查日期': string;
	'KT/V': number | null;
	'Kt/V检查日期': string;
	URR: number | null;
	体重增长率均值: number | null;
	体重增长率标准差: number | null;
	干体重: number | null;
	患者姓名: string;
	患者年龄: number | null;
	患者性别: string;
	患者编号: string;
	日期: string;
	血流量: string;
	患者诊断: string;
	检验结果: {
		[key: string]: { 结果列表: IMedSummaryResult[] };
	};
	透析前BUN: number | string;
	透析后BUN: number | string;
	透析器: string;
	透析期间伸缩压: number | null;
	透析期间舒张压: number | null;
	透析期间脉搏: number | null;

}

export interface IMedSummaryResult {
	标本日期: string;
	[key: string]: TestResult | string;
}

export interface TestResult {
	// [x: string]: string;
	name: string;
	result: string;
	resultFlag: 'z' | 'g' | 'd';
	unit: string;
	ref: string;
	systemName: string;
}

export interface IPatientSummary {
	clientCode: string;
	code: string;
	createTime: string | null;
	createUser: number | null;
	deletedTime: string | null;
	id: number;
	isDeleted: 0 | 1;
	patientCode: string;
	psPeriodJson: string;
	psPeriodMonth: number;
	psPeriodYear: number;
	remark: string;
	updateTime: string | null;
	updateUser: number | null;
}

export interface IPatientSummarySave extends Omit<IPatientSummary, 'createTime' | 'createUser' | 'deletedTime' | 'isDeleted' | 'remark' | 'updateTime' | 'updateUser' > {
    createTime?: string;
	createUser?: number | null;
	deletedTime?: string | null;
	isDeleted?: 0 | 1;
	remark?: string;
	updateTime?: string | null;
	updateUser?: number | null;
}


export interface IPatientSummaryDetailParams {
    patientCode: string;
    year: number;
    month: number;
}


export interface IListMedSummaryFinalTextParams {
	clientCode: string;
	date1: string;
	date2: string;
}


export interface IListMedSummaryFinalTextResponse {
	阶段小结列表: IListMedSummaryFinalText[];
}

export interface IListMedSummaryFinalText {
	patCode: string;
	患者姓名: string;
	患者年龄: string;
	患者性别: string;
	患者透析号: string;
	处理意见: IHandlingSuggestions | {};
}

export interface IHandlingSuggestions {
	处理意见_干体重: string;
	处理意见_干体重_建议: string;
	处理意见_干体重_无异常: string;
	处理意见_炎症: string;
	处理意见_炎症_应对: string;
	处理意见_炎症_无异常: string;
	处理意见_肾性骨病: string;
	处理意见_肾性骨病_应对: string;
	处理意见_肾性骨病_无异常: string;
	处理意见_营养_其他: string;
	处理意见_营养_其他_文本: string;
	处理意见_营养_其他_无: string;
	处理意见_营养_其他_非布司他: string;
	处理意见_营养_复查离子: string;
	处理意见_营养_复查离子_周: string;
	处理意见_营养_白蛋白: string;
	处理意见_营养_白蛋白_建议用药: string;
	处理意见_营养_磷: string;
	处理意见_营养_磷_建议用药: string;
	处理意见_营养_钙: string;
	处理意见_营养_钙_建议用药: string;
	处理意见_营养_钠: string;
	处理意见_营养_钾: string;
	处理意见_营养_钾_建议用药: string;
	处理意见_营养_饮食指导: string;
	处理意见_血压: string;
	处理意见_血压_建议: string;
	处理意见_血压_无异常: string;
	处理意见_透析效率: string;
	处理意见_透析效率_建议: string;
	处理意见_透析效率_无异常: string;
	处理意见_肾性贫血: string[],
	处理意见_铁指标: string[],
	处理意见_血压_选项: string[],
	处理意见_营养_选项: string[],
	处理意见_炎症_选项: string[],
	处理意见_肾性骨病_选项: string[],
	处理意见_血脂: string,
	处理意见_肝功能: string,
	处理意见_建议用药: string,
}

export interface IHandlingSuggestionsFormat extends Omit<IHandlingSuggestions, '处理意见_营养_白蛋白' | '处理意见_营养_磷' | '处理意见_营养_钙' | '处理意见_营养_钠' | '处理意见_营养_钾'> {
	处理意见_营养_白蛋白: string[];
	处理意见_营养_磷: string[];
	处理意见_营养_钙: string[];
	处理意见_营养_钠: string[];
	处理意见_营养_钾: string[];
	处理意见_肾性贫血: string[],
	处理意见_铁指标: string[],
	处理意见_血压_选项: string[],
	处理意见_营养_选项: string[],
	处理意见_炎症_选项: string[],
	处理意见_肾性骨病_选项: string[],
	处理意见_透析效率_选项: string[];
	处理意见_定型文_选项: any;
}


export interface IListMedSummaryFinalTextFormat extends Omit<IListMedSummaryFinalText, '处理意见'> {
	处理意见: IHandlingSuggestionsFormat;
}

export interface IPatientAgeDistributionParams {
	clientCode: string;
	isAlive: number;
	// maxAge: number;
	// minAge: number;
	interval: any;
}

export interface IPatientAgeDistributionReponse {
	患者平均年龄: number | null;
	患者年龄分布: { [key: string]: number; };
	患者总数: number | null;
	患者详情: { [key: string]: any[]; };
	没有年龄的患者: any[];
}


export interface IPatVascularAccessStatDetailsParams {
	clientCode: string;
	beginDate: string;
	endDate: string;
	isInHospital: number; // 是否住院（0：否，1：是）
	timeType: string; // 时间类型 0是建立时间  1：首次启用时间  2本院首次使用时间  
	patCodes: string[]; // 患者代码
	queryGlType: string; // 查询通用类型
	// queryType: number; // 查询类型
}

export interface IPatVascularAccessStatDetailsReponse {
	count: number;
	detail: IPatVascularAccessStatDetailsDateilItem[];
	group: IPatVascularAccessStatDetailsGroupItem[];
	patientCount: number;
}

export interface IPatVascularAccessStatDetailsDateilItem {
	accessPart: string;
	accessState: string;
	code: string;
	dictText: string;
	patientIsAlive: string;
	patientName: string;
	startTime: string;
	useDays: string;
	currentTimeUseDays: string;
}

export interface IPatVascularAccessStatDetailsGroupItem {
	count: string;
	name: string;
	patCode: string;
	patName: string;
	type: string;
}

// export interface IPatientAgeDistributionParams {
// 	clientCode: string;
// 	isAlive: number;
// 	maxAge: number;
// 	minAge: number;
// 	interval: any;
// }

// export interface IPatientAgeDistributionReponse {
// 	患者平均年龄: number | null;
// 	患者年龄分布: { [key: string]: number; };
// 	患者总数: number | null;
// }