import 'package:doctor_app_flutter/utils/extenstions_utils.dart';

class NoteModel {
  String? setupID;
  int? projectID;
  int? patientID;
  int? patientType;
  String? admissionNo;
  int? lineItemNo;
  int? visitType;
  String? notes;
  String? assessmentDate;
  String? visitTime;
  int? status;
  String? nursingRemarks;
  String? createdOn;
  String? editedOn;
  int? createdBy;
  int? admissionClinicID;
  String? admissionClinicName;
  dynamic doctorClinicName;
  String? doctorName;
  String? visitTypeDesc;
  int? condition;
  String? conditionDescription;


  NoteModel(
      {this.setupID,
      this.projectID,
      this.patientID,
      this.patientType,
      this.admissionNo,
      this.lineItemNo,
      this.visitType,
      this.notes,
      this.assessmentDate,
      this.visitTime,
      this.status,
      this.nursingRemarks,
      this.createdOn,
      this.editedOn,
      this.createdBy,
      this.admissionClinicID,
      this.admissionClinicName,
      this.doctorClinicName,
      this.doctorName,
      this.visitTypeDesc,
      this.condition,
      this.conditionDescription,
      });

  NoteModel.fromJson(Map<String, dynamic> json) {
    setupID = json['SetupID'];
    projectID = json['ProjectID'];
    patientID = json['PatientID'];
    patientType = json['PatientType'];
    admissionNo = json['AdmissionNo'];
    lineItemNo = json['LineItemNo'];
    visitType = json['VisitType'];
    notes = json['Notes'];
    assessmentDate = json['AssessmentDate'];
    visitTime = json['VisitTime'];
    status = json['Status'];
    nursingRemarks = json['NursingRemarks'];
    createdOn = json['CreatedOn'];
    editedOn = json['EditedOn'];
    createdBy = json['CreatedBy'];
    admissionClinicID = json['AdmissionClinicID'];
    admissionClinicName = json['AdmissionClinicName'];
    doctorClinicName = json['DoctorClinicName'];
    doctorName = json['DoctorName'];
    visitTypeDesc = json['VisitTypeDesc'];
    condition = json['Condition'];
    conditionDescription = json['ConditionDescription'];
  }

  NoteModel.fromJsonForVidaPlusResponse(json){
    setupID = json['SetupID'];
  projectID = json['ProjectID'];
  patientID = json['PatientID'];
  patientType = json['PatientType'];
  admissionNo = json['AdmissionNo'];
  lineItemNo = json['LineItemNo'];
  visitType = json['VisitType'];
  notes = json['progressNote'];
  assessmentDate = json['AssessmentDate'];
  visitTime = json['VisitTime'];
  status = json['Status'];
  nursingRemarks = json['NursingRemarks'];
  createdOn = json['CreatedOn']??json['createdOn'];
  editedOn = json['EditedOn'];
  createdBy = json['CreatedBy'];
  admissionClinicID = int.parse(json['speciality'].isEmpty == true?"-1":json['speciality']);
  admissionClinicName = json['specialityName'];
  doctorClinicName = json['DoctorClinicName'];
  doctorName = json['userFullName'];
  visitTypeDesc = json['VisitTypeDesc'];
  condition = int.parse(json['patientCondition'].isEmpty == true?"-1":json['patientCondition']);
  conditionDescription = json['patientConditionName'];}

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['SetupID'] = this.setupID;
    data['ProjectID'] = this.projectID;
    data['PatientID'] = this.patientID;
    data['PatientType'] = this.patientType;
    data['AdmissionNo'] = this.admissionNo;
    data['LineItemNo'] = this.lineItemNo;
    data['VisitType'] = this.visitType;
    data['Notes'] = this.notes;
    data['AssessmentDate'] = this.assessmentDate;
    data['VisitTime'] = this.visitTime;
    data['Status'] = this.status;
    data['NursingRemarks'] = this.nursingRemarks;
    data['CreatedOn'] = this.createdOn;
    data['EditedOn'] = this.editedOn;
    data['CreatedBy'] = this.createdBy;
    data['AdmissionClinicID'] = this.admissionClinicID;
    data['AdmissionClinicName'] = this.admissionClinicName;
    data['DoctorClinicName'] = this.doctorClinicName;
    data['DoctorName'] = this.doctorName;
    data['VisitTypeDesc'] = this.visitTypeDesc;
    data['Condition'] = this.condition;
    data['ConditionDescription'] = this.conditionDescription;
    return data;
  }
}
