1use crate::jsonb::allergy::Allergy;
2use crate::jsonb::doctor_info::DoctorInfo;
3use crate::jsonb::medical_condition::MedicalCondition;
4use chrono::NaiveDateTime;
5use common::utils::serialize_option_naive_date;
6use postgres_types::{FromSql, ToSql};
7use serde::{Deserialize, Serialize};
8
9#[derive(Serialize, Deserialize, Debug, Clone, FromSql, ToSql)]
10#[serde(rename_all = "camelCase")]
11pub struct ExtraForm {
12 pub medicare_number: Option<i32>,
13 pub reference_medicare_number: Option<i32>,
14 #[serde(default)]
15 #[serde(with = "serialize_option_naive_date")]
16 pub date_medicare_card: Option<NaiveDateTime>,
17 pub doctor_name: Option<String>,
18 pub doctor_address: Option<String>,
19 pub doctor_phone: Option<String>,
20 pub current_treatment: Option<Vec<DoctorInfo>>,
21 pub documented_plan_path: Option<String>,
22 pub allergy: Option<Vec<Allergy>>,
23 pub other_medical_conditions: Option<Vec<MedicalCondition>>,
24}