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=1740581043253#/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_statement&method=post
 *
 * 医疗费用结算单识别
 */
@NoArgsConstructor
@Data
public class BMedicalStatementResp  extends BBaseResp {


    @JsonProperty("log_id")
    private Long logId;
    @JsonProperty("words_result_num")
    private Integer wordsResultNum;
    @JsonProperty("InvoiceType")
    private String invoiceType;
    @JsonProperty("word_result")
    private WordResultDTO wordResult;

    @NoArgsConstructor
    @Data
    public static class WordResultDTO {
        @JsonProperty("AmountInFiguers")
        private AmountInFiguersDTO amountInFiguers;
        @JsonProperty("MedicalInsuranceAmount")
        private MedicalInsuranceAmountDTO medicalInsuranceAmount;
        @JsonProperty("SelfPaymentAmount")
        private SelfPaymentAmountDTO selfPaymentAmount;
        @JsonProperty("AdmissionDate")
        private AdmissionDateDTO admissionDate;
        @JsonProperty("DischargeDate")
        private DischargeDateDTO dischargeDate;
        @JsonProperty("Name")
        private NameDTO name;

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

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

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

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

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

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