package thyyxxk.webserver.entity.api.forpowersi.drgdip;

import thyyxxk.webserver.utils.StringUtil;

public enum DrgDipRequestType {

    /**
     * 无效指标命名集
     * */
    INVALID_REQUEST_TYPE(""),

    /**
     * 2.7 HIS基础数据
     * --------------
     * 2.7.1 科室信息
     * */
    HIS_BASE_DEPT_INFO("his_base_dept_info"),

    /**
     * 2.7.2 员工信息
     * */
    HIS_BASE_EMP_INFO("his_base_emp_info"),

    /**
     * 2.7.3 医保药品和医院药品匹配关系
     * */
    MI_INSUR_HOSP_DRUGS_REL("mi_insur_hosp_drugs_rel"),

    /**
     * 2.7.4 医保项目和医院项目匹配关系
     */
    MI_INSUR_HOSP_ITEMS_REL("mi_insur_hosp_items_rel"),

    /**
     * 2.7.5 医嘱内涵项目
     */
    HIS_BASE_MDCL_ITEMS_REL("his_base_mdcl_items_rel"),

    /**
     * 2.8 HIS业务数据
     * ----------------
     * 2.8.1 门诊结算数据
     */
    HIS_OUTP_SETTL_DATA("his_outp_settl_data"),

    /**
     * 2.8.2 门诊处方数据
     * */
    HIS_OUTP_ADVICE("his_outp_advice"),

    /**
     * 2.8.3 门诊处方明细
     */
    HIS_OUTP_ADVICE_DETAIL("his_outp_advice_detail"),

    /**
     * 2.8.4 门诊费用
     */
    HIS_OUTP_CHARGE("his_outp_charge"),

    /**
     * 2.8.5 住院病人记录
     */
    HIS_HSPTZD_PATIENT_BASE("his_hsptzd_patient_base"),

    HIS_HSPTZD_PATIENT_BASE_CY("his_hsptzd_patient_base_cy"),

    /**
     * 2.8.6 住院婴儿
     * */
    HIS_BABY_INFO("his_baby_info"),

    /**
     * 2.8.7 住院费用明细
     */
    HIS_HSPTZD_CHARGE("his_hsptzd_charge"),

    /**
     * 2.8.8 住院医嘱
     */
    HIS_HSPTZD_MDCL_ADVICE("his_hsptzd_mdcl_advice"),

    /**
     * 2.8.9 医保结算
     * ---------------
     * 2.8.9.1 结算信息
     */
    YIBAO_SETLINFO_2304("yibao_setlinfo_2304"),

    /**
     * 2.8.9.2 结算基金分项信息
     */
    YIBAO_SETLDETAIL_2304("yibao_setldetail_2304"),

    /**
     * 2.8.10 计费类别信息
     */
    YIBAO_5204("yibao_5204"),

    /**
     * 2.8.11 病人诊断信息
     */
    HIS_PATIENT_DAGNS("his_patient_dagns"),

    /**
     * 2.8.12 病人手术信息
     */
    HIS_PATIENT_OPRT_INFO("his_patient_oprt_info"),

    /**
     * 2.9 HIS病案首页数据(卫健N041)
     * ---------------------------
     * 2.9.1 病案首页信息
     */
    YIBAO_N041("yibao_n041"),

    /**
     * 2.10 医保结算清单数据
     * -------------------
     * 2.10.1 基本信息
     */
    YIBAO_SETLINFO_4101A("yibao_setlinfo_4101a"),

    /**
     * 2.10.2 门诊慢特病诊断信息
     */
    YIBAO_OPSPDISEINFO_4101A("yibao_opspdiseinfo_4101a"),

    /**
     * 2.10.3 住院诊断信息
     */
    YIBAO_DISEINFO_4101A("yibao_diseinfo_4101a"),

    /**
     * 2.10.4 手术操作信息
     */
    YIBAO_OPRNINFO_4101A("yibao_oprninfo_4101a"),

    /**
     * 2.10.5 重症监护信息
     */
    YIBAO_ICUINFO_4101A("yibao_icuinfo_4101a"),

    /**
     * 2.10.6 输血信息
     */
    YIBAO_BLDINFO_4101A("yibao_bldinfo_4101a");

    final String type;

    public String getType() {
        return this.type;
    }

    DrgDipRequestType(String type) {
        this.type = type;
    }

    public static DrgDipRequestType get(String type) {
        if (StringUtil.isBlank(type)) {
            return null;
        }
        for (DrgDipRequestType requestType : DrgDipRequestType.values()) {
            if (requestType.getType().equals(type)) {
                return requestType;
            }
        }
        return INVALID_REQUEST_TYPE;
    }
}
