prescription form fix

merge-requests/243/head
hussam al-habibeh 5 years ago
parent f767467a67
commit 5253c28469

File diff suppressed because it is too large Load Diff

@ -60,15 +60,15 @@ postProcedure(
sss.add(PrescriptionRequestModel( sss.add(PrescriptionRequestModel(
covered: true, covered: true,
dose: 1, dose: 1,
itemId: int.parse(drugId), itemId: drugId.isEmpty ? 1 : int.parse(drugId),
doseUnitId: 1, doseUnitId: 1,
route: int.parse(route), route: route.isEmpty ? 1 : int.parse(route),
frequency: int.parse(frequency), frequency: frequency.isEmpty ? 1 : int.parse(frequency),
remarks: instruction, remarks: instruction,
approvalRequired: true, approvalRequired: true,
icdcode10Id: "test2", icdcode10Id: "test2",
doseTime: int.parse(doseTimeIn), doseTime: doseTimeIn.isEmpty ? 1 : int.parse(doseTimeIn),
duration: int.parse(duration), duration: duration.isEmpty ? 1 : int.parse(duration),
doseStartDate: doseTime.toIso8601String())); doseStartDate: doseTime.toIso8601String()));
postProcedureReqModel.prescriptionRequestModel = sss; postProcedureReqModel.prescriptionRequestModel = sss;
//postProcedureReqModel.procedures = controlsProcedure; //postProcedureReqModel.procedures = controlsProcedure;
@ -120,10 +120,9 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
List<dynamic> durationList; List<dynamic> durationList;
List<dynamic> doseTimeList; List<dynamic> doseTimeList;
List<dynamic> indicationList; List<dynamic> indicationList;
String routeInatial = 'By Mouth';
//PatiantInformtion patient; //PatiantInformtion patient;
dynamic _strength;
dynamic _selectedBranch;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@ -260,487 +259,500 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
return BaseView<PrescriptionViewModel>( return BaseView<PrescriptionViewModel>(
onModelReady: (model) => model.getDrugs(), onModelReady: (model) => model.getDrugs(),
builder: (BuildContext context, PrescriptionViewModel model, builder:
Widget child) => (BuildContext context, PrescriptionViewModel model, Widget child) =>
DraggableScrollableSheet( NetworkBaseView(
initialChildSize: 0.90, baseViewModel: model,
maxChildSize: 0.90, child: DraggableScrollableSheet(
minChildSize: 0.9, initialChildSize: 0.90,
builder: maxChildSize: 0.90,
(BuildContext context, ScrollController scrollController) { minChildSize: 0.9,
return SingleChildScrollView( builder: (BuildContext context, ScrollController scrollController) {
child: Container( return SingleChildScrollView(
height: 980, child: Container(
child: Padding( height: 980,
padding: EdgeInsets.symmetric( child: Padding(
horizontal: 12.0, vertical: 10.0), padding:
child: Column( EdgeInsets.symmetric(horizontal: 12.0, vertical: 10.0),
crossAxisAlignment: CrossAxisAlignment.start, child: Column(
//mainAxisAlignment: MainAxisAlignment.spaceEvenly, crossAxisAlignment: CrossAxisAlignment.start,
children: [ //mainAxisAlignment: MainAxisAlignment.spaceEvenly,
AppText( children: [
TranslationBase.of(context).medicines.toUpperCase(), AppText(
fontWeight: FontWeight.w900, TranslationBase.of(context).medicines.toUpperCase(),
), fontWeight: FontWeight.w900,
SizedBox( ),
height: spaceBetweenTextFileds, SizedBox(
), height: spaceBetweenTextFileds,
Container( ),
child: Form( Container(
key: formKey, child: Form(
child: Column( key: formKey,
//mainAxisAlignment: MainAxisAlignment.end, child: Column(
children: [ //mainAxisAlignment: MainAxisAlignment.end,
Container( children: [
height: screenSize.height * 0.070, Container(
child: InkWell( height: screenSize.height * 0.070,
onTap: model.drugsList != null && child: InkWell(
model.drugsList.length > 0 onTap: model.drugsList != null &&
? () { model.drugsList.length > 0
ListSelectDialog dialog = ? () {
ListSelectDialog( ListSelectDialog dialog =
list: model.drugsList, ListSelectDialog(
attributeName: 'GenericName', list: model.drugsList,
attributeValueId: 'ItemId', attributeName: 'GenericName',
okText: attributeValueId: 'ItemId',
TranslationBase.of(context) okText:
.ok, TranslationBase.of(context)
okFunction: (selectedValue) { .ok,
setState(() { okFunction: (selectedValue) {
selectedDrug = setState(() {
selectedValue; selectedDrug = selectedValue;
}); });
}, },
); );
showDialog( showDialog(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,
builder: builder: (BuildContext context) {
(BuildContext context) { return dialog;
return dialog; },
}, );
); }
} : null,
: null, child: TextField(
child: TextField( decoration: textFieldSelectorDecoration(
decoration: textFieldSelectorDecoration( TranslationBase.of(context)
TranslationBase.of(context).search, .searchMedicine,
selectedDrug != null selectedDrug != null
? selectedDrug['GenericName'] ? selectedDrug['GenericName']
: null, : null,
true), true,
enabled: false, suffixIcon: Icon(
), Icons.search,
color: Colors.black,
)),
enabled: false,
), ),
), ),
SizedBox( ),
height: spaceBetweenTextFileds, SizedBox(
), height: spaceBetweenTextFileds,
Container( ),
height: screenSize.height * 0.070, Container(
child: InkWell( child: Row(
onTap: referToList != null children: [
? () { AppText('Order Type'),
ListSelectDialog dialog = Radio(),
ListSelectDialog( Text('Regular'),
list: referToList, Radio(
attributeName: 'name', value: 1,
attributeValueId: 'id',
okText:
TranslationBase.of(context)
.ok,
okFunction: (selectedValue) {
setState(() {
type = selectedValue;
_selectedBranch = null;
});
},
);
showDialog(
barrierDismissible: false,
context: context,
builder:
(BuildContext context) {
return dialog;
},
);
}
: null,
child: TextField(
decoration: textFieldSelectorDecoration(
TranslationBase.of(context)
.orderType,
type != null ? type['name'] : null,
true),
enabled: false,
), ),
), Text('Urgent'),
],
), ),
SizedBox(height: spaceBetweenTextFileds), ),
Container( // Container(
height: screenSize.height * 0.070, // height: screenSize.height * 0.070,
child: InkWell( // child: InkWell(
onTap: strengthList != null // onTap: referToList != null
? () { // ? () {
ListSelectDialog dialog = // ListSelectDialog dialog =
ListSelectDialog( // ListSelectDialog(
list: strengthList, // list: referToList,
attributeName: 'name', // attributeName: 'name',
attributeValueId: 'id', // attributeValueId: 'id',
okText: // okText:
TranslationBase.of(context) // TranslationBase.of(context)
.ok, // .ok,
okFunction: (selectedValue) { // okFunction: (selectedValue) {
setState(() { // setState(() {
strength = selectedValue; // type = selectedValue;
_selectedBranch = null; // _selectedBranch = null;
}); // });
}, // },
); // );
showDialog( // showDialog(
barrierDismissible: false, // barrierDismissible: false,
context: context, // context: context,
builder: // builder:
(BuildContext context) { // (BuildContext context) {
return dialog; // return dialog;
}, // },
); // );
} // }
: null, // : null,
child: TextField( // child: TextField(
decoration: textFieldSelectorDecoration( // decoration: textFieldSelectorDecoration(
TranslationBase.of(context) // TranslationBase.of(context)
.strength, // .orderType,
strength != null // type != null ? type['name'] : null,
? strength['name'] // true),
: null, // enabled: false,
true), // ),
enabled: false, // ),
), // ),
SizedBox(height: spaceBetweenTextFileds),
Container(
height: screenSize.height * 0.070,
child: InkWell(
onTap: strengthList != null
? () {
ListSelectDialog dialog =
ListSelectDialog(
list: strengthList,
attributeName: 'name',
attributeValueId: 'id',
okText:
TranslationBase.of(context)
.ok,
okFunction: (selectedValue) {
setState(() {
strength = selectedValue;
});
},
);
showDialog(
barrierDismissible: false,
context: context,
builder: (BuildContext context) {
return dialog;
},
);
}
: null,
child: TextField(
decoration: textFieldSelectorDecoration(
TranslationBase.of(context).strength,
strength != null
? strength['name']
: null,
true),
enabled: false,
), ),
), ),
SizedBox(height: spaceBetweenTextFileds), ),
Container( SizedBox(height: spaceBetweenTextFileds),
height: screenSize.height * 0.070, Container(
child: InkWell( height: screenSize.height * 0.070,
onTap: routeList != null child: InkWell(
? () { onTap: routeList != null
ListSelectDialog dialog = ? () {
ListSelectDialog( ListSelectDialog dialog =
list: routeList, ListSelectDialog(
attributeName: 'name', list: routeList,
attributeValueId: 'id', attributeName: 'name',
okText: attributeValueId: 'id',
TranslationBase.of(context) okText:
.ok, TranslationBase.of(context)
okFunction: (selectedValue) { .ok,
setState(() { okFunction: (selectedValue) {
route = selectedValue; setState(() {
_selectedBranch = null; route = selectedValue;
}); });
}, if (route == null) {
); helpers.showErrorToast(
showDialog( 'plase fill');
barrierDismissible: false, }
context: context, },
builder: );
(BuildContext context) { showDialog(
return dialog; barrierDismissible: false,
}, context: context,
); builder: (BuildContext context) {
} return dialog;
: null, },
child: TextField( );
decoration: textFieldSelectorDecoration( }
TranslationBase.of(context).route, : null,
route != null child: TextField(
? route['name'] decoration: textFieldSelectorDecoration(
: null, TranslationBase.of(context).route,
true), route != null ? route['name'] : null,
enabled: false, true),
), enabled: false,
), ),
), ),
SizedBox(height: spaceBetweenTextFileds), ),
Container( SizedBox(height: spaceBetweenTextFileds),
height: screenSize.height * 0.070, Container(
child: InkWell( height: screenSize.height * 0.070,
onTap: frequencyList != null child: InkWell(
? () { onTap: frequencyList != null
ListSelectDialog dialog = ? () {
ListSelectDialog( ListSelectDialog dialog =
list: frequencyList, ListSelectDialog(
attributeName: 'name', list: frequencyList,
attributeValueId: 'id', attributeName: 'name',
okText: attributeValueId: 'id',
TranslationBase.of(context) okText:
.ok, TranslationBase.of(context)
okFunction: (selectedValue) { .ok,
setState(() { okFunction: (selectedValue) {
frequency = selectedValue; setState(() {
_selectedBranch = null; frequency = selectedValue;
}); });
}, },
); );
showDialog( showDialog(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,
builder: builder: (BuildContext context) {
(BuildContext context) { return dialog;
return dialog; },
}, );
); }
} : null,
: null, child: TextField(
child: TextField( decoration: textFieldSelectorDecoration(
decoration: textFieldSelectorDecoration( TranslationBase.of(context).frequency,
TranslationBase.of(context) frequency != null
.frequency, ? frequency['name']
frequency != null : null,
? frequency['name'] true),
: null, enabled: false,
true),
enabled: false,
),
), ),
), ),
SizedBox(height: spaceBetweenTextFileds), ),
Container( SizedBox(height: spaceBetweenTextFileds),
height: screenSize.height * 0.070, Container(
child: InkWell( height: screenSize.height * 0.070,
onTap: doseTimeList != null child: InkWell(
? () { onTap: doseTimeList != null
ListSelectDialog dialog = ? () {
ListSelectDialog( ListSelectDialog dialog =
list: doseTimeList, ListSelectDialog(
attributeName: 'name', list: doseTimeList,
attributeValueId: 'id', attributeName: 'name',
okText: attributeValueId: 'id',
TranslationBase.of(context) okText:
.ok, TranslationBase.of(context)
okFunction: (selectedValue) { .ok,
setState(() { okFunction: (selectedValue) {
doseTime = selectedValue; setState(() {
_selectedBranch = null; doseTime = selectedValue;
}); });
}, },
); );
showDialog( showDialog(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,
builder: builder: (BuildContext context) {
(BuildContext context) { return dialog;
return dialog; },
}, );
); }
} : null,
: null, child: TextField(
child: TextField( decoration: textFieldSelectorDecoration(
decoration: textFieldSelectorDecoration( TranslationBase.of(context).doseTime,
TranslationBase.of(context) doseTime != null
.doseTime, ? doseTime['name']
doseTime != null : null,
? doseTime['name'] true),
: null, enabled: false,
true),
enabled: false,
),
), ),
), ),
SizedBox(height: spaceBetweenTextFileds), ),
Container( SizedBox(height: spaceBetweenTextFileds),
height: screenSize.height * 0.070, Container(
child: InkWell( height: screenSize.height * 0.070,
onTap: indicationList != null child: InkWell(
? () { onTap: indicationList != null
ListSelectDialog dialog = ? () {
ListSelectDialog( ListSelectDialog dialog =
list: indicationList, ListSelectDialog(
attributeName: 'name', list: indicationList,
attributeValueId: 'id', attributeName: 'name',
okText: attributeValueId: 'id',
TranslationBase.of(context) okText:
.ok, TranslationBase.of(context)
okFunction: (selectedValue) { .ok,
setState(() { okFunction: (selectedValue) {
indicationList = setState(() {
selectedValue; indication = selectedValue;
_selectedBranch = null; });
}); },
}, );
); showDialog(
showDialog( barrierDismissible: false,
barrierDismissible: false, context: context,
context: context, builder: (BuildContext context) {
builder: return dialog;
(BuildContext context) { },
return dialog; );
}, }
); : null,
} child: TextField(
: null, decoration: textFieldSelectorDecoration(
child: TextField( TranslationBase.of(context)
decoration: textFieldSelectorDecoration( .indication,
TranslationBase.of(context) indication != null
.indication, ? indication['name']
indication != null : null,
? indication['name'] true),
: null, enabled: false,
true),
enabled: false,
),
), ),
), ),
SizedBox(height: spaceBetweenTextFileds), ),
Container( SizedBox(height: spaceBetweenTextFileds),
height: screenSize.height * 0.070, Container(
child: InkWell( height: screenSize.height * 0.070,
onTap: () => child: InkWell(
selectDate(context, widget.model), onTap: () =>
child: TextField( selectDate(context, widget.model),
decoration: child: TextField(
Helpers.textFieldSelectorDecoration( decoration:
TranslationBase.of(context) Helpers.textFieldSelectorDecoration(
.date, TranslationBase.of(context).date,
selectedDate != null selectedDate != null
? "${DateUtils.convertStringToDateFormat(selectedDate.toString(), "yyyy-MM-dd")}" ? "${DateUtils.convertStringToDateFormat(selectedDate.toString(), "yyyy-MM-dd")}"
: null, : null,
true, true,
suffixIcon: Icon( suffixIcon: Icon(
Icons.calendar_today, Icons.calendar_today,
color: Colors.black, color: Colors.black,
)), )),
enabled: false, enabled: false,
),
), ),
), ),
SizedBox(height: spaceBetweenTextFileds), ),
Container( SizedBox(height: spaceBetweenTextFileds),
height: screenSize.height * 0.070, Container(
child: InkWell( height: screenSize.height * 0.070,
onTap: durationList != null child: InkWell(
? () { onTap: durationList != null
ListSelectDialog dialog = ? () {
ListSelectDialog( ListSelectDialog dialog =
list: durationList, ListSelectDialog(
attributeName: 'name', list: durationList,
attributeValueId: 'id', attributeName: 'name',
okText: attributeValueId: 'id',
TranslationBase.of(context) okText:
.ok, TranslationBase.of(context)
okFunction: (selectedValue) { .ok,
setState(() { okFunction: (selectedValue) {
duration = selectedValue; setState(() {
_selectedBranch = null; duration = selectedValue;
}); });
}, },
); );
showDialog( showDialog(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,
builder: builder: (BuildContext context) {
(BuildContext context) { return dialog;
return dialog; },
}, );
); }
} : null,
: null, child: TextField(
child: TextField( decoration: textFieldSelectorDecoration(
decoration: textFieldSelectorDecoration( TranslationBase.of(context).duration,
TranslationBase.of(context) duration != null
.duration, ? duration['name']
duration != null : null,
? duration['name'] true),
: null, enabled: false,
true),
enabled: false,
),
), ),
), ),
SizedBox(height: spaceBetweenTextFileds), ),
Container( SizedBox(height: spaceBetweenTextFileds),
decoration: BoxDecoration( Container(
borderRadius: BorderRadius.all( decoration: BoxDecoration(
Radius.circular(6.0)), borderRadius: BorderRadius.all(
border: Border.all( Radius.circular(6.0)),
width: 1.0, border: Border.all(
color: HexColor("#CCCCCC"))), width: 1.0,
child: TextFields( color: HexColor("#CCCCCC"))),
maxLines: 6, child: TextFields(
minLines: 4, maxLines: 6,
hintText: TranslationBase.of(context) minLines: 4,
.instruction, hintText:
controller: instructionController, TranslationBase.of(context).instruction,
//keyboardType: TextInputType.number, controller: instructionController,
validator: (value) { //keyboardType: TextInputType.number,
if (value.isEmpty) validator: (value) {
return TranslationBase.of(context) if (value.isEmpty)
.emptyMessage; return TranslationBase.of(context)
else .emptyMessage;
return null; else
}, return null;
), },
), ),
SizedBox(height: spaceBetweenTextFileds), ),
Container( SizedBox(height: spaceBetweenTextFileds),
margin: EdgeInsets.all( Container(
SizeConfig.widthMultiplier * 5), margin: EdgeInsets.all(
child: Wrap( SizeConfig.widthMultiplier * 5),
alignment: WrapAlignment.center, child: Wrap(
children: <Widget>[ alignment: WrapAlignment.center,
AppButton( children: <Widget>[
title: TranslationBase.of(context) AppButton(
.addMedication, title: TranslationBase.of(context)
onPressed: () { .addMedication,
formKey.currentState.save(); onPressed: () {
formKey.currentState.save();
if (formKey.currentState if (strength == null ||
.validate()) { route == null ||
postProcedure( frequency == null ||
patient: widget.patient, indication == null ||
doseTimeIn: doseTime == null ||
doseTime['id'].toString(), duration == null ||
model: widget.model, selectedDrug == null ||
duration: selectedDate == null) {
duration['id'].toString(), DrAppToastMsg.showErrorToast(
frequency: frequency['id'] "Please Fill All Fields");
.toString(), return;
route: route['id'].toString(), }
drugId: selectedDrug['ItemId']
.toString(), if (formKey.currentState.validate()) {
strength: postProcedure(
strength['id'].toString(), patient: widget.patient,
indication: doseTimeIn:
indicationController.text, doseTime['id'].toString(),
instruction: model: widget.model,
instructionController duration:
.text, duration['id'].toString(),
doseTime: selectedDate); frequency:
Navigator.pop(context); frequency['id'].toString(),
} route: route['id'].toString(),
{ drugId: selectedDrug['ItemId']
// Navigator.push( .toString(),
// context, strength:
// MaterialPageRoute( strength['id'].toString(),
// builder: (context) => indication:
// NewPrescriptionScreen()), indicationController.text,
// ); instruction:
} instructionController.text,
}, doseTime: selectedDate);
), Navigator.pop(context);
], }
), {
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (context) =>
// NewPrescriptionScreen()),
// );
}
},
),
],
), ),
], ),
), ],
), ),
), ),
], ),
), ],
), ),
), ),
); ),
}), );
}),
),
); );
} }

@ -679,6 +679,7 @@ class _NewPrescriptionScreenState extends State<NewPrescriptionScreen> {
title: 'update prescription'.toUpperCase(), title: 'update prescription'.toUpperCase(),
onPressed: () { onPressed: () {
updatePrescription( updatePrescription(
patient: patient,
model: model, model: model,
drugId: drugId, drugId: drugId,
remarks: remarksController.text, remarks: remarksController.text,
@ -700,23 +701,23 @@ class _NewPrescriptionScreenState extends State<NewPrescriptionScreen> {
}); });
} }
updatePrescription({ updatePrescription(
PrescriptionViewModel model, {PrescriptionViewModel model,
int drugId, int drugId,
String remarks, String remarks,
String dose, String dose,
String frequency, String frequency,
String route, String route,
}) async { PatiantInformtion patient}) async {
//PrescriptionViewModel model = PrescriptionViewModel(); //PrescriptionViewModel model = PrescriptionViewModel();
PostPrescriptionReqModel updatePrescriptionReqModel = PostPrescriptionReqModel updatePrescriptionReqModel =
new PostPrescriptionReqModel(); new PostPrescriptionReqModel();
List<PrescriptionRequestModel> sss = List(); List<PrescriptionRequestModel> sss = List();
updatePrescriptionReqModel.appointmentNo = 2016055159; updatePrescriptionReqModel.appointmentNo = patient.appointmentNo;
updatePrescriptionReqModel.clinicID = 17; updatePrescriptionReqModel.clinicID = patient.clinicId;
updatePrescriptionReqModel.episodeID = 200012330; updatePrescriptionReqModel.episodeID = patient.episodeNo;
updatePrescriptionReqModel.patientMRN = 3120877; updatePrescriptionReqModel.patientMRN = patient.patientMRN;
updatePrescriptionReqModel.vidaAuthTokenID = updatePrescriptionReqModel.vidaAuthTokenID =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMDAyIiwianRpIjoiOGFjNDRjZGQtOWE0Mi00M2YxLWE2YTQtMWQ4NzBmZmYwNTUyIiwiZW1haWwiOiIiLCJpZCI6IjEwMDIiLCJOYW1lIjoiVEVNUCAtIERPQ1RPUiIsIkVtcGxveWVlSWQiOiI0NzA5IiwiRmFjaWxpdHlHcm91cElkIjoiMDEwMjY2IiwiRmFjaWxpdHlJZCI6IjE1IiwiUGhhcmFtY3lGYWNpbGl0eUlkIjoiNTUiLCJJU19QSEFSTUFDWV9DT05ORUNURUQiOiJUcnVlIiwiRG9jdG9ySWQiOiI0NzA5IiwiU0VTU0lPTklEIjoiMjE1OTU2NDkiLCJDbGluaWNJZCI6IjEiLCJyb2xlIjpbIkRPQ1RPUlMiLCJIRUFEIERPQ1RPUlMiLCJBRE1JTklTVFJBVE9SUyIsIlJFQ0VQVElPTklTVCIsIkVSIE5VUlNFIiwiRVIgUkVDRVBUSU9OSVNUIiwiUEhBUk1BQ1kgQUNDT1VOVCBTVEFGRiIsIlBIQVJNQUNZIE5VUlNFIiwiSU5QQVRJRU5UIFBIQVJNQUNJU1QiLCJBRE1JU1NJT04gU1RBRkYiLCJBUFBST1ZBTCBTVEFGRiIsIkNPTlNFTlQgIiwiTUVESUNBTCBSRVBPUlQgLSBTSUNLIExFQVZFIE1BTkFHRVIiXSwibmJmIjoxNjA4NzM2NjY5LCJleHAiOjE2MDk2MDA2NjksImlhdCI6MTYwODczNjY2OX0.9EDgYrbe5fQA2CvgLdFT4s_PL7hD5R_Qggfpv4lDtUY"; "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMDAyIiwianRpIjoiOGFjNDRjZGQtOWE0Mi00M2YxLWE2YTQtMWQ4NzBmZmYwNTUyIiwiZW1haWwiOiIiLCJpZCI6IjEwMDIiLCJOYW1lIjoiVEVNUCAtIERPQ1RPUiIsIkVtcGxveWVlSWQiOiI0NzA5IiwiRmFjaWxpdHlHcm91cElkIjoiMDEwMjY2IiwiRmFjaWxpdHlJZCI6IjE1IiwiUGhhcmFtY3lGYWNpbGl0eUlkIjoiNTUiLCJJU19QSEFSTUFDWV9DT05ORUNURUQiOiJUcnVlIiwiRG9jdG9ySWQiOiI0NzA5IiwiU0VTU0lPTklEIjoiMjE1OTU2NDkiLCJDbGluaWNJZCI6IjEiLCJyb2xlIjpbIkRPQ1RPUlMiLCJIRUFEIERPQ1RPUlMiLCJBRE1JTklTVFJBVE9SUyIsIlJFQ0VQVElPTklTVCIsIkVSIE5VUlNFIiwiRVIgUkVDRVBUSU9OSVNUIiwiUEhBUk1BQ1kgQUNDT1VOVCBTVEFGRiIsIlBIQVJNQUNZIE5VUlNFIiwiSU5QQVRJRU5UIFBIQVJNQUNJU1QiLCJBRE1JU1NJT04gU1RBRkYiLCJBUFBST1ZBTCBTVEFGRiIsIkNPTlNFTlQgIiwiTUVESUNBTCBSRVBPUlQgLSBTSUNLIExFQVZFIE1BTkFHRVIiXSwibmJmIjoxNjA4NzM2NjY5LCJleHAiOjE2MDk2MDA2NjksImlhdCI6MTYwODczNjY2OX0.9EDgYrbe5fQA2CvgLdFT4s_PL7hD5R_Qggfpv4lDtUY";
sss.add(PrescriptionRequestModel( sss.add(PrescriptionRequestModel(

Loading…
Cancel
Save