Merge branches 'development' and 'soap_new_design' of https://gitlab.com/Cloud_Solution/doctor_app_flutter into soap_new_design

merge-requests/431/head
Elham Rababah 5 years ago
commit e4f9d1f155

Binary file not shown.

@ -121,7 +121,7 @@ const GET_DASHBOARD =
const GET_SICKLEAVE_STATISTIC = const GET_SICKLEAVE_STATISTIC =
'Services/DoctorApplication.svc/REST/PreSickLeaveStatistics'; 'Services/DoctorApplication.svc/REST/PreSickLeaveStatistics';
const ARRIVED_PATIENT_URL = const ARRIVED_PATIENT_URL =
'Services/DoctorApplication.svc/REST/PatientArrivalList'; 'Services/DoctorApplication.svc/REST/PatientArrivalList';
const ADD_SICK_LEAVE = 'Services/DoctorApplication.svc/REST/PostSickLeave'; const ADD_SICK_LEAVE = 'Services/DoctorApplication.svc/REST/PostSickLeave';
const GET_SICK_LEAVE = 'Services/DoctorApplication.svc/REST/GetAllSickLeaves'; const GET_SICK_LEAVE = 'Services/DoctorApplication.svc/REST/GetAllSickLeaves';
const EXTEND_SICK_LEAVE = 'Services/DoctorApplication.svc/REST/ExtendSickLeave'; const EXTEND_SICK_LEAVE = 'Services/DoctorApplication.svc/REST/ExtendSickLeave';
@ -143,6 +143,9 @@ const GET_PROCEDURE_LIST =
'Services/DoctorApplication.svc/REST/GetOrderedProcedure'; 'Services/DoctorApplication.svc/REST/GetOrderedProcedure';
const POST_PROCEDURE_LIST = 'Services/DoctorApplication.svc/REST/PostProcedure'; const POST_PROCEDURE_LIST = 'Services/DoctorApplication.svc/REST/PostProcedure';
const GET_PATIENT_ARRIVAL_LIST =
'Services/DoctorApplication.svc/REST/PatientArrivalList';
///Lab Order ///Lab Order
const GET_Patient_LAB_ORDERS = 'Services/Patients.svc/REST/GetPatientLabOrders'; const GET_Patient_LAB_ORDERS = 'Services/Patients.svc/REST/GetPatientLabOrders';
const GET_Patient_LAB_SPECIAL_RESULT = const GET_Patient_LAB_SPECIAL_RESULT =
@ -298,7 +301,7 @@ const PRIMARY_COLOR = 0xff515B5D;
const TRANSACTION_NO = 0; const TRANSACTION_NO = 0;
const LANGUAGE_ID = 2; const LANGUAGE_ID = 2;
const STAMP = '2020-04-27T12:17:17.721Z'; const STAMP = '2020-04-27T12:17:17.721Z';
const IP_ADDRESS = '11.11.11.11'; const IP_ADDRESS = '9.9.9.9';
const VERSION_ID = 5.3; const VERSION_ID = 5.3;
const CHANNEL = 9; const CHANNEL = 9;
const SESSION_ID = 'BlUSkYymTt'; const SESSION_ID = 'BlUSkYymTt';

@ -43,6 +43,7 @@ class InsuranceApprovalModel {
int approvalNo; int approvalNo;
String approvalStatusDescption; String approvalStatusDescption;
int unUsedCount; int unUsedCount;
String doctorImage;
//String companyName; //String companyName;
String expiryDate; String expiryDate;
@ -75,7 +76,8 @@ class InsuranceApprovalModel {
this.expiryDate, this.expiryDate,
this.rceiptOn, this.rceiptOn,
this.approvalDetails, this.approvalDetails,
this.appointmentNo}); this.appointmentNo,
this.doctorImage});
InsuranceApprovalDetails x = InsuranceApprovalDetails(); InsuranceApprovalDetails x = InsuranceApprovalDetails();
@ -104,6 +106,7 @@ class InsuranceApprovalModel {
eXuldAPPNO = json['EXuldAPPNO']; eXuldAPPNO = json['EXuldAPPNO'];
projectID = json['ProjectID']; projectID = json['ProjectID'];
doctorName = json['DoctorName']; doctorName = json['DoctorName'];
doctorImage = json['DoctorImageURL'];
clinicName = json['ClinicName']; clinicName = json['ClinicName'];
approvalDetails = approvalDetails =
InsuranceApprovalDetails.fromJson(json['ApporvalDetails'][0]); InsuranceApprovalDetails.fromJson(json['ApporvalDetails'][0]);
@ -126,6 +129,8 @@ class InsuranceApprovalModel {
data['DeviceTypeID'] = this.deviceTypeID; data['DeviceTypeID'] = this.deviceTypeID;
data['PatientID'] = this.patientID; data['PatientID'] = this.patientID;
data['TokenID'] = this.tokenID; data['TokenID'] = this.tokenID;
data['DoctorImageURL'] = this.doctorImage;
data['PatientTypeID'] = this.patientTypeID; data['PatientTypeID'] = this.patientTypeID;
data['PatientType'] = this.patientType; data['PatientType'] = this.patientType;
if (appointmentNo == null) { if (appointmentNo == null) {

@ -80,7 +80,7 @@ class Timelines {
clinicName = json['ClinicName']; clinicName = json['ClinicName'];
date = json['Date']; date = json['Date'];
doctorId = json['DoctorId']; doctorId = json['DoctorId'];
doctorImage = json['DoctorImage']; doctorImage = json['DoctorImageURL'];
doctorName = json['DoctorName']; doctorName = json['DoctorName'];
encounterNumber = json['EncounterNumber']; encounterNumber = json['EncounterNumber'];
encounterType = json['EncounterType']; encounterType = json['EncounterType'];
@ -101,7 +101,7 @@ class Timelines {
data['ClinicName'] = this.clinicName; data['ClinicName'] = this.clinicName;
data['Date'] = this.date; data['Date'] = this.date;
data['DoctorId'] = this.doctorId; data['DoctorId'] = this.doctorId;
data['DoctorImage'] = this.doctorImage; data['DoctorImageURL'] = this.doctorImage;
data['DoctorName'] = this.doctorName; data['DoctorName'] = this.doctorName;
data['EncounterNumber'] = this.encounterNumber; data['EncounterNumber'] = this.encounterNumber;
data['EncounterType'] = this.encounterType; data['EncounterType'] = this.encounterType;

@ -156,7 +156,7 @@ class PatientReferralService extends LookupService {
hasError = false; hasError = false;
DoctorProfileModel doctorProfile = await getDoctorProfile(); DoctorProfileModel doctorProfile = await getDoctorProfile();
Map<String, dynamic> body = Map(); Map<String, dynamic> body = Map();
body['ClinicID'] = 0; // body['ClinicID'] = 0;
body['DoctorID'] = doctorProfile.doctorID; body['DoctorID'] = doctorProfile.doctorID;
await baseAppClient.post( await baseAppClient.post(

@ -14,7 +14,7 @@ class RadiologyService extends BaseService {
hasError = false; hasError = false;
final Map<String, dynamic> body = new Map<String, dynamic>(); final Map<String, dynamic> body = new Map<String, dynamic>();
body['InvoiceNo'] = invoiceNo; body['InvoiceNo'] = invoiceNo;
body['LineIt emNo'] = lineItem; body['LineItemNo'] = lineItem;
body['ProjectID'] = projectId; body['ProjectID'] = projectId;
await baseAppClient.postPatient(GET_RAD_IMAGE_URL, await baseAppClient.postPatient(GET_RAD_IMAGE_URL,

File diff suppressed because one or more lines are too long

@ -59,6 +59,10 @@ class DoctorApp {
IconData(0xe80f, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe80f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData referral_1 = static const IconData referral_1 =
IconData(0xe810, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe810, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData progress_notes =
IconData(0xe811, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData home_icon_1 =
IconData(0xe812, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData operations = static const IconData operations =
IconData(0xe813, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe813, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData out_patient = static const IconData out_patient =
@ -77,22 +81,273 @@ class DoctorApp {
IconData(0xe81a, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe81a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData female_1 = static const IconData female_1 =
IconData(0xe81b, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe81b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData home_icon_active_1 =
IconData(0xe81c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData menu_icon_1 =
IconData(0xe81d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData mail = static const IconData mail =
IconData(0xe81e, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe81e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData medicine_search = static const IconData medicine_search =
IconData(0xe81f, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe81f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData qr_code_1 =
IconData(0xe820, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData search_1 =
IconData(0xe821, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData referred = static const IconData referred =
IconData(0xe822, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe822, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData send =
IconData(0xe823, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData sync_icon = static const IconData sync_icon =
IconData(0xe824, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe824, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData drawer_icon = static const IconData drawer_icon =
IconData(0xe825, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe825, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view =
IconData(0xe826, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData warning =
IconData(0xe827, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData add =
IconData(0xe828, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData close =
IconData(0xe829, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData back =
IconData(0xe82a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData health_summary =
IconData(0xe82b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData powered_by_cs =
IconData(0xe82c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData qr_code_2 =
IconData(0xe82d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData ecg =
IconData(0xe82e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData create_episode =
IconData(0xe82f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData booked =
IconData(0xe830, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData admission_req =
IconData(0xe831, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData walkin =
IconData(0xe832, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData reschedule_ =
IconData(0xe833, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData edit =
IconData(0xe834, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData leaves = static const IconData leaves =
IconData(0xe836, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe836, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData logout =
IconData(0xe837, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData obese_bmi =
IconData(0xe838, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData livecare =
IconData(0xe839, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData health_bmi =
IconData(0xe83a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData health_bmi_r =
IconData(0xe83b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData modify_episode =
IconData(0xe83c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData height =
IconData(0xe83d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData obese_bmi_r =
IconData(0xe83e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData ovrweight_bmi =
IconData(0xe83f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData order_prescription =
IconData(0xe840, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData order_procedures =
IconData(0xe841, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData ovrweight_bmi_r =
IconData(0xe842, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData respiration_rate =
IconData(0xe843, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData patient_sick_leave =
IconData(0xe844, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData progress_notes_1 =
IconData(0xe845, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData temperature =
IconData(0xe846, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData underweight_bmi =
IconData(0xe847, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData radiology_1 =
IconData(0xe848, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData search_patient_1 = static const IconData search_patient_1 =
IconData(0xe849, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe849, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData referral_bg =
IconData(0xe84a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData search = static const IconData search =
IconData(0xe84b, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe84b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData search_bg =
IconData(0xe84c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData arrival_patients = static const IconData arrival_patients =
IconData(0xe84d, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe84d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData arrival_patients_bg =
IconData(0xe84e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData refer_patient =
IconData(0xe84f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData underweight_bmi_r =
IconData(0xe850, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData weight =
IconData(0xe851, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData blood_pressure =
IconData(0xe852, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData vital_signs =
IconData(0xe853, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData ucaf =
IconData(0xe854, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter =
IconData(0xe855, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData male_1 =
IconData(0xe856, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData female =
IconData(0xe857, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData external_link =
IconData(0xe858, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData verify_face =
IconData(0xe859, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData verify_sms =
IconData(0xe85a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData home =
IconData(0xe85b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData verify_finger =
IconData(0xe85c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData dr_reply_active =
IconData(0xe85d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData dr_reply =
IconData(0xe85e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData schedule_active =
IconData(0xe85f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData schedule =
IconData(0xe860, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData qr_reader_active =
IconData(0xe861, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData qr_reader =
IconData(0xe862, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData home_active =
IconData(0xe863, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData arrow_forward =
IconData(0xe864, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData heart_rate =
IconData(0xe865, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData menu_icon_active_1 =
IconData(0xe866, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData message_icon_1 =
IconData(0xe867, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData message_icon_active_1 =
IconData(0xe868, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData scdedule_icon_active_1 =
IconData(0xe869, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData ovrweight_bmi_r_1 =
IconData(0xe86a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData underweight_bmi_1 =
IconData(0xe86b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData temperature_1 =
IconData(0xe86c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData underweight_bmi_r_1 =
IconData(0xe86d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData weight_1 =
IconData(0xe86e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData blood_pressure_1 =
IconData(0xe86f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData health_bmi_r_1 =
IconData(0xe870, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData health_bmi_1 =
IconData(0xe871, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData heart_rate_1 =
IconData(0xe872, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData height_1 =
IconData(0xe873, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData obese_bmi_1 =
IconData(0xe874, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData ovrweight_bmi_1 =
IconData(0xe875, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData powered_by_cs_1 =
IconData(0xe876, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData qr_code_3 =
IconData(0xe877, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData reschedule__1 =
IconData(0xe878, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData logout_1 =
IconData(0xe879, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData livecare_1 =
IconData(0xe87a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData modify_episode_1 =
IconData(0xe87b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData order_prescription_1 =
IconData(0xe87c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData order_procedures_1 =
IconData(0xe87d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData patient_sick_leave_1 =
IconData(0xe87e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData progress_notes_2 =
IconData(0xe87f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData radiology_2 =
IconData(0xe880, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData refer_patient_1 =
IconData(0xe881, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData ucaf_1 =
IconData(0xe882, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData vital_signs_1 =
IconData(0xe883, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData walkin_1 =
IconData(0xe884, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData admission_req_1 =
IconData(0xe885, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData booked_1 =
IconData(0xe886, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData create_episode_1 =
IconData(0xe887, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData ecg_1 =
IconData(0xe888, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData health_summary_1 =
IconData(0xe889, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData lab_results_1 =
IconData(0xe88a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData female_2 =
IconData(0xe88b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData filter_1 =
IconData(0xe88c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData male_3 =
IconData(0xe88d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData search_2 =
IconData(0xe88e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData send_1 =
IconData(0xe88f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData view_1 =
IconData(0xe890, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData warning_1 =
IconData(0xe891, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData add_1 =
IconData(0xe892, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData arrow_forward_1 =
IconData(0xe893, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData back_1 =
IconData(0xe894, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData close_1 =
IconData(0xe895, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData edit_1 =
IconData(0xe896, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData external_link_1 =
IconData(0xe897, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData verify_finger_1 =
IconData(0xe898, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData verify_sms_1 =
IconData(0xe899, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData verify_face_1 =
IconData(0xe89a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData qr_reader_1 =
IconData(0xe89b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData qr_reader_active_1 =
IconData(0xe89c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData schedule_1 =
IconData(0xe89d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData schedule_active_1 =
IconData(0xe89e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData dr_reply_1 =
IconData(0xe89f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData dr_reply_active_1 =
IconData(0xe8a0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData home_1 =
IconData(0xe8a1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData home_active_1 =
IconData(0xe8a2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
} }

@ -196,14 +196,14 @@ class _DashboardScreenState extends State<DashboardScreen> {
return Row( return Row(
mainAxisSize: MainAxisSize.max, mainAxisSize: MainAxisSize.max,
children: <Widget>[ children: <Widget>[
AppText( AppText(item.clinicName,
item.clinicName, fontSize: SizeConfig
fontSize: SizeConfig .textMultiplier *
.textMultiplier * 1.6,
2.1, color: Colors.black,
color: Colors.black, fontWeight: FontWeight.bold,
fontWeight: FontWeight.bold, textAlign:
), TextAlign.center),
], ],
); );
}).toList(); }).toList();
@ -1004,7 +1004,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
top: 10, left: 10, right: 0), top: 10, left: 10, right: 0),
child: Icon( child: Icon(
DoctorApp.search, DoctorApp.search,
size: 35, size: 32,
color: Colors.white, color: Colors.white,
)), )),
Container( Container(
@ -1014,6 +1014,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
.searchmedicinepatient, .searchmedicinepatient,
color: Colors.white, color: Colors.white,
textAlign: TextAlign.start, textAlign: TextAlign.start,
fontSize: 14,
)) ))
], ],
), ),

@ -120,8 +120,8 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
.timelines[index].clinicName, .timelines[index].clinicName,
branch: model.medicalFileList[0].entityList[0] branch: model.medicalFileList[0].entityList[0]
.timelines[index].projectName, .timelines[index].projectName,
profileUrl: profileUrl: model.medicalFileList[0]
'https://previews.123rf.com/images/yupiramos/yupiramos1705/yupiramos170524444/78443570-a-female-doctor-avatar-character-vector-illustration-design.jpg', .entityList[0].timelines[index].doctorImage,
appointmentDate: appointmentDate:
DateUtils.getDateTimeFromServerFormat( DateUtils.getDateTimeFromServerFormat(
model.medicalFileList[0].entityList[0] model.medicalFileList[0].entityList[0]

File diff suppressed because it is too large Load Diff

@ -0,0 +1,370 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/viewModel/InsuranceViewModel.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart';
import 'package:doctor_app_flutter/widgets/shared/Text.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class InsuranceApprovalsDetails extends StatefulWidget {
PatiantInformtion patient;
int indexInsurance;
InsuranceApprovalsDetails({this.patient, this.indexInsurance});
@override
_InsuranceApprovalsDetailsState createState() =>
_InsuranceApprovalsDetailsState(
patient: patient, indexInsurance: indexInsurance);
}
class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
PatiantInformtion patient;
int indexInsurance;
_InsuranceApprovalsDetailsState({this.patient, this.indexInsurance});
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
return BaseView<InsuranceViewModel>(
onModelReady: patient.appointmentNo != null
? (model) => model.getInsuranceApproval(patient,
appointmentNo: patient.appointmentNo)
: (model) => model.getInsuranceApproval(patient),
builder: (BuildContext context, InsuranceViewModel model, Widget child) =>
AppScaffold(
isShowAppBar: true,
baseViewModel: model,
appBar: PatientProfileHeaderNewDesignAppBar(
patient, patient.patientType.toString(), patient.arrivedOn),
body: SingleChildScrollView(
child: Container(
child: Column(
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
Row(
children: [
AppText(
'Insurance',
fontSize: 15.0,
fontWeight: FontWeight.w600,
fontFamily: 'Poppins',
),
],
),
Row(
children: [
AppText(
'Approvals',
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
],
),
],
),
),
Container(
margin: EdgeInsets.all(10),
decoration: BoxDecoration(
border: Border.all(
width: 0.5,
color: Colors.white,
),
borderRadius: BorderRadius.all(
Radius.circular(15.0),
),
color: Colors.white),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
Row(
children: [
Texts(
model.insuranceApproval[indexInsurance]
.approvalDetails.status,
color:
model.insuranceApproval[indexInsurance]
.approvalDetails.status ==
"Approved"
? Color(0xff359846)
: Color(0xffD02127),
),
],
),
Row(
children: [
Texts(
model.insuranceApproval[indexInsurance]
.doctorName
.toUpperCase(),
color: Colors.black,
fontSize: 18,
fontWeight: FontWeight.bold,
)
],
),
Padding(
padding:
const EdgeInsets.symmetric(horizontal: 8.0),
child: Row(
children: [
Column(
children: [
Container(
height: 85.0,
width: 85.0,
child: CircleAvatar(
radius:
SizeConfig.imageSizeMultiplier *
12,
// radius: (52)
child: ClipRRect(
borderRadius:
BorderRadius.circular(50),
child: Image.network(
model
.insuranceApproval[
indexInsurance]
.doctorImage,
fit: BoxFit.fill,
width: 700,
),
),
backgroundColor: Colors.transparent,
),
),
],
),
Padding(
padding: const EdgeInsets.symmetric(
horizontal: 8.0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
//mainAxisAlignment: MainAxisAlignment.center,
children: [
SizedBox(
height: 25.0,
),
Row(
children: [
Texts(
'Clinic: ',
color: Colors.grey[500],
),
Texts(
model
.insuranceApproval[
indexInsurance]
.clinicName,
)
],
),
Row(
children: <Widget>[
Texts(
'Approval No: ',
color: Colors.grey[500],
),
Texts(
model
.insuranceApproval[
indexInsurance]
.approvalNo
.toString(),
)
],
),
Row(
children: <Widget>[
Texts(
'Unused Count:',
color: Colors.grey[500],
),
Texts(model
.insuranceApproval[
indexInsurance]
.unUsedCount
.toString())
],
),
Row(
children: <Widget>[
Texts(
'Company Name :',
color: Colors.grey[500],
),
Texts('Sample')
],
),
SizedBox(
height: 25.0,
),
Row(
children: [
Texts(
'Receipt on: ',
color: Colors.grey[500],
),
Texts(
'${DateUtils.getDayMonthYearDateFormatted(DateUtils.getDateTimeFromServerFormat(model.insuranceApproval[indexInsurance].rceiptOn), isArabic: projectViewModel.isArabic)}',
color: Colors.black,
fontWeight: FontWeight.w600,
),
],
),
Row(
children: [
Texts(
'Exp on: ',
color: Colors.grey[500],
),
Texts(
'${DateUtils.getDayMonthYearDateFormatted(DateUtils.getDateTimeFromServerFormat(model.insuranceApproval[indexInsurance].expiryDate), isArabic: projectViewModel.isArabic)}',
color: Colors.black,
fontWeight: FontWeight.w600,
),
],
),
],
),
),
],
),
),
SizedBox(
height: 20.0,
),
Container(
child: Column(
children: [
Padding(
padding: const EdgeInsets.symmetric(
horizontal: 8.0),
child: Row(
mainAxisAlignment:
MainAxisAlignment.spaceAround,
children: [
Container(
width: MediaQuery.of(context)
.size
.width *
0.33,
child: Texts(
'Procedure',
fontWeight: FontWeight.w700,
),
),
Container(
width: MediaQuery.of(context)
.size
.width *
0.33,
child: Texts(
'Status',
fontWeight: FontWeight.w700,
),
),
Container(
width: MediaQuery.of(context)
.size
.width *
0.21,
child: Texts(
'Usage Status',
fontWeight: FontWeight.w700,
),
)
],
),
),
Divider(
color: Colors.black,
),
Padding(
padding: const EdgeInsets.symmetric(
horizontal: 8.0),
child: Row(
mainAxisAlignment:
MainAxisAlignment.spaceAround,
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Container(
height: MediaQuery.of(context)
.size
.height *
0.15, //130.0,
width: MediaQuery.of(context)
.size
.width *
0.33,
child: Texts(model
.insuranceApproval[
indexInsurance]
.approvalDetails
.procedureName),
),
Container(
height: MediaQuery.of(context)
.size
.height *
0.15,
width: MediaQuery.of(context)
.size
.width *
0.33,
child: Texts(model
.insuranceApproval[
indexInsurance]
.approvalDetails
.status),
),
Container(
height: MediaQuery.of(context)
.size
.height *
0.15,
width: MediaQuery.of(context)
.size
.width *
0.21,
child: Texts(model
.insuranceApproval[
indexInsurance]
.approvalDetails
.isInvoicedDesc),
),
],
),
),
Divider(
color: Colors.black45,
),
],
),
),
],
),
),
),
],
),
),
)),
);
}
}

@ -209,16 +209,38 @@ class MyReferralDetailScreen extends StatelessWidget {
), ),
], ],
) )
: Container( : Column(
child: Center( children: [
child: AppText( Container(
TranslationBase.of(context).patientNoDetailErrMsg, padding: EdgeInsets.only(left: 12.0),
color: HexColor("#B8382B"), child: Row(children: [
fontWeight: FontWeight.bold, IconButton(
fontSize: 16, icon: Icon(Icons.arrow_back_ios),
), color: Colors.black, //Colors.black,
onPressed: () => Navigator.pop(context),
),
Expanded(
child: AppText("" ,
fontSize: SizeConfig.textMultiplier * 2.5,
fontWeight: FontWeight.bold,
backGroundcolor: Colors.white,
fontFamily: 'Poppins',
),
),
]),
), ),
), Container(
child: Center(
child: AppText(
TranslationBase.of(context).patientNoDetailErrMsg,
color: HexColor("#B8382B"),
fontWeight: FontWeight.bold,
fontSize: 16,
),
),
),
],
),
), ),
); );
} }

@ -39,11 +39,11 @@ class _PatientReferralScreen extends State<PatientReferralScreen>
extendBodyBehindAppBar: true, extendBodyBehindAppBar: true,
// backgroundColor: Colors.white, // backgroundColor: Colors.white,
appBar: PreferredSize( appBar: PreferredSize(
preferredSize: Size.fromHeight(65.0), preferredSize: Size.fromHeight(60.0),
child: Center( child: Center(
child: Container( child: Container(
height: 60.0, height: 60.0,
margin: EdgeInsets.only(top: 10.0), // margin: EdgeInsets.only(top: 10.0),
width: MediaQuery.of(context).size.width * 0.92, // 0.9, width: MediaQuery.of(context).size.width * 0.92, // 0.9,
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border( border: Border(

@ -1,4 +1,7 @@
import 'package:date_time_picker/date_time_picker.dart';
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/widgets/charts/app_time_series_chart.dart'; import 'package:doctor_app_flutter/widgets/charts/app_time_series_chart.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:fl_chart/fl_chart.dart'; import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -12,6 +15,11 @@ class LineChartCurved extends StatelessWidget {
List<int> xAxixs = List(); List<int> xAxixs = List();
List<double> yAxixs = List(); List<double> yAxixs = List();
// DateFormat format = DateFormat("yyyy-MM-dd");
DateFormat yearFormat = DateFormat("yyyy/MMM");
DateFormat monthFormat = DateFormat("MMM");
bool isDatesSameYear = true;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
getXaxix(); getXaxix();
@ -23,36 +31,42 @@ class LineChartCurved extends StatelessWidget {
borderRadius: BorderRadius.all(Radius.circular(18)), borderRadius: BorderRadius.all(Radius.circular(18)),
// color: Colors.white, // color: Colors.white,
), ),
child: Stack( child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[ children: <Widget>[
Column( const SizedBox(
crossAxisAlignment: CrossAxisAlignment.stretch, height: 4,
children: <Widget>[ ),
const SizedBox( Container(
height: 4, padding: const EdgeInsets.only(right: 18.0, left: 16.0),
), child: Column(
Text( crossAxisAlignment: CrossAxisAlignment.start,
title, children: [
style: TextStyle( AppText(
color: Colors.black, title,
fontSize: 15, fontSize: SizeConfig.textMultiplier * 2.1,
letterSpacing: 2), fontWeight: FontWeight.bold,
textAlign: TextAlign.center, backGroundcolor: Colors.black,
), fontFamily: 'Poppins',
SizedBox(height: 10,), textAlign: TextAlign.center,
Expanded(
child: Padding(
padding: const EdgeInsets.only(right: 18.0, left: 16.0),
child: LineChart(
sampleData1(context),
swapAnimationDuration: const Duration(milliseconds: 250),
),
), ),
],
),
),
SizedBox(
height: 16,
),
Expanded(
child: Padding(
padding: const EdgeInsets.only(right: 18.0, left: 16.0),
child: LineChart(
sampleData1(context),
swapAnimationDuration: const Duration(milliseconds: 250),
), ),
const SizedBox( ),
height: 10, ),
), const SizedBox(
], height: 10,
), ),
], ],
), ),
@ -68,8 +82,9 @@ class LineChartCurved extends StatelessWidget {
} }
} }
} }
getYaxix() { getYaxix() {
int indexess= (timeSeries.length*0.30).toInt(); int indexess = (timeSeries.length * 0.30).toInt();
for (int index = 0; index < timeSeries.length; index++) { for (int index = 0; index < timeSeries.length; index++) {
int mIndex = indexess * index; int mIndex = indexess * index;
if (mIndex < timeSeries.length) { if (mIndex < timeSeries.length) {
@ -83,7 +98,6 @@ class LineChartCurved extends StatelessWidget {
lineTouchData: LineTouchData( lineTouchData: LineTouchData(
touchTooltipData: LineTouchTooltipData( touchTooltipData: LineTouchTooltipData(
tooltipBgColor: Colors.white, tooltipBgColor: Colors.white,
), ),
touchCallback: (LineTouchResponse touchResponse) {}, touchCallback: (LineTouchResponse touchResponse) {},
handleBuiltInTouches: true, handleBuiltInTouches: true,
@ -97,12 +111,23 @@ class LineChartCurved extends StatelessWidget {
color: Colors.black, color: Colors.black,
fontSize: 10, fontSize: 10,
), ),
rotateAngle:-65, rotateAngle: -65,
//rotateAngle:-65, //rotateAngle:-65,
margin: 22, margin: 22,
getTitles: (value) { getTitles: (value) {
if (timeSeries.length < 15) { if (timeSeries.length > value.toInt()) {
DateTime dateTime = timeSeries[value.toInt()].time;
if (isDatesSameYear) {
return monthFormat.format(dateTime);
} else {
return yearFormat.format(dateTime);
}
} else {
return '';
}
/*if (timeSeries.length < 15) {
if (timeSeries.length > value.toInt()) { if (timeSeries.length > value.toInt()) {
DateTime dateTime = timeSeries[value.toInt()].time;
return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}'; return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}';
} else } else
return ''; return '';
@ -114,7 +139,7 @@ class LineChartCurved extends StatelessWidget {
if (xAxixs.contains(value.toInt())) { if (xAxixs.contains(value.toInt())) {
return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}'; return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}';
} }
} }*/
return ''; return '';
}, },
), ),
@ -163,7 +188,7 @@ class LineChartCurved extends StatelessWidget {
), ),
minX: 0, minX: 0,
maxX: (timeSeries.length - 1).toDouble(), maxX: (timeSeries.length - 1).toDouble(),
maxY: getMaxY()+0.3, maxY: getMaxY() + 0.3,
minY: getMinY(), minY: getMinY(),
lineBarsData: getData(context), lineBarsData: getData(context),
); );
@ -176,7 +201,7 @@ class LineChartCurved extends StatelessWidget {
if (resultValueDouble > max) max = resultValueDouble; if (resultValueDouble > max) max = resultValueDouble;
}); });
return max.roundToDouble() ; return max.roundToDouble();
} }
double getMinY() { double getMinY() {
@ -192,14 +217,22 @@ class LineChartCurved extends StatelessWidget {
List<LineChartBarData> getData(context) { List<LineChartBarData> getData(context) {
List<FlSpot> spots = List(); List<FlSpot> spots = List();
isDatesSameYear = true;
int previousDateYear = 0;
for (int index = 0; index < timeSeries.length; index++) { for (int index = 0; index < timeSeries.length; index++) {
spots.add(FlSpot(index.toDouble(), timeSeries[index].sales)); spots.add(FlSpot(index.toDouble(), timeSeries[index].sales));
if (isDatesSameYear == false ||
(previousDateYear != 0 &&
previousDateYear != timeSeries[index].time.year)) {
isDatesSameYear = false;
}
previousDateYear = timeSeries[index].time.year;
} }
final LineChartBarData lineChartBarData1 = LineChartBarData( final LineChartBarData lineChartBarData1 = LineChartBarData(
spots: spots, spots: spots,
isCurved: true, isCurved: true,
colors: [Theme.of(context).primaryColor], colors: [Colors.red]/*[Theme.of(context).primaryColor]*/,
barWidth: 5, barWidth: 5,
isStrokeCapRound: true, isStrokeCapRound: true,
dotData: FlDotData( dotData: FlDotData(

@ -1,3 +1,4 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/charts/app_time_series_chart.dart'; import 'package:doctor_app_flutter/widgets/charts/app_time_series_chart.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
@ -26,71 +27,77 @@ class LineChartCurvedBloodPressure extends StatelessWidget {
borderRadius: BorderRadius.all(Radius.circular(18)), borderRadius: BorderRadius.all(Radius.circular(18)),
// color: Colors.white, // color: Colors.white,
), ),
child: Stack( child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[ children: <Widget>[
Column( const SizedBox(
crossAxisAlignment: CrossAxisAlignment.stretch, height: 4,
children: <Widget>[ ),
const SizedBox( Container(
height: 15, padding: const EdgeInsets.only(right: 18.0, left: 16.0),
), child: Column(
Text( crossAxisAlignment: CrossAxisAlignment.start,
title, children: [
style: TextStyle( AppText(
color: Colors.black, fontSize: 15, letterSpacing: 2), title,
textAlign: TextAlign.center, fontSize: SizeConfig.textMultiplier * 2.1,
), fontWeight: FontWeight.bold,
SizedBox( backGroundcolor: Colors.black,
height: 10, fontFamily: 'Poppins',
), textAlign: TextAlign.center,
Expanded(
child: Padding(
padding:
const EdgeInsets.only(right: 18.0, left: 16.0, top: 15),
child: LineChart(
sampleData1(context),
swapAnimationDuration: const Duration(milliseconds: 250),
),
), ),
],
),
),
SizedBox(
height: 10,
),
Expanded(
child: Padding(
padding:
const EdgeInsets.only(right: 18.0, left: 16.0, top: 15),
child: LineChart(
sampleData1(context),
swapAnimationDuration: const Duration(milliseconds: 250),
), ),
SizedBox( ),
height: 10, ),
), SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Row( Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Row( Container(
children: [ width: 20,
Container( height: 20,
width: 20, decoration: BoxDecoration(
height: 20, shape: BoxShape.rectangle,
decoration: BoxDecoration( color: Theme.of(context).primaryColor),
shape: BoxShape.rectangle,
color: Theme.of(context).primaryColor),
),
SizedBox(width: 5,),
AppText(TranslationBase.of(context).systolicLng)
],
), ),
SizedBox(width: 15,), SizedBox(width: 5,),
Row( AppText(TranslationBase.of(context).systolicLng)
children: [ ],
Container( ),
width: 20, SizedBox(width: 15,),
height: 20, Row(
decoration: BoxDecoration( children: [
shape: BoxShape.rectangle, Container(
color: Colors.grey), width: 20,
), height: 20,
SizedBox(width: 5,), decoration: BoxDecoration(
AppText(TranslationBase.of(context).diastolicLng) shape: BoxShape.rectangle,
], color: Colors.grey),
), ),
SizedBox(width: 5,),
AppText(TranslationBase.of(context).diastolicLng)
], ],
) ),
], ],
), )
], ],
), ),
), ),

@ -1,3 +1,4 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-data.dart'; import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-data.dart';
import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-history.dart'; import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-history.dart';
@ -17,7 +18,13 @@ class VitalSignBloodPressureWidget extends StatefulWidget {
final String viewKey2; final String viewKey2;
VitalSignBloodPressureWidget( VitalSignBloodPressureWidget(
{Key key, this.vitalList, this.title1, this.title2, this.viewKey1, this.title3, this.viewKey2}); {Key key,
this.vitalList,
this.title1,
this.title2,
this.viewKey1,
this.title3,
this.viewKey2});
@override @override
_VitalSignDetailsWidgetState createState() => _VitalSignDetailsWidgetState(); _VitalSignDetailsWidgetState createState() => _VitalSignDetailsWidgetState();
@ -28,21 +35,96 @@ class _VitalSignDetailsWidgetState extends State<VitalSignBloodPressureWidget> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
return Container( return Container(
decoration: BoxDecoration( /*decoration: BoxDecoration(
color: Colors.transparent, color: Colors.transparent,
borderRadius: BorderRadius.only( borderRadius: BorderRadius.only(
topLeft: Radius.circular(10.0), topRight: Radius.circular(10.0)), topLeft: Radius.circular(10.0), topRight: Radius.circular(10.0)),
border: Border.all(color: Colors.grey, width: 1), border: Border.all(color: Colors.grey, width: 1),
), ),*/
margin: EdgeInsets.all(20), margin: EdgeInsets.all(0),
child: Container( child: Container(
color: Colors.transparent, color: Colors.transparent,
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Row(
children: [
Expanded(
child: Container(
child: Container(
padding: EdgeInsets.all(8),
/*decoration: BoxDecoration(
color: Theme.of(context).primaryColor,
borderRadius: BorderRadius.only(
topLeft:projectViewModel.isArabic? Radius.circular(0.0):Radius.circular(10.0),
topRight: projectViewModel.isArabic? Radius.circular(10.0):Radius.circular(0.0)
),
),*/
child: AppText(
TranslationBase.of(context).date,
fontSize: SizeConfig.textMultiplier * 1.5,
fontWeight: FontWeight.bold,
backGroundcolor: Colors.black,
fontFamily: 'Poppins',
),
// height: 60,
),
),
),
Expanded(
child: Container(
padding: EdgeInsets.all(8),
child: Container(
/*decoration: BoxDecoration(
color: Theme.of(context).primaryColor,
borderRadius: BorderRadius.only(
topRight: projectViewModel.isArabic? Radius.circular(0.0):Radius.circular(10.0),
topLeft: projectViewModel.isArabic? Radius.circular(10.0):Radius.circular(0.0)
),
),*/
child: AppText(
widget.title2,
fontSize: SizeConfig.textMultiplier * 1.5,
fontWeight: FontWeight.bold,
backGroundcolor: Colors.black,
fontFamily: 'Poppins',
),
// height: 60
),
),
),
Expanded(
child: Container(
padding: EdgeInsets.all(8),
child: Container(
/*decoration: BoxDecoration(
color: Theme.of(context).primaryColor,
borderRadius: BorderRadius.only(
topRight: projectViewModel.isArabic? Radius.circular(0.0):Radius.circular(10.0),
topLeft: projectViewModel.isArabic? Radius.circular(10.0):Radius.circular(0.0)
),
),*/
child: AppText(
widget.title3,
fontSize: SizeConfig.textMultiplier * 1.5,
fontWeight: FontWeight.bold,
backGroundcolor: Colors.black,
fontFamily: 'Poppins',
),
// height: 60
),
),
),
],
),
const Divider(
height: 1,
thickness: 1,
color: Colors.black,
),
Table( Table(
border: TableBorder.symmetric( border: TableBorder(
inside: BorderSide(width: 2.0, color: Colors.grey[300]), horizontalInside: BorderSide(width: 1.0, color: Colors.grey[300]),
), ),
children: fullData(projectViewModel), children: fullData(projectViewModel),
), ),
@ -54,36 +136,7 @@ class _VitalSignDetailsWidgetState extends State<VitalSignBloodPressureWidget> {
List<TableRow> fullData(ProjectViewModel projectViewModel) { List<TableRow> fullData(ProjectViewModel projectViewModel) {
List<TableRow> tableRow = []; List<TableRow> tableRow = [];
tableRow.add(TableRow(children: [ /* tableRow.add(TableRow(children: [
Container(
child: Container(
decoration: BoxDecoration(
color: Theme.of(context).primaryColor,
borderRadius: BorderRadius.only(
topLeft:projectViewModel.isArabic? Radius.circular(0.0):Radius.circular(10.0),
topRight: projectViewModel.isArabic? Radius.circular(10.0):Radius.circular(0.0)
),
),
child: Center(
child: AppText(
TranslationBase.of(context).date,
color: Colors.white,
),
),
height: 60,
),
),
Container(
child: Container(
decoration: BoxDecoration(
color: Theme.of(context).primaryColor,
),
child: Center(
child: AppText(widget.title2, color: Colors.white),
),
height: 60),
),
Container( Container(
child: Container( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
@ -98,22 +151,24 @@ class _VitalSignDetailsWidgetState extends State<VitalSignBloodPressureWidget> {
), ),
height: 60), height: 60),
), ),
])); ]));*/
widget.vitalList.forEach((vital) { widget.vitalList.forEach((vital) {
var data = vital.toJson()[widget.viewKey1]; var data = vital.toJson()[widget.viewKey1];
DateTime elementDate = DateTime elementDate =
DateUtils.getDateTimeFromServerFormat(vital.createdOn); DateUtils.getDateTimeFromServerFormat(vital.createdOn);
if (data != 0) if (data != 0)
tableRow.add(TableRow(children: [ tableRow.add(TableRow(children: [
Container( Container(
child: Container( child: Container(
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
color: Colors.white, color: Colors.white,
child: Center( child: AppText(
child: AppText( '${projectViewModel.isArabic ? DateUtils.getWeekDayArabic(elementDate.weekday) : DateUtils.getWeekDay(elementDate.weekday)}, ${elementDate.day} ${projectViewModel.isArabic ? DateUtils.getMonthArabic(elementDate.month) : DateUtils.getMonth(elementDate.month)}, ${elementDate.year} ',
'${projectViewModel.isArabic ? DateUtils.getWeekDayArabic(elementDate.weekday) : DateUtils.getWeekDay(elementDate.weekday)}, ${elementDate.day} ${projectViewModel.isArabic ? DateUtils.getMonthArabic(elementDate.month) : DateUtils.getMonth(elementDate.month)}, ${elementDate.year} ', // textAlign: TextAlign.center,
textAlign: TextAlign.center, fontSize: SizeConfig.textMultiplier * 1.6,
), fontWeight: FontWeight.w600,
backGroundcolor: Colors.black,
fontFamily: 'Poppins',
), ),
), ),
), ),
@ -121,11 +176,13 @@ class _VitalSignDetailsWidgetState extends State<VitalSignBloodPressureWidget> {
child: Container( child: Container(
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
color: Colors.white, color: Colors.white,
child: Center( child: AppText(
child: AppText( '${vital.toJson()[widget.viewKey1]}',
'${vital.toJson()[widget.viewKey1]}', // textAlign: TextAlign.center,
textAlign: TextAlign.center, fontSize: SizeConfig.textMultiplier * 1.6,
), fontWeight: FontWeight.w600,
backGroundcolor: Colors.black,
fontFamily: 'Poppins',
), ),
), ),
), ),
@ -133,11 +190,13 @@ class _VitalSignDetailsWidgetState extends State<VitalSignBloodPressureWidget> {
child: Container( child: Container(
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
color: Colors.white, color: Colors.white,
child: Center( child: AppText(
child: AppText( '${vital.toJson()[widget.viewKey2]}',
'${vital.toJson()[widget.viewKey2]}', // textAlign: TextAlign.center,
textAlign: TextAlign.center, fontSize: SizeConfig.textMultiplier * 1.6,
), fontWeight: FontWeight.w600,
backGroundcolor: Colors.black,
fontFamily: 'Poppins',
), ),
), ),
), ),

@ -39,7 +39,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
builder: (_, mode, widget) => AppScaffold( builder: (_, mode, widget) => AppScaffold(
isShowAppBar: false, isShowAppBar: false,
baseViewModel: mode, baseViewModel: mode,
/* appBar: PatientProfileHeaderWhitAppointmentAppBar( /* appBar: PatientProfileHeaderWhitAppointmentAppBar(
patient: patient, patient: patient,
patientType: patientType, patientType: patientType,
arrivalType: arrivalType, arrivalType: arrivalType,
@ -140,7 +140,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
? '${assetBasePath}health_BMI.png' ? '${assetBasePath}health_BMI.png'
: '${assetBasePath}health_BMI-r.png', : '${assetBasePath}health_BMI-r.png',
height: height:
MediaQuery.of(context).size.height * 0.10, MediaQuery.of(context).size.height * 0.10,
), ),
const SizedBox( const SizedBox(
height: 4, height: 4,
@ -176,7 +176,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
? '${assetBasePath}ovrweight_BMI.png' ? '${assetBasePath}ovrweight_BMI.png'
: '${assetBasePath}ovrweight_BMI-r.png', : '${assetBasePath}ovrweight_BMI-r.png',
height: height:
MediaQuery.of(context).size.height * 0.10, MediaQuery.of(context).size.height * 0.10,
), ),
const SizedBox( const SizedBox(
height: 4, height: 4,
@ -203,75 +203,75 @@ class VitalSignDetailsScreen extends StatelessWidget {
)), )),
Expanded( Expanded(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Image.asset( Image.asset(
mode.getBMIStatus() != 4 mode.getBMIStatus() != 4
? '${assetBasePath}Obese_BMI.png' ? '${assetBasePath}Obese_BMI.png'
: '${assetBasePath}Obese_BMI-r.png', : '${assetBasePath}Obese_BMI-r.png',
height: height:
MediaQuery.of(context).size.height * 0.10, MediaQuery.of(context).size.height * 0.10,
), ),
const SizedBox( const SizedBox(
height: 4, height: 4,
), ),
AppText( AppText(
"${TranslationBase.of(context).bmiObese}", "${TranslationBase.of(context).bmiObese}",
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15, fontSize: SizeConfig.textMultiplier * 1.15,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 4 color: mode.getBMIStatus() == 4
? Color(0XFFD02127) ? Color(0XFFD02127)
: null, : null,
), ),
AppText( AppText(
"(30-34.9)", "(30-34.9)",
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15, fontSize: SizeConfig.textMultiplier * 1.15,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 4 color: mode.getBMIStatus() == 4
? Color(0XFFD02127) ? Color(0XFFD02127)
: null, : null,
), ),
], ],
)), )),
Expanded( Expanded(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Image.asset( Image.asset(
mode.getBMIStatus() != 5 mode.getBMIStatus() != 5
? '${assetBasePath}Obese_BMI.png' ? '${assetBasePath}Obese_BMI.png'
: '${assetBasePath}Obese_BMI-r.png', : '${assetBasePath}Obese_BMI-r.png',
height: height:
MediaQuery.of(context).size.height * 0.10, MediaQuery.of(context).size.height * 0.10,
), ),
const SizedBox( const SizedBox(
height: 4, height: 4,
), ),
FittedBox( FittedBox(
fit: BoxFit.fitWidth, fit: BoxFit.fitWidth,
child: AppText( child: AppText(
"${TranslationBase.of(context).bmiObeseExtreme} fdsd", "${TranslationBase.of(context).bmiObeseExtreme}",
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15, fontSize: SizeConfig.textMultiplier * 1.15,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 4 color: mode.getBMIStatus() == 5
? Color(0XFFD02127) ? Color(0XFFD02127)
: null, : null,
), ),
), ),
AppText( AppText(
"(35<)", "(35<)",
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15, fontSize: SizeConfig.textMultiplier * 1.15,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 4 color: mode.getBMIStatus() == 5
? Color(0XFFD02127) ? Color(0XFFD02127)
: null, : null,
), ),
], ],
)), )),
], ],
) )
], ],
@ -280,7 +280,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
Expanded( Expanded(
child: Container( child: Container(
margin: EdgeInsets.symmetric(horizontal: 8.0), margin: EdgeInsets.symmetric(horizontal: 8.0),
child : GridView.count( child: GridView.count(
shrinkWrap: true, shrinkWrap: true,
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
crossAxisSpacing: 4, crossAxisSpacing: 4,
@ -291,24 +291,25 @@ class VitalSignDetailsScreen extends StatelessWidget {
InkWell( InkWell(
onTap: () => isNotOneAppointment onTap: () => isNotOneAppointment
? Navigator.push( ? Navigator.push(
context, context,
FadePage( FadePage(
page: VitalSignItemDetailsScreen( page: VitalSignItemDetailsScreen(
pageKey: vitalSignDetails.Height, pageKey: vitalSignDetails.Height,
pageTitle: pageTitle:
TranslationBase.of(context) TranslationBase.of(context).height,
.height, vitalList:
vitalList: mode.patientVitalSignsHistory,
mode.patientVitalSignsHistory, patient: patient,
), patientType: patientType,
), arrivalType: arrivalType,
) ),
),
)
: null, : null,
child: Container( child: Container(
child: VitalSignItem( child: VitalSignItem(
des: TranslationBase.of(context).height, des: TranslationBase.of(context).height,
imagePath: imagePath: "${assetBasePath}height.png",
"${assetBasePath}height.png",
lastVal: mode.heightCm, lastVal: mode.heightCm,
unit: TranslationBase.of(context).cm, unit: TranslationBase.of(context).cm,
), ),
@ -317,18 +318,20 @@ class VitalSignDetailsScreen extends StatelessWidget {
InkWell( InkWell(
onTap: () => isNotOneAppointment onTap: () => isNotOneAppointment
? Navigator.push( ? Navigator.push(
context, context,
FadePage( FadePage(
page: VitalSignItemDetailsScreen( page: VitalSignItemDetailsScreen(
pageKey: vitalSignDetails.Weight, pageKey: vitalSignDetails.Weight,
pageTitle: pageTitle:
TranslationBase.of(context) TranslationBase.of(context).weight,
.weight, vitalList:
vitalList: mode.patientVitalSignsHistory,
mode.patientVitalSignsHistory, patient: patient,
), patientType: patientType,
), arrivalType: arrivalType,
) ),
),
)
: null, : null,
child: VitalSignItem( child: VitalSignItem(
des: TranslationBase.of(context).weight, des: TranslationBase.of(context).weight,
@ -340,26 +343,25 @@ class VitalSignDetailsScreen extends StatelessWidget {
InkWell( InkWell(
onTap: () => isNotOneAppointment onTap: () => isNotOneAppointment
? Navigator.push( ? Navigator.push(
context, context,
FadePage( FadePage(
page: VitalSignItemDetailsScreen( page: VitalSignItemDetailsScreen(
pageKey: pageKey: vitalSignDetails.Temperature,
vitalSignDetails.Temperature, pageTitle: TranslationBase.of(context)
pageTitle: .temperature,
TranslationBase.of(context) vitalList:
.temperature, mode.patientVitalSignsHistory,
vitalList: patient: patient,
mode.patientVitalSignsHistory, patientType: patientType,
), arrivalType: arrivalType,
), ),
) ),
)
: null, : null,
child: Container( child: Container(
child: VitalSignItem( child: VitalSignItem(
des: des: TranslationBase.of(context).temperature,
TranslationBase.of(context).temperature, imagePath: "${assetBasePath}temperature.png",
imagePath:
"${assetBasePath}temperature.png",
lastVal: mode.temperatureCelcius, lastVal: mode.temperatureCelcius,
unit: TranslationBase.of(context).tempC, unit: TranslationBase.of(context).tempC,
), ),
@ -368,23 +370,24 @@ class VitalSignDetailsScreen extends StatelessWidget {
InkWell( InkWell(
onTap: () => isNotOneAppointment onTap: () => isNotOneAppointment
? Navigator.push( ? Navigator.push(
context, context,
FadePage( FadePage(
page: VitalSignItemDetailsScreen( page: VitalSignItemDetailsScreen(
pageKey: vitalSignDetails.heart, pageKey: vitalSignDetails.heart,
pageTitle: pageTitle:
TranslationBase.of(context) TranslationBase.of(context).heart,
.heart, vitalList:
vitalList: mode.patientVitalSignsHistory,
mode.patientVitalSignsHistory, patient: patient,
), patientType: patientType,
), arrivalType: arrivalType,
) ),
),
)
: null, : null,
child: VitalSignItem( child: VitalSignItem(
des: TranslationBase.of(context).heart, des: TranslationBase.of(context).heart,
imagePath: imagePath: "${assetBasePath}heart_rate.png",
"${assetBasePath}heart_rate.png",
lastVal: mode.hartRat, lastVal: mode.hartRat,
unit: TranslationBase.of(context).bpm, unit: TranslationBase.of(context).bpm,
), ),
@ -392,52 +395,50 @@ class VitalSignDetailsScreen extends StatelessWidget {
InkWell( InkWell(
onTap: () => isNotOneAppointment onTap: () => isNotOneAppointment
? Navigator.push( ? Navigator.push(
context, context,
FadePage( FadePage(
page: VitalSignItemDetailsScreen( page: VitalSignItemDetailsScreen(
pageKey: pageKey: vitalSignDetails.Respiration,
vitalSignDetails.Respiration, pageTitle: TranslationBase.of(context)
pageTitle: .respirationRate,
TranslationBase.of(context) vitalList:
.respirationRate, mode.patientVitalSignsHistory,
vitalList: patient: patient,
mode.patientVitalSignsHistory, patientType: patientType,
), arrivalType: arrivalType,
), ),
) ),
)
: null, : null,
child: VitalSignItem( child: VitalSignItem(
des: TranslationBase.of(context) des: TranslationBase.of(context).respirationRate,
.respirationRate, imagePath: "${assetBasePath}respiration_rate.png",
imagePath:
"${assetBasePath}respiration_rate.png",
lastVal: mode.respirationBeatPerMinute, lastVal: mode.respirationBeatPerMinute,
unit: TranslationBase.of(context) unit:
.respirationSigns, TranslationBase.of(context).respirationSigns,
), ),
), ),
InkWell( InkWell(
onTap: () => isNotOneAppointment onTap: () => isNotOneAppointment
? Navigator.push( ? Navigator.push(
context, context,
FadePage( FadePage(
page: VitalSignItemDetailsScreen( page: VitalSignItemDetailsScreen(
pageKey: pageKey: vitalSignDetails.BloodPressure,
vitalSignDetails.BloodPressure, pageTitle: TranslationBase.of(context)
pageTitle: .bloodPressure,
TranslationBase.of(context) vitalList:
.bloodPressure, mode.patientVitalSignsHistory,
vitalList: patient: patient,
mode.patientVitalSignsHistory, patientType: patientType,
), arrivalType: arrivalType,
), ),
) ),
)
: null, : null,
child: VitalSignItem( child: VitalSignItem(
des: des: TranslationBase.of(context).bloodPressure,
TranslationBase.of(context).bloodPressure, imagePath: "${assetBasePath}blood_pressure.png",
imagePath:
"${assetBasePath}blood_pressure.png",
lastVal: mode.bloodPressure, lastVal: mode.bloodPressure,
unit: TranslationBase.of(context).sysDias, unit: TranslationBase.of(context).sysDias,
), ),

@ -1,3 +1,4 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-data.dart'; import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-data.dart';
import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-history.dart'; import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-history.dart';
@ -27,21 +28,74 @@ class _VitalSignDetailsWidgetState extends State<VitalSignDetailsWidget> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
return Container( return Container(
decoration: BoxDecoration( /*decoration: BoxDecoration(
color: Colors.transparent, color: Colors.transparent,
borderRadius: BorderRadius.only( borderRadius: BorderRadius.only(
topLeft: Radius.circular(10.0), topRight: Radius.circular(10.0)), topLeft: Radius.circular(10.0), topRight: Radius.circular(10.0)),
border: Border.all(color: Colors.grey, width: 1), border: Border.all(color: Colors.grey, width: 1),
), ),*/
margin: EdgeInsets.all(20), margin: EdgeInsets.all(0),
child: Container( child: Container(
color: Colors.transparent, color: Colors.transparent,
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Row(
children: [
Expanded(
child: Container(
child: Container(
padding: EdgeInsets.all(8),
/*decoration: BoxDecoration(
color: Theme.of(context).primaryColor,
borderRadius: BorderRadius.only(
topLeft:projectViewModel.isArabic? Radius.circular(0.0):Radius.circular(10.0),
topRight: projectViewModel.isArabic? Radius.circular(10.0):Radius.circular(0.0)
),
),*/
child: AppText(
TranslationBase.of(context).date,
fontSize: SizeConfig.textMultiplier * 1.6,
fontWeight: FontWeight.bold,
backGroundcolor: Colors.black,
fontFamily: 'Poppins',
),
// height: 60,
),
),
),
Expanded(
child: Container(
padding: EdgeInsets.all(8),
child: Container(
/*decoration: BoxDecoration(
color: Theme.of(context).primaryColor,
borderRadius: BorderRadius.only(
topRight: projectViewModel.isArabic? Radius.circular(0.0):Radius.circular(10.0),
topLeft: projectViewModel.isArabic? Radius.circular(10.0):Radius.circular(0.0)
),
),*/
child: AppText(
widget.title2,
fontSize: SizeConfig.textMultiplier * 1.6,
fontWeight: FontWeight.bold,
backGroundcolor: Colors.black,
fontFamily: 'Poppins',
),
// height: 60
),
),
)
],
),
const Divider(
height: 1,
thickness: 1,
color: Colors.black,
),
Table( Table(
border: TableBorder.symmetric( border: TableBorder(
inside: BorderSide(width: 2.0, color: Colors.grey[300]), horizontalInside: BorderSide(width: 1.0, color: Colors.grey[300]),
), ),
children: fullData(projectViewModel), children: fullData(projectViewModel),
), ),
@ -53,67 +107,40 @@ class _VitalSignDetailsWidgetState extends State<VitalSignDetailsWidget> {
List<TableRow> fullData(ProjectViewModel projectViewModel) { List<TableRow> fullData(ProjectViewModel projectViewModel) {
List<TableRow> tableRow = []; List<TableRow> tableRow = [];
tableRow.add(TableRow(children: [ /* tableRow.add(TableRow(children: [
Container(
child: Container( ]));*/
decoration: BoxDecoration(
color: Theme.of(context).primaryColor,
borderRadius: BorderRadius.only(
topLeft:projectViewModel.isArabic? Radius.circular(0.0):Radius.circular(10.0),
topRight: projectViewModel.isArabic? Radius.circular(10.0):Radius.circular(0.0)
),
),
child: Center(
child: AppText(
TranslationBase.of(context).date,
color: Colors.white,
),
),
height: 60,
),
),
Container(
child: Container(
decoration: BoxDecoration(
color: Theme.of(context).primaryColor,
borderRadius: BorderRadius.only(
topRight: projectViewModel.isArabic? Radius.circular(0.0):Radius.circular(10.0),
topLeft: projectViewModel.isArabic? Radius.circular(10.0):Radius.circular(0.0)
),
),
child: Center(
child: AppText(widget.title2, color: Colors.white),
),
height: 60),
)
]));
widget.vitalList.forEach((vital) { widget.vitalList.forEach((vital) {
var data = vital.toJson()[widget.viewKey]; var data = vital.toJson()[widget.viewKey];
DateTime elementDate = DateTime elementDate =
DateUtils.getDateTimeFromServerFormat(vital.createdOn); DateUtils.getDateTimeFromServerFormat(vital.createdOn);
if (data != 0) if (data != 0)
tableRow.add(TableRow(children: [ tableRow.add(TableRow(children: [
Container( Container(
child: Container( child: Container(
padding: EdgeInsets.all(10), padding: EdgeInsets.all(8),
color: Colors.white, color: Colors.white,
child: Center( child: AppText(
child: AppText( '${projectViewModel.isArabic ? DateUtils.getWeekDayArabic(elementDate.weekday) : DateUtils.getWeekDay(elementDate.weekday)}, ${elementDate.day} ${projectViewModel.isArabic ? DateUtils.getMonthArabic(elementDate.month) : DateUtils.getMonth(elementDate.month)}, ${elementDate.year} ',
'${projectViewModel.isArabic ? DateUtils.getWeekDayArabic(elementDate.weekday) : DateUtils.getWeekDay(elementDate.weekday)}, ${elementDate.day} ${projectViewModel.isArabic ? DateUtils.getMonthArabic(elementDate.month) : DateUtils.getMonth(elementDate.month)}, ${elementDate.year} ', // textAlign: TextAlign.center,
textAlign: TextAlign.center, fontSize: SizeConfig.textMultiplier * 1.8,
), fontWeight: FontWeight.w600,
backGroundcolor: Colors.black,
fontFamily: 'Poppins',
), ),
), ),
), ),
Container( Container(
child: Container( child: Container(
padding: EdgeInsets.all(10), padding: EdgeInsets.all(8),
color: Colors.white, color: Colors.white,
child: Center( child: AppText(
child: AppText( '${vital.toJson()[widget.viewKey]}',
'${vital.toJson()[widget.viewKey]}', // textAlign: TextAlign.center,
textAlign: TextAlign.center, fontSize: SizeConfig.textMultiplier * 1.8,
), fontWeight: FontWeight.w600,
backGroundcolor: Colors.black,
fontFamily: 'Poppins',
), ),
), ),
), ),

@ -1,10 +1,15 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/lookups/patient_lookup.dart'; import 'package:doctor_app_flutter/lookups/patient_lookup.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-data.dart'; import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-data.dart';
import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-history.dart'; import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-history.dart';
import 'package:doctor_app_flutter/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart'; import 'package:doctor_app_flutter/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart';
import 'package:doctor_app_flutter/screens/patients/profile/vital_sign/vital_sing_chart_blood_pressure.dart'; import 'package:doctor_app_flutter/screens/patients/profile/vital_sign/vital_sing_chart_blood_pressure.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -12,8 +17,17 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
final vitalSignDetails pageKey; final vitalSignDetails pageKey;
final String pageTitle; final String pageTitle;
List<Map> VSchart; List<Map> VSchart;
PatiantInformtion patient;
VitalSignItemDetailsScreen({this.vitalList, this.pageKey, this.pageTitle}); String patientType;
String arrivalType;
VitalSignItemDetailsScreen(
{this.vitalList,
this.pageKey,
this.pageTitle,
this.patient,
this.patientType,
this.arrivalType});
final List<VitalSignHistory> vitalList; final List<VitalSignHistory> vitalList;
@ -31,7 +45,6 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
'title2Ar': 'الكتلة', 'title2Ar': 'الكتلة',
'viewKey': 'BodyMassIndex', 'viewKey': 'BodyMassIndex',
}, },
]; ];
break; break;
@ -87,7 +100,6 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
'title3Ar': 'الإنبساط', 'title3Ar': 'الإنبساط',
'viewKey': 'BloodPressure', 'viewKey': 'BloodPressure',
}, },
]; ];
break; break;
@ -161,35 +173,79 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
} }
return AppScaffold( return AppScaffold(
appBarTitle: pageTitle, appBarTitle: pageTitle,
backgroundColor: Color.fromRGBO(248, 248, 248, 1),
isShowAppBar: true, isShowAppBar: true,
body: ListView( appBar: PatientProfileHeaderNewDesignAppBar(
children: VSchart.map((chartInfo) { patient, patientType, arrivalType),
var vitalListTemp = vitalList.where( body: SingleChildScrollView(
(element) => element.toJson()[chartInfo['viewKey']] != null, child: Column(
); crossAxisAlignment: CrossAxisAlignment.start,
children: [
if(vitalListTemp.length != 0 && chartInfo['viewKey']=='BloodPressure'){ Container(
return VitalSingChartBloodPressure( margin: EdgeInsets.all(16.0),
vitalList: vitalList, child: Column(
name:projectViewModel.isArabic? chartInfo['nameAr']:chartInfo['name'], crossAxisAlignment: CrossAxisAlignment.start,
title1: chartInfo['title1'], children: [
title2:projectViewModel.isArabic?chartInfo['title2Ar']: chartInfo['title2'], AppText(
title3:projectViewModel.isArabic?chartInfo['title3Ar']: chartInfo['title3'], "${patient.firstName ?? patient.patientDetails.firstName}'s",
viewKey1: 'BloodPressureHigher', fontFamily: 'Poppins',
viewKey2: 'BloodPressureLower', fontSize: SizeConfig.textMultiplier * 1.6,
fontWeight: FontWeight.w600,
); ),
} AppText(
TranslationBase.of(context).vitalSign,
return vitalListTemp.length != 0 fontFamily: 'Poppins',
? VitalSingChartAndDetials( fontSize: SizeConfig.textMultiplier * 3,
vitalList: vitalList, fontWeight: FontWeight.bold,
name:projectViewModel.isArabic? chartInfo['nameAr']:chartInfo['name'], )
title1: chartInfo['title1'], ],
title2:projectViewModel.isArabic?chartInfo['title2Ar']: chartInfo['title2'], ),
viewKey: chartInfo['viewKey']) ),
: Container(); Container(
}).toList(), child: ListView(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
children: VSchart.map((chartInfo) {
var vitalListTemp = vitalList.where(
(element) => element.toJson()[chartInfo['viewKey']] != null,
);
if (vitalListTemp.length != 0 &&
chartInfo['viewKey'] == 'BloodPressure') {
return VitalSingChartBloodPressure(
vitalList: vitalList,
name: projectViewModel.isArabic
? chartInfo['nameAr']
: chartInfo['name'],
title1: chartInfo['title1'],
title2: projectViewModel.isArabic
? chartInfo['title2Ar']
: chartInfo['title2'],
title3: projectViewModel.isArabic
? chartInfo['title3Ar']
: chartInfo['title3'],
viewKey1: 'BloodPressureHigher',
viewKey2: 'BloodPressureLower',
);
}
return vitalListTemp.length != 0
? VitalSingChartAndDetials(
vitalList: vitalList,
name: projectViewModel.isArabic
? chartInfo['nameAr']
: chartInfo['name'],
title1: chartInfo['title1'],
title2: projectViewModel.isArabic
? chartInfo['title2Ar']
: chartInfo['title2'],
viewKey: chartInfo['viewKey'])
: Container();
}).toList(),
),
),
],
),
), ),
); );
} }

@ -1,3 +1,4 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-data.dart'; import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-data.dart';
import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-history.dart'; import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-history.dart';
import 'package:doctor_app_flutter/screens/patients/profile/vital_sign/vital_sign_details_wideget.dart'; import 'package:doctor_app_flutter/screens/patients/profile/vital_sign/vital_sign_details_wideget.dart';
@ -32,9 +33,52 @@ class VitalSingChartAndDetials extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
generateData(); generateData();
return timeSeriesData.length != 0 ? Column( return timeSeriesData.length != 0
children: <Widget>[ ? Padding(
AppExpandableNotifier( padding: const EdgeInsets.all(10.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
margin: EdgeInsets.symmetric(horizontal: 8),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12)
),
child: LineChartCurved(
title: name,
timeSeries: timeSeriesData,
indexes: timeSeriesData.length ~/ 5.5,
),
),
Container(
margin: EdgeInsets.symmetric(horizontal: 8, vertical: 16),
padding: EdgeInsets.only(top: 16, right: 18.0, left: 16.0),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12)
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
"Graph Details",
fontSize: SizeConfig.textMultiplier * 2.1,
fontWeight: FontWeight.bold,
backGroundcolor: Colors.black,
fontFamily: 'Poppins',
),
SizedBox(height: 8,),
VitalSignDetailsWidget(
vitalList: vitalList,
title1: title1,
title2: title2,
viewKey: viewKey,
),
],
),
),
/*AppExpandableNotifier(
// isExpand: true, // isExpand: true,
headerWid: LineChartCurved(title: name,timeSeries:timeSeriesData,indexes: timeSeriesData.length~/5.5,), headerWid: LineChartCurved(title: name,timeSeries:timeSeriesData,indexes: timeSeriesData.length~/5.5,),
bodyWid: VitalSignDetailsWidget( bodyWid: VitalSignDetailsWidget(
@ -43,26 +87,31 @@ class VitalSingChartAndDetials extends StatelessWidget {
title2: title2, title2: title2,
viewKey: viewKey, viewKey: viewKey,
), ),
), ),*/
], ],
) : Container( ),
width: double.infinity, )
height: MediaQuery.of(context).size.height, : Container(
child: Center( width: double.infinity,
child: AppText(TranslationBase.of(context).vitalSignDetailEmpty), height: MediaQuery.of(context).size.height,
), child: Center(
); child: AppText(TranslationBase.of(context).vitalSignDetailEmpty),
),
);
} }
generateData() { generateData() {
if (vitalList.length > 0) { if (vitalList.length > 0) {
vitalList.reversed.toList().forEach( vitalList.reversed.toList().forEach(
(element) { (element) {
DateTime elementDate = DateUtils.getDateTimeFromServerFormat(element.createdOn); DateTime elementDate =
if(element.toJson()[viewKey]!=null && element.toJson()[viewKey]?.toInt()!=0) DateUtils.getDateTimeFromServerFormat(element.createdOn);
if (element.toJson()[viewKey] != null &&
element.toJson()[viewKey]?.toInt() != 0)
timeSeriesData.add( timeSeriesData.add(
TimeSeriesSales2( TimeSeriesSales2(
new DateTime(elementDate.year, elementDate.month, elementDate.day), new DateTime(
elementDate.year, elementDate.month, elementDate.day),
element.toJson()[viewKey].toDouble(), element.toJson()[viewKey].toDouble(),
), ),
); );

@ -1,9 +1,11 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-data.dart'; import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-data.dart';
import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-history.dart'; import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-history.dart';
import 'package:doctor_app_flutter/screens/patients/profile/vital_sign/vital_sign_details_blood_pressurewideget.dart'; import 'package:doctor_app_flutter/screens/patients/profile/vital_sign/vital_sign_details_blood_pressurewideget.dart';
import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/widgets/charts/app_time_series_chart.dart'; import 'package:doctor_app_flutter/widgets/charts/app_time_series_chart.dart';
import 'package:doctor_app_flutter/widgets/shared/app_expandable_notifier.dart'; import 'package:doctor_app_flutter/widgets/shared/app_expandable_notifier.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:charts_flutter/flutter.dart' as charts; import 'package:charts_flutter/flutter.dart' as charts;
@ -36,26 +38,72 @@ class VitalSingChartBloodPressure extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
generateData(); generateData();
return Column( return Padding(
children: <Widget>[ padding: const EdgeInsets.all(10.0),
AppExpandableNotifier( child: Column(
// isExpand: true, crossAxisAlignment: CrossAxisAlignment.start,
headerWid: LineChartCurvedBloodPressure( children: <Widget>[
title: name, Container(
timeSeries1: timeSeriesData1, margin: EdgeInsets.symmetric(horizontal: 8),
timeSeries2: timeSeriesData2, decoration: BoxDecoration(
indexes: timeSeriesData1.length ~/ 5.5, color: Colors.white,
borderRadius: BorderRadius.circular(12)
),
child: LineChartCurvedBloodPressure(
title: name,
timeSeries1: timeSeriesData1,
timeSeries2: timeSeriesData2,
indexes: timeSeriesData1.length ~/ 5.5,
),
), ),
bodyWid: VitalSignBloodPressureWidget( Container(
vitalList: vitalList, margin: EdgeInsets.symmetric(horizontal: 8, vertical: 16),
title1: title1, padding: EdgeInsets.only(top: 16, right: 18.0, left: 16.0),
title2: title2, decoration: BoxDecoration(
title3: title3, color: Colors.white,
viewKey1: viewKey1, borderRadius: BorderRadius.circular(12)
viewKey2: viewKey2, ),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
"Graph Details",
fontSize: SizeConfig.textMultiplier * 2.3,
fontWeight: FontWeight.bold,
backGroundcolor: Colors.black,
fontFamily: 'Poppins',
),
SizedBox(height: 8,),
VitalSignBloodPressureWidget(
vitalList: vitalList,
title1: title1,
title2: title2,
title3: title3,
viewKey1: viewKey1,
viewKey2: viewKey2,
),
],
),
), ),
), /*AppExpandableNotifier(
], // isExpand: true,
headerWid: LineChartCurvedBloodPressure(
title: name,
timeSeries1: timeSeriesData1,
timeSeries2: timeSeriesData2,
indexes: timeSeriesData1.length ~/ 5.5,
),
bodyWid: VitalSignBloodPressureWidget(
vitalList: vitalList,
title1: title1,
title2: title2,
title3: title3,
viewKey1: viewKey1,
viewKey2: viewKey2,
),
),*/
],
),
); );
} }

@ -25,116 +25,113 @@ class ProcedureCard extends StatelessWidget {
borderRadius: BorderRadius.circular(15), borderRadius: BorderRadius.circular(15),
color: Colors.white, color: Colors.white,
), ),
child: Padding( child: Container(
padding: const EdgeInsets.all(8.0), child: Row(
child: Container( mainAxisAlignment: MainAxisAlignment.start,
child: Row( children: [
mainAxisAlignment: MainAxisAlignment.start, Container(
children: [ height: MediaQuery.of(context).size.height * .20,
Container( width: 5,
height: MediaQuery.of(context).size.height * .20, decoration: BoxDecoration(
width: 5, borderRadius: BorderRadius.only(
decoration: BoxDecoration( topLeft: Radius.circular(10),
borderRadius: BorderRadius.only( bottomLeft: Radius.circular(10),
topLeft: Radius.circular(10),
bottomLeft: Radius.circular(10),
),
color: entityList.orderType == 1
? Colors.red[500]
: Colors.black,
), ),
color: entityList.orderType == 1
? Colors.red[500]
: Colors.black,
), ),
Expanded( ),
child: Container( Expanded(
padding: EdgeInsets.only( child: Container(
left: projectViewModel.isArabic ? 0 : 15, padding: EdgeInsets.only(
right: projectViewModel.isArabic ? 15 : 0), left: projectViewModel.isArabic ? 0 : 15,
child: InkWell( right: projectViewModel.isArabic ? 15 : 0),
child: Column( child: InkWell(
crossAxisAlignment: CrossAxisAlignment.start, child: Column(
children: [ crossAxisAlignment: CrossAxisAlignment.start,
Row( children: [
mainAxisAlignment: MainAxisAlignment.spaceBetween, Row(
children: [ mainAxisAlignment: MainAxisAlignment.spaceBetween,
Expanded( children: [
child: Column( Expanded(
crossAxisAlignment: CrossAxisAlignment.start, child: Column(
children: [ crossAxisAlignment: CrossAxisAlignment.start,
Texts(
entityList.orderType == 0
? 'Routine'
: 'Urgent',
color: entityList.orderType == 0
? Colors.black
: Colors.red[800],
fontWeight: FontWeight.w600,
),
SizedBox(
height: 5,
),
Texts(
entityList.procedureName,
bold: true,
fontSize: 14,
),
],
),
),
SizedBox(
width: 5,
),
Column(
crossAxisAlignment: CrossAxisAlignment.end,
mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
Texts( Texts(
'${DateUtils.getDayMonthYearDateFormatted(DateUtils.convertISOStringToDateTime(entityList.orderDate), isArabic: projectViewModel.isArabic)}', entityList.orderType == 0
color: Colors.black, ? 'Routine'
: 'Urgent',
color: entityList.orderType == 0
? Colors.black
: Colors.red[800],
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
fontSize: 14, ),
SizedBox(
height: 5,
), ),
Texts( Texts(
'${DateUtils.getHour(DateUtils.convertISOStringToDateTime(entityList.orderDate))}', entityList.procedureName,
fontWeight: FontWeight.w600, bold: true,
color: Colors.grey[700],
fontSize: 14, fontSize: 14,
), ),
], ],
), ),
], ),
), SizedBox(
Row( width: 5,
children: [ ),
Texts( Column(
TranslationBase.of(context).orderNo, crossAxisAlignment: CrossAxisAlignment.end,
color: Colors.grey, mainAxisAlignment: MainAxisAlignment.end,
fontSize: 12, children: [
), Texts(
Texts( '${DateUtils.getDayMonthYearDateFormatted(DateUtils.convertISOStringToDateTime(entityList.orderDate), isArabic: projectViewModel.isArabic)}',
entityList.orderNo.toString(), color: Colors.black,
color: Colors.grey, fontWeight: FontWeight.w600,
fontSize: 12, fontSize: 14,
), ),
], Texts(
), '${DateUtils.getHour(DateUtils.convertISOStringToDateTime(entityList.orderDate))}',
Row( fontWeight: FontWeight.w600,
mainAxisAlignment: MainAxisAlignment.spaceBetween, color: Colors.grey[700],
children: [ fontSize: 14,
Texts( ),
entityList.remarks ?? '', ],
fontSize: 12, ),
), ],
Icon(Icons.edit) ),
], Row(
) children: [
], Texts(
), TranslationBase.of(context).orderNo,
onTap: onTap, color: Colors.grey,
fontSize: 12,
),
Texts(
entityList.orderNo.toString(),
color: Colors.grey,
fontSize: 12,
),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Texts(
entityList.remarks ?? '',
fontSize: 12,
),
Icon(Icons.edit)
],
)
],
), ),
onTap: onTap,
), ),
), ),
], ),
), ],
), ),
), ),
); );

@ -7,6 +7,7 @@ import 'package:doctor_app_flutter/screens/procedures/update-procedure.dart';
import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design.dart';
import 'package:doctor_app_flutter/widgets/shared/Text.dart'; import 'package:doctor_app_flutter/widgets/shared/Text.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
@ -27,8 +28,8 @@ class ProcedureScreen extends StatelessWidget {
onModelReady: (model) => model.getProcedure(mrn: patient.patientId), onModelReady: (model) => model.getProcedure(mrn: patient.patientId),
builder: (BuildContext context, ProcedureViewModel model, Widget child) => builder: (BuildContext context, ProcedureViewModel model, Widget child) =>
AppScaffold( AppScaffold(
isShowAppBar: false, isShowAppBar: true,
appBarTitle: TranslationBase.of(context).orderProcedure, appBar: PatientProfileHeaderNewDesignAppBar(patient, arrivalType ?? '0', patientType),
body: NetworkBaseView( body: NetworkBaseView(
baseViewModel: model, baseViewModel: model,
child: SingleChildScrollView( child: SingleChildScrollView(
@ -37,8 +38,6 @@ class ProcedureScreen extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
PatientProfileHeaderNewDesign(
patient, arrivalType ?? '0', patientType),
SizedBox( SizedBox(
height: 12, height: 12,
), ),

@ -230,76 +230,77 @@ class AddSickLeavScreen extends StatelessWidget {
)); ));
}).toList(), }).toList(),
) )
: new Builder(builder: (context) { : SizedBox()
return Column( // : new Builder(builder: (context) {
crossAxisAlignment: CrossAxisAlignment.start, // return Column(
children: [ // crossAxisAlignment: CrossAxisAlignment.start,
Padding( // children: [
padding: EdgeInsets.all(10), // Padding(
child: Column( // padding: EdgeInsets.all(10),
crossAxisAlignment: CrossAxisAlignment.start, // child: Column(
children: [ // crossAxisAlignment: CrossAxisAlignment.start,
AppText( // children: [
TranslationBase.of(context).patient, // AppText(
fontWeight: FontWeight.bold, // TranslationBase.of(context).patient,
), // fontWeight: FontWeight.bold,
AppText( // ),
TranslationBase.of(context).sickLeave, // AppText(
fontSize: 24, // TranslationBase.of(context).sickLeave,
fontWeight: FontWeight.bold, // fontSize: 24,
), // fontWeight: FontWeight.bold,
], // ),
)), // ],
Container( // )),
width: SizeConfig.screenWidth, // Container(
margin: EdgeInsets.only( // width: SizeConfig.screenWidth,
left: 20, right: 20, top: 20, bottom: 20), // margin: EdgeInsets.only(
padding: EdgeInsets.all(20), // left: 20, right: 20, top: 20, bottom: 20),
decoration: BoxDecoration( // padding: EdgeInsets.all(20),
borderRadius: BorderRadius.circular(10), // decoration: BoxDecoration(
color: HexColor('#EAEAEA')), // borderRadius: BorderRadius.circular(10),
child: Column( // color: HexColor('#EAEAEA')),
mainAxisAlignment: MainAxisAlignment.start, // child: Column(
children: [ // mainAxisAlignment: MainAxisAlignment.start,
Container( // children: [
child: Container( // Container(
decoration: BoxDecoration( // child: Container(
color: Colors.grey, // decoration: BoxDecoration(
borderRadius: // color: Colors.grey,
BorderRadius.circular(10)), // borderRadius:
padding: EdgeInsets.all(3), // BorderRadius.circular(10)),
child: IconButton( // padding: EdgeInsets.all(3),
icon: Icon( // child: IconButton(
Icons.add, // icon: Icon(
size: 35, // Icons.add,
color: Colors.white, // size: 35,
), // color: Colors.white,
onPressed: () { // ),
openSickLeave( // onPressed: () {
context, // openSickLeave(
false, // context,
); // false,
}), // );
)), // }),
Padding( // )),
child: AppText( // Padding(
TranslationBase.of(context) // child: AppText(
.noSickLeaveApplied, // TranslationBase.of(context)
fontWeight: FontWeight.bold, // .noSickLeaveApplied,
fontFamily: 'Poppins', // fontWeight: FontWeight.bold,
fontSize: 16, // fontFamily: 'Poppins',
textAlign: TextAlign.center, // fontSize: 16,
color: HexColor('#7E7E7E')), // textAlign: TextAlign.center,
padding: EdgeInsets.all(10), // color: HexColor('#7E7E7E')),
), // padding: EdgeInsets.all(10),
], // ),
)), // ],
SizedBox( // )),
height: SizeConfig.screenHeight * .6, // SizedBox(
) // height: SizeConfig.screenHeight * .6,
], // )
); // ],
}), // );
// }),
])))); ]))));
} }

@ -30,6 +30,7 @@ class ShowSickLeaveScreen extends StatelessWidget {
model.getSickLeave(patient.patientMRN ?? patient.patientId), model.getSickLeave(patient.patientMRN ?? patient.patientId),
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
isShowAppBar: false,
appBarTitle: TranslationBase.of(context).sickleave, appBarTitle: TranslationBase.of(context).sickleave,
body: SingleChildScrollView( body: SingleChildScrollView(
child: Column( child: Column(

@ -1200,7 +1200,7 @@ class TranslationBase {
String get updateReschedule => String get updateReschedule =>
localizedValues['update-reschedule'][locale.languageCode]; localizedValues['update-reschedule'][locale.languageCode];
String get sickLeave => localizedValues['sick_leave'][locale.languageCode]; String get sickLeave => localizedValues['sick_leave'][locale.languageCode];
String get accepted => localizedValues['accepetd'][locale.languageCode]; String get accepted => localizedValues['accepted'][locale.languageCode];
String get cancelled => localizedValues['cancelled'][locale.languageCode]; String get cancelled => localizedValues['cancelled'][locale.languageCode];
String get unReplied => localizedValues['unReplied'][locale.languageCode]; String get unReplied => localizedValues['unReplied'][locale.languageCode];
String get replied => localizedValues['replied'][locale.languageCode]; String get replied => localizedValues['replied'][locale.languageCode];

@ -44,7 +44,11 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred
onPressed: () => Navigator.pop(context), onPressed: () => Navigator.pop(context),
), ),
AppText( AppText(
patient.firstName!=null? (Helpers.capitalize(patient.firstName) + " " + Helpers.capitalize(patient.lastName)):'', patient.firstName != null ?
(Helpers.capitalize(patient.firstName) +
" " +
Helpers.capitalize(
patient.lastName)) : Helpers.capitalize(patient.patientDetails.fullName),
fontSize: SizeConfig.textMultiplier * 2.5, fontSize: SizeConfig.textMultiplier * 2.5,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
backGroundcolor: Colors.white, backGroundcolor: Colors.white,

@ -134,16 +134,6 @@ class ProfileMedicalInfoWidgetSearch extends StatelessWidget {
nameLine1: TranslationBase.of(context).progress, nameLine1: TranslationBase.of(context).progress,
nameLine2: TranslationBase.of(context).note, nameLine2: TranslationBase.of(context).note,
icon: 'patient/Progress_notes.png'), icon: 'patient/Progress_notes.png'),
if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
PatientProfileButton(
key: key,
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
route: ORDER_PROCEDURE,
nameLine1: TranslationBase.of(context).orders,
nameLine2: TranslationBase.of(context).procedures,
icon: 'patient/Order_Procedures.png'),
], ],
), ),
); );

@ -0,0 +1,194 @@
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/large_avatar.dart';
import 'package:eva_icons_flutter/eva_icons_flutter.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'Text.dart';
class DoctorCardInsurance extends StatelessWidget {
final String doctorName;
final String branch;
final DateTime appointmentDate;
final String profileUrl;
final String invoiceNO;
final String orderNo;
final Function onTap;
final bool isPrescriptions;
final String clinic;
final String approvalStatus;
final String patientOut;
DoctorCardInsurance(
{this.doctorName,
this.branch,
this.profileUrl,
this.invoiceNO,
this.onTap,
this.appointmentDate,
this.orderNo,
this.isPrescriptions = false,
this.clinic,
this.approvalStatus,
this.patientOut});
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return Container(
width: double.maxFinite,
height: 160,
margin: EdgeInsets.all(10),
padding: EdgeInsets.only(left: 0, right: 5, bottom: 5, top: 5),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15),
color: Colors.white,
),
child: Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Container(
height: 160,
width: 5,
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(10),
bottomLeft: Radius.circular(10),
),
color: approvalStatus == "Approved" ? Color(0xff359846) : Color(0xffD02127),
),
),
Expanded(
child: Container(
padding: EdgeInsets.only(
left: projectViewModel.isArabic ? 0 : 15,
right: projectViewModel.isArabic ? 15 : 0),
child: InkWell(
onTap: onTap,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Texts(
"$approvalStatus",
color: approvalStatus == "Approved"
? Color(0xff359846)
: Color(0xffD02127),
),
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.all(
Radius.circular(25.0),
),
color: Color(0xff2E303A)),
child: Padding(
padding: const EdgeInsets.all(5.0),
child: Texts(
'$patientOut',
color: Colors.white,
fontSize: 13.0,
),
),
)
],
),
Row(
children: [
Expanded(
child: Texts(
doctorName,
bold: true,
)),
],
),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Container(
child: LargeAvatar(
name: doctorName,
url: profileUrl,
),
width: 55,
height: 55,
),
Expanded(
flex: 4,
child: Container(
margin: EdgeInsets.all(10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
if (orderNo != null && !isPrescriptions)
Row(
children: <Widget>[
Texts(
'order No:',
color: Colors.grey[500],
),
Texts(
orderNo ?? '',
)
],
),
if (invoiceNO != null && !isPrescriptions)
Row(
children: <Widget>[
Texts(
'Invoice:',
color: Colors.grey[500],
),
Texts(
invoiceNO,
)
],
),
if (isPrescriptions)
Row(
children: <Widget>[
Texts(
'Clinic: ',
color: Colors.grey[500],
),
Expanded(
child: Texts(
clinic,
),
)
],
),
if (branch != null)
Row(
children: <Widget>[
Texts(
'Approval No: ',
color: Colors.grey[500],
),
Texts(
branch,
)
],
)
]),
),
),
Icon(
EvaIcons.eye,
size: 38.0,
)
],
),
],
),
),
),
),
],
),
),
);
}
}

@ -608,7 +608,7 @@ packages:
name: meta name: meta
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.3.0-nullsafety.3" version: "1.3.0-nullsafety.4"
mime: mime:
dependency: transitive dependency: transitive
description: description:
@ -900,7 +900,7 @@ packages:
name: stack_trace name: stack_trace
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.10.0-nullsafety.1" version: "1.10.0-nullsafety.2"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
@ -1084,5 +1084,5 @@ packages:
source: hosted source: hosted
version: "2.2.1" version: "2.2.1"
sdks: sdks:
dart: ">=2.10.0 <2.11.0" dart: ">=2.10.0 <=2.11.0-213.1.beta"
flutter: ">=1.22.0 <2.0.0" flutter: ">=1.22.0 <2.0.0"

Loading…
Cancel
Save