use sea_orm::entity::prelude::*; use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, DeriveEntityModel, Serialize, Deserialize)] #[sea_orm(table_name = "patient")] pub struct Model { #[sea_orm(primary_key, auto_increment = false)] pub id: Uuid, pub tenant_id: Uuid, #[sea_orm(skip_serializing_if = "Option::is_none")] pub user_id: Option, pub name: String, #[sea_orm(skip_serializing_if = "Option::is_none")] pub gender: Option, #[sea_orm(skip_serializing_if = "Option::is_none")] pub birth_date: Option, #[sea_orm(skip_serializing_if = "Option::is_none")] pub blood_type: Option, #[sea_orm(skip_serializing_if = "Option::is_none")] pub id_number: Option, #[sea_orm(skip_serializing_if = "Option::is_none")] pub id_number_hash: Option, #[sea_orm(skip_serializing_if = "Option::is_none")] pub allergy_history: Option, #[sea_orm(skip_serializing_if = "Option::is_none")] pub medical_history_summary: Option, #[sea_orm(skip_serializing_if = "Option::is_none")] pub emergency_contact_name: Option, #[sea_orm(skip_serializing_if = "Option::is_none")] pub emergency_contact_phone: Option, #[sea_orm(skip_serializing_if = "Option::is_none")] pub emergency_contact_phone_hash: Option, #[sea_orm(skip_serializing_if = "Option::is_none")] pub key_version: Option, pub status: String, pub verification_status: String, #[sea_orm(skip_serializing_if = "Option::is_none")] pub source: Option, #[sea_orm(skip_serializing_if = "Option::is_none")] pub notes: Option, pub created_at: DateTimeUtc, pub updated_at: DateTimeUtc, #[sea_orm(skip_serializing_if = "Option::is_none")] pub created_by: Option, #[sea_orm(skip_serializing_if = "Option::is_none")] pub updated_by: Option, #[sea_orm(skip_serializing_if = "Option::is_none")] pub deleted_at: Option, pub version: i32, } #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] pub enum Relation { #[sea_orm(has_many = "super::patient_family_member::Entity")] FamilyMember, #[sea_orm(has_many = "super::patient_tag_relation::Entity")] TagRelation, #[sea_orm(has_many = "super::patient_doctor_relation::Entity")] DoctorRelation, #[sea_orm(has_many = "super::health_record::Entity")] HealthRecord, #[sea_orm(has_many = "super::vital_signs::Entity")] VitalSigns, #[sea_orm(has_many = "super::lab_report::Entity")] LabReport, #[sea_orm(has_many = "super::appointment::Entity")] Appointment, #[sea_orm(has_many = "super::follow_up_task::Entity")] FollowUpTask, #[sea_orm(has_many = "super::consultation_session::Entity")] ConsultationSession, } impl Related for Entity { fn to() -> RelationDef { Relation::FamilyMember.def() } } impl ActiveModelBehavior for ActiveModel {}