ipd issues resolved.

ipd-changes-for-vida-plus
parent 103e267f6e
commit 412afbb532

@ -234,7 +234,7 @@ const Map<String, Map<String, String>> localizedValues = {
"en": "Clinical Details and Remarks", "en": "Clinical Details and Remarks",
"ar": "التفاصيل السرسرية والملاحظات" "ar": "التفاصيل السرسرية والملاحظات"
}, },
"remarks": {"en": "Remarks", "ar": "ملاحظات"}, "remarks": {"en": "Remarks ", "ar": "ملاحظات "},
"pleaseFill": { "pleaseFill": {
"en": "Please fill all fields..!", "en": "Please fill all fields..!",
"ar": "الرجاء ملأ جميع الحقول..!" "ar": "الرجاء ملأ جميع الحقول..!"
@ -1262,5 +1262,9 @@ const Map<String, Map<String, String>> localizedValues = {
"addDoctorRemarks": { "addDoctorRemarks": {
"en": " Doctor Remarks", "en": " Doctor Remarks",
"ar": " ملاحظات الطبيب" "ar": " ملاحظات الطبيب"
},
"kindlySelectCondition": {
"en": "Kindly select condition",
"ar": "يرجى تحديد الشرط"
} }
}; };

@ -9,6 +9,7 @@ class AdmissionOrdersRequestModel {
String? tokenID; String? tokenID;
int? patientID; int? patientID;
int? admissionNo; int? admissionNo;
int? admissionRequestNo;
String? sessionID; String? sessionID;
int? projectID; int? projectID;
String? setupID; String? setupID;
@ -32,7 +33,8 @@ class AdmissionOrdersRequestModel {
this.setupID, this.setupID,
this.patientOutSA, this.patientOutSA,
this.patientType, this.patientType,
this.patientTypeID}); this.patientTypeID,
this.admissionRequestNo});
AdmissionOrdersRequestModel.fromJson(Map<String, dynamic> json) { AdmissionOrdersRequestModel.fromJson(Map<String, dynamic> json) {
isDentalAllowedBackend = json['isDentalAllowedBackend']; isDentalAllowedBackend = json['isDentalAllowedBackend'];
@ -66,7 +68,7 @@ class AdmissionOrdersRequestModel {
data['PatientID'] = this.patientID; data['PatientID'] = this.patientID;
data['PatientMRN'] = this.patientID; data['PatientMRN'] = this.patientID;
data['AdmissionNo'] = this.admissionNo; data['AdmissionNo'] = this.admissionNo;
data['AdmissionRequestNo'] = this.admissionNo; data['AdmissionRequestNo'] = this.admissionRequestNo;
data['SessionID'] = this.sessionID; data['SessionID'] = this.sessionID;
data['ProjectID'] = this.projectID; data['ProjectID'] = this.projectID;
data['SetupID'] = this.setupID; data['SetupID'] = this.setupID;

@ -88,7 +88,7 @@ class NoteModel {
visitTime = json['VisitTime']; visitTime = json['VisitTime'];
status = json['Status']; status = json['Status'];
nursingRemarks = json['NursingRemarks']; nursingRemarks = json['NursingRemarks'];
createdOn = json['CreatedOn']; createdOn = json['CreatedOn']??json['createdOn'];
editedOn = json['EditedOn']; editedOn = json['EditedOn'];
createdBy = json['CreatedBy']; createdBy = json['CreatedBy'];
admissionClinicID = int.parse(json['speciality'].isEmpty == true?"-1":json['speciality']); admissionClinicID = int.parse(json['speciality'].isEmpty == true?"-1":json['speciality']);

@ -56,6 +56,7 @@ class PatiantInformtion {
int? patientMRN; int? patientMRN;
String? admissionNo; String? admissionNo;
int? admissionID; int? admissionID;
int? admissionRequestNo;
String? admissionDate; String? admissionDate;
DateTime? admissionDateWithDateTimeForm; DateTime? admissionDateWithDateTimeForm;
String? createdOn; String? createdOn;
@ -164,7 +165,8 @@ class PatiantInformtion {
this.admissionDateWithDateTimeForm, this.admissionDateWithDateTimeForm,
this.appointmentDateWithDateTimeForm, this.appointmentDateWithDateTimeForm,
this.pomrId, this.pomrId,
this.admissionID this.admissionID,
this.admissionRequestNo
}); });
PatiantInformtion.fromJson(Map<String, dynamic> json) { PatiantInformtion.fromJson(Map<String, dynamic> json) {
@ -286,6 +288,7 @@ class PatiantInformtion {
createdBy = json['CreatedBy']; createdBy = json['CreatedBy'];
editedBy = json['EditedBy']; editedBy = json['EditedBy'];
admissionID = json['AdmissionID']; admissionID = json['AdmissionID'];
admissionRequestNo = json['AdmissionRequestNo'];
} }
} }

@ -636,7 +636,8 @@ class PatientService extends BaseService {
"Speciality": patient.clinicId, "Speciality": patient.clinicId,
"ProgressNotesTypes": "DOCTOR_NOTE", "ProgressNotesTypes": "DOCTOR_NOTE",
"PatientCondition": data.conditionId, "PatientCondition": data.conditionId,
"ProjectID": patient.projectId "ProjectID": patient.projectId,
"VisitType": data.visitType
}; };
var success = false; var success = false;
await baseAppClient.post(CREATE_PROGRESS_NOTE, await baseAppClient.post(CREATE_PROGRESS_NOTE,

@ -60,12 +60,13 @@ class PendingOrderService extends BaseService {
}, body: pendingOrderRequestModel.toJson()); }, body: pendingOrderRequestModel.toJson());
} }
Future getAdmissionOrders({AdmissionOrdersRequestModel? admissionOrdersRequestModel, int? patientId, int? admissionNo}) async { Future getAdmissionOrders({AdmissionOrdersRequestModel? admissionOrdersRequestModel, int? patientId, int? admissionNo, int? admissionRequestNo}) async {
admissionOrdersRequestModel = AdmissionOrdersRequestModel( admissionOrdersRequestModel = AdmissionOrdersRequestModel(
patientID: patientId, patientID: patientId,
admissionNo: admissionNo, admissionNo: admissionNo,
patientTypeID: 1, patientTypeID: 1,
patientType: 1, patientType: 1,
admissionRequestNo: admissionRequestNo
); );
hasError = false; hasError = false;

@ -172,7 +172,8 @@ class PatientViewModel extends BaseViewModel {
"patientPomrId": patient.pomrId, "patientPomrId": patient.pomrId,
"endRow": 10000, // because no information is provided for the end row "endRow": 10000, // because no information is provided for the end row
"startRow": 0, "startRow": 0,
"ProjectID": patient.projectId "ProjectID": patient.projectId,
"VisitType": patientRequest["VisitType"]
}; };
await _patientService.getVidaPlusProgressNote(request); await _patientService.getVidaPlusProgressNote(request);
} else { } else {

@ -36,11 +36,11 @@ class PendingOrdersViewModel extends BaseViewModel {
} }
} }
Future getAdmissionOrders({required int patientId, required int admissionNo}) async { Future getAdmissionOrders({required int patientId, required int admissionNo, int? admissionRequestNo}) async {
hasError = false; hasError = false;
setState(ViewState.Busy); setState(ViewState.Busy);
await _pendingOrderService.getAdmissionOrders( await _pendingOrderService.getAdmissionOrders(
patientId: patientId, admissionNo: admissionNo); patientId: patientId, admissionNo: admissionNo, admissionRequestNo: admissionRequestNo);
if (_pendingOrderService.hasError) { if (_pendingOrderService.hasError) {
error = _pendingOrderService.error; error = _pendingOrderService.error;
setState(ViewState.ErrorLocal); setState(ViewState.ErrorLocal);

@ -18,14 +18,13 @@ class DischargeSummaryViewModel extends BaseViewModel {
Future getPendingDischargeSummary({ Future getPendingDischargeSummary({
required int patientId, required int patientId,
required int admissionNo, required int? clinicId, required int? doctorId, required int admissionNo, required int? clinicId,
}) async { }) async {
print("the clinic id is $clinicId"); print("the clinic id is $clinicId");
print("the doctorId id is $doctorId");
GetDischargeSummaryReqModel getDischargeSummaryReqModel = GetDischargeSummaryReqModel getDischargeSummaryReqModel =
GetDischargeSummaryReqModel( GetDischargeSummaryReqModel(
admissionNo: admissionNo, patientID: patientId, clinicId: clinicId , doctorId:doctorId); admissionNo: admissionNo, patientID: patientId, clinicId: clinicId , doctorId:null);
hasError = false; hasError = false;
setState(ViewState.Busy); setState(ViewState.Busy);
await _dischargeSummaryService.getPendingDischargeSummary( await _dischargeSummaryService.getPendingDischargeSummary(

@ -40,7 +40,9 @@ class _AdmissionOrdersScreenState extends State<AdmissionOrdersScreen> {
return BaseView<PendingOrdersViewModel>( return BaseView<PendingOrdersViewModel>(
onModelReady: (model) => model.getAdmissionOrders( onModelReady: (model) => model.getAdmissionOrders(
admissionNo: isVidaPlusProject? patient.admissionID??-1 :int.parse(patient.admissionNo!), admissionNo: isVidaPlusProject? patient.admissionID??-1 :int.parse(patient.admissionNo!),
patientId: patient.patientMRN!), patientId: patient.patientMRN!,
admissionRequestNo: patient.admissionRequestNo
),
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
backgroundColor: Theme.of(context).scaffoldBackgroundColor, backgroundColor: Theme.of(context).scaffoldBackgroundColor,

@ -235,7 +235,7 @@ class LineChartForDiabetic extends StatelessWidget {
final LineChartBarData lineChartBarData1 = LineChartBarData( final LineChartBarData lineChartBarData1 = LineChartBarData(
spots: spots, spots: spots,
isCurved: true, isCurved: false,
color: Colors.red, color: Colors.red,
barWidth: 5, barWidth: 5,
isStrokeCapRound: true, isStrokeCapRound: true,

@ -32,7 +32,6 @@ class _PendingDischargeSummaryState extends State<PendingDischargeSummary> {
model.getPendingDischargeSummary( model.getPendingDischargeSummary(
patientId: widget.patient!.patientId!, patientId: widget.patient!.patientId!,
clinicId: widget.patient?.clinicId, clinicId: widget.patient?.clinicId,
doctorId: widget.patient?.doctorId,
admissionNo: widget.isVidaPlusProject? widget.patient?.admissionID ?? -1 :int.parse(widget.patient!.admissionNo!), admissionNo: widget.isVidaPlusProject? widget.patient?.admissionID ?? -1 :int.parse(widget.patient!.admissionNo!),
); );
}, },

@ -213,7 +213,7 @@ class _MedicalReportPageState extends State<MedicalReportPage> {
: model : model
.medicalReportList[index].doctorName!, .medicalReportList[index].doctorName!,
url: model url: model
.medicalReportList[index].doctorImageURL!??"", .medicalReportList[index].doctorImageURL??"",
), ),
width: 50, width: 50,
height: 50, height: 50,

@ -14,6 +14,7 @@ import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_title.dart'; import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_title.dart';
import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/utils/extenstions_utils.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart'; import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/utils/utils.dart'; import 'package:doctor_app_flutter/utils/utils.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
@ -231,10 +232,15 @@ class _UpdateNoteOrderState extends State<UpdateNoteOrder> {
isSubmitted = true; isSubmitted = true;
}); });
if (progressNoteController.text.trim().isNotEmpty) { if (progressNoteController.text.trim().isNotEmpty) {
GifLoaderDialogUtils.showMyDialog(context);
Map<String, dynamic> profile = await sharedPref.getObj(DOCTOR_PROFILE); Map<String, dynamic> profile = await sharedPref.getObj(DOCTOR_PROFILE);
DoctorProfileModel doctorProfile = DoctorProfileModel.fromJson(profile); DoctorProfileModel doctorProfile = DoctorProfileModel.fromJson(profile);
print("the values are ${(selectValue as Map?)?.isNullOrEmpty == true }");
if(selectValue == null || (selectValue as Map?)?.isNullOrEmpty == true) {
DrAppToastMsg.showErrorToast(TranslationBase.of(context).kindlySelectCondition);
return;
}
GifLoaderDialogUtils.showMyDialog(context);
if (widget.isUpdate) { if (widget.isUpdate) {
UpdateNoteReqModel reqModel = UpdateNoteReqModel( UpdateNoteReqModel reqModel = UpdateNoteReqModel(

@ -40,7 +40,6 @@ class AppDateUtils {
static DateTime getDateTimeFromServerFormat(String str) { static DateTime getDateTimeFromServerFormat(String str) {
DateTime date = DateTime.now(); DateTime date = DateTime.now();
if (str != null) {
const start = "/Date("; const start = "/Date(";
const end = "+0300)"; const end = "+0300)";
@ -52,12 +51,8 @@ class AppDateUtils {
date = new DateTime.fromMillisecondsSinceEpoch( date = new DateTime.fromMillisecondsSinceEpoch(
int.parse(str.substring(startIndex + start.length, endIndex))); int.parse(str.substring(startIndex + start.length, endIndex)));
} else { } else {
date = DateTime.now(); date = DateTime.parse(str);
} }
} else {
date = DateTime.parse(str);
}
return date; return date;
} }
@ -333,6 +328,7 @@ class AppDateUtils {
/// get data formatted like 10:45 PM /// get data formatted like 10:45 PM
/// [dateTime] convert DateTime to data formatted /// [dateTime] convert DateTime to data formatted
static String getHour(DateTime dateTime) { static String getHour(DateTime dateTime) {
print("the time is ${DateFormat('hh:mm a').format(dateTime)}");
return DateFormat('hh:mm a').format(dateTime); return DateFormat('hh:mm a').format(dateTime);
} }
@ -343,23 +339,45 @@ class AppDateUtils {
if (birthOfDate.contains("/Date")) { if (birthOfDate.contains("/Date")) {
birthDate = AppDateUtils.getDateTimeFromServerFormat(birthOfDate); birthDate = AppDateUtils.getDateTimeFromServerFormat(birthOfDate);
} else { } else {
birthDate = DateTime.parse(birthOfDate); try {
birthDate = DateTime.parse(birthOfDate);
} catch (e) {
print("Error parsing birth date: $e");
return "Invalid Date"; // Or return an empty string
}
}
if (birthDate == null) {
return "Invalid Date";
} }
final now = DateTime.now();
final DateTime now = DateTime.now();
int years = now.year - birthDate.year; int years = now.year - birthDate.year;
int months = now.month - birthDate.month; int months = now.month - birthDate.month;
int days = now.day - birthDate.day; int days = now.day - birthDate.day;
if (months < 0 || (months == 0 && days < 0)) {
years--;
months += (days < 0 ? 11 : 12);
}
if (days < 0) { if (days < 0) {
final monthAgo = new DateTime(now.year, now.month - 1, birthDate.day); final int lastDayOfPreviousMonth = DateTime(now.year, now.month, 0).day;
days = now.difference(monthAgo).inDays + 1; days += lastDayOfPreviousMonth;
months--;
} }
return "$years ${TranslationBase.of(context).years} $months ${TranslationBase.of(context).months} $days ${TranslationBase.of(context).days}";
if (months < 0) {
months += 12;
years--;
}
final yearsString = "$years ${TranslationBase.of(context).years}";
final monthsString = "$months ${TranslationBase.of(context).months}";
final daysString = "$days ${TranslationBase.of(context).days}";
return "$yearsString $monthsString $daysString";
} }
static bool isToday(DateTime dateTime) { static bool isToday(DateTime dateTime) {
DateTime todayDate = DateTime.now().toUtc(); DateTime todayDate = DateTime.now().toUtc();
if (dateTime.day == todayDate.day && if (dateTime.day == todayDate.day &&

@ -1999,6 +1999,7 @@ class TranslationBase {
String get filterInPatient => localizedValues['filterInPatient']![locale.languageCode]!; String get filterInPatient => localizedValues['filterInPatient']![locale.languageCode]!;
String get remarksNotAdded => localizedValues['remarksNotAdded']![locale.languageCode]!; String get remarksNotAdded => localizedValues['remarksNotAdded']![locale.languageCode]!;
String get addDoctorRemarks => localizedValues['addDoctorRemarks']![locale.languageCode]!; String get addDoctorRemarks => localizedValues['addDoctorRemarks']![locale.languageCode]!;
String get kindlySelectCondition => localizedValues['kindlySelectCondition']![locale.languageCode]!;
} }
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> { class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

Loading…
Cancel
Save