package com.xinelu.familydoctor.applet.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.familydoctor.applet.pojo.dto.MedicalHistory;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @Author mengkuiliang
 * @Description 居民公卫档案展示类
 * @Date 2023-09-26 026 14:32
 * @Param
 * @return
 **/
@Data
public class ArchiveReviewVo {
    /**
     * 档案编号
     */
    @ApiModelProperty(value = "糖尿病公卫随访业务主键")
    private String archiveCode;

    /**
     * 档案ID
     */
    @ApiModelProperty(value = "档案ID")
    private String archiveId;

    /**
     * 当前所属机构
     */
    @ApiModelProperty(value = "当前所属机构")
    private String belongOrg;

    /**
     * 缺项值
     */
    @ApiModelProperty(value = "缺项值")
    private String missingValue;

    /**
     * 居民类型：1:城镇 2：农村
     */
    @ApiModelProperty(value = "居民类型 1:城镇 2：农村")
    private Integer peopleType;

    /**
     * 档案状态 1.活动;2.非活动;（一般都是1）
     */
    @ApiModelProperty(value = "档案状态 1.活动;2.非活动;（一般都是1）")
    private Integer archiveStatus;

    /**
     * 档案非活动状态原因 1.死亡 2.失踪 3.迁出 4.其他 5.长期外出
     */
    @ApiModelProperty(value = "档案非活动状态原因 1.死亡 2.失踪 3.迁出 4.其他 5.长期外出")
    private Integer archiveInactive;

    /**
     * 居民姓名
     */
    @ApiModelProperty(value = "居民姓名")
    private String sickName;

    /**
     * 拼音简码
     */
    @ApiModelProperty(value = "拼音简码")
    private String sickNamePinyin;

    /**
     * 居民性别
     */
    @ApiModelProperty(value = "居民性别")
    private Integer sickSex;
    /**
     * 居民出生日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "居民出生日期")
    private Date birthday;
    /**
     * 证件类型
     */
    @ApiModelProperty(value = "证件类型")
    private String documentType;

    /**
     * 居民身份证号
     */
    @ApiModelProperty(value = "居民身份证号")
    private String identityCardNo;

    /**
     * 其他证件号
     */
    @ApiModelProperty(value = "其他证件号")
    private String documentOther;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    private String email;

    /**
     * 省
     */
    @ApiModelProperty(value = "省")
    private String province;

    /**
     * 市
     */
    @ApiModelProperty(value = "市")
    private String city;

    /**
     * 区/县
     */
    @ApiModelProperty(value = "区/县")
    private String county;

    /**
     * 街道/乡
     */
    @ApiModelProperty(value = "街道/乡")
    private String street;

    /**
     * 居委会
     */
    @ApiModelProperty(value = "居委会")
    private String committee;

    /**
     * 详细地址
     */
    @ApiModelProperty(value = "详细地址")
    private String sickAddress;

    /**
     * 所属片区
     */
    @ApiModelProperty(value = "所属片区")
    private String area;

    /**
     * 工作单位
     */
    @ApiModelProperty(value = "工作单位")
    private String workUnit;
    /**
     * 居民联系电话
     */
    @ApiModelProperty(value = "居民联系电话")
    private String sickPhone;
    /**
     * 联系人姓名
     */
    @ApiModelProperty(value = "联系人姓名")
    private String linkmanName;
    /**
     * 联系人电话
     */
    @ApiModelProperty(value = "联系人电话")
    private String linkmanPhone;

    /**
     * 常住类型
     */
    @ApiModelProperty(value = "常住类型")
    private Integer residenceType;

    /**
     * 民族
     */
    @ApiModelProperty(value = "民族")
    private Integer nation;

    /**
     * 少数民族名字
     */
    @ApiModelProperty(value = "少数民族名字")
    private String minority;

    /**
     * 血型
     */
    @ApiModelProperty(value = "血型")
    private Integer bloodType;
    /**
     * rh型 1.阴性  2.阳性  3.不详
     */
    @ApiModelProperty(value = "rh型 1.阴性  2.阳性  3.不详")
    private Integer bloodRh;
    /**
     * 文化程度
     */
    @ApiModelProperty(value = "文化程度")
    private Integer education;
    /**
     * 职业
     */
    @ApiModelProperty(value = "职业")
    private Integer occupation;
    /**
     * 婚姻状态
     */
    @ApiModelProperty(value = "婚姻状态")
    private Integer marriageStatus;
    /**
     * 医疗费用支付方式
     */
    @ApiModelProperty(value = "医疗费用支付方式")
    private String payment;
    /**
     * 医保卡号
     */
    @ApiModelProperty(value = "医保卡号")
    private String insurCardNo;
    /**
     * 合作医疗卡号
     */
    @ApiModelProperty(value = "合作医疗卡号")
    private String newRuralCoopCardNo;

    /**
     * 医疗费用支付方式其他
     */
    @ApiModelProperty(value = "医疗费用支付方式其他")
    private String paymentOtherContent;

    /**
     * 怀孕情况
     */
    @ApiModelProperty(value = "怀孕情况")
    private String pregnancy;

    /**
     * 孕次1.1 2.2 3.3 4.4 5.5 6.6
     */
    @ApiModelProperty(value = "孕次1.1 2.2 3.3 4.4 5.5 6.6")
    private Integer pregnancyTimes;

    /**
     * 孕次生产
     */
    @ApiModelProperty(value = "孕次生产")
    private String gestationalBirth;

    /**
     * 产次 1.1 2.2 3.3 4.4 5.5 6.6
     */
    @ApiModelProperty(value = "产次 1.1 2.2 3.3 4.4 5.5 6.6")
    private Integer timesOfBirth;

    /**
     * 产次生产
     */
    @ApiModelProperty(value = "产次生产")
    private String productionTimes;

    /**
     * 是否有药物过敏史（1：有 2：无）
     */
    @ApiModelProperty(value = "是否有药物过敏史（1：有 2：无）")
    private Integer existAllergyHistory;

    /**
     * 药物过敏史类型
     */
    @ApiModelProperty(value = "药物过敏史类型")
    private String allergyHistory;

    /**
     * 药物过敏史其他
     */
    @ApiModelProperty(value = "药物过敏史其他")
    private String allergyHistoryOther;

    /**
     * 是否有暴露史（1：有 2：无）
     */
    @ApiModelProperty(value = "是否有暴露史（1：有 2：无）")
    private Integer existExposureHistory;

    /**
     * 暴露史 1：无 2：化学品 3：毒物 4：射线
     */
    @ApiModelProperty(value = "暴露史 1：无 2：化学品 3：毒物 4：射线")
    private String exposureHistory;

    /**
     * 暴露史类型 - 化学
     */
    @ApiModelProperty(value = "暴露史类型 - 化学")
    private String exposureHistoryChemistry;

    /**
     * 暴露史类型 - 毒物
     */
    @ApiModelProperty(value = "暴露史类型 - 毒物")
    private String exposureHistoryPoison;

    /**
     * 暴露史类型 - 射线
     */
    @ApiModelProperty(value = "暴露史类型 - 射线")
    private String exposureHistoryRadial;

    /**
     * 是否有遗传病史（1：有 2：无）
     */
    @ApiModelProperty(value = "是否有遗传病史（1：有 2：无）")
    private Integer existGeneticDisease;
    /**
     * 遗传病史--疾病名称
     */
    @ApiModelProperty(value = "遗传病史--疾病名称")
    private String geneticDiseaseName;

    /***
     * 既往疾病史
     * */
    @ApiModelProperty(value = "既往疾病史")
    private String diseaseHistory;
    /**
     * 高血压患病日期：2
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "高血压患病日期")
    private Date hypertensionDate;
    /**
     * 糖尿病患病日期：3
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "糖尿病患病日期")
    private Date diabetesDate;
    /**
     * 冠心病患病日期：4
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "冠心病患病日期")
    private Date coronaryDate;
    /**
     * 慢性阻塞性肺疾病日期：5
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "慢性阻塞性肺疾病日期")
    private Date copdDate;

    /**
     * 恶性肿瘤名称 6
     */
    @ApiModelProperty(value = "恶性肿瘤名称")
    private String malignancyContent;

    /**
     * 恶性肿瘤患病日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "恶性肿瘤患病日期")
    private Date malignantDate;
    /**
     * 脑卒中患病日期：7
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "脑卒中患病日期")
    private Date apoplexyDate;
    /**
     * 严重精神障碍患病日期：8
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "严重精神障碍患病日期")
    private Date schizophreniaDate;
    /**
     * 结核病患病日期：9
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "结核病患病日期")
    private Date tbDate;
    /**
     * 肝炎患病日期：10
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "肝炎患病日期")
    private Date hepatitisDate;

    /**
     * 其他法定传染病内容：11
     */
    @ApiModelProperty(value = "其他法定传染病内容")
    private String oficialaContent;
    /**
     * 其他法定传染病患病日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "其他法定传染病患病日期")
    private Date oficialaDate;

    /**
     * 职业病
     */
    @ApiModelProperty(value = "职业病")
    private String occDiseaseContent;
    /**
     * 职业病患病日期：12
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "职业病患病日期")
    private Date occDiseaseDate;
    /**
     * 其他既往史疾病内容：13
     */
    @ApiModelProperty(value = "其他既往史疾病内容")
    private String otherDiseaseContent;
    /**
     * 其他既往史疾病患病时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "其他既往史疾病患病时间")
    private Date otherDiseaseDate;

    /**
     * 手术有无
     */
    @ApiModelProperty(value = "手术有无")
    private Integer existSurgeryHistory;

    /**
     * 手术集合
     */
    @ApiModelProperty(value = "手术集合")
    private List<MedicalHistory> surgeryHistory;

    /**
     * 外伤有无
     */
    @ApiModelProperty(value = "外伤有无")
    private Integer existTraumaHistory;

    /**
     * 外伤集合
     */
    @ApiModelProperty(value = "外伤集合")
    private List<MedicalHistory> traumaHistory;

    /**
     * 输血有无
     */
    @ApiModelProperty(value = "输血有无")
    private Integer existTransfusionHistory;

    /**
     * 输血集合
     */
    @ApiModelProperty(value = "输血集合")
    private List<MedicalHistory> transfusionHistory;

    /**
     * 家族史--父亲
     */
    @ApiModelProperty(value = "家族史--父亲")
    private String familyHistoryFather;
    /**
     * 家族史--父亲：其他
     */
    @ApiModelProperty(value = "家族史--父亲：其他")
    private String fatherOtherContent;
    /**
     * 家族史--母亲：
     */
    @ApiModelProperty(value = "家族史--母亲")
    private String familyHistoryMother;
    /**
     * 家族史--母亲：其他
     */
    @ApiModelProperty(value = "家族史--母亲：其他")
    private String motherOtherContent;
    /**
     * 家族史--兄弟姐妹
     */
    @ApiModelProperty(value = "家族史--兄弟姐妹")
    private String familyHistoryBrothers;
    /**
     * 家族史--兄弟姐妹：其他
     */
    @ApiModelProperty(value = "家族史--兄弟姐妹：其他")
    private String brothersOtherContent;
    /**
     * 家族史--子女
     */
    @ApiModelProperty(value = "家族史--子女")
    private String familyHistoryChildren;
    /**
     * 家族史--子女：其他
     */
    @ApiModelProperty(value = "家族史--子女：其他")
    private String childrenOtherContent;

    /**
     * 有无残疾（1：是 2：否）
     */

    @ApiModelProperty(value = "有无残疾（1：是 2：否）")
    private Integer existDisability;

    /**
     * 残疾
     */
    @ApiModelProperty(value = "残疾")
    private String disability;

    /**
     * 残疾情况--其他
     */
    @ApiModelProperty(value = "残疾情况--其他")
    private String disabilityOtherContent;

    /**
     * 生活环境--厨房排风设施
     */
    @ApiModelProperty(value = "生活环境--厨房排风设施")
    private String liveExhaust;
    /**
     * 生活环境--燃料类型
     */
    @ApiModelProperty(value = "生活环境--燃料类型")
    private String liveFuelType;
    /**
     * 生活环境--饮水
     */
    @ApiModelProperty(value = "生活环境--饮水")
    private String liveDrinkingWater;
    /**
     * 生活环境--厕所
     */
    @ApiModelProperty(value = "生活环境--厕所")
    private String liveToilet;
    /**
     * 生活环境--禽畜栏
     */
    @ApiModelProperty(value = "生活环境--禽畜栏")
    private String liveLivestock;

    /**
     * 复核人
     */
    @ApiModelProperty(value = "复核人")
    private String checkOperator;

    /**
     * 复核方式 1.门诊 2.家庭 3.电话
     */
    @ApiModelProperty(value = "复核方式 1.门诊 2.家庭 3.电话")
    private String checkWay;

    /**
     * 复核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "复核时间")
    private Date checkDate;

    /**
     * 复核（更新）内容
     */
    @ApiModelProperty(value = "复核（更新）内容")
    private String checkContent;

    /**
     * 居民（家属）签字
     */
    @ApiModelProperty(value = "居民（家属）签字")
    private String sickSign;

    /**
     * 调查时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "调查时间")
    private Date investigationTime;

    /**
     * 录入时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "录入时间")
    private Date createTime;

    /**
     * 最近更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "最近更新时间")
    private Date updateTime;

    /**
     * 录入人
     */
    @ApiModelProperty(value = "录入人")
    private String createUser;

    /**
     * 最近修改人
     */
    @ApiModelProperty(value = "最近修改人")
    private String updateUser;

    /**
     *
     */
    @ApiModelProperty(value = "")
    private String xzt;

    /**
     * 与户主关系
     */
    @ApiModelProperty(value = "与户主关系")
    private String householderRelationship;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 户主姓名
     */
    @ApiModelProperty(value = "户主姓名")
    private String householderName;

    /**
     * 户主身份证
     */
    @ApiModelProperty(value = "户主身份证")
    private String houeseholderIdentity;
    /**
     * 家庭人口数
     */
    @ApiModelProperty(value = "家庭人口数")
    private Integer familyMemberNo;
    /**
     * 家庭结构
     */
    @ApiModelProperty(value = "家庭结构")
    private String familyStructure;
    /**
     * 居住情况
     */
    @ApiModelProperty(value = "居住情况")
    private Integer liveSituation;

}
