class EpisodeByChiefComplaintVidaPlus {
  int? clinicId;
  String? createdOn;
  int? doctorId;
  int? episodeStatus;
  int? hospitalGroupId;
  int? hospitalId;
  String? modifiedOn;
  int? patientEpisodeId;
  int? patientId;
  List<PatientPomrs>? patientPomrs;

  EpisodeByChiefComplaintVidaPlus(
      {this.clinicId,
        this.createdOn,
        this.doctorId,
        this.episodeStatus,
        this.hospitalGroupId,
        this.hospitalId,
        this.modifiedOn,
        this.patientEpisodeId,
        this.patientId,
        this.patientPomrs});

  EpisodeByChiefComplaintVidaPlus.fromJson(Map<String, dynamic> json) {
    clinicId = json['clinicId'];
    createdOn = json['createdOn'];
    doctorId = json['doctorId'];
    episodeStatus = json['episodeStatus'];
    hospitalGroupId = json['hospitalGroupId'];
    hospitalId = json['hospitalId'];
    modifiedOn = json['modifiedOn'];
    patientEpisodeId = json['patientEpisodeId'];
    patientId = json['patientId'];
    if (json['patientPomrs'] != null) {
      patientPomrs = <PatientPomrs>[];
      json['patientPomrs'].forEach((v) {
        patientPomrs!.add(new PatientPomrs.fromJson(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['clinicId'] = this.clinicId;
    data['createdOn'] = this.createdOn;
    data['doctorId'] = this.doctorId;
    data['episodeStatus'] = this.episodeStatus;
    data['hospitalGroupId'] = this.hospitalGroupId;
    data['hospitalId'] = this.hospitalId;
    data['modifiedOn'] = this.modifiedOn;
    data['patientEpisodeId'] = this.patientEpisodeId;
    data['patientId'] = this.patientId;
    if (this.patientPomrs != null) {
      data['patientPomrs'] = this.patientPomrs!.map((v) => v.toJson()).toList();
    }
    return data;
  }
}

class PatientPomrs {
  int? appointmentId;
  int? chiefComplainTemplateId;
  List<ChiefComplains>? chiefComplains;
  int? clinicGroupId;
  String? createdOn;
  int? doctorId;
  String? doctorName;
  int? episodeId;
  bool? fallowUp;
  bool? fallowUpRequired;
  bool? isReadOnly;
  String? modifiedOn;
  int? patientId;
  int? patientPomrId;
  String? pomrSingOn;
  int? pomrStatus;
  bool? readOnly;
  String? seenAtStatus;
  String? vprnSeenAtStatus;

  PatientPomrs(
      {this.appointmentId,
        this.chiefComplainTemplateId,
        this.chiefComplains,
        this.clinicGroupId,
        this.createdOn,
        this.doctorId,
        this.doctorName,
        this.episodeId,
        this.fallowUp,
        this.fallowUpRequired,
        this.isReadOnly,
        this.modifiedOn,
        this.patientId,
        this.patientPomrId,
        this.pomrSingOn,
        this.pomrStatus,
        this.readOnly,
        this.seenAtStatus,
        this.vprnSeenAtStatus});

  PatientPomrs.fromJson(Map<String, dynamic> json) {
    appointmentId = json['appointmentId'];
    chiefComplainTemplateId = json['chiefComplainTemplateId'];
    if (json['chiefComplains'] != null) {
      chiefComplains = <ChiefComplains>[];
      json['chiefComplains'].forEach((v) {
        chiefComplains!.add(new ChiefComplains.fromJson(v));
      });
    }
    clinicGroupId = json['clinicGroupId'];
    createdOn = json['createdOn'];
    doctorId = json['doctorId'];
    doctorName = json['doctorName'];
    episodeId = json['episodeId'];
    fallowUp = json['fallowUp'];
    fallowUpRequired = json['fallowUpRequired'];
    isReadOnly = json['isReadOnly'];
    modifiedOn = json['modifiedOn'];
    patientId = json['patientId'];
    patientPomrId = json['patientPomrId'];
    pomrSingOn = json['pomrSingOn'];
    pomrStatus = json['pomrStatus'];
    readOnly = json['readOnly'];
    seenAtStatus = json['seenAtStatus'];
    vprnSeenAtStatus = json['vprnSeenAtStatus'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['appointmentId'] = this.appointmentId;
    data['chiefComplainTemplateId'] = this.chiefComplainTemplateId;
    if (this.chiefComplains != null) {
      data['chiefComplains'] =
          this.chiefComplains!.map((v) => v.toJson()).toList();
    }
    data['clinicGroupId'] = this.clinicGroupId;
    data['createdOn'] = this.createdOn;
    data['doctorId'] = this.doctorId;
    data['doctorName'] = this.doctorName;
    data['episodeId'] = this.episodeId;
    data['fallowUp'] = this.fallowUp;
    data['fallowUpRequired'] = this.fallowUpRequired;
    data['isReadOnly'] = this.isReadOnly;
    data['modifiedOn'] = this.modifiedOn;
    data['patientId'] = this.patientId;
    data['patientPomrId'] = this.patientPomrId;
    data['pomrSingOn'] = this.pomrSingOn;
    data['pomrStatus'] = this.pomrStatus;
    data['readOnly'] = this.readOnly;
    data['seenAtStatus'] = this.seenAtStatus;
    data['vprnSeenAtStatus'] = this.vprnSeenAtStatus;
    return data;
  }
}

class ChiefComplains {
  int? appointmentId;
  String? chiefComplain;
  int? chiefComplainId;
  int? clinicId;
  String? createdBy;
  int? createdId;
  String? createdOn;
  int? doctorId;
  String? doctorName;
  int? episodeId;
  int? hospitalGroupId;
  int? hospitalId;
  String? loginUserId;
  String? modifiedBy;
  Null? modifiedId;
  String? modifiedOn;
  int? patientId;
  String? patientName;
  int? patientPomrId;
  int? chiefComplainTemplateId;


  ChiefComplains(
      {this.appointmentId,
        this.chiefComplain,
        this.chiefComplainId,
        this.clinicId,
        this.createdBy,
        this.createdId,
        this.createdOn,
        this.doctorId,
        this.doctorName,
        this.episodeId,
        this.hospitalGroupId,
        this.hospitalId,
        this.loginUserId,
        this.modifiedBy,
        this.modifiedId,
        this.modifiedOn,
        this.patientId,
        this.patientName,
        this.patientPomrId});

  ChiefComplains.fromJson(Map<String, dynamic> json) {
    appointmentId = json['appointmentId'];
    chiefComplain = json['chiefComplain'];
    chiefComplainTemplateId = json['chiefComplainTemplateId'];
    chiefComplainId = json['chiefComplainId'];
    clinicId = json['clinicId'];
    createdBy = json['createdBy'];
    createdId = json['createdId'];
    createdOn = json['createdOn'];
    doctorId = json['doctorId'];
    doctorName = json['doctorName'];
    episodeId = json['episodeId'];
    hospitalGroupId = json['hospitalGroupId'];
    hospitalId = json['hospitalId'];
    loginUserId = json['loginUserId'];
    modifiedBy = json['modifiedBy'];
    modifiedId = json['modifiedId'];
    modifiedOn = json['modifiedOn'];
    patientId = json['patientId'];
    patientName = json['patientName'];
    patientPomrId = json['patientPomrId'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['appointmentId'] = this.appointmentId;
    data['chiefComplain'] = this.chiefComplain;
    data['chiefComplainId'] = this.chiefComplainId;
    data['clinicId'] = this.clinicId;
    data['createdBy'] = this.createdBy;
    data['createdId'] = this.createdId;
    data['createdOn'] = this.createdOn;
    data['doctorId'] = this.doctorId;
    data['doctorName'] = this.doctorName;
    data['episodeId'] = this.episodeId;
    data['hospitalGroupId'] = this.hospitalGroupId;
    data['hospitalId'] = this.hospitalId;
    data['loginUserId'] = this.loginUserId;
    data['modifiedBy'] = this.modifiedBy;
    data['chiefComplainTemplateId'] = this.chiefComplainTemplateId;
    data['modifiedId'] = this.modifiedId;
    data['modifiedOn'] = this.modifiedOn;
    data['patientId'] = this.patientId;
    data['patientName'] = this.patientName;
    data['patientPomrId'] = this.patientPomrId;
    return data;
  }
}
