package com.lantone.structure.model.keys;

import com.google.common.collect.Lists;

import java.util.List;

/**
 * @Description: 各个模块标准key，各地公用
 * @author: rengb
 * @time: 2020/3/5 14:50
 */
public class TextTypeStandardKeys {

    //各大模块的标准title
    private static final List<String> model_titles = Lists.newArrayList(
            "会诊",
            "手术",
            "转科记录",
            "入院记录",
            "输血/血制品病程记录",
            "危急值记录",
            "病危通知书",
            "死亡病例讨论记录",
            "死亡记录",
            "疑难病例讨论记录",
            "医嘱信息",
            "值班交接制度",
            "首次病程录",
            "病案首页",
            "出院小结",
            "分级护理制度",
            "抢救记录",
            "病重通知书",
            "阶段小结",
            "查房记录"
    );


    //会诊-会诊记录的标准key
    public static final List<String> consultationRecord = Lists.newArrayList(
            "会诊情况",
            "记录时间",
            "记录医师"
    );
    //会诊-会诊申请单的标准key
    public static final List<String> consultationApplication = Lists.newArrayList(
            "姓名",
            "性别",
            "病区",
            "床号",
            "病案号",
            "简要病情及诊疗",
            "申请理由目的",
            "受邀科室",
            "会诊分类",
            "会诊时间",
            "会诊地点",
            "签名"
    );
    //会诊-会诊结果单的标准key
    public static final List<String> consultationResults = Lists.newArrayList();


    //手术-术后首次病程及谈话记录的标准key
    public static final List<String> operationDiscussion = Lists.newArrayList(
            "记录时间",
            "手术时间",
            "麻醉方式",
            "手术方式",
            "术中诊断",
            "手术简要经过",
            "患者术后情况",
            "术后处理措施",
            "术后可能出现的并发症及预防措施",
            "术后注意事项",
            "谈话医师签字",
            "患者签名",
            "患者签名时间",
            "被授权人/代理人签名",
            "代理人签名时间"
    );
    //手术-手术记录的标准key
    public static final List<String> operationRecord = Lists.newArrayList(
            "手术名称",
            "麻醉方式",
            "术前诊断",
            "术后诊断",
            "手术经过"
    );
    //手术-术前讨论、术前小结的标准key
    public static final List<String> preoperativeDiscussion = Lists.newArrayList(
            "讨论时间",
            "讨论方式",
            "参加人员",
            "简要病情",
            "讨论结论",
            "经治医师签名",
            "经治医师签字时间",
            "主刀医师签名",
            "主刀医师签字时间",
            "手术指征",
            "麻醉方式",
            "术前准备内容",
            "术前术后注意事项",
            "可能意外和防范措施",
            "拟行术式"
    );
    //手术-手术知情同意书的标准key
    public static final List<String> operationInformedConsent = Lists.newArrayList(
            "姓名",
            "性别",
            "病区",
            "床号",
            "病案号",
            "手术医生",
            "目前诊断",
            "手术名称",
            "手术指征",
            "风险及并发症",
            "保守治疗",
            "其他手术",
            "签名",
            "签名时间"
    );
    //手术-手术安全核查表的标准key
    public static final List<String> operationSafetyChecklist = Lists.newArrayList(
            "姓名",
            "性别",
            "病区",
            "床号",
            "病案号",
            "签名"
    );


    //转科记录-转入的标准key
    public static final List<String> transferInto = Lists.newArrayList();
    //转科记录-转出的标准key
    public static final List<String> transferOut = Lists.newArrayList();


    //入院记录的标准key
    public static final List<String> beHospitalized = Lists.newArrayList(
            "姓名",
            "性别",
            "年龄",
            "民族",
            "职业",
            "出生地",
            "婚姻",
            "联系地址",
            "病史陈述者",
            "出生日期",
            "户口地址",
            "电话",
            "入院日期",
            "记录日期",
            "主诉",
            "现病史",
            "既往史",
            "个人史",
            "婚育史",
            "月经史",
            "家族史",
            "体格检查",
            "专科体格检查",
            "辅助检查",
            "初步诊断",
            "修正诊断",
            "医师签名",
            "补充诊断"
    );

    //输血/血制品病程记录的标准key
    public static final List<String> clinicalBlood = Lists.newArrayList(
            "输注原因",
            "输注时间",
            "输注开始",
            "输注结束",
            "输注种类、血型、数量",
            "输注过程",
            "输注后效果评价",
            "记录医师",
            "记录时间"
    );

    //危急值记录的标准key
    public static final List<String> crisisValueReport = Lists.newArrayList(
            "记录时间",
            "记录医师",
            "患者临床诊断",
            "危急值记录内容",
            "报告部门",
            "报告人姓名",
            "报告时间",
            "接收人姓名",
            "接收时间",
            "病情分析及处理",
            "医生签名",
            "医生签名时间"
    );

    //病危通知书的标准key
    public static final List<String> criticallyIllNotice = Lists.newArrayList(
            "记录时间",
            "记录医师",
            "姓名",
            "性别",
            "病区",
            "床号",
            "病案号",
            "目前诊断",
            "签名",
            "签名时间"
    );

    //死亡病例讨论记录的标准key
    public static final List<String> deathCaseDiscuss = Lists.newArrayList(
            "记录时间",
            "记录医师",
            "入院时间",
            "死亡时间",
            "出院时间",
            "入院诊断",
            "死亡诊断",
            "讨论时间",
            "讨论地点",
            "参加讨论人员",
            "讨论主持人",
            "讨论内容",
            "死亡原因",
            "结论"
    );

    //死亡记录的标准key
    public static final List<String> deathRecord = Lists.newArrayList(
            "姓名",
            "性别",
            "科别",
            "床号",
            "病案号",
            "年龄",
            "入院时间",
            "死亡时间",
            "入院情况",
            "发病经过",
            "入院诊断",
            "诊疗经过",
            "死亡原因",
            "死亡诊断",
            "记录医师",
            "记录时间"
    );

    //疑难病例讨论记录的标准key
    public static final List<String> difficultCaseDiscuss = Lists.newArrayList(
            "记录时间",
            "记录医师",
            "入院时间",
            "入院诊断",
            "讨论时间",
            "讨论地点",
            "讨论目的",
            "主持人",
            "参加讨论者",
            "讨论内容",
            "结论"
    );

    //医嘱信息的标准key
    public static final List<String> doctorAdvice = Lists.newArrayList();

    //值班交接制度的标准key
    public static final List<String> dutyShiftSystem = Lists.newArrayList(
            "记录时间",
            "记录医师"
    );

    //首次病程录的标准key
    public static final List<String> firstCourseRecord = Lists.newArrayList(
            "病例特点",
            "初步诊断",
            "诊断依据",
            "鉴别诊断",
            "诊疗计划",
            "记录医师",
            "记录时间"
    );

    //病案首页
    public static final List<String> FirstPageRecord = Lists.newArrayList();

    //出院小结的标准key
    public static final List<String> leaveHospital = Lists.newArrayList(
            "姓名",
            "性别",
            "年龄",
            "床号",
            "入院时间",
            "出院时间",
            "入院诊断",
            "出院诊断",
            "住院天数",
            "入院情况",
            "诊治经过",
            "出院情况",
            "出院医嘱",
            "健康教育",
            "随访计划",
            "注意事项",
            "温馨提示",
            "医师签名",
            "签名时间"
    );

    //分级护理制度的标准key
    public static final List<String> nursingSystem = Lists.newArrayList();

    //抢救记录的标准key
    public static final List<String> rescue = Lists.newArrayList(
            "抢救时间",
            "记录时间",
            "记录医师",
            "抢救过程",
            "参与人员"
    );

    //病重通知书的标准key
    public static final List<String> seriouslyIllNotice = Lists.newArrayList();

    //阶段小结的标准key
    public static final List<String> stagesSummary = Lists.newArrayList(
            "记录日期",
            "患者姓名（住院）",
            "性别",
            "年龄",
            "原因",
            "入院日期",
            "入院情况",
            "入院诊断",
            "治疗经过",
            "目前情况",
            "目前诊断",
            "诊疗计划",
            "签名",
            "签名时间"
    );

    //查房记录的标准key
    public static final List<String> threeLevelWard = Lists.newArrayList(
            "查房标题",
            "病情记录",
            "查房日期",
            "记录时间",
            "记录医师"
    );

}