This repository has been archived on 2024-10-18. You can view files and clone it, but cannot push or open issues or pull requests.
ftc_patient_app/lib/models/clients/service_users_model.dart

351 lines
12 KiB
Dart

class ServiceUserModel {
AboutPatient aboutPatient = AboutPatient.empty();
String id = "";
String suLastName = "";
String suFirstMiddleName = "";
String suPreferredName = "";
String name = "";
String suSsn = "";
String providerName = "";
String suSex = "";
String suTitle = "";
DateTime suDob = DateTime.now();
String suAge = "";
String suReferredBy = "";
String suFamilyHead = "";
String suAddress1 = "";
String suAddress2 = "";
String suCity = "";
String suState = "";
String suZip = "";
DateTime suFirstVisitDate = DateTime.now();
DateTime suLastVisitDate = DateTime.now();
List<dynamic> suProvider = [];
bool currSu = false;
String suHomePhone = "";
String suWorkPhone = "";
String suMobileHomeNo = "";
String suMobileWorkNo = "";
String suEmailHome = "";
String suEmailWork = "";
String suPrefHomeNo = "";
String suPrefWorkNo = "";
String suEmergencyContact = "";
String seMedicalAlert = "";
String suNote = "";
List<Diagnosise> diagnosises = [];
String user = "";
List<dynamic> shifts = [];
List<dynamic> serviceUserMedications = [];
List<dynamic> homeVisitSignOut = [];
List<dynamic> srUsShiftsRequired = [];
List<dynamic> suEnquiries = [];
bool active = false;
DateTime createdAt = DateTime.now();
DateTime updatedAt = DateTime.now();
int v = 0;
ServiceUserModel({
required this.aboutPatient,
required this.id,
required this.suLastName,
required this.suFirstMiddleName,
required this.suPreferredName,
required this.name,
required this.suSsn,
required this.providerName,
required this.suSex,
required this.suTitle,
required this.suDob,
required this.suAge,
required this.suReferredBy,
required this.suFamilyHead,
required this.suAddress1,
required this.suAddress2,
required this.suCity,
required this.suState,
required this.suZip,
required this.suFirstVisitDate,
required this.suLastVisitDate,
required this.suProvider,
required this.currSu,
required this.suHomePhone,
required this.suWorkPhone,
required this.suMobileHomeNo,
required this.suMobileWorkNo,
required this.suEmailHome,
required this.suEmailWork,
required this.suPrefHomeNo,
required this.suPrefWorkNo,
required this.suEmergencyContact,
required this.seMedicalAlert,
required this.suNote,
required this.diagnosises,
required this.user,
required this.shifts,
required this.serviceUserMedications,
required this.homeVisitSignOut,
required this.srUsShiftsRequired,
required this.suEnquiries,
required this.active,
required this.createdAt,
required this.updatedAt,
required this.v,
});
String get phoneNo {
if (suMobileWorkNo.isNotEmpty) {
return suMobileWorkNo;
} else if (suMobileHomeNo.isNotEmpty) {
return suMobileHomeNo;
} else if (suEmergencyContact.isNotEmpty) {
return suEmergencyContact;
} else if (suPrefHomeNo.isNotEmpty) {
return suPrefHomeNo;
} else if (suPrefWorkNo.isNotEmpty) {
return suPrefWorkNo;
} else if (suWorkPhone.isNotEmpty) {
return suWorkPhone;
} else if (suHomePhone.isNotEmpty) {
return suHomePhone;
}
return "000000000000";
}
String get nameOfUser {
if (suFirstMiddleName.isNotEmpty) {
return suFirstMiddleName;
} else if (suLastName.isNotEmpty) {
return suLastName;
} else if (suPreferredName.isNotEmpty) {
return suPreferredName;
} else if (name.isNotEmpty) {
return name;
}
return "Name";
}
String get homeAddress {
if (suAddress1.isNotEmpty) {
return suAddress1;
} else if (suAddress2.isNotEmpty) {
return suAddress2;
}
return "Address";
}
ServiceUserModel.empty();
ServiceUserModel.fromJson(Map<String, dynamic> json) {
aboutPatient = json['aboutPatient'] != null
? AboutPatient.fromJson(json['aboutPatient'])
: AboutPatient.empty();
id = json['_id'] ?? "";
suLastName = json['suLastName'] ?? "";
suFirstMiddleName = json['suFirstMiddleName'] ?? "";
suPreferredName = json['suPreferredName'] ?? "";
name = json['name'] ?? "";
suSsn = json['suSsn'] ?? "";
providerName = json['providerName'] ?? "";
suSex = json['suSex'] ?? "";
suTitle = json['suTitle'] ?? "";
suDob = json['suDOB'] != null
? DateTime.parse(json['suDOB']).toLocal()
: DateTime.now();
suAge = json['suAge'] ?? '';
suReferredBy = json['suReferredBY'] ?? "";
suFamilyHead = json['suFamilyHead'] ?? "";
suAddress1 = json['suAddress1'] ?? "";
suAddress2 = json['suAddress2'] ?? "";
suCity = json['suCity'] ?? "";
suState = json['suState'] ?? "";
suZip = json['suZip'] ?? "";
suFirstVisitDate = json['suFirstVisitDate'] != null
? DateTime.parse(json['suFirstVisitDate']).toLocal()
: DateTime.now();
suLastVisitDate = json['suLastVisitDate'] != null
? DateTime.parse(json['suLastVisitDate']).toLocal()
: DateTime.now();
if (json['suProvider'] != null) {
suProvider = [];
json['suProvider'].forEach((v) {
suProvider.add(v);
});
}
currSu = json['currSU'] ?? false;
suHomePhone = json['suHomePhone'] ?? '';
suWorkPhone = json['suWorkPhone'] ?? '';
suMobileHomeNo = json['suMobileHomeNo'] ?? '';
suMobileWorkNo = json['suMobileWorkNo'] ?? '';
suEmailHome = json['suEmailHome'] ?? '';
suEmailWork = json['suEmailWork'] ?? '';
suPrefHomeNo = json['suPrefHomeNo'] ?? '';
suPrefWorkNo = json['suPrefWorkNo'] ?? '';
suEmergencyContact = json['suEmergencyContact'] ?? '';
seMedicalAlert = json['seMedicalAlert'] ?? '';
suNote = json['suNote'] ?? '';
if (json['diagnosises'] != null) {
diagnosises = [];
json['diagnosises'].forEach((v) {
diagnosises.add(Diagnosise.fromJson(v));
});
}
user = json['user'] ?? "";
if (json['shifts'] != null) {
shifts = [];
json['shifts'].forEach((v) {
shifts.add(v);
});
}
if (json['serviceUserMedications'] != null) {
serviceUserMedications = [];
json['serviceUserMedications'].forEach((v) {
serviceUserMedications.add(v);
});
}
if (json['homeVisitSignOut'] != null) {
homeVisitSignOut = [];
json['homeVisitSignOut'].forEach((v) {
homeVisitSignOut.add(v);
});
}
if (json['srUsShiftsRequired'] != null) {
srUsShiftsRequired = [];
json['srUsShiftsRequired'].forEach((v) {
srUsShiftsRequired.add(v);
});
}
if (json['suEnquiries'] != null) {
suEnquiries = [];
json['suEnquiries'].forEach((v) {
suEnquiries.add(v);
});
}
active = json['active'] ?? false;
createdAt = json['createdAt'] != null
? DateTime.parse(json['createdAt']).toLocal()
: DateTime.now();
updatedAt = json['updatedAt'] != null
? DateTime.parse(json['updatedAt']).toLocal()
: DateTime.now();
v = json['__v'] ?? 0;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
// data['aboutPatient'] = this.aboutPatient.toJson();
data['_id'] = id;
data['suLastName'] = suLastName;
data['suFirstMiddleName'] = suFirstMiddleName;
data['suPreferredName'] = suPreferredName;
data['name'] = name;
data['suSsn'] = suSsn;
data['providerName'] = providerName;
data['suSex'] = suSex;
data['suTitle'] = suTitle;
data['suDOB'] = suDob;
data['suAge'] = suAge;
data['suReferredBY'] = suReferredBy;
data['suFamilyHead'] = suFamilyHead;
data['suAddress1'] = suAddress1;
data['suAddress2'] = suAddress2;
data['suCity'] = suCity;
data['suState'] = suState;
data['suZip'] = suZip;
data['suFirstVisitDate'] = suFirstVisitDate;
data['suLastVisitDate'] = suLastVisitDate;
data['suProvider'] = suProvider.map((v) => v.toJson()).toList();
data['currSU'] = currSu;
data['suHomePhone'] = suHomePhone;
data['suWorkPhone'] = suWorkPhone;
data['suMobileHomeNo'] = suMobileHomeNo;
data['suMobileWorkNo'] = suMobileWorkNo;
data['suEmailHome'] = suEmailHome;
data['suEmailWork'] = suEmailWork;
data['suPrefHomeNo'] = suPrefHomeNo;
data['suPrefWorkNo'] = suPrefWorkNo;
data['suEmergencyContact'] = suEmergencyContact;
data['seMedicalAlert'] = seMedicalAlert;
data['suNote'] = suNote;
// data['diagnosises'] = this.diagnosises.map((v) => v.toJson()).toList();
data['user'] = user;
data['shifts'] = shifts.map((v) => v.toJson()).toList();
data['serviceUserMedications'] =
serviceUserMedications.map((v) => v.toJson()).toList();
data['homeVisitSignOut'] = homeVisitSignOut.map((v) => v.toJson()).toList();
data['srUsShiftsRequired'] =
srUsShiftsRequired.map((v) => v.toJson()).toList();
data['suEnquiries'] = suEnquiries.map((v) => v.toJson()).toList();
data['active'] = active;
data['createdAt'] = createdAt;
data['updatedAt'] = updatedAt;
data['__v'] = v;
return data;
}
@override
String toString() {
return 'ServiceUserModel{aboutPatient: $aboutPatient, id: $id, suLastName: $suLastName, suFirstMiddleName: $suFirstMiddleName, suPreferredName: $suPreferredName, name: $name, suSsn: $suSsn, providerName: $providerName, suSex: $suSex, suTitle: $suTitle, suDob: $suDob, suAge: $suAge, suReferredBy: $suReferredBy, suFamilyHead: $suFamilyHead, suAddress1: $suAddress1, suAddress2: $suAddress2, suCity: $suCity, suState: $suState, suZip: $suZip, suFirstVisitDate: $suFirstVisitDate, suLastVisitDate: $suLastVisitDate, suProvider: $suProvider, currSu: $currSu, suHomePhone: $suHomePhone, suWorkPhone: $suWorkPhone, suMobileHomeNo: $suMobileHomeNo, suMobileWorkNo: $suMobileWorkNo, suEmailHome: $suEmailHome, suEmailWork: $suEmailWork, suPrefHomeNo: $suPrefHomeNo, suPrefWorkNo: $suPrefWorkNo, suEmergencyContact: $suEmergencyContact, seMedicalAlert: $seMedicalAlert, suNote: $suNote, diagnosises: $diagnosises, user: $user, shifts: $shifts, serviceUserMedications: $serviceUserMedications, homeVisitSignOut: $homeVisitSignOut, srUsShiftsRequired: $srUsShiftsRequired, suEnquiries: $suEnquiries, active: $active, createdAt: $createdAt, updatedAt: $updatedAt, v: $v}';
}
}
class AboutPatient {
String aboutText = "";
DateTime aboutDate = DateTime.now();
String aboutBy = "";
AboutPatient({
required this.aboutText,
required this.aboutDate,
required this.aboutBy,
});
AboutPatient.empty();
AboutPatient.fromJson(Map<String, dynamic> json) {
aboutText = json['aboutText'] ?? "";
aboutDate = json['aboutDate'] != null
? DateTime.parse(json['aboutDate']).toLocal()
: DateTime.now();
aboutBy = json['aboutBy'] ?? "";
}
@override
String toString() {
return 'AboutPatient{aboutText: $aboutText, aboutDate: $aboutDate, aboutBy: $aboutBy}';
}
}
class Diagnosise {
String diagnosisText = "";
DateTime diagnosisDate = DateTime.now();
String diagnosisBy = "";
bool isCurrentDiagnosis = false;
String id = "";
Diagnosise({
required this.diagnosisText,
required this.diagnosisDate,
required this.diagnosisBy,
required this.isCurrentDiagnosis,
required this.id,
});
Diagnosise.empty();
Diagnosise.fromJson(Map<String, dynamic> json) {
diagnosisText = json['diagnosisText'] ?? "";
diagnosisDate = json['diagnosisDate'] != null
? DateTime.parse(json['diagnosisDate']).toLocal()
: DateTime.now();
diagnosisBy = json['diagnosisBy'] ?? "";
isCurrentDiagnosis = json['isCurrentDiagnosis'] ?? false;
id = json['_id'] ?? "";
}
@override
String toString() {
return 'Diagnosise{diagnosisText: $diagnosisText, diagnosisDate: $diagnosisDate, diagnosisBy: $diagnosisBy, isCurrentDiagnosis: $isCurrentDiagnosis, id: $id}';
}
}