Update to stores for ICD 10 code changes & other improvements

development-3.3
haroon amjad 2 years ago
parent 0b6e2bc8e4
commit 519b7cfc2e

@ -207,7 +207,6 @@ const CREATE_PROGRESS_NOTE_FOR_INPATIENT = "Services/DoctorApplication.svc/REST/
const IS_PRINCIPAL_COVERED = "Services/DoctorApplication.svc/REST/IsPrincipalDiagnosisCovered"; const IS_PRINCIPAL_COVERED = "Services/DoctorApplication.svc/REST/IsPrincipalDiagnosisCovered";
const GET_ICD10DISEASE = "Services/DoctorApplication.svc/REST/GetICD10DiseaseForItemId"; const GET_ICD10DISEASE = "Services/DoctorApplication.svc/REST/GetICD10DiseaseForItemId";
const GET_SICK_LEAVE_PATIENT = "Services/Patients.svc/REST/GetPatientSickLeave"; const GET_SICK_LEAVE_PATIENT = "Services/Patients.svc/REST/GetPatientSickLeave";
const GET_MY_OUT_PATIENT = "Services/DoctorApplication.svc/REST/GetMyOutPatient"; const GET_MY_OUT_PATIENT = "Services/DoctorApplication.svc/REST/GetMyOutPatient";
@ -280,7 +279,6 @@ const GET_STP_MASTER_LIST = "Services/DoctorApplication.svc/REST/DoctorApp_GetST
const DOCTOR_ER_SIGN_ASSESSMENT = "Services/DoctorApplication.svc/REST/DoctorApp_DoctorERSignAssessment"; const DOCTOR_ER_SIGN_ASSESSMENT = "Services/DoctorApplication.svc/REST/DoctorApp_DoctorERSignAssessment";
const DOCTOR_SCHEDULE = "api/ScheduledSchedule/GetallSchedulebyUser"; const DOCTOR_SCHEDULE = "api/ScheduledSchedule/GetallSchedulebyUser";
var selectedPatientType = 1; var selectedPatientType = 1;
@ -315,7 +313,7 @@ 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 = '9.9.9.9'; const IP_ADDRESS = '9.9.9.9';
const VERSION_ID = 8.7; const VERSION_ID = 8.9;
const CHANNEL = 9; const CHANNEL = 9;
const SESSION_ID = 'BlUSkYymTt'; const SESSION_ID = 'BlUSkYymTt';
const IS_LOGIN_FOR_DOCTOR_APP = true; const IS_LOGIN_FOR_DOCTOR_APP = true;

@ -451,8 +451,8 @@ class PrescriptionService extends LookupService {
await baseAppClient.post(IS_PRINCIPAL_COVERED, await baseAppClient.post(IS_PRINCIPAL_COVERED,
body:{ body:{
"PatientID":patient.patientId, "PatientID":patient.patientId,
"EncounterNo":patient.appointmentNo, "EncounterNo":patient.appointmentNo ?? 0,
"EncounterType":patient.appointmentTypeId, "EncounterType":patient.appointmentTypeId ?? 0,
"DoctorID":patient.doctorId, "DoctorID":patient.doctorId,
}, onSuccess: (dynamic response, int statusCode) { }, onSuccess: (dynamic response, int statusCode) {
isDiagnosisCovered = response['IsDiagnosisCovered']; isDiagnosisCovered = response['IsDiagnosisCovered'];

@ -37,6 +37,7 @@ class ProcedureViewModel extends BaseViewModel {
bool hasError = false; bool hasError = false;
ProcedureService _procedureService = locator<ProcedureService>(); ProcedureService _procedureService = locator<ProcedureService>();
PrescriptionService _prescriptionService = locator<PrescriptionService>(); PrescriptionService _prescriptionService = locator<PrescriptionService>();
List<GetOrderedProcedureModel> get procedureList => _procedureService.procedureList; List<GetOrderedProcedureModel> get procedureList => _procedureService.procedureList;
List<ProcedureValadteModel> get valadteProcedureList => _procedureService.valadteProcedureList; List<ProcedureValadteModel> get valadteProcedureList => _procedureService.valadteProcedureList;
@ -65,6 +66,7 @@ class ProcedureViewModel extends BaseViewModel {
bool _isRadiologyVIDAPlus = false; bool _isRadiologyVIDAPlus = false;
bool get isRadiologyVIDAPlus => _isRadiologyVIDAPlus; bool get isRadiologyVIDAPlus => _isRadiologyVIDAPlus;
bool get isPrincipalCovered_ => _prescriptionService.isDiagnosisCovered; bool get isPrincipalCovered_ => _prescriptionService.isDiagnosisCovered;
Future getProcedure({int mrn, String patientType, int appointmentNo, bool isLocalBusy = false}) async { Future getProcedure({int mrn, String patientType, int appointmentNo, bool isLocalBusy = false}) async {
@ -457,16 +459,15 @@ class ProcedureViewModel extends BaseViewModel {
items.addAll(masterList); items.addAll(masterList);
} }
} }
Future isPrincipalCovered(
{ Future isPrincipalCovered({@required PatiantInformtion patient}) async {
@required PatiantInformtion patient}) async { // setState(ViewState.Busy);
setState(ViewState.Busy);
await _prescriptionService.isPrincipalCovered(patient); await _prescriptionService.isPrincipalCovered(patient);
if (_prescriptionService.hasError) { if (_prescriptionService.hasError) {
error = _prescriptionService.error; error = _prescriptionService.error;
setState(ViewState.ErrorLocal); setState(ViewState.ErrorLocal);
} else { } else {
setState(ViewState.Idle); // setState(ViewState.Idle);
} }
} }
} }

@ -71,21 +71,24 @@ class _LabsHomePageState extends State<LabsHomePage> {
SizedBox( SizedBox(
height: 12, height: 12,
), ),
if ((model.patientLabOrdersList.isNotEmpty && if ((model.patientLabOrdersList.isNotEmpty && patient.patientStatusType != 43) || (patient.patientStatusType != null && patient.patientStatusType == 43))
patient.patientStatusType != 43)|| (patient.patientStatusType != null &&
patient.patientStatusType == 43))
ServiceTitle( ServiceTitle(
title: TranslationBase.of(context).lab, title: TranslationBase.of(context).lab,
subTitle: TranslationBase.of(context).result, subTitle: TranslationBase.of(context).result,
), ),
if ((patient.patientStatusType != null && SizedBox(
patient.patientStatusType == 43) || height: 20,
(isFromLiveCare && patient.appointmentNo != null)) ),
!model.isPrincipalCovered_
SizedBox(height: 20,), ? Center(
!model.isPrincipalCovered_ ? Center(child: AppText(TranslationBase.of(context).principalCoveredOrNot,color: Colors.red, textAlign: TextAlign.center, )) :SizedBox(), child: AppText(
TranslationBase.of(context).principalCoveredOrNot,
AddNewOrder( color: Colors.red,
textAlign: TextAlign.center,
))
: SizedBox(),
if ((patient.patientStatusType != null && patient.patientStatusType == 43) || (isFromLiveCare && patient.appointmentNo != null))
AddNewOrder(
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
@ -123,44 +126,26 @@ class _LabsHomePageState extends State<LabsHomePage> {
child: Container( child: Container(
width: 20, width: 20,
decoration: BoxDecoration( decoration: BoxDecoration(
color: model.patientLabOrdersList[index] color: model.patientLabOrdersList[index].isLiveCareAppointment
.isLiveCareAppointment
? Colors.red[900] ? Colors.red[900]
: !model.patientLabOrdersList[index] : !model.patientLabOrdersList[index].isInOutPatient
.isInOutPatient
? Colors.black ? Colors.black
: Color(0xffa9a089), : Color(0xffa9a089),
borderRadius: BorderRadius.only( borderRadius: BorderRadius.only(
topLeft: projectViewModel.isArabic topLeft: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(8),
? Radius.circular(0) bottomLeft: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(8),
: Radius.circular(8), topRight: projectViewModel.isArabic ? Radius.circular(8) : Radius.circular(0),
bottomLeft: projectViewModel.isArabic bottomRight: projectViewModel.isArabic ? Radius.circular(8) : Radius.circular(0)),
? Radius.circular(0)
: Radius.circular(8),
topRight: projectViewModel.isArabic
? Radius.circular(8)
: Radius.circular(0),
bottomRight: projectViewModel.isArabic
? Radius.circular(8)
: Radius.circular(0)),
), ),
child: RotatedBox( child: RotatedBox(
quarterTurns: 3, quarterTurns: 3,
child: Center( child: Center(
child: Text( child: Text(
model.patientLabOrdersList[index] model.patientLabOrdersList[index].isLiveCareAppointment
.isLiveCareAppointment ? TranslationBase.of(context).liveCare.toUpperCase()
? TranslationBase.of(context) : !model.patientLabOrdersList[index].isInOutPatient
.liveCare ? TranslationBase.of(context).inPatientLabel.toUpperCase()
.toUpperCase() : TranslationBase.of(context).outpatient.toUpperCase(),
: !model.patientLabOrdersList[index]
.isInOutPatient
? TranslationBase.of(context)
.inPatientLabel
.toUpperCase()
: TranslationBase.of(context)
.outpatient
.toUpperCase(),
style: TextStyle(color: Colors.white), style: TextStyle(color: Colors.white),
), ),
)), )),
@ -176,8 +161,7 @@ class _LabsHomePageState extends State<LabsHomePage> {
context, context,
FadePage( FadePage(
page: LaboratoryResultPage( page: LaboratoryResultPage(
patientLabOrders: patientLabOrders: model.patientLabOrdersList[index],
model.patientLabOrdersList[index],
patient: patient, patient: patient,
isInpatient: isInpatient, isInpatient: isInpatient,
arrivalType: arrivalType, arrivalType: arrivalType,
@ -185,18 +169,12 @@ class _LabsHomePageState extends State<LabsHomePage> {
), ),
), ),
), ),
doctorName: doctorName: Utils.convertToTitleCase(model.patientLabOrdersList[index].doctorName),
Utils.convertToTitleCase(model.patientLabOrdersList[index].doctorName), invoiceNO: ' ${model.patientLabOrdersList[index].invoiceNo}',
invoiceNO: profileUrl: model.patientLabOrdersList[index].doctorImageURL,
' ${model.patientLabOrdersList[index].invoiceNo}', branch: model.patientLabOrdersList[index].projectName,
profileUrl: model clinic: Utils.convertToTitleCase(model.patientLabOrdersList[index].clinicDescription),
.patientLabOrdersList[index].doctorImageURL, appointmentDate: model.patientLabOrdersList[index].createdOn,
branch:
model.patientLabOrdersList[index].projectName,
clinic:
Utils.convertToTitleCase(model.patientLabOrdersList[index].clinicDescription),
appointmentDate:
model.patientLabOrdersList[index].createdOn,
orderNo: model.patientLabOrdersList[index].orderNo, orderNo: model.patientLabOrdersList[index].orderNo,
isShowTime: false, isShowTime: false,
), ),
@ -205,8 +183,7 @@ class _LabsHomePageState extends State<LabsHomePage> {
), ),
), ),
), ),
if (model.patientLabOrdersList.isEmpty && if (model.patientLabOrdersList.isEmpty && patient.patientStatusType != 43)
patient.patientStatusType != 43)
Center( Center(
child: ErrorMessage( child: ErrorMessage(
error: TranslationBase.of(context).noDataAvailable, error: TranslationBase.of(context).noDataAvailable,

@ -3,6 +3,7 @@ import 'dart:async';
import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/provider/robot_provider.dart'; import 'package:doctor_app_flutter/core/provider/robot_provider.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/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/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -62,21 +63,7 @@ class _MyStatefulBuilderState extends State<MyStatefulBuilder> {
@override @override
void initState() { void initState() {
streamSubscription = event.controller.stream.listen((p) { startStreamListener();
if ((p['searchText'] != 'null' &&
p['searchText'] != null &&
p['searchText'] != "" &&
isClosed == false)) {
setState(() {
searchText = p['searchText'];
SpeechToText.closeAlertDialog(context);
});
} else if (p['searchText'] == 'null') {
setState(() {
searchText = p['searchText'];
});
}
});
super.initState(); super.initState();
} }
@ -104,9 +91,7 @@ class _MyStatefulBuilderState extends State<MyStatefulBuilder> {
child: Container( child: Container(
margin: EdgeInsets.all(20), margin: EdgeInsets.all(20),
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
decoration: BoxDecoration( decoration: BoxDecoration(borderRadius: BorderRadius.circular(100), border: Border.all(width: 2, color: Colors.red)),
borderRadius: BorderRadius.circular(100),
border: Border.all(width: 2, color: Colors.red)),
child: Icon( child: Icon(
Icons.mic, Icons.mic,
color: Colors.blue, color: Colors.blue,
@ -135,8 +120,7 @@ class _MyStatefulBuilderState extends State<MyStatefulBuilder> {
? Center( ? Center(
child: InkWell( child: InkWell(
child: Container( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(border: Border.all(color: Colors.grey[300])),
border: Border.all(color: Colors.grey[300])),
padding: EdgeInsets.all(5), padding: EdgeInsets.all(5),
child: AppText( child: AppText(
'Try Again', 'Try Again',
@ -160,7 +144,23 @@ class _MyStatefulBuilderState extends State<MyStatefulBuilder> {
@override @override
void dispose() { void dispose() {
super.dispose();
widget.dispose(); widget.dispose();
streamSubscription.cancel();
super.dispose();
}
void startStreamListener() {
streamSubscription = event.controller.stream.listen((p) {
if ((p['searchText'] != 'null' && p['searchText'] != null && p['searchText'] != "" && isClosed == false && mounted)) {
setState(() {
searchText = p['searchText'];
// SpeechToText.closeAlertDialog(context);
});
} else if (p['searchText'] == 'null' && mounted) {
setState(() {
searchText = p['searchText'];
});
}
});
} }
} }

@ -11,7 +11,7 @@ description: A new Flutter project.
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at # Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.4.1+21 version: 1.4.12+1
environment: environment:

Loading…
Cancel
Save