add new service

merge-requests/953/head
RoaaGhali98 4 years ago
parent 6d0ff69386
commit 0d542a862e

@ -389,6 +389,9 @@ const GET_ALL_DISCHARGE_SUMMARY =
const VTE_ASSESSMENT =
"Services/Patients.svc/REST/INP_GetVTEHistoryByTransactionNo";
const GET_INTERVENTION_MEDICATION =
"Services/DoctorApplication.svc/REST/DoctorApp_GetInterventionMedications";
var selectedPatientType = 1;
//*********change value to decode json from Dropdown ************

@ -0,0 +1,34 @@
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/core/model/vte_assessment/vte_assessment_req_model.dart';
import 'package:doctor_app_flutter/core/model/vte_assessment/vte_assessment_res_model.dart';
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
import 'package:doctor_app_flutter/models/discharge_summary/GetDischargeSummaryReqModel.dart';
import 'package:doctor_app_flutter/models/discharge_summary/GetDischargeSummaryResModel.dart';
import '../../../../screens/patients/profile/new-medication-model/new_medication_req_model.dart';
import '../../../../screens/patients/profile/new-medication-model/new_medication_res_model.dart';
class InterventionMedicationService extends BaseService {
List<InterventionMedicationResModel> _allInterventionList = [];
List<InterventionMedicationResModel> get allInterventionList =>
_allInterventionList;
Future getInterventionMedication(
{InterventionMedicationReqModel interventionMedicationResModel}) async {
hasError = false;
await baseAppClient.post(GET_INTERVENTION_MEDICATION,
onSuccess: (dynamic response, int statusCode) {
_allInterventionList.clear();
response['List_InterventionMedications'].forEach(
(v) {
_allInterventionList.add(InterventionMedicationResModel.fromJson(v));
},
);
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: interventionMedicationResModel.toJson());
}
}

@ -0,0 +1,39 @@
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart';
import 'package:doctor_app_flutter/locator.dart';
import 'package:doctor_app_flutter/screens/patients/profile/new-medication-model/new_medication_res_model.dart';
import '../../../screens/patients/profile/new-medication-model/new_medication_req_model.dart';
import '../../service/patient/profile/intervention_medication_service.dart';
class InterventionMedicationViewModel extends BaseViewModel {
bool hasError = false;
InterventionMedicationService _interventionMedicationService =
locator<InterventionMedicationService>();
List<InterventionMedicationResModel> get allInterventionList =>
_interventionMedicationService.allInterventionList;
Future getInterventionMedication({
int patientId,
int admissionNo,
}) async {
InterventionMedicationReqModel interventionMedicationReqModel =
InterventionMedicationReqModel(
projectID: 15,
patientID: 79941,
fromDate: '\/Date(1488322922)\/',
toDate: '\/Date(1635886800000)\/',
);
hasError = false;
setState(ViewState.Busy);
await _interventionMedicationService.getInterventionMedication(
interventionMedicationResModel: interventionMedicationReqModel);
if (_interventionMedicationService.hasError) {
error = _interventionMedicationService.error;
setState(ViewState.ErrorLocal);
} else {
setState(ViewState.Idle);
}
}
}

@ -420,3 +420,45 @@ class SearchMedicationViewModel extends BaseViewModel {
}
}
}
//
// import 'package:doctor_app_flutter/core/enum/viewstate.dart';
// import 'package:doctor_app_flutter/core/model/vte_assessment/vte_assessment_req_model.dart';
// import 'package:doctor_app_flutter/core/model/vte_assessment/vte_assessment_res_model.dart';
// import 'package:doctor_app_flutter/core/service/patient/profile/discharge_summary_servive.dart';
// import 'package:doctor_app_flutter/core/service/patient/profile/vte_assessment_service.dart';
// import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart';
// import 'package:doctor_app_flutter/locator.dart';
// import 'package:doctor_app_flutter/models/discharge_summary/GetDischargeSummaryReqModel.dart';
// import 'package:doctor_app_flutter/models/discharge_summary/GetDischargeSummaryResModel.dart';
// import 'package:doctor_app_flutter/screens/patients/profile/new-medication-model/new_medication_res_model.dart';
//
// import '../../service/patient/profile/intervention_medication_service.dart';
//
// class SearchMedicationViewModel extends BaseViewModel {
// bool hasError = false;
// InterventionMedicationService _interventionMedicationService =
// locator<InterventionMedicationService>();
//
// List<InterventionMedicationResModel> get allVteHistoryList =>
// _interventionMedicationService.allVteHistoryList;
//
// Future getVteAssessment({
// int patientId,
// int admissionNo,
// }) async {
// VteAssessmentRequestModel vteAssessmentRequestModel =
// VteAssessmentRequestModel(
// transactionNo: admissionNo);
// hasError = false;
// setState(ViewState.Busy);
// await _interventionMedicationService.getVteAssessment(
// vteAssessmentRequestModel: vteAssessmentRequestModel);
// if (_interventionMedicationService.hasError) {
// error = _interventionMedicationService.error;
// setState(ViewState.ErrorLocal);
// } else {
// setState(ViewState.Idle);
// }
// }
// }

@ -13,6 +13,7 @@ import 'package:doctor_app_flutter/core/viewModel/profile/discharge_summary_view
import 'package:doctor_app_flutter/core/viewModel/profile/operation_report_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/scan_qr_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/sick_leave_view_model.dart';
import 'package:doctor_app_flutter/screens/patients/profile/new-medication/intervention_medication.dart';
import 'package:doctor_app_flutter/screens/patients/profile/new-medication/new_medication_screen.dart';
import 'package:get_it/get_it.dart';
@ -33,6 +34,7 @@ import 'core/service/patient/out_patient_service.dart';
import 'core/service/patient/patient-doctor-referral-service.dart';
import 'core/service/patient/patientInPatientService.dart';
import 'core/service/patient/patient_service.dart';
import 'core/service/patient/profile/intervention_medication_service.dart';
import 'core/service/patient/profile/operation_report_servive.dart';
import 'core/service/patient/profile/vte_assessment_service.dart';
import 'core/service/patient/referral_patient_service.dart';
@ -67,6 +69,8 @@ import 'core/viewModel/patient-referral-viewmodel.dart';
import 'core/viewModel/patient-ucaf-viewmodel.dart';
import 'core/viewModel/patient-vital-sign-viewmodel.dart';
import 'core/viewModel/prescriptions_view_model.dart';
import 'core/viewModel/profile/intervention_medication_view_model.dart';
import 'core/viewModel/profile/search_medication_view_model.dart';
import 'core/viewModel/profile/vte_assessment_view_model.dart';
import 'core/viewModel/radiology_view_model.dart';
import 'core/viewModel/referral_view_model.dart';
@ -116,6 +120,7 @@ void setupLocator() {
locator.registerLazySingleton(() => PatientRegistrationService());
locator.registerLazySingleton(() => DischargeSummaryService());
locator.registerLazySingleton(() => VteAssessmentService());
locator.registerLazySingleton(() => InterventionMedicationService());
/// View Model
locator.registerFactory(() => DoctorReplayViewModel());
@ -150,4 +155,5 @@ void setupLocator() {
locator.registerFactory(() => DischargeSummaryViewModel());
locator.registerFactory(() => SearchMedicationViewModel());
locator.registerFactory(() => VteAssessmentViewModel());
locator.registerFactory(() => InterventionMedicationViewModel());
}

@ -139,6 +139,5 @@ var routes = {
ADMISSION_ORDERS: (_) => AdmissionOrdersScreen(),
DIABETIC_CHART_VALUES: (_) => DiabeticChart(),
NEW_MEDICATION: (_) => NewMedicationScreen(),
INTERVENTION_MEDICATION: (_) => InterventionMedicationScreen(),
VTE_ASSESSMENT: (_) => VteAssessmentScreen(),
};

@ -1,24 +1,29 @@
import 'package:doctor_app_flutter/config/shared_pref_kay.dart';
import 'package:doctor_app_flutter/core/model/diagnosis/GetDiagnosisForInPatientRequestModel.dart';
import 'package:doctor_app_flutter/core/viewModel/authentication_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/pednding_orders_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/profile/vte_assessment_view_model.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/dr_app_shared_pref.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-app-bar.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/app_bar/patient-profile-app-bar.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:doctor_app_flutter/widgets/shared/card_with_bg_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart';
import 'package:doctor_app_flutter/widgets/shared/errors/error_message.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class InterventionMedicationScreen extends StatefulWidget {
const InterventionMedicationScreen({Key key, this.patient}) : super(key: key);
final PatiantInformtion patient ;
import '../../../../core/viewModel/profile/intervention_medication_view_model.dart';
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
class InterventionMedicationScreen extends StatefulWidget {
final PatiantInformtion patient;
const InterventionMedicationScreen(this.patient, {Key key}) : super(key: key);
@override
_InterventionMedicationScreenState createState() => _InterventionMedicationScreenState();
@ -26,27 +31,29 @@ class InterventionMedicationScreen extends StatefulWidget {
class _InterventionMedicationScreenState extends State<InterventionMedicationScreen> {
bool isDischargedPatient = false;
AuthenticationViewModel authenticationViewModel;
ProjectViewModel projectViewModel;
@override
Widget build(BuildContext context) {
authenticationViewModel = Provider.of(context);
projectViewModel = Provider.of(context);
return BaseView<PendingOrdersViewModel>(
return BaseView<InterventionMedicationViewModel>(
onModelReady: (model) => model.getInterventionMedication(patientId: widget.patient.patientId,
// admissionNo: 2016023498
admissionNo:int.parse(widget.patient.admissionNo)
),
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
backgroundColor: Theme.of(context).scaffoldBackgroundColor,
//appBarTitle: TranslationBase.of(context).progressNote,
appBar: PatientProfileAppBar(
widget.patient,
isInpatient: true,
),
body: model.admissionOrderList == null ||
model.admissionOrderList.length == 0
body: model.allInterventionList == null ||
model.allInterventionList.length == 0
? Center(
child: ErrorMessage(
error: TranslationBase.of(context).noDataAvailable,
@ -56,42 +63,16 @@ class _InterventionMedicationScreenState extends State<InterventionMedicationScr
color: Colors.grey[200],
child: Column(
children: <Widget>[
Padding(
padding: EdgeInsets.all(12.0),
child: Column(
children: [
Row(
children: [
AppText(
TranslationBase.of(context).admission,
fontSize: 15.0,
fontWeight: FontWeight.w600,
fontFamily: 'Poppins',
),
],
),
Row(
children: [
AppText(
TranslationBase.of(context).orders,
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
],
),
],
),
),
Expanded(
child: Container(
child: ListView.builder(
itemCount: model.admissionOrderList.length,
itemCount: model.allInterventionList.length,
itemBuilder: (BuildContext ctxt, int index) {
return FractionallySizedBox(
widthFactor: 0.95,
child: CardWithBgWidget(
hasBorder: false,
bgColor: Colors.white,
bgColor: Colors.transparent,
widget: Column(
children: [
Column(
@ -122,83 +103,13 @@ class _InterventionMedicationScreenState extends State<InterventionMedicationScr
.start,
children: [
AppText(
TranslationBase.of(
context)
.createdBy
.toString(),
fontSize: 13,
),
Expanded(
child: AppText(
model
.admissionOrderList[
index]
.createdByName
.toString() ??
'',
fontWeight:
FontWeight.w600,
fontSize: 12,
isCopyable: true,
),
),
],
),
Row(
crossAxisAlignment:
CrossAxisAlignment
.start,
children: [
AppText(
TranslationBase.of(
context)
.procedureName
.toString() +
": ",
fontSize: 13,
),
Expanded(
child: AppText(
model
.admissionOrderList[
index]
.procedureName
.toString() ??
'',
fontWeight:
FontWeight.w600,
fontSize: 12,
isCopyable: true,
),
),
],
),
Row(
crossAxisAlignment:
CrossAxisAlignment
.start,
children: [
AppText(
TranslationBase.of(
context)
.orderNo
.toString(),
fontSize: 13,
),
Expanded(
child: AppText(
model
.admissionOrderList[
index]
.orderNo
.toString() ??
'',
fontWeight:
FontWeight.w600,
fontSize: 12,
isCopyable: true,
),
model
.allInterventionList[
index].cS,
fontWeight: FontWeight.w600,
fontSize: 14,
),
],
),
],
@ -206,74 +117,174 @@ class _InterventionMedicationScreenState extends State<InterventionMedicationScr
),
Column(
children: [
AppText(
Row(
crossAxisAlignment:
CrossAxisAlignment
.start,
children: [
AppText(
AppDateUtils.convertDateFormatImproved(
model
.allInterventionList[
index].startDatetime),
fontWeight: FontWeight.w600,
fontSize: 14,
),
],
),
],
)
// Column(
// children: [
// AppText(
// model
// .allInterventionList[
// index]
// .startDatetime !=
// null
// ? AppDateUtils.getDayMonthYearDateFormatted(
// AppDateUtils
// .getDateTimeFromString(model
// .allInterventionList[
// index]
// .startDatetime),
// isArabic:
// projectViewModel
// .isArabic,
// isMonthShort: true)
// : AppDateUtils
// .getDayMonthYearDateFormatted(
// DateTime.now(),
// isArabic:
// projectViewModel
// .isArabic),
// fontWeight: FontWeight.w600,
// fontSize: 14,
// isCopyable: true,
// ),
// AppText(
// model
// .allInterventionList[
// index]
// .startDatetime !=
// null
// ? AppDateUtils.getHour(
// AppDateUtils
// .getDateTimeFromString(model
// .allInterventionList[
// index]
// .startDatetime))
// : AppDateUtils.getHour(
// DateTime.now()),
// fontWeight: FontWeight.w600,
// fontSize: 14,
// isCopyable: true,
// ),
// ],
// crossAxisAlignment:
// CrossAxisAlignment.end,
// )
],
),
SizedBox(
height: 8,
),
Row(
mainAxisAlignment:
MainAxisAlignment.start,
children: [
// AppText(
// TranslationBase.of(context)
// .VTE_Type +
// " : ",
// fontSize: 12,
// ),
Expanded(
child: AppText(
model
.admissionOrderList[
.allInterventionList[
index]
.createdOn !=
null
? AppDateUtils.getDayMonthYearDateFormatted(
AppDateUtils
.getDateTimeFromServerFormat(model
.admissionOrderList[
index]
.createdOn),
isArabic:
projectViewModel
.isArabic,
isMonthShort: true)
: AppDateUtils
.getDayMonthYearDateFormatted(
DateTime.now(),
isArabic:
projectViewModel
.isArabic),
fontWeight: FontWeight.w600,
fontSize: 14,
.description,
fontSize: 12,
isCopyable: true,
),
AppText(
),
]),
SizedBox(
height: 8,
),
Row(
mainAxisAlignment:
MainAxisAlignment.start,
children: [
// AppText(
// TranslationBase.of(context)
// .pharmacology +
// " : ",
// fontSize: 12,
// ),
Expanded(
child: AppText(
model
.admissionOrderList[
.allInterventionList[
index]
.createdOn !=
null
? AppDateUtils.getHour(
AppDateUtils
.getDateTimeFromServerFormat(model
.admissionOrderList[
index]
.createdOn))
: AppDateUtils.getHour(
DateTime.now()),
fontWeight: FontWeight.w600,
fontSize: 14,
.medication,
fontSize: 12,
isCopyable: true,
),
],
crossAxisAlignment:
CrossAxisAlignment.end,
)
],
),
]),
SizedBox(
height: 8,
),
Row(
mainAxisAlignment:
MainAxisAlignment.start,
children: [
// AppText(
// TranslationBase.of(context)
// .reasonsThrombo +
// " : ",
// fontSize: 12,
// ),
Expanded(
child: AppText(
model
.allInterventionList[
index]
.doctorComments,
fontSize: 12,
isCopyable: true,
),
),
]),
SizedBox(
height: 8,
),
// Row(
// mainAxisAlignment:
// MainAxisAlignment.start,
// children: [
// Expanded(
// child: AppText(
// model
// .admissionOrderList[
// index]
// .notes,
// fontSize: 10,
// isCopyable: true,
// ),
// ),
// ])
Row(
mainAxisAlignment:
MainAxisAlignment.start,
children: [
// AppText(
// TranslationBase.of(context)
// .reasonsThrombo +
// " : ",
// fontSize: 12,
// ),
Expanded(
child: AppText(
model
.allInterventionList[
index]
.statusDescription,
fontSize: 12,
isCopyable: true,
),
),
]),
],
),
SizedBox(

@ -157,7 +157,7 @@ class _NewMedicationScreenState extends State<NewMedicationScreen> {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => InterventionMedicationScreen(patient: patient,)),
MaterialPageRoute(builder: (context) => InterventionMedicationScreen(patient)),
);

@ -770,6 +770,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.11"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.2"
meta:
dependency: transitive
description:
@ -1173,7 +1180,7 @@ packages:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.3"
version: "0.4.8"
timing:
dependency: transitive
description:

Loading…
Cancel
Save