merge-requests/214/head
Sultan Khan 4 years ago
commit 4587fdda59

@ -138,13 +138,13 @@ const POST_PHYSICAL_EXAM =
'Services/DoctorApplication.svc/REST/PostPhysicalExam';
const POST_PROGRESS_NOTE =
'/Services/DoctorApplication.svc/REST/PostProgressNote';
const POST_ASSESSMENT = 'Services/DoctorApplication.svc/REST/PostAssessment';
const PATCH_ALLERGY = 'Services/DoctorApplication.svc/REST/PatchAllergies';
const PATCH_HISTORY = 'Services/DoctorApplication.svc/REST/PatchHistory';
const PATCH_CHIEF_COMPLAINT =
'Services/DoctorApplication.svc/REST/PatchChiefcomplaint';
const POST_ASSESSMENT = 'Services/DoctorApplication.svc/REST/PostAssessment';
const PATCH_PHYSICAL_EXAM =
'Services/DoctorApplication.svc/REST/PatchPhysicalExam';
const PATCH_PROGRESS_NOTE =
@ -161,6 +161,11 @@ const GET_ASSESSMENT = 'Services/DoctorApplication.svc/REST/GetAssessment';
const GET_CATEGORISE_PROCEDURE =
'Services/DoctorApplication.svc/REST/GetProcedure';
const UPDATE_PROCEDURE = 'Services/DoctorApplication.svc/REST/PatchProcedure';
const UPDATE_PRESCRIPTION =
'Services/DoctorApplication.svc/REST/PatchPrescription';
const GET_MEDICAL_FILE = 'Services/DoctorApplication.svc/REST/GetMedicalFile';
var selectedPatientType = 1;

File diff suppressed because it is too large Load Diff

@ -0,0 +1,18 @@
class MedicalFileRequestModel {
int patientMRN;
String vidaAuthTokenID;
MedicalFileRequestModel({this.patientMRN, this.vidaAuthTokenID});
MedicalFileRequestModel.fromJson(Map<String, dynamic> json) {
patientMRN = json['PatientMRN'];
vidaAuthTokenID = json['VidaAuthTokenID'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['PatientMRN'] = this.patientMRN;
data['VidaAuthTokenID'] = this.vidaAuthTokenID;
return data;
}
}

@ -0,0 +1,29 @@
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/core/model/medical_file_model.dart';
import 'package:doctor_app_flutter/core/model/medical_file_request_model.dart';
import 'package:doctor_app_flutter/core/model/prescription_req_model.dart';
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
class MedicalFileService extends BaseService {
List<MedicalFileModel> _medicalFileList = List();
List<MedicalFileModel> get medicalFileList => _medicalFileList;
MedicalFileRequestModel _fileRequestModel = MedicalFileRequestModel(
patientMRN: 1231755,
vidaAuthTokenID:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMDAyIiwianRpIjoiNDM1MGNjZTYtYzc3MS00YjBiLThiNDItMGZhY2IzYzgxMjQ4IiwiZW1haWwiOiIiLCJpZCI6IjEwMDIiLCJOYW1lIjoiVEVNUCAtIERPQ1RPUiIsIkVtcGxveWVlSWQiOiI0NzA5IiwiRmFjaWxpdHlHcm91cElkIjoiMDEwMjY2IiwiRmFjaWxpdHlJZCI6IjE1IiwiUGhhcmFtY3lGYWNpbGl0eUlkIjoiNTUiLCJJU19QSEFSTUFDWV9DT05ORUNURUQiOiJUcnVlIiwiRG9jdG9ySWQiOiI0NzA5IiwiU0VTU0lPTklEIjoiMjE1OTYwNTQiLCJDbGluaWNJZCI6IjEiLCJyb2xlIjpbIkRPQ1RPUlMiLCJIRUFEIERPQ1RPUlMiLCJBRE1JTklTVFJBVE9SUyIsIlJFQ0VQVElPTklTVCIsIkVSIE5VUlNFIiwiRVIgUkVDRVBUSU9OSVNUIiwiUEhBUk1BQ1kgQUNDT1VOVCBTVEFGRiIsIlBIQVJNQUNZIE5VUlNFIiwiSU5QQVRJRU5UIFBIQVJNQUNJU1QiLCJBRE1JU1NJT04gU1RBRkYiLCJBUFBST1ZBTCBTVEFGRiIsIkNPTlNFTlQgIiwiTUVESUNBTCBSRVBPUlQgLSBTSUNLIExFQVZFIE1BTkFHRVIiXSwibmJmIjoxNjA5MjI1MjMwLCJleHAiOjE2MTAwODkyMzAsImlhdCI6MTYwOTIyNTIzMH0.rs7lTBQ1ON4PbR11PBkOyjf818DdeMKuqz2IrCJMYQU",
);
Future getMedicalFile() async {
hasError = false;
_medicalFileList.clear();
await baseAppClient.post(GET_MEDICAL_FILE,
onSuccess: (dynamic response, int statusCode) {
_medicalFileList
.add(MedicalFileModel.fromJson(response['PatientFileList']));
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: _fileRequestModel.toJson());
}
}

@ -46,4 +46,21 @@ class PrescriptionService extends BaseService {
body: postProcedureReqModel.toJson(),
);
}
Future updatePrescription(
PostPrescriptionReqModel updatePrescriptionReqModel) async {
hasError = false;
//_prescriptionList.clear();
await baseAppClient.post(
UPDATE_PRESCRIPTION,
onSuccess: (dynamic response, int statusCode) {
print("Accepted");
},
onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
},
body: updatePrescriptionReqModel.toJson(),
);
}
}

@ -72,4 +72,16 @@ class ProcedureService extends BaseService {
super.error = error;
}, body: postProcedureReqModel.toJson());
}
Future updateProcedure(PostProcedureReqModel postProcedureReqModel) async {
hasError = false;
_procedureList.clear();
await baseAppClient.post(UPDATE_PROCEDURE,
onSuccess: (dynamic response, int statusCode) {
print("ACCEPTED");
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: postProcedureReqModel.toJson());
}
}

@ -0,0 +1,26 @@
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/model/medical_file_model.dart';
import 'package:doctor_app_flutter/core/service/medical_file_service.dart';
import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart';
import 'package:doctor_app_flutter/locator.dart';
class MedicalFileViewModel extends BaseViewModel {
bool hasError = false;
MedicalFileService _medicalFileService = locator<MedicalFileService>();
List<MedicalFileModel> get medicalFileList =>
_medicalFileService.medicalFileList;
Future getMedicalFile() async {
hasError = false;
//_insuranceCardService.clearInsuranceCard();
setState(ViewState.Busy);
await _medicalFileService.getMedicalFile();
if (_medicalFileService.hasError) {
error = _medicalFileService.error;
setState(ViewState.ErrorLocal);
} else
setState(ViewState.Idle);
}
}

@ -38,4 +38,19 @@ class PrescriptionViewModel extends BaseViewModel {
setState(ViewState.Idle);
}
}
Future updatePrescription(
PostPrescriptionReqModel updatePrescriptionReqModel) async {
hasError = false;
//_insuranceCardService.clearInsuranceCard();
setState(ViewState.Busy);
await _prescriptionService.updatePrescription(updatePrescriptionReqModel);
if (_prescriptionService.hasError) {
error = _prescriptionService.error;
setState(ViewState.ErrorLocal);
} else {
await getPrescription();
setState(ViewState.Idle);
}
}
}

@ -50,4 +50,16 @@ class ProcedureViewModel extends BaseViewModel {
setState(ViewState.Idle);
}
}
Future updateProcedure(PostProcedureReqModel postProcedureReqModel) async {
hasError = false;
//_insuranceCardService.clearInsuranceCard();
setState(ViewState.Busy);
await _procedureService.updateProcedure(postProcedureReqModel);
if (_procedureService.hasError) {
error = _procedureService.error;
setState(ViewState.ErrorLocal);
} else
setState(ViewState.Idle);
}
}

@ -1,9 +1,11 @@
import 'package:doctor_app_flutter/core/service/dasboard_service.dart';
import 'package:doctor_app_flutter/core/service/medical_file_service.dart';
import 'package:doctor_app_flutter/core/service/patient_service.dart';
import 'package:doctor_app_flutter/core/service/prescription_service.dart';
import 'package:doctor_app_flutter/core/service/procedure_service.dart';
import 'package:doctor_app_flutter/core/service/sickleave_service.dart';
import 'package:doctor_app_flutter/core/viewModel/dashboard_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/medical_file_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart';
@ -45,6 +47,7 @@ void setupLocator() {
locator.registerLazySingleton(() => PrescriptionService());
locator.registerLazySingleton(() => ProcedureService());
locator.registerLazySingleton(() => VitalSignsService());
locator.registerLazySingleton(() => MedicalFileService());
/// View Model
locator.registerFactory(() => DoctorReplayViewModel());
@ -60,4 +63,5 @@ void setupLocator() {
locator.registerFactory(() => PrescriptionViewModel());
locator.registerFactory(() => ProcedureViewModel());
locator.registerFactory(() => VitalSignsViewModel());
locator.registerFactory(() => MedicalFileViewModel());
}

@ -1,5 +1,6 @@
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/root_page.dart';
import 'package:doctor_app_flutter/screens/medical-file/medical_file_page.dart';
import 'package:doctor_app_flutter/screens/patients/profile/insurance_approvals_screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/patient_orders_screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/progress_note_screen.dart';
@ -71,7 +72,7 @@ const String SETTINGS = 'settings';
const String VITAL_SIGN = 'patients/vital-sign';
const String LAB_ORDERS = 'patients/lab_orders';
const String PRESCRIPTIONS = 'patients/prescription';
const String RADIOLOGY = 'patients/radiology';
const String MEDICAL_FILE = 'patients/radiology';
const String PROGRESS_NOTE = 'patients/progress-note';
const String REFER_PATIENT = 'patients/refer-patient';
const String MY_REFERRAL_DETAIL = 'my_referral_detail';
@ -119,7 +120,7 @@ var routes = {
SERVICES: (_) => ServicesScreen(),
LAB_ORDERS: (_) => LabOrdersScreen(),
PRESCRIPTIONS: (_) => PrescriptionScreen(),
RADIOLOGY: (_) => RadiologyScreen(),
MEDICAL_FILE: (_) => MedicalFilePage(),
PROGRESS_NOTE: (_) => ProgressNoteScreen(),
REFER_PATIENT: (_) => ReferPatientScreen(),
REFER_PATIENT_TO_DOCTOR: (_) => PatientMakeReferralScreen(),
@ -128,7 +129,9 @@ var routes = {
VITAL_SIGN_DETAILS: (_) => VitalSignDetailsScreen(),
PATIENT_VITAL_SIGN: (_) => PatientVitalSignScreen(),
CREATE_EPISODE: (_) => AddSOAPIndex(),
UPDATE_EPISODE: (_) => UpdateSoapIndex(isUpdate: true,),
UPDATE_EPISODE: (_) => UpdateSoapIndex(
isUpdate: true,
),
BODY_MEASUREMENTS: (_) => VitalSignItemDetailsScreen(),
IN_PATIENT_PRESCRIPTIONS_DETAILS: (_) => InpatientPrescriptionDetailsScreen(),
// VIDEO_CALL: (_) => VideoCallPage(patientData: null),

@ -0,0 +1,428 @@
import 'package:doctor_app_flutter/core/viewModel/medical_file_view_model.dart';
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.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/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient_profile_widget.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:doctor_app_flutter/widgets/shared/expandable-widget-header-body.dart';
import 'package:eva_icons_flutter/eva_icons_flutter.dart';
import 'package:flutter/material.dart';
class MedicalFileDetails extends StatefulWidget {
String age;
String firstName;
String lastName;
String gender;
MedicalFileDetails({this.age, this.firstName, this.lastName, this.gender});
@override
_MedicalFileDetailsState createState() => _MedicalFileDetailsState(
firstName: firstName, age: age, lastName: lastName, gender: gender);
}
class _MedicalFileDetailsState extends State<MedicalFileDetails> {
String age;
String firstName;
String lastName;
String gender;
_MedicalFileDetailsState(
{this.age, this.firstName, this.lastName, this.gender});
bool isPhysicalExam = false;
bool isProcedureExpand = false;
bool isHistoryExpand = false;
bool isAssessmentExpand = false;
@override
Widget build(BuildContext context) {
return BaseView<MedicalFileViewModel>(
//onModelReady: (model) => model.getMedicalFile(),
builder:
(BuildContext context, MedicalFileViewModel model, Widget child) =>
AppScaffold(
isShowAppBar: true,
appBarTitle: 'medical file'.toUpperCase(),
body: SingleChildScrollView(
child: Container(
child: Column(
children: [
Padding(
padding: EdgeInsets.all(8.0),
child: Row(
children: <Widget>[
AvatarWidget(
Icon(
gender == "Male"
? DoctorApp.male
: DoctorApp.female_icon,
size: 70,
color: Colors.white,
),
),
SizedBox(
width: 20,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
firstName + ' ' + lastName,
color: Colors.black,
fontWeight: FontWeight.bold,
),
Row(
children: [
AppText(
TranslationBase.of(context).age2,
color: Colors.black,
fontWeight: FontWeight.bold,
),
SizedBox(
width: 5.0,
),
AppText(
age,
color: Colors.black,
fontWeight: FontWeight.normal,
),
],
),
],
)
],
),
),
Divider(
height: 1.0,
thickness: 1.0,
color: Colors.grey,
),
Padding(
padding: EdgeInsets.all(10.0),
child: Container(
child: Column(
children: [
Row(
children: [
AppText(
'Visit Date : ',
fontWeight: FontWeight.w700,
),
AppText(
'23/12/2020',
),
SizedBox(width: 35.0),
AppText(
'Appt Date : ',
fontWeight: FontWeight.w700,
),
AppText(
'23/12/2020',
),
],
),
Row(
children: [
AppText(
'Doctor : '.toUpperCase(),
fontWeight: FontWeight.w700,
),
AppText(
'Muhammad assad'.toUpperCase(),
fontWeight: FontWeight.w700,
),
],
),
Row(
children: [
AppText(
'Clinic : ',
fontWeight: FontWeight.w700,
),
AppText(
'Gastroenterology',
),
],
),
Row(
children: [
AppText(
'Episode Number : ',
fontWeight: FontWeight.w700,
),
AppText(
'200012334',
),
],
),
SizedBox(height: 15.0),
Divider(
height: 1.0,
thickness: 1.0,
color: Colors.grey.shade400,
),
SizedBox(height: 25.0),
HeaderBodyExpandableNotifier(
headerWidget: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [
Texts(
'History of present illness'
.toUpperCase(),
variant:
isHistoryExpand ? "bodyText" : '',
bold: isHistoryExpand ? true : false,
color: Colors.black),
],
),
InkWell(
onTap: () {
setState(() {
isHistoryExpand = !isHistoryExpand;
});
},
child: Icon(isHistoryExpand
? EvaIcons.minus
: EvaIcons.plus))
],
),
bodyWidget: Column(
children: [
Texts(
'Ms J. K. is an 83 year old retired nurse with a long history of hypertension that was previously well controlled on diuretic therapy. She was first admitted to CPMC in 1995 when she presented with a complaint of intermittent midsternal chest pain.')
],
),
isExpand: isHistoryExpand,
),
SizedBox(
height: 30,
),
Container(
width: double.infinity,
height: 1,
color: Color(0xffCCCCCC),
),
SizedBox(
height: 30,
),
HeaderBodyExpandableNotifier(
headerWidget: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [
Texts('assessment'.toUpperCase(),
variant:
isAssessmentExpand ? "bodyText" : '',
bold: isAssessmentExpand ? true : false,
color: Colors.black),
],
),
InkWell(
onTap: () {
setState(() {
isAssessmentExpand = !isAssessmentExpand;
});
},
child: Icon(isAssessmentExpand
? EvaIcons.minus
: EvaIcons.plus))
],
),
bodyWidget: Column(
children: [
Texts('ssss'),
],
),
isExpand: isAssessmentExpand,
),
SizedBox(
height: 30,
),
Container(
width: double.infinity,
height: 1,
color: Color(0xffCCCCCC),
),
SizedBox(
height: 30,
),
HeaderBodyExpandableNotifier(
headerWidget: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [
Texts('Test / procedures'.toUpperCase(),
variant:
isProcedureExpand ? "bodyText" : '',
bold: isProcedureExpand ? true : false,
color: Colors.black),
],
),
InkWell(
onTap: () {
setState(() {
isProcedureExpand = !isProcedureExpand;
});
},
child: Icon(isProcedureExpand
? EvaIcons.minus
: EvaIcons.plus))
],
),
bodyWidget: Column(
children: [
SizedBox(
height: 20.0,
),
Row(
children: [
AppText(
'Exam Type : ',
fontWeight: FontWeight.w700,
),
AppText(
'59',
),
],
),
Row(
children: [
AppText(
'ABDOMEN',
fontWeight: FontWeight.w700,
),
],
),
Row(
children: [
AppText(
'Abnormal: ',
fontWeight: FontWeight.w700,
),
AppText(
'no',
),
],
),
SizedBox(height: 15.0),
Row(
children: [
AppText(
'Some short remark about the allergy',
fontWeight: FontWeight.w300,
),
],
),
],
),
isExpand: isProcedureExpand,
),
SizedBox(
height: 30,
),
Container(
width: double.infinity,
height: 1,
color: Color(0xffCCCCCC),
),
SizedBox(
height: 30,
),
HeaderBodyExpandableNotifier(
headerWidget: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [
Texts('physical exam'.toUpperCase(),
variant: isPhysicalExam ? "bodyText" : '',
bold: isPhysicalExam ? true : false,
color: Colors.black),
],
),
InkWell(
onTap: () {
setState(() {
isPhysicalExam = !isPhysicalExam;
});
},
child: Icon(isPhysicalExam
? EvaIcons.minus
: EvaIcons.plus))
],
),
bodyWidget: Column(
children: [
SizedBox(
height: 20.0,
),
Row(
children: [
AppText(
'Exam Type : ',
fontWeight: FontWeight.w700,
),
AppText(
'59',
),
],
),
Row(
children: [
AppText(
'ABDOMEN',
fontWeight: FontWeight.w700,
),
],
),
Row(
children: [
AppText(
'Abnormal: ',
fontWeight: FontWeight.w700,
),
AppText(
'no',
),
],
),
SizedBox(height: 15.0),
Row(
children: [
AppText(
'Some short remark about the allergy',
fontWeight: FontWeight.w300,
),
],
),
],
),
isExpand: isPhysicalExam,
),
SizedBox(
height: 30,
),
Container(
width: double.infinity,
height: 1,
color: Color(0xffCCCCCC),
),
],
),
),
),
],
),
),
),
),
);
}
}

@ -0,0 +1,173 @@
import 'package:doctor_app_flutter/core/viewModel/medical_file_view_model.dart';
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.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/screens/medical-file/medical_file_details.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient_profile_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:doctor_app_flutter/widgets/shared/network_base_view.dart';
import 'package:flutter/material.dart';
class MedicalFilePage extends StatefulWidget {
@override
_MedicalFilePageState createState() => _MedicalFilePageState();
}
class _MedicalFilePageState extends State<MedicalFilePage> {
PatiantInformtion patient;
@override
Widget build(BuildContext context) {
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
patient = routeArgs['patient'];
return BaseView<MedicalFileViewModel>(
onModelReady: (model) => model.getMedicalFile(),
builder:
(BuildContext context, MedicalFileViewModel model, Widget child) =>
AppScaffold(
isShowAppBar: true,
appBarTitle: 'medical Report'.toUpperCase(),
body: NetworkBaseView(
baseViewModel: model,
child: Container(
child: Column(
children: [
Padding(
padding: EdgeInsets.all(8.0),
child: Row(
children: <Widget>[
AvatarWidget(
Icon(
patient.genderDescription == "Male"
? DoctorApp.male
: DoctorApp.female_icon,
size: 70,
color: Colors.white,
),
),
SizedBox(
width: 20,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
patient.firstName + ' ' + patient.lastName,
color: Colors.black,
fontWeight: FontWeight.bold,
),
Row(
children: [
AppText(
TranslationBase.of(context).fileNo,
color: Colors.black,
fontWeight: FontWeight.bold,
),
SizedBox(
width: 5.0,
),
AppText(
patient.age.toString(),
color: Colors.black,
fontWeight: FontWeight.normal,
),
],
),
AppText(
"ALLERGIC TO: FOOD, ASPIRIN",
color: Color(0xFFB9382C),
fontWeight: FontWeight.bold,
),
],
)
],
),
),
Divider(
height: 1.0,
thickness: 1.0,
color: Colors.grey,
),
ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: 2,
itemBuilder: (BuildContext ctxt, int index) {
return Padding(
padding: EdgeInsets.symmetric(
horizontal: 12.0, vertical: 8.0),
child: InkWell(
child: Container(
child: Column(
children: [
Row(
children: [
AppText(
'Branch : ',
fontWeight: FontWeight.w700,
),
AppText(
model.medicalFileList[0].entityList[0]
.admissions[index].projectName,
),
],
),
Row(
children: [
AppText(
'Doctor : '.toUpperCase(),
fontWeight: FontWeight.w700,
),
AppText(
model.medicalFileList[0].entityList[0]
.admissions[index].doctor
.toUpperCase(),
fontWeight: FontWeight.w700,
),
],
),
Row(
children: [
AppText(
'Clinic : ',
fontWeight: FontWeight.w700,
),
AppText(
model.medicalFileList[0].entityList[0]
.admissions[index].clinic,
),
],
),
SizedBox(height: 10.0),
Divider(
height: 1.0,
thickness: 1.0,
color: Colors.grey.shade400,
)
],
),
),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => MedicalFileDetails(
age: patient.age,
firstName: patient.firstName,
lastName: patient.lastName,
gender: patient.genderDescription,
)),
);
},
),
);
})
],
),
),
),
),
);
}
}

@ -284,7 +284,7 @@ void addPrescriptionForm(context, PrescriptionViewModel model) {
formKey.currentState.save();
if (formKey.currentState.validate()) {
postPrescription(
postProcedure(
model: model,
duration: durationController.text,
dose: doseController.text,
@ -326,7 +326,7 @@ void addPrescriptionForm(context, PrescriptionViewModel model) {
});
}
postPrescription(
postProcedure(
{String duration,
String dose,
String drugId,

@ -1,14 +1,19 @@
import 'package:doctor_app_flutter/client/base_app_client.dart';
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/model/post_prescrition_req_model.dart';
import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart';
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.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/screens/prescription/add_prescription_form.dart';
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient_profile_widget.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/profile_medical_info_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/Text.dart';
import 'package:doctor_app_flutter/widgets/shared/TextFields.dart';
import 'package:doctor_app_flutter/widgets/shared/app_buttons_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_text_form_field.dart';
@ -71,7 +76,7 @@ class _NewPrescriptionScreenState extends State<NewPrescriptionScreen> {
Row(
children: [
AppText(
TranslationBase.of(context).fileNo,
TranslationBase.of(context).age2,
color: Colors.black,
fontWeight: FontWeight.bold,
),
@ -79,12 +84,17 @@ class _NewPrescriptionScreenState extends State<NewPrescriptionScreen> {
width: 5.0,
),
AppText(
patient.patientId.toString(),
patient.age.toString(),
color: Colors.black,
fontWeight: FontWeight.normal,
),
],
),
AppText(
"ALLERGIC TO: FOOD, ASPIRIN",
color: Color(0xFFB9382C),
fontWeight: FontWeight.bold,
),
],
)
],
@ -425,7 +435,29 @@ class _NewPrescriptionScreenState extends State<NewPrescriptionScreen> {
0.06,
child: Column(
children: [
Icon(Icons.edit)
InkWell(
child: Icon(
Icons.edit),
onTap: () {
updatePrescriptionForm(
context,
model
.prescriptionList[
0]
.entityList[
index]
.medicationName,
model
.prescriptionList[
0]
.entityList[
index]
.medicineCode,
model,
);
//model.postPrescription();
},
),
],
),
),
@ -446,4 +478,171 @@ class _NewPrescriptionScreenState extends State<NewPrescriptionScreen> {
)),
);
}
void updatePrescriptionForm(
context, String drugName, int drugId, PrescriptionViewModel model) {
TextEditingController remarksController = TextEditingController();
TextEditingController doseController = TextEditingController();
TextEditingController frequencyController = TextEditingController();
TextEditingController routeController = TextEditingController();
showModalBottomSheet(
context: context,
isScrollControlled: true,
builder: (BuildContext bc) {
return Container(
height: 600,
child: Form(
child: Padding(
padding:
EdgeInsets.symmetric(horizontal: 20.0, vertical: 10.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
drugName.toUpperCase(),
fontWeight: FontWeight.w900,
),
SizedBox(
height: 30.0,
),
Column(
children: [
Container(
decoration: BoxDecoration(
borderRadius:
BorderRadius.all(Radius.circular(6.0)),
border: Border.all(
width: 1.0, color: HexColor("#CCCCCC"))),
child: TextFields(
hintText: 'route',
controller: routeController,
keyboardType: TextInputType.number,
),
),
SizedBox(
height: 12.0,
),
Container(
decoration: BoxDecoration(
borderRadius:
BorderRadius.all(Radius.circular(6.0)),
border: Border.all(
width: 1.0, color: HexColor("#CCCCCC"))),
child: TextFields(
hintText: 'Dose',
controller: doseController,
keyboardType: TextInputType.number,
),
),
SizedBox(
height: 12.0,
),
Container(
decoration: BoxDecoration(
borderRadius:
BorderRadius.all(Radius.circular(6.0)),
border: Border.all(
width: 1.0, color: HexColor("#CCCCCC"))),
child: TextFields(
hintText: 'Frequency',
controller: frequencyController,
keyboardType: TextInputType.number,
),
),
SizedBox(
height: 12.0,
),
Container(
decoration: BoxDecoration(
borderRadius:
BorderRadius.all(Radius.circular(6.0)),
border: Border.all(
width: 1.0, color: HexColor("#CCCCCC"))),
child: TextFields(
hintText: 'Remarks',
controller: remarksController,
maxLines: 7,
minLines: 4,
),
),
SizedBox(
height: 12.0,
),
SizedBox(
height: 140.0,
),
Container(
margin:
EdgeInsets.all(SizeConfig.widthMultiplier * 2),
child: Wrap(
alignment: WrapAlignment.center,
children: <Widget>[
AppButton(
title: 'update prescription'.toUpperCase(),
onPressed: () {
updatePrescription(
model: model,
drugId: drugId,
remarks: remarksController.text,
route: routeController.text,
frequency: frequencyController.text,
dose: doseController.text);
Navigator.pop(context);
},
),
],
),
),
],
),
],
),
),
));
});
}
updatePrescription({
PrescriptionViewModel model,
int drugId,
String remarks,
String dose,
String frequency,
String route,
}) async {
//PrescriptionViewModel model = PrescriptionViewModel();
PostPrescriptionReqModel updatePrescriptionReqModel =
new PostPrescriptionReqModel();
List<PrescriptionRequestModel> sss = List();
updatePrescriptionReqModel.appointmentNo = 2016055159;
updatePrescriptionReqModel.clinicID = 17;
updatePrescriptionReqModel.episodeID = 200012330;
updatePrescriptionReqModel.patientMRN = 3120877;
updatePrescriptionReqModel.vidaAuthTokenID =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMDAyIiwianRpIjoiOGFjNDRjZGQtOWE0Mi00M2YxLWE2YTQtMWQ4NzBmZmYwNTUyIiwiZW1haWwiOiIiLCJpZCI6IjEwMDIiLCJOYW1lIjoiVEVNUCAtIERPQ1RPUiIsIkVtcGxveWVlSWQiOiI0NzA5IiwiRmFjaWxpdHlHcm91cElkIjoiMDEwMjY2IiwiRmFjaWxpdHlJZCI6IjE1IiwiUGhhcmFtY3lGYWNpbGl0eUlkIjoiNTUiLCJJU19QSEFSTUFDWV9DT05ORUNURUQiOiJUcnVlIiwiRG9jdG9ySWQiOiI0NzA5IiwiU0VTU0lPTklEIjoiMjE1OTU2NDkiLCJDbGluaWNJZCI6IjEiLCJyb2xlIjpbIkRPQ1RPUlMiLCJIRUFEIERPQ1RPUlMiLCJBRE1JTklTVFJBVE9SUyIsIlJFQ0VQVElPTklTVCIsIkVSIE5VUlNFIiwiRVIgUkVDRVBUSU9OSVNUIiwiUEhBUk1BQ1kgQUNDT1VOVCBTVEFGRiIsIlBIQVJNQUNZIE5VUlNFIiwiSU5QQVRJRU5UIFBIQVJNQUNJU1QiLCJBRE1JU1NJT04gU1RBRkYiLCJBUFBST1ZBTCBTVEFGRiIsIkNPTlNFTlQgIiwiTUVESUNBTCBSRVBPUlQgLSBTSUNLIExFQVZFIE1BTkFHRVIiXSwibmJmIjoxNjA4NzM2NjY5LCJleHAiOjE2MDk2MDA2NjksImlhdCI6MTYwODczNjY2OX0.9EDgYrbe5fQA2CvgLdFT4s_PL7hD5R_Qggfpv4lDtUY";
sss.add(PrescriptionRequestModel(
covered: true,
dose: frequency.isNotEmpty ? int.parse(dose) : 1,
itemId: drugId,
doseUnitId: 1,
route: frequency.isNotEmpty ? int.parse(route) : 1,
frequency: frequency.isNotEmpty ? int.parse(frequency) : 1,
remarks: remarks.isEmpty ? '' : remarks,
approvalRequired: true,
icdcode10Id: "test2",
doseTime: 1,
duration: 2,
doseStartDate: "2020-12-20T13:07:41.769Z"));
updatePrescriptionReqModel.prescriptionRequestModel = sss;
//postProcedureReqModel.procedures = controlsProcedure;
await model.updatePrescription(updatePrescriptionReqModel);
if (model.state == ViewState.ErrorLocal) {
helpers.showErrorToast(model.error);
} else if (model.state == ViewState.Idle) {
DrAppToastMsg.showSuccesToast('Medication has been updated');
}
}
}

@ -20,19 +20,21 @@ class EntityListCheckboxSearchWidget extends StatefulWidget {
EntityListCheckboxSearchWidget(
{Key key,
this.model,
this.addSelectedHistories,
this.removeHistory,
this.masterList,
this.addHistory,
this.isEntityListSelected})
this.model,
this.addSelectedHistories,
this.removeHistory,
this.masterList,
this.addHistory,
this.isEntityListSelected})
: super(key: key);
@override
_EntityListCheckboxSearchWidgetState createState() => _EntityListCheckboxSearchWidgetState();
_EntityListCheckboxSearchWidgetState createState() =>
_EntityListCheckboxSearchWidgetState();
}
class _EntityListCheckboxSearchWidgetState extends State<EntityListCheckboxSearchWidget> {
class _EntityListCheckboxSearchWidgetState
extends State<EntityListCheckboxSearchWidget> {
List<EntityList> items = List();
@override
@ -49,75 +51,70 @@ class _EntityListCheckboxSearchWidgetState extends State<EntityListCheckboxSearc
NetworkBaseView(
baseViewModel: widget.model,
child: Container(
height: MediaQuery.of(context).size.height * 0.5,
height: MediaQuery.of(context).size.height * 0.45,
child: Center(
child: Container(
margin: EdgeInsets.only(top: 15),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12),
color: Colors.white),
child: ListView(
children: [
TextFields(
hintText: 'Search ',
suffixIcon: EvaIcons.search,
onChanged: (value) {
filterSearchResults(value);
},
),
SizedBox(height: 15,),
Column(
children: items.map((historyInfo) {
return Column(
margin: EdgeInsets.only(top: 15),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12),
color: Colors.white),
child: ListView(
children: [
TextFields(
hintText: 'Search ',
suffixIcon: EvaIcons.search,
onChanged: (value) {
filterSearchResults(value);
},
),
SizedBox(
height: 15,
),
Column(
children: items.map((historyInfo) {
return Column(
children: [
Row(
children: [
Row(
children: [
Checkbox(
value:
widget.isEntityListSelected(historyInfo),
activeColor: Colors.red[800],
onChanged: (bool newValue) {
setState(() {
if (widget
.isEntityListSelected(historyInfo)) {
widget.removeHistory(historyInfo);
} else {
widget.addHistory(historyInfo);
}
});
}),
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 10, vertical: 0),
child: Texts(historyInfo.procedureName,
variant: "bodyText",
bold: true,
color: Colors.black),
),
),
],
Checkbox(
value: widget
.isEntityListSelected(historyInfo),
activeColor: Colors.red[800],
onChanged: (bool newValue) {
setState(() {
if (widget.isEntityListSelected(
historyInfo)) {
widget.removeHistory(historyInfo);
} else {
widget.addHistory(historyInfo);
}
});
}),
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 10, vertical: 0),
child: Texts(historyInfo.procedureName,
variant: "bodyText",
bold: true,
color: Colors.black),
),
),
DividerWithSpacesAround(),
],
);
}).toList(),
),
],
),
DividerWithSpacesAround(),
],
);
}).toList(),
),
)),
],
),
)),
),
),
SizedBox(
height: 10,
),
if (widget.model.state == ViewState.Idle)
AppButton(//TODO change the button name
title: "Add ".toUpperCase(),
onPressed: () {
widget.addSelectedHistories();
},
),
],
),
);
@ -129,7 +126,7 @@ class _EntityListCheckboxSearchWidgetState extends State<EntityListCheckboxSearc
if (query.isNotEmpty) {
List<EntityList> dummyListData = List();
dummySearchList.forEach((item) {
if (item.procedureName.toLowerCase().contains(query.toLowerCase()) ) {
if (item.procedureName.toLowerCase().contains(query.toLowerCase())) {
dummyListData.add(item);
}
});
@ -145,4 +142,4 @@ class _EntityListCheckboxSearchWidgetState extends State<EntityListCheckboxSearc
});
}
}
}
}

@ -78,7 +78,7 @@ class _ProcedureScreenState extends State<ProcedureScreen> {
Row(
children: [
AppText(
TranslationBase.of(context).fileNo,
TranslationBase.of(context).age2,
color: Colors.black,
fontWeight: FontWeight.bold,
),
@ -86,12 +86,17 @@ class _ProcedureScreenState extends State<ProcedureScreen> {
width: 5.0,
),
AppText(
patient.patientId.toString(),
patient.age.toString(),
color: Colors.black,
fontWeight: FontWeight.normal,
),
],
),
AppText(
"ALLERGIC TO: FOOD, ASPIRIN",
color: Color(0xFFB9382C),
fontWeight: FontWeight.bold,
),
],
)
],
@ -268,7 +273,8 @@ class _ProcedureScreenState extends State<ProcedureScreen> {
fontWeight:
FontWeight
.w700,
fontSize: 15.0,
fontSize:
15.0,
),
AppText(
model
@ -278,7 +284,8 @@ class _ProcedureScreenState extends State<ProcedureScreen> {
index]
.procedureId
.toString(),
fontSize: 13.0,
fontSize:
13.0,
),
SizedBox(
width: 12.0,
@ -288,20 +295,23 @@ class _ProcedureScreenState extends State<ProcedureScreen> {
fontWeight:
FontWeight
.w700,
fontSize: 15.0,
fontSize:
15.0,
),
AppText(
'Urgent',
fontSize: 13.0,
color:
Colors.red,
fontSize:
13.0,
color: Colors
.red,
),
],
),
Row(
children: [
Container(
child: Expanded(
child:
Expanded(
child:
AppText(
model
@ -349,7 +359,8 @@ class _ProcedureScreenState extends State<ProcedureScreen> {
children: [
AppText(
'Some short remark about the procedure',
fontSize: 13.5,
fontSize:
13.5,
),
],
),
@ -360,7 +371,8 @@ class _ProcedureScreenState extends State<ProcedureScreen> {
Divider(
height: 5.0,
thickness: 1.0,
color: Colors.grey,
color:
Colors.grey,
)
// SizedBox(
// height: 40,
@ -372,7 +384,20 @@ class _ProcedureScreenState extends State<ProcedureScreen> {
Container(
child: Column(
children: [
Icon(Icons.edit)
InkWell(
child: Icon(
Icons.edit),
onTap: () {
updateProcedureForm(
context,
procedureName: model
.procedureList[
0]
.entityList[
index]
.procedureName);
},
)
],
),
)
@ -423,6 +448,37 @@ postProcedure({ProcedureViewModel model}) async {
}
}
updateProcedure({ProcedureViewModel model, String remarks}) async {
PostProcedureReqModel updateProcedureReqModel = new PostProcedureReqModel();
List<Controls> controls = List();
List<Procedures> controlsProcedure = List();
updateProcedureReqModel.appointmentNo = 2016054575;
updateProcedureReqModel.episodeID = 200012166;
updateProcedureReqModel.patientMRN = 3120725;
updateProcedureReqModel.vidaAuthTokenID =
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxNDg1IiwianRpIjoiZjQ4YTk0OTQtYTczZS00MDI3LWI2MjgtNzc4MjAwMzUyYWEzIiwiZW1haWwiOiJNb2hhbWVkLlJlc3dhbkBjbG91ZHNvbHV0aW9uLXNhLmNvbSIsImlkIjoiMTQ4NSIsIk5hbWUiOiJTSEFLRVJBIFBBUlZFRU4gKFVTRUQgQlkgRVNFUlZJQ0VTKSIsIkVtcGxveWVlSWQiOiIxNDg1IiwiRmFjaWxpdHlHcm91cElkIjoiMDEwMjY2IiwiRmFjaWxpdHlJZCI6IjE1IiwiUGhhcmFtY3lGYWNpbGl0eUlkIjoiNTUiLCJJU19QSEFSTUFDWV9DT05ORUNURUQiOiJUcnVlIiwiRG9jdG9ySWQiOiIxNDg1IiwiU0VTU0lPTklEIjoiMjE1ODUyMTAiLCJDbGluaWNJZCI6IjMiLCJyb2xlIjoiRE9DVE9SUyIsIm5iZiI6MTYwODM2NDU2OCwiZXhwIjoxNjA5MjI4NTY4LCJpYXQiOjE2MDgzNjQ1Njh9.YLbvq5nxPn8o9ZYkcbc5YAX7Jy23Mm0s33oRmE8GHDI';
controls.add(
Controls(
code: remarks.isEmpty ? '' : remarks,
controlValue: 'Testing',
),
);
controlsProcedure.add(
Procedures(category: "02", procedure: "02011002", controls: controls));
updateProcedureReqModel.procedures = controlsProcedure;
await model.updateProcedure(updateProcedureReqModel);
if (model.state == ViewState.ErrorLocal) {
helpers.showErrorToast(model.error);
} else if (model.state == ViewState.Idle) {
DrAppToastMsg.showSuccesToast('procedure has been updated');
}
}
void addSelectedProcedure(context, ProcedureViewModel model) {
showModalBottomSheet(
context: context,
@ -444,14 +500,14 @@ class AddSelectedProcedure extends StatefulWidget {
class _AddSelectedProcedureState extends State<AddSelectedProcedure> {
TextEditingController procedureController = TextEditingController();
List<EntityList> entityList= List();
List<EntityList> entityList = List();
@override
Widget build(BuildContext context) {
return NetworkBaseView(
baseViewModel: widget.model,
child: SingleChildScrollView(
child: Container(
//height: 490,
height: 790,
child: Padding(
padding: EdgeInsets.all(12.0),
child: Column(
@ -462,28 +518,28 @@ class _AddSelectedProcedureState extends State<AddSelectedProcedure> {
fontWeight: FontWeight.w900,
),
if (widget.model.categoriesList.length != 0)
EntityListCheckboxSearchWidget(
model: widget.model,
masterList: widget.model.categoriesList[0].entityList,
removeHistory: (item){
setState(() {
entityList.remove(item);
});
},
addHistory: (history){
setState(() {
entityList.add(history);
});
},
addSelectedHistories: (){
//TODO build your fun herr
// widget.addSelectedHistories();
},
isEntityListSelected: (master) => isEntityListSelected(master),
),
EntityListCheckboxSearchWidget(
model: widget.model,
masterList: widget.model.categoriesList[0].entityList,
removeHistory: (item) {
setState(() {
entityList.remove(item);
});
},
addHistory: (history) {
setState(() {
entityList.add(history);
});
},
addSelectedHistories: () {
//TODO build your fun herr
// widget.addSelectedHistories();
},
isEntityListSelected: (master) =>
isEntityListSelected(master),
),
SizedBox(
height: 0.0,
height: 15.0,
),
Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -493,14 +549,19 @@ class _AddSelectedProcedureState extends State<AddSelectedProcedure> {
borderRadius: BorderRadius.all(Radius.circular(6.0)),
border: Border.all(
width: 1.0, color: HexColor("#CCCCCC"))),
child: AppTextFormField(
labelText: 'Add Delected Procedures'.toUpperCase(),
borderColor: Colors.white,
textInputType: TextInputType.text,
inputFormatter: ONLY_LETTERS,
child: TextFields(
hintText: 'Order Type'.toUpperCase(),
controller: procedureController,
),
),
SizedBox(
height: 15.0,
),
TextFields(
hintText: 'Remarks',
minLines: 3,
maxLines: 5,
),
SizedBox(
height: 80.0,
),
@ -510,7 +571,7 @@ class _AddSelectedProcedureState extends State<AddSelectedProcedure> {
alignment: WrapAlignment.center,
children: <Widget>[
AppButton(
title: TranslationBase.of(context).addMedication,
title: 'add Selected Procedures'.toUpperCase(),
onPressed: () {
Navigator.pop(context);
postProcedure(model: widget.model);
@ -528,9 +589,10 @@ class _AddSelectedProcedureState extends State<AddSelectedProcedure> {
),
);
}
bool isEntityListSelected(EntityList masterKey) {
Iterable<EntityList> history =
entityList.where((element) => masterKey.procedureId == element.procedureId);
Iterable<EntityList> history = entityList
.where((element) => masterKey.procedureId == element.procedureId);
if (history.length > 0) {
return true;
}
@ -538,15 +600,16 @@ class _AddSelectedProcedureState extends State<AddSelectedProcedure> {
}
}
void updateProcedureForm(context) {
void updateProcedureForm(context, {String procedureName}) {
ProcedureViewModel procedureViewModel = ProcedureViewModel();
TextEditingController remarksController = TextEditingController();
TextEditingController orderController = TextEditingController();
showModalBottomSheet(
context: context,
isScrollControlled: true,
builder: (BuildContext bc) {
return Container(
height: 500,
height: 400,
child: Form(
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 10.0),
@ -554,8 +617,8 @@ void updateProcedureForm(context) {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
'Procedure Name'.toUpperCase(),
fontWeight: FontWeight.w900,
procedureName.toUpperCase(),
fontWeight: FontWeight.w700,
),
SizedBox(
height: 30.0,
@ -565,11 +628,9 @@ void updateProcedureForm(context) {
borderRadius: BorderRadius.all(Radius.circular(6.0)),
border: Border.all(
width: 1.0, color: HexColor("#CCCCCC"))),
child: AppTextFormField(
labelText: 'Order ',
borderColor: Colors.white,
textInputType: TextInputType.number,
inputFormatter: ONLY_NUMBERS,
child: TextFields(
hintText: 'Order ',
controller: orderController,
),
),
SizedBox(
@ -580,16 +641,15 @@ void updateProcedureForm(context) {
borderRadius: BorderRadius.all(Radius.circular(6.0)),
border: Border.all(
width: 1.0, color: HexColor("#CCCCCC"))),
child: AppTextFormField(
labelText: 'Password',
borderColor: Colors.white,
textInputType: TextInputType.text,
inputFormatter: ONLY_LETTERS,
obscureText: true,
child: TextFields(
hintText: 'Remarks',
controller: remarksController,
maxLines: 5,
minLines: 3,
),
),
SizedBox(
height: 190.0,
height: 100.0,
),
Container(
margin: EdgeInsets.all(SizeConfig.widthMultiplier * 2),
@ -597,9 +657,12 @@ void updateProcedureForm(context) {
alignment: WrapAlignment.center,
children: <Widget>[
AppButton(
title: 'CONTINUE',
title: 'Update procedure'.toUpperCase(),
onPressed: () {
Navigator.pop(context);
updateProcedure(
model: procedureViewModel,
remarks: remarksController.text);
// authorizationForm(context);
},
),

@ -18,7 +18,6 @@ import 'PatientProfileButton.dart';
*@desc: Profile Medical Info Widget
*/
class ProfileMedicalInfoWidget extends StatelessWidget {
ProfileMedicalInfoWidget({Key key, this.patient}) : super(key: key);
PatiantInformtion patient;
@override
@ -57,17 +56,17 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
nameLine1: TranslationBase.of(context).lab,
nameLine2: TranslationBase.of(context).result,
icon: 'lab.png'),
// PatientProfileButton(
// key: key,
// patient: patient,
// route: PRESCRIPTIONS,
// nameLine1: TranslationBase.of(context).medicines,
// nameLine2: TranslationBase.of(context).prescription,
// icon: 'note.png'),
PatientProfileButton(
key: key,
patient: patient,
route: PRESCRIPTIONS,
nameLine1: TranslationBase.of(context).medicines,
nameLine2: TranslationBase.of(context).prescription,
icon: 'note.png'),
PatientProfileButton(
key: key,
patient: patient,
route: RADIOLOGY,
route: MEDICAL_FILE,
nameLine1: TranslationBase.of(context).previewHealth,
nameLine2: TranslationBase.of(context).summaryReport,
icon: 'radiology-1.png'),

@ -440,7 +440,7 @@ packages:
name: js
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.2"
version: "0.6.3-nullsafety.1"
json_annotation:
dependency: transitive
description:
@ -482,7 +482,7 @@ packages:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0-nullsafety.3"
version: "1.3.0-nullsafety.4"
mime:
dependency: transitive
description:
@ -739,7 +739,7 @@ packages:
name: stack_trace
url: "https://pub.dartlang.org"
source: hosted
version: "1.10.0-nullsafety.1"
version: "1.10.0-nullsafety.2"
stream_channel:
dependency: transitive
description:
@ -874,5 +874,5 @@ packages:
source: hosted
version: "2.2.1"
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"

Loading…
Cancel
Save