class SickLeavePatientModel {
  dynamic setupID;
  dynamic projectID;
  dynamic patientID;
  dynamic patientType;
  dynamic clinicID;
  dynamic doctorID;
  dynamic requestNo;
  dynamic requestDate;
  dynamic sickLeaveDays;
  dynamic appointmentNo;
  dynamic appointmentNO;
  dynamic admissionNo;
  dynamic actualDoctorRate;
  dynamic appointmentDate;
  dynamic clinicName;
  dynamic doctorImageURL;
  dynamic doctorName;
  dynamic doctorRate;
  dynamic doctorTitle;
  dynamic gender;
  dynamic genderDescription;
  bool? isActiveDoctorProfile;
  bool? isDoctorAllowVedioCall;
  bool? isExecludeDoctor;
  bool? isInOutPatient;
  dynamic isInOutPatientDescription;
  dynamic isInOutPatientDescriptionN;
  bool? isLiveCareAppointment;
  dynamic noOfPatientsRate;
  dynamic patientName;
  dynamic projectName;
  dynamic qR;

  // List<String> speciality;
  dynamic strRequestDate;
  dynamic startDate;
  dynamic endDate;
  dynamic isExtendedLeave;
  dynamic noOfDays;
  dynamic patientMRN;
  dynamic remarks;
  dynamic status;

  SickLeavePatientModel(
      {this.setupID,
      this.projectID,
      this.patientID,
      this.patientType,
      this.clinicID,
      this.doctorID,
      this.requestNo,
      this.requestDate,
      this.sickLeaveDays,
      this.appointmentNo,
      this.admissionNo,
      this.actualDoctorRate,
      this.appointmentDate,
      this.clinicName,
      this.doctorImageURL,
      this.doctorName,
      this.doctorRate,
      this.doctorTitle,
      this.gender,
      this.genderDescription,
      this.isActiveDoctorProfile,
      this.isDoctorAllowVedioCall,
      this.isExecludeDoctor,
      this.isInOutPatient,
      this.isInOutPatientDescription,
      this.isInOutPatientDescriptionN,
      this.isLiveCareAppointment,
      this.noOfPatientsRate,
      this.patientName,
      this.projectName,
      this.qR,
      // this.speciality,
      this.strRequestDate,
      this.startDate,
      this.endDate,
      this.isExtendedLeave,
      this.noOfDays,
      this.patientMRN,
      this.remarks,
      this.status});

  SickLeavePatientModel.fromJson(Map<String, dynamic> json) {
    setupID = json['SetupID'];
    isExtendedLeave = json['isExtendedLeave'];
    ///this was done with coordination of eservises they are not providing any value for the sick leave days
    ///that's why to make the scope of changes smaller we are providing the same value for both variables
    noOfDays = json['noOfDays'];
    sickLeaveDays = json['noOfDays'];
    ///end of the changes

    patientMRN = json['patientMRN'];
    status = json['status'];

    projectID = json['ProjectID'];
    patientID = json['PatientID'];
    patientType = json['PatientType'];
    clinicID = json['ClinicID'];
    doctorID = json['DoctorID'];
    requestNo = json['RequestNo'];
    requestDate = json['RequestDate'];
    appointmentNo = (json['AppointmentNo'] ==null ?  json['appointmentNo'] : json['AppointmentNo']);
    admissionNo = json['AdmissionNo'];
    actualDoctorRate = json['ActualDoctorRate'];
    appointmentDate = json['AppointmentDate'];
    clinicName = json['ClinicName'];
    doctorImageURL = json['DoctorImageURL'];
    doctorName = json['DoctorName'];
    doctorRate = json['DoctorRate'];
    doctorTitle = json['DoctorTitle'];
    gender = json['Gender'];
    genderDescription = json['GenderDescription'];
    isActiveDoctorProfile = json['IsActiveDoctorProfile'];
    isDoctorAllowVedioCall = json['IsDoctorAllowVedioCall'];
    isExecludeDoctor = json['IsExecludeDoctor'];
    isInOutPatient = json['IsInOutPatient'];
    isInOutPatientDescription = json['IsInOutPatientDescription'];
    isInOutPatientDescriptionN = json['IsInOutPatientDescriptionN'];
    isLiveCareAppointment = json['IsLiveCareAppointment'];
    noOfPatientsRate = json['NoOfPatientsRate'];
    patientName = json['PatientName'];
    projectName = json['ProjectName'];
    qR = json['QR'];
    // speciality = json['Speciality'].cast<String>();
    strRequestDate = json['StrRequestDate'];
    startDate = json['StartDate'] ?? json['startDate'];
    endDate = json['EndDate'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['SetupID'] = this.setupID;
    data['status'] = this.status;
    data['isExtendedLeave'] = this.isExtendedLeave;
    data['noOfDays'] = this.noOfDays;
    data['patientMRN'] = this.patientMRN;

    data['ProjectID'] = this.projectID;
    data['PatientID'] = this.patientID;
    data['PatientType'] = this.patientType;
    data['ClinicID'] = this.clinicID;
    data['DoctorID'] = this.doctorID;
    data['RequestNo'] = this.requestNo;
    data['RequestDate'] = this.requestDate;
    data['SickLeaveDays'] = this.sickLeaveDays;
    data['AppointmentNo'] = this.appointmentNo;
    data['AdmissionNo'] = this.admissionNo;
    data['ActualDoctorRate'] = this.actualDoctorRate;
    data['AppointmentDate'] = this.appointmentDate;
    data['ClinicName'] = this.clinicName;
    data['DoctorImageURL'] = this.doctorImageURL;
    data['DoctorName'] = this.doctorName;
    data['DoctorRate'] = this.doctorRate;
    data['DoctorTitle'] = this.doctorTitle;
    data['Gender'] = this.gender;
    data['GenderDescription'] = this.genderDescription;
    data['IsActiveDoctorProfile'] = this.isActiveDoctorProfile;
    data['IsDoctorAllowVedioCall'] = this.isDoctorAllowVedioCall;
    data['IsExecludeDoctor'] = this.isExecludeDoctor;
    data['IsInOutPatient'] = this.isInOutPatient;
    data['IsInOutPatientDescription'] = this.isInOutPatientDescription;
    data['IsInOutPatientDescriptionN'] = this.isInOutPatientDescriptionN;
    data['IsLiveCareAppointment'] = this.isLiveCareAppointment;
    data['NoOfPatientsRate'] = this.noOfPatientsRate;
    data['PatientName'] = this.patientName;
    data['ProjectName'] = this.projectName;
    data['QR'] = this.qR;
    // data['Speciality'] = this.speciality;
    data['StrRequestDate'] = this.strRequestDate;
    data['StartDate'] = this.startDate;
    data['EndDate'] = this.endDate;
    return data;
  }
}
