/** * 妊娠状态类型定义 */ /** * 妊娠状态枚举 * 0001: not pregnant - 未怀孕 * 0002: possibly pregnant - 可能怀孕 * 0003: definitely pregnant - 确定怀孕 * 0004: unknown - 未知 */ export enum PregnancyStatus { NOT_PREGNANT = '0001', // 未怀孕 POSSIBLY_PREGNANT = '0002', // 可能怀孕 DEFINITELY_PREGNANT = '0003', // 确定怀孕 UNKNOWN = '0004', // 未知 } /** * 妊娠状态选项接口,用于UI下拉选择 */ export interface PregnancyStatusOption { value: PregnancyStatus; label: React.ReactNode; description?: string; } /** * 妊娠状态选项列表 */ export const pregnancyStatusOptions: PregnancyStatusOption[] = [ { value: PregnancyStatus.NOT_PREGNANT, label: '未怀孕', description: '患者未怀孕' }, { value: PregnancyStatus.POSSIBLY_PREGNANT, label: '可能怀孕', description: '患者可能怀孕' }, { value: PregnancyStatus.DEFINITELY_PREGNANT, label: '确定怀孕', description: '患者确定怀孕' }, { value: PregnancyStatus.UNKNOWN, label: '未知', description: '患者妊娠状态未知' } ]; /** * 根据值获取妊娠状态描述 * @param status 妊娠状态值 * @returns 妊娠状态描述 */ export const getPregnancyStatusDescription = (status: string): string => { switch (status) { case PregnancyStatus.NOT_PREGNANT: return '未怀孕'; case PregnancyStatus.POSSIBLY_PREGNANT: return '可能怀孕'; case PregnancyStatus.DEFINITELY_PREGNANT: return '确定怀孕'; case PregnancyStatus.UNKNOWN: return '未知'; default: return '未知'; } }; /** * 将旧妊娠状态值映射到新枚举 * @param oldStatus 旧状态值 ('yes', 'no', 'na') * @returns 新的妊娠状态枚举 */ export const mapOldPregnancyStatusToNew = (oldStatus: string): PregnancyStatus => { switch (oldStatus) { case 'yes': return PregnancyStatus.DEFINITELY_PREGNANT; case 'no': return PregnancyStatus.NOT_PREGNANT; case 'na': default: return PregnancyStatus.UNKNOWN; } };