package com.heyu.api.baidu.response.medical;


import com.fasterxml.jackson.annotation.JsonProperty;
import com.heyu.api.baidu.response.BBaseResp;
import lombok.Data;
import lombok.NoArgsConstructor;

/***
 * https://console.bce.baidu.com/support/?_=1740575657628&timestamp=1740581564188#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E5%8C%BB%E7%96%97%E7%A5%A8%E6%8D%AEOCR&api=rest%2F2.0%2Focr%2Fv1%2Fmedical_record&method=post
 *
 * 病案首页识别
 */
@NoArgsConstructor
@Data
public class BMedicalRecordResp extends BBaseResp {


    @JsonProperty("log_id")
    private Long logId;
    @JsonProperty("words_result_num")
    private Integer wordsResultNum;
    @JsonProperty("InvoiceType")
    private String invoiceType;
    @JsonProperty("words_result")
    private WordsResultDTO wordsResult;

    @NoArgsConstructor
    @Data
    public static class WordsResultDTO {
        @JsonProperty("Nation")
        private NationDTO nation;
        @JsonProperty("Allergy")
        private AllergyDTO allergy;
        @JsonProperty("Sex")
        private SexDTO sex;
        @JsonProperty("Birthday")
        private BirthdayDTO birthday;
        @JsonProperty("Nationality")
        private NationalityDTO nationality;
        @JsonProperty("Name")
        private NameDTO name;
        @JsonProperty("MaritalStatus")
        private MaritalStatusDTO maritalStatus;
        @JsonProperty("HospitalDay")
        private HospitalDayDTO hospitalDay;
        @JsonProperty("AdmissionDepartment")
        private AdmissionDepartmentDTO admissionDepartment;
        @JsonProperty("ID")
        private IDDTO id;
        @JsonProperty("DischargeDepartment")
        private DischargeDepartmentDTO dischargeDepartment;
        @JsonProperty("Career")
        private CareerDTO career;
        @JsonProperty("Age")
        private AgeDTO age;
        @JsonProperty("BloodType")
        private BloodTypeDTO bloodType;
        @JsonProperty("RecordNum")
        private RecordNumDTO recordNum;

        @NoArgsConstructor
        @Data
        public static class NationDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class AllergyDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class SexDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class BirthdayDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class NationalityDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class NameDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class MaritalStatusDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class HospitalDayDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class AdmissionDepartmentDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class IDDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class DischargeDepartmentDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class CareerDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class AgeDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class BloodTypeDTO {
            @JsonProperty("word")
            private String word;
        }

        @NoArgsConstructor
        @Data
        public static class RecordNumDTO {
            @JsonProperty("word")
            private String word;
        }
    }
}
