userlib/jsonb/
extra.rs

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}