import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/enum/master_lookup_key.dart';
import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/models/SOAP/GeneralGetReqForSOAP.dart';
import 'package:doctor_app_flutter/models/SOAP/PostEpisodeReqModel.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/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/profile_medical_info_widget.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/profile_medical_info_widget_search.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/borderedButton.dart';
import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart';
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:intl/intl.dart';
import 'package:provider/provider.dart';

import '../../../routes.dart';

/*
 *@author: Elham Rababah
 *@Date:22/4/2020
 *@param:
 *@return:PatientProfileWidget
 *@desc:   Patient Profile Widget
 */
// ignore: must_be_immutable
class PatientProfileScreen extends StatelessWidget {
  PatiantInformtion patient;
  bool isFromSearch = false;

  //TODO change it
  @override
  Widget build(BuildContext context) {
    final routeArgs = ModalRoute.of(context).settings.arguments as Map;
    ProjectViewModel projectViewModel = Provider.of(context);

    patient = routeArgs['patient'];
    String patientType = routeArgs['patientType'];
    String arrivalType = routeArgs['arrivalType'];
    String from = routeArgs['from'];
    String to = routeArgs['to'];
    if (routeArgs.containsKey("isSearch")) {
      isFromSearch = routeArgs['isSearch'];
    }

    return BaseView<SOAPViewModel>(
        onModelReady: (model) async {
          GeneralGetReqForSOAP generalGetReqForSOAP = GeneralGetReqForSOAP(
              patientMRN: patient.patientMRN ?? patient.patientId,
              doctorID: '',
              editedBy: '');
          await model.getPatientAllergy(generalGetReqForSOAP);
          if (model.allergiesList.length == 0) {
            await model.getMasterLookup(MasterKeysService.Allergies);
          }
          if (model.allergySeverityList.length == 0) {
            await model.getMasterLookup(MasterKeysService.AllergySeverity);
          }
        },
        builder: (_, model, w) => AppScaffold(
              baseViewModel: model,
              appBarTitle: TranslationBase.of(context).patientProfile,
              isShowAppBar: false,
              body: Container(
                color: Color(0XFFF2F2F2),
                child: Stack(
                  children: [
                    Container(
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: [
                          Container(
                            padding: EdgeInsets.only(
                                left: 0, right: 5, bottom: 5, top: 5),
                            decoration: BoxDecoration(
                              color: Colors.white,
                            ),
                            height: 220,
                            child: Container(
                              padding: EdgeInsets.only(
                                  left: 10, right: 10, bottom: 10),
                              margin: EdgeInsets.only(top: 50),
                              child: Column(
                                children: [
                                  Container(
                                    padding: EdgeInsets.only(left: 12.0),
                                    child: Row(children: [
                                      IconButton(
                                        icon: Icon(Icons.arrow_back_ios),
                                        color: Colors.black, //Colors.black,
                                        onPressed: () => Navigator.pop(context),
                                      ),
                                      AppText(
                                        (Helpers.capitalize(patient.firstName) +
                                            " " +
                                            Helpers.capitalize(
                                                patient.lastName)),
                                        fontSize: SizeConfig.textMultiplier * 3,
                                        fontWeight: FontWeight.bold,
                                        backGroundcolor: Colors.white,
                                        fontFamily: 'Poppins',
                                      ),
                                      patient.gender == 1
                                          ? Icon(
                                              DoctorApp.male_2,
                                              color: Colors.blue,
                                            )
                                          : Icon(
                                              DoctorApp.female_1,
                                              color: Colors.pink,
                                            ),
                                    ]),
                                  ),
                                  Row(children: [
                                    Padding(
                                      padding: EdgeInsets.only(left: 12.0),
                                      child: Container(
                                        width: 60,
                                        height: 60,
                                        child: Image.asset(
                                          patient.gender == 1
                                              ? 'assets/images/male_avatar.png'
                                              : 'assets/images/female_avatar.png',
                                          fit: BoxFit.cover,
                                        ),
                                      ),
                                    ),
                                    SizedBox(
                                      width: 10,
                                    ),
                                    Expanded(
                                      child: Column(
                                        crossAxisAlignment:
                                            CrossAxisAlignment.start,
                                        children: [
                                          SERVICES_PATIANT2[
                                                      int.parse(patientType)] ==
                                                  "patientArrivalList"
                                              ? Container(
                                                  child: Row(
                                                  mainAxisAlignment:
                                                      MainAxisAlignment
                                                          .spaceBetween,
                                                  children: [
                                                    patient.patientStatusType ==
                                                            43
                                                        ? AppText(
                                                            TranslationBase.of(
                                                                    context)
                                                                .arrivedP,
                                                            color: Colors.green,
                                                            fontWeight:
                                                                FontWeight.bold,
                                                            fontFamily:
                                                                'Poppins',
                                                            fontSize: 12,
                                                          )
                                                        : AppText(
                                                            TranslationBase.of(
                                                                    context)
                                                                .notArrived,
                                                            color:
                                                                Colors.red[800],
                                                            fontWeight:
                                                                FontWeight.bold,
                                                            fontFamily:
                                                                'Poppins',
                                                            fontSize: 12,
                                                          ),
                                                    arrivalType == '1'
                                                        ? AppText(
                                                            patient.startTime !=
                                                                    null
                                                                ? patient
                                                                    .startTime
                                                                : '',
                                                            fontFamily:
                                                                'Poppins',
                                                            fontWeight:
                                                                FontWeight.w600,
                                                          )
                                                        : AppText(
                                                            DateUtils.convertStringToDateFormat(
                                                                patient
                                                                    .arrivedOn,
                                                                'MM-dd-yyyy HH:mm'),
                                                            fontFamily:
                                                                'Poppins',
                                                            fontWeight:
                                                                FontWeight.w600,
                                                          )
                                                  ],
                                                ))
                                              : SizedBox(),
                                          if (SERVICES_PATIANT2[
                                                  int.parse(patientType)] ==
                                              "List_MyOutPatient")
                                            Container(
                                              child: Row(
                                                mainAxisAlignment:
                                                    MainAxisAlignment.start,
                                                children: <Widget>[
                                                  AppText(
                                                    TranslationBase.of(context)
                                                            .appointmentDate +
                                                        " : ",
                                                    fontSize: 14,
                                                  ),
                                                  patient.startTime != null
                                                      ? Container(
                                                          height: 15,
                                                          width: 60,
                                                          decoration:
                                                              BoxDecoration(
                                                            borderRadius:
                                                                BorderRadius
                                                                    .circular(
                                                                        25),
                                                            color: HexColor(
                                                                "#20A169"),
                                                          ),
                                                          child: AppText(
                                                            patient.startTime,
                                                            color: Colors.white,
                                                            fontSize: 1.5 *
                                                                SizeConfig
                                                                    .textMultiplier,
                                                            textAlign: TextAlign
                                                                .center,
                                                            fontWeight:
                                                                FontWeight.bold,
                                                          ),
                                                        )
                                                      : SizedBox(),
                                                  SizedBox(
                                                    width: 3.5,
                                                  ),
                                                  Container(
                                                    child: AppText(
                                                      convertDateFormat2(patient
                                                          .appointmentDate
                                                          .toString()),
                                                      fontSize: 1.5 *
                                                          SizeConfig
                                                              .textMultiplier,
                                                      fontWeight:
                                                          FontWeight.bold,
                                                    ),
                                                  ),
                                                  SizedBox(
                                                    height: 0.5,
                                                  )
                                                ],
                                              ),
                                              margin: EdgeInsets.only(
                                                top: 8,
                                              ),
                                            ),
                                          Row(
                                            mainAxisAlignment:
                                                MainAxisAlignment.spaceBetween,
                                            children: [
                                              RichText(
                                                text: TextSpan(
                                                  style: TextStyle(
                                                      fontSize: 1.6 *
                                                          SizeConfig
                                                              .textMultiplier,
                                                      color: Colors.black),
                                                  children: <TextSpan>[
                                                    new TextSpan(
                                                        text:
                                                            TranslationBase.of(
                                                                    context)
                                                                .fileNumber,
                                                        style: TextStyle(
                                                            fontSize: 12,
                                                            fontFamily:
                                                                'Poppins')),
                                                    new TextSpan(
                                                        text: patient.patientId
                                                            .toString(),
                                                        style: TextStyle(
                                                            fontWeight:
                                                                FontWeight.w700,
                                                            fontFamily:
                                                                'Poppins',
                                                            fontSize: 14)),
                                                  ],
                                                ),
                                              ),
                                              Row(
                                                children: [
                                                  AppText(
                                                    patient.nationalityName ??
                                                        patient.nationality,
                                                    fontWeight: FontWeight.bold,
                                                    fontSize: 12,
                                                  ),
                                                  patient.nationality != null
                                                      ? ClipRRect(
                                                          borderRadius:
                                                              BorderRadius
                                                                  .circular(
                                                                      20.0),
                                                          child: Image.network(
                                                            patient
                                                                .nationalityFlagURL,
                                                            height: 25,
                                                            width: 30,
                                                            errorBuilder:
                                                                (BuildContext
                                                                        context,
                                                                    Object
                                                                        exception,
                                                                    StackTrace
                                                                        stackTrace) {
                                                              return Text(
                                                                  'No Image');
                                                            },
                                                          ))
                                                      : SizedBox()
                                                ],
                                              )
                                            ],
                                          ),
                                          Container(
                                            child: RichText(
                                              text: new TextSpan(
                                                style: new TextStyle(
                                                  fontSize: 1.6 *
                                                      SizeConfig.textMultiplier,
                                                  color: Colors.black,
                                                  fontFamily: 'Poppins',
                                                ),
                                                children: <TextSpan>[
                                                  new TextSpan(
                                                      text: TranslationBase.of(
                                                                  context)
                                                              .age +
                                                          " : ",
                                                      style: TextStyle(
                                                          fontSize: 14)),
                                                  new TextSpan(
                                                      text:
                                                          "${DateUtils.getAgeByBirthday(patient.dateofBirth, context)}",
                                                      style: TextStyle(
                                                          fontWeight:
                                                              FontWeight.w700,
                                                          fontSize: 14)),
                                                ],
                                              ),
                                            ),
                                          ),
                                        ],
                                      ),
                                    ),
                                  ]),
                                ],
                              ),
                            ),
                          ),
                          Expanded(
                            child: Padding(
                              padding: const EdgeInsets.all(16.0),
                              child: SingleChildScrollView(
                                child: Column(
                                  children: [
                                    isFromSearch
                                        ? ProfileMedicalInfoWidgetSearch(
                                            patient: patient,
                                            patientType: patientType,
                                            from: from,
                                            to: to,
                                          )
                                        : ProfileMedicalInfoWidget(
                                            patient: patient,
                                            patientType: patientType,
                                            from: from,
                                            to: to,
                                          ),
                                  ],
                                ),
                              ),
                            ),
                          )
                        ],
                      ),
                    ),
                    if (int.parse(patientType) == 7 ||
                        int.parse(patientType) == 6)
                      Positioned(
                        top: 195,
                        left: 20,
                        right: 20,
                        child: Row(
                          children: [
                            Expanded(child: Container()),
                            if (patient.episodeNo == 0)
                              BorderedButton(
                                "${TranslationBase.of(context).createNew}\n${TranslationBase.of(context).episode}",
                                backgroundColor: Colors.red.shade700,
                                textColor: Colors.white,
                                vPadding: 8,
                                radius: 30,
                                hPadding: 20,
                                fontWeight: FontWeight.normal,
                                fontSize: 12,
                                fontFamily: 'Poppins',
                                icon: Image.asset(
                                  "assets/images/create-episod.png",
                                  color: Colors.white,
                                  height: 30,
                                ),
                                handler: () async {
                                  PostEpisodeReqModel postEpisodeReqModel =
                                      PostEpisodeReqModel(
                                          appointmentNo: patient.appointmentNo,
                                          patientMRN: patient.patientMRN);
                                  GifLoaderDialogUtils.showMyDialog(context);
                                  await model.postEpisode(postEpisodeReqModel);
                                  GifLoaderDialogUtils.hideDialog(context);
                                  patient.episodeNo = model.episodeID;
                                  Navigator.of(context).pushNamed(
                                      CREATE_EPISODE,
                                      arguments: {'patient': patient});
                                },
                              ),
                            if (patient.episodeNo != 0)
                              BorderedButton(
                                "${TranslationBase.of(context).update}\n${TranslationBase.of(context).episode}",
                                backgroundColor: Colors.red.shade700,
                                textColor: Colors.white,
                                vPadding: 8,
                                radius: 30,
                                hPadding: 20,
                                fontWeight: FontWeight.normal,
                                fontSize: 12,
                                fontFamily: 'Poppins',
                                icon: Image.asset(
                                  "assets/images/modilfy-episode.png",
                                  color: Colors.white,
                                  height: 30,
                                ),
                                handler: () {
                                  Navigator.of(context).pushNamed(
                                      UPDATE_EPISODE,
                                      arguments: {'patient': patient});
                                },
                              ),
                          ],
                        ),
                      ),
                  ],
                ),
              ),
            ));
  }
}

class AvatarWidget extends StatelessWidget {
  final Widget avatarIcon;

  AvatarWidget(this.avatarIcon);

  @override
  Widget build(BuildContext context) {
    return Container(
      decoration: BoxDecoration(
        boxShadow: [
          BoxShadow(
              color: Color.fromRGBO(0, 0, 0, 0.08),
              offset: Offset(0.0, 5.0),
              blurRadius: 16.0)
        ],
        borderRadius: BorderRadius.all(Radius.circular(35.0)),
        color: Color(0xffCCCCCC),
      ),
      child: avatarIcon,
    );
  }
}

convertDateFormat2(String str) {
  String timeConvert;
  const start = "/Date(";
  const end = "+0300)";

  final startIndex = str.indexOf(start);
  final endIndex = str.indexOf(end, startIndex + start.length);

  var date = new DateTime.fromMillisecondsSinceEpoch(
      int.parse(str.substring(startIndex + start.length, endIndex)));
  String newDate = date.year.toString() +
      "/" +
      date.month.toString().padLeft(2, '0') +
      "/" +
      date.day.toString().padLeft(2, '0');

  return newDate.toString();
}

isToday(date) {
  DateTime tempDate = new DateFormat("yyyy-MM-dd").parse(date);
  return DateFormat("yyyy-MM-dd").format(tempDate) ==
      DateFormat("yyyy-MM-dd").format(DateTime.now());
}

myBoxDecoration() {
  return BoxDecoration(
      border: Border(
        top: BorderSide(
          color: Colors.green,
          width: 5,
        ),
      ),
      borderRadius: BorderRadius.circular(10));
}

/*  Column(
                              crossAxisAlignment: CrossAxisAlignment.start,
                              children: [
                                Container(
                                  decoration: BoxDecoration(boxShadow: <BoxShadow>[
                                    BoxShadow(
                                        color: Colors.grey.shade300,
                                        blurRadius: 10.0,
                                        spreadRadius: 0,
                                        offset: Offset(0, 10)),
                                  ], color: Colors.white),
                                  child: Column(children: <Widget>[
                                    Padding(
                                      padding: const 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: 4,
                                                  ),
                                                  AppText(
                                                    patient.patientId.toString(),
                                                    color: Colors.black,
                                                    fontWeight: FontWeight.normal,
                                                  ),
                                                ],
                                              ),
                                              model.patientAllergiesList
                                                          .isNotEmpty &&
                                                      model.getAllergicNames(
                                                              projectViewModel
                                                                  .isArabic) !=
                                                          ''
                                                  ? Container(
                                                      width: MediaQuery.of(context)
                                                              .size
                                                              .width *
                                                          0.65,
                                                      child: Padding(
                                                        padding: const EdgeInsets
                                                            .symmetric(vertical: 8),
                                                        child: AppText(
                                                          TranslationBase.of(
                                                                      context)
                                                                  .allergicTO +
                                                              " : " +
                                                              model.getAllergicNames(
                                                                  projectViewModel
                                                                      .isArabic),
                                                          color: Color(0xFFB9382C),
                                                          fontWeight:
                                                              FontWeight.bold,
                                                        ),
                                                      ),
                                                    )
                                                  : AppText(''),
                                            ],
                                          )
                                        ],
                                      ),
                                    ),
                                    Container(
                                      width: double.infinity,
                                      height: 1,
                                      color: Color(0xffCCCCCC),
                                    ),
                                    Container(
                                      height: 11 * SizeConfig.textMultiplier,
                                      child: Row(
                                        children: [
                                          Expanded(
                                            child: Padding(
                                              padding: const EdgeInsets.fromLTRB(
                                                  16.0, 8.0, 8.0, 8.0),
                                              child: Column(
                                                crossAxisAlignment:
                                                    CrossAxisAlignment.start,
                                                children: [
                                                  AppText(
                                                    TranslationBase.of(context).age,
                                                    fontWeight: FontWeight.bold,
                                                    fontSize: 2 *
                                                        SizeConfig.textMultiplier,
                                                  ),
                                                  SizedBox(
                                                    height: 4,
                                                  ),
                                                  AppText(
                                                    "${DateUtils.convertDateFromServerFormat(patient.dateofBirth, 'dd-MM-yyyy')} / ${DateUtils.getAgeByBirthday(patient.dateofBirth, context)}",
                                                    fontWeight: FontWeight.normal,
                                                    fontSize: 1.6 *
                                                        SizeConfig.textMultiplier,
                                                  ),
                                                ],
                                              ),
                                            ),
                                          ),
                                          Container(
                                            width: 1,
                                            color: Color(0xffCCCCCC),
                                          ),
                                          Expanded(
                                            child: Padding(
                                              padding: const EdgeInsets.fromLTRB(
                                                  16.0, 8.0, 8.0, 8.0),
                                              child: Column(
                                                crossAxisAlignment:
                                                    CrossAxisAlignment.start,
                                                children: [
                                                  AppText(
                                                    TranslationBase.of(context)
                                                        .nationality,
                                                    fontWeight: FontWeight.bold,
                                                    fontSize: 2 *
                                                        SizeConfig.textMultiplier,
                                                  ),
                                                  SizedBox(
                                                    height: 4,
                                                  ),
                                                  AppText(
                                                    patient.nationalityName ??
                                                        patient.nationality,
                                                    fontWeight: FontWeight.normal,
                                                    fontSize: 1.7 *
                                                        SizeConfig.textMultiplier,
                                                  ),
                                                ],
                                              ),
                                            ),
                                          ),
                                          Container(
                                            width: 1,
                                            color: Color(0xffCCCCCC),
                                          ),
                                          Expanded(
                                            child: Padding(
                                              padding: const EdgeInsets.fromLTRB(
                                                  16.0, 8.0, 8.0, 8.0),
                                              child: Column(
                                                crossAxisAlignment:
                                                    CrossAxisAlignment.start,
                                                children: [
                                                  AppText(
                                                    TranslationBase.of(context)
                                                        .gender,
                                                    fontWeight: FontWeight.bold,
                                                    fontSize: 2 *
                                                        SizeConfig.textMultiplier,
                                                  ),
                                                  SizedBox(
                                                    height: 4,
                                                  ),
                                                  AppText(
                                                    patient.gender.toString() == '1'
                                                        ? 'Male'
                                                        : 'Female',
                                                    fontWeight: FontWeight.normal,
                                                    fontSize: 1.8 *
                                                        SizeConfig.textMultiplier,
                                                  ),
                                                ],
                                              ),
                                            ),
                                          ),
                                        ],
                                      ),
                                    ),
                                    Container(
                                      width: double.infinity,
                                      height: 1,
                                      color: Color(0xffCCCCCC),
                                    ),
                                  ]),
                                ),
                                if (patient.admissionNo != null)
                                  Container(
                                    margin: EdgeInsets.all(16),
                                    child: Column(
                                      crossAxisAlignment: CrossAxisAlignment.start,
                                      children: [
                                        AppText(
                                          TranslationBase.of(context)
                                              .admissionDetail,
                                          color: Colors.black,
                                          fontWeight: FontWeight.bold,
                                          fontSize: 1.8 * SizeConfig.textMultiplier,
                                        ),
                                        SizedBox(
                                          height: 4,
                                        ),
                                        Container(
                                          decoration: BoxDecoration(
                                            color: Colors.white,
                                            shape: BoxShape.rectangle,
                                            borderRadius: BorderRadius.circular(8),
                                            border:
                                                Border.fromBorderSide(BorderSide(
                                              color: Color(0xffBBBBBB),
                                              width: 1,
                                            )),
                                          ),
                                          child: Column(
                                            children: [
                                              Padding(
                                                padding: EdgeInsets.all(16),
                                                child: Column(
                                                  children: [
                                                    Row(
                                                      children: [
                                                        Container(
                                                          width: 14 *
                                                              SizeConfig
                                                                  .textMultiplier,
                                                          child: AppText(
                                                            TranslationBase.of(
                                                                    context)
                                                                .dateTime,
                                                            color: Colors.black,
                                                            fontWeight:
                                                                FontWeight.bold,
                                                            fontSize: 1.6 *
                                                                SizeConfig
                                                                    .textMultiplier,
                                                          ),
                                                        ),
                                                        Expanded(
                                                          child: AppText(
                                                            patient.createdOn !=
                                                                    null
                                                                ? "${DateUtils.convertDateFromServerFormat(patient.createdOn, 'EEEE dd, MMMM yyyy hh:mm a')}"
                                                                : "",
                                                            color: Colors.black,
                                                            fontWeight:
                                                                FontWeight.normal,
                                                            fontSize: 1.6 *
                                                                SizeConfig
                                                                    .textMultiplier,
                                                          ),
                                                        ),
                                                      ],
                                                    ),
                                                    SizedBox(
                                                      height: 4,
                                                    ),
                                                    Row(
                                                      children: [
                                                        Container(
                                                          width: 14 *
                                                              SizeConfig
                                                                  .textMultiplier,
                                                          child: AppText(
                                                            TranslationBase.of(
                                                                    context)
                                                                .admissionNo,
                                                            color: Colors.black,
                                                            fontWeight:
                                                                FontWeight.bold,
                                                            fontSize: 1.6 *
                                                                SizeConfig
                                                                    .textMultiplier,
                                                          ),
                                                        ),
                                                        AppText(
                                                          patient.admissionNo !=
                                                                  null
                                                              ? patient.admissionNo
                                                              : '',
                                                          color: Colors.black,
                                                          fontWeight:
                                                              FontWeight.normal,
                                                          fontSize: 1.6 *
                                                              SizeConfig
                                                                  .textMultiplier,
                                                        ),
                                                      ],
                                                    ),
                                                    SizedBox(
                                                      height: 4,
                                                    ),
                                                    Row(
                                                      children: [
                                                        Container(
                                                          width: 14 *
                                                              SizeConfig
                                                                  .textMultiplier,
                                                          child: AppText(
                                                            TranslationBase.of(
                                                                    context)
                                                                .losNo,
                                                            color: Colors.black,
                                                            fontWeight:
                                                                FontWeight.bold,
                                                            fontSize: 1.6 *
                                                                SizeConfig
                                                                    .textMultiplier,
                                                          ),
                                                        ),
                                                        AppText(
                                                          patient.createdOn != null
                                                              ? DateUtils
                                                                  .differenceBetweenServerDateAndCurrent(
                                                                      patient
                                                                          .createdOn,
                                                                      context)
                                                              : "",
                                                          color: Colors.black,
                                                          fontWeight:
                                                              FontWeight.normal,
                                                          fontSize: 1.6 *
                                                              SizeConfig
                                                                  .textMultiplier,
                                                        ),
                                                      ],
                                                    ),
                                                  ],
                                                ),
                                              ),
                                              const Divider(
                                                color: Color(0xffCCCCCC),
                                                height: 5,
                                                thickness: 1,
                                                indent: 0,
                                                endIndent: 0,
                                              ),
                                              Container(
                                                height:
                                                    10 * SizeConfig.textMultiplier,
                                                child: Row(
                                                  children: [
                                                    Expanded(
                                                      child: Padding(
                                                        padding: const EdgeInsets
                                                                .fromLTRB(
                                                            16.0, 8.0, 8.0, 8.0),
                                                        child: Column(
                                                          crossAxisAlignment:
                                                              CrossAxisAlignment
                                                                  .start,
                                                          children: [
                                                            AppText(
                                                              TranslationBase.of(
                                                                      context)
                                                                  .area,
                                                              fontWeight:
                                                                  FontWeight.bold,
                                                              fontSize: 1.6 *
                                                                  SizeConfig
                                                                      .textMultiplier,
                                                            ),
                                                            SizedBox(
                                                              height: 4,
                                                            ),
                                                            AppText(
                                                              patient
                                                                  .clinicDescription,
                                                              fontWeight:
                                                                  FontWeight.normal,
                                                              fontSize: 1.6 *
                                                                  SizeConfig
                                                                      .textMultiplier,
                                                            ),
                                                          ],
                                                        ),
                                                      ),
                                                    ),
                                                    Container(
                                                      width: 1,
                                                      color: Color(0xffCCCCCC),
                                                    ),
                                                    Expanded(
                                                      child: Padding(
                                                        padding: const EdgeInsets
                                                                .fromLTRB(
                                                            16.0, 8.0, 8.0, 8.0),
                                                        child: Column(
                                                          crossAxisAlignment:
                                                              CrossAxisAlignment
                                                                  .start,
                                                          mainAxisAlignment:
                                                              MainAxisAlignment
                                                                  .spaceEvenly,
                                                          children: [
                                                            Expanded(
                                                              child: Row(
                                                                crossAxisAlignment:
                                                                    CrossAxisAlignment
                                                                        .start,
                                                                children: [
                                                                  AppText(
                                                                    TranslationBase.of(
                                                                            context)
                                                                        .room,
                                                                    fontWeight:
                                                                        FontWeight
                                                                            .bold,
                                                                    fontSize: 1.6 *
                                                                        SizeConfig
                                                                            .textMultiplier,
                                                                  ),
                                                                  SizedBox(
                                                                    width: 4,
                                                                  ),
                                                                  Expanded(
                                                                    child: AppText(
                                                                      "${patient.nursingStationName}\n${patient.roomId}",
                                                                      fontWeight:
                                                                          FontWeight
                                                                              .normal,
                                                                      fontSize: 1.4 *
                                                                          SizeConfig
                                                                              .textMultiplier,
                                                                    ),
                                                                  ),
                                                                ],
                                                              ),
                                                            ),
                                                            SizedBox(
                                                              height: 4,
                                                            ),
                                                            Expanded(
                                                              child: Row(
                                                                crossAxisAlignment:
                                                                    CrossAxisAlignment
                                                                        .start,
                                                                children: [
                                                                  AppText(
                                                                    TranslationBase.of(
                                                                            context)
                                                                        .bed,
                                                                    fontWeight:
                                                                        FontWeight
                                                                            .bold,
                                                                    fontSize: 1.6 *
                                                                        SizeConfig
                                                                            .textMultiplier,
                                                                  ),
                                                                  SizedBox(
                                                                    width: 4,
                                                                  ),
                                                                  AppText(
                                                                    "${patient.bedId}",
                                                                    fontWeight:
                                                                        FontWeight
                                                                            .normal,
                                                                    fontSize: 1.6 *
                                                                        SizeConfig
                                                                            .textMultiplier,
                                                                  ),
                                                                ],
                                                              ),
                                                            ),
                                                          ],
                                                        ),
                                                      ),
                                                    ),
                                                  ],
                                                ),
                                              )
                                            ],
                                          ),
                                        )
                                      ],
                                    ),
                                  ),
                              ],
                            ),*/
