package com.jasamedika.medifirst2000.vo;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.validation.constraints.NotNull;

import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;

public class PasienDaftarVO extends BaseTransactionVO {
	@Caption(value = "Object Rekanan")
	private RekananVO rekanan;

	@Caption(value = "Total Biaya")
	private Double totalBiaya;

	@Caption(value = "Object Status Keluar")
	private StatusKeluarVO statusKeluar;

	@Caption(value = "Status Kasus Penyakit")
	private Boolean statusKasusPenyakit;

	@Caption(value = "Kajian Awal")
	private Boolean isKajianAwal;

	@NotNull(message = "No Registrasi Harus Diisi")
	@Caption(value = "No registrasi ")
	private String noRegistrasi;

	@NotNull(message = "Is On Site Service tidak boleh kosong")
	@Caption(value = "Is On Site Service")
	private Byte isOnSiteService;

	@NotNull(message = "Is Registrasi Lengkap tidak boleh kosong")
	@Caption(value = "Is Registrasi Lengkap")
	private Byte isRegistrasiLengkap;

	@Caption(value = "Object Kasus Penyakit Last")
	private KasusPenyakitVO kasusPenyakit;

	@Caption(value = "Penanggung Jawab pasien")
	private PegawaiVO dokterPenanggungJawab;

	@NotNull(message = "Kd Kelompok Pasien Last tidak boleh kosong")
	@Caption(value = "Object Kelompok Pasien Last")
	private KelompokPasienVO kelompokPasien;

	@Caption(value = "Object Ruangan Last")
	private RuanganVO ruangan;

	@Caption(value = "RuanganNextSchedule")
	private RuanganVO ruanganNextSchedule;

	@Caption(value = "StatusSchedule")
	private String statusSchedule;

	@NotNull(message = "No C M Harus Diisi")
	@Caption(value = "No C M")
	private PasienVO pasien;

	@Caption(value = "No Registrasi")
	private PenanggungJawabPasienVO penanggungJawabPasien;

	@Caption(value = "StatusPasien")
	private String statusPasien;

	@NotNull(message = "Tgl Registrasi tidak boleh kosong")
	@Caption(value = "Tanggal Registrasi")
	private Date tglRegistrasi;

	@Caption(value = "Object Status Pulang")
	private StatusPulangVO statusPulang;

	@Caption(value = "Object Kondisi Pasien")
	private KondisiPasienVO kondisiPasien;

	@Caption(value = "Tanggal Pulang")
	private Date tglPulang;

	@Caption(value = "Tanggal Meninggal")
	private Date tanggalMeninggal;

	@Caption(value = "Jenis Pelayanan")
	private String jenisPelayanan;

	@Caption(value = "Nama Lengkap Ambil Pasien")
	private String namaLengkapAmbilPasien;

	@Caption(value = "Object Hubungan Keluarga Ambil Pasien")
	private HubunganKeluargaVO hubunganKeluarga;

	private Set<AntrianPasienDiPeriksaVO> antrianPasienDiPeriksaSet = new HashSet<>();

	private Set<DiputuskanDetailVO> diputuskanDetailSet = new HashSet<>();

	@Caption(value = "Object Kelas")
	private KelasVO kelas;

	@Caption(value = "Penyebab Kematian")
	private PenyebabKematianVO penyebabKematian;

	@Caption(value = "Dokter Pemeriksa")
	private PegawaiVO dokterPemeriksa;

	private Integer dokterPemeriksaId;

	private Set<MapPasienDpjpToPasienDaftarVO> mapPasienDpjpToPasienDaftar = new HashSet<MapPasienDpjpToPasienDaftarVO>();

	@Caption(value = "emergensi")
	private Boolean emergensi;

	@Caption(value = "Kode Status Diskon Pegawai")
	private Integer diskonPegawai;

	public RekananVO getRekanan() {
		return rekanan;
	}

	public void setRekanan(RekananVO rekanan) {
		this.rekanan = rekanan;
	}

	public Double getTotalBiaya() {
		return totalBiaya;
	}

	public void setTotalBiaya(Double totalBiaya) {
		this.totalBiaya = totalBiaya;
	}

	public StatusKeluarVO getStatusKeluar() {
		return statusKeluar;
	}

	public void setStatusKeluar(StatusKeluarVO statusKeluar) {
		this.statusKeluar = statusKeluar;
	}

	public Boolean getStatusKasusPenyakit() {
		return statusKasusPenyakit;
	}

	public void setStatusKasusPenyakit(Boolean statusKasusPenyakit) {
		this.statusKasusPenyakit = statusKasusPenyakit;
	}

	public Boolean getIsKajianAwal() {
		return isKajianAwal;
	}

	public void setIsKajianAwal(Boolean isKajianAwal) {
		this.isKajianAwal = isKajianAwal;
	}

	public String getNoRegistrasi() {
		return noRegistrasi;
	}

	public void setNoRegistrasi(String noRegistrasi) {
		this.noRegistrasi = noRegistrasi;
	}

	public Byte getIsOnSiteService() {
		return isOnSiteService;
	}

	public void setIsOnSiteService(Byte isOnSiteService) {
		this.isOnSiteService = isOnSiteService;
	}

	public Byte getIsRegistrasiLengkap() {
		return isRegistrasiLengkap;
	}

	public void setIsRegistrasiLengkap(Byte isRegistrasiLengkap) {
		this.isRegistrasiLengkap = isRegistrasiLengkap;
	}

	public KasusPenyakitVO getKasusPenyakit() {
		return kasusPenyakit;
	}

	public void setKasusPenyakit(KasusPenyakitVO kasusPenyakit) {
		this.kasusPenyakit = kasusPenyakit;
	}

	public PegawaiVO getDokterPenanggungJawab() {
		return dokterPenanggungJawab;
	}

	public void setDokterPenanggungJawab(PegawaiVO dokterPenanggungJawab) {
		this.dokterPenanggungJawab = dokterPenanggungJawab;
	}

	public KelompokPasienVO getKelompokPasien() {
		return kelompokPasien;
	}

	public void setKelompokPasien(KelompokPasienVO kelompokPasien) {
		this.kelompokPasien = kelompokPasien;
	}

	public RuanganVO getRuangan() {
		return ruangan;
	}

	public void setRuangan(RuanganVO ruangan) {
		this.ruangan = ruangan;
	}

	public RuanganVO getRuanganNextSchedule() {
		return ruanganNextSchedule;
	}

	public void setRuanganNextSchedule(RuanganVO ruanganNextSchedule) {
		this.ruanganNextSchedule = ruanganNextSchedule;
	}

	public String getStatusSchedule() {
		return statusSchedule;
	}

	public void setStatusSchedule(String statusSchedule) {
		this.statusSchedule = statusSchedule;
	}

	public PasienVO getPasien() {
		return pasien;
	}

	public void setPasien(PasienVO pasien) {
		this.pasien = pasien;
	}

	public PenanggungJawabPasienVO getPenanggungJawabPasien() {
		return penanggungJawabPasien;
	}

	public void setPenanggungJawabPasien(PenanggungJawabPasienVO penanggungJawabPasien) {
		this.penanggungJawabPasien = penanggungJawabPasien;
	}

	public String getStatusPasien() {
		return statusPasien;
	}

	public void setStatusPasien(String statusPasien) {
		this.statusPasien = statusPasien;
	}

	public Date getTglRegistrasi() {
		return tglRegistrasi;
	}

	public void setTglRegistrasi(Date tglRegistrasi) {
		this.tglRegistrasi = tglRegistrasi;
	}

	public StatusPulangVO getStatusPulang() {
		return statusPulang;
	}

	public void setStatusPulang(StatusPulangVO statusPulang) {
		this.statusPulang = statusPulang;
	}

	public KondisiPasienVO getKondisiPasien() {
		return kondisiPasien;
	}

	public void setKondisiPasien(KondisiPasienVO kondisiPasien) {
		this.kondisiPasien = kondisiPasien;
	}

	public Date getTglPulang() {
		return tglPulang;
	}

	public void setTglPulang(Date tglPulang) {
		this.tglPulang = tglPulang;
	}

	public Date getTanggalMeninggal() {
		return tanggalMeninggal;
	}

	public void setTanggalMeninggal(Date tanggalMeninggal) {
		this.tanggalMeninggal = tanggalMeninggal;
	}

	public String getJenisPelayanan() {
		return jenisPelayanan;
	}

	public void setJenisPelayanan(String jenisPelayanan) {
		this.jenisPelayanan = jenisPelayanan;
	}

	public String getNamaLengkapAmbilPasien() {
		return namaLengkapAmbilPasien;
	}

	public void setNamaLengkapAmbilPasien(String namaLengkapAmbilPasien) {
		this.namaLengkapAmbilPasien = namaLengkapAmbilPasien;
	}

	public HubunganKeluargaVO getHubunganKeluarga() {
		return hubunganKeluarga;
	}

	public void setHubunganKeluarga(HubunganKeluargaVO hubunganKeluarga) {
		this.hubunganKeluarga = hubunganKeluarga;
	}

	public Set<AntrianPasienDiPeriksaVO> getAntrianPasienDiPeriksaSet() {
		return antrianPasienDiPeriksaSet;
	}

	public void setAntrianPasienDiPeriksaSet(Set<AntrianPasienDiPeriksaVO> antrianPasienDiPeriksaSet) {
		this.antrianPasienDiPeriksaSet = antrianPasienDiPeriksaSet;
	}

	public Set<DiputuskanDetailVO> getDiputuskanDetailSet() {
		return diputuskanDetailSet;
	}

	public void setDiputuskanDetailSet(Set<DiputuskanDetailVO> diputuskanDetailSet) {
		this.diputuskanDetailSet = diputuskanDetailSet;
	}

	public KelasVO getKelas() {
		return kelas;
	}

	public void setKelas(KelasVO kelas) {
		this.kelas = kelas;
	}

	public PenyebabKematianVO getPenyebabKematian() {
		return penyebabKematian;
	}

	public void setPenyebabKematian(PenyebabKematianVO penyebabKematian) {
		this.penyebabKematian = penyebabKematian;
	}

	public PegawaiVO getDokterPemeriksa() {
		return dokterPemeriksa;
	}

	public void setDokterPemeriksa(PegawaiVO dokterPemeriksa) {
		this.dokterPemeriksa = dokterPemeriksa;
	}

	public Integer getDokterPemeriksaId() {
		return dokterPemeriksaId;
	}

	public void setDokterPemeriksaId(Integer dokterPemeriksaId) {
		this.dokterPemeriksaId = dokterPemeriksaId;
	}

	public Set<MapPasienDpjpToPasienDaftarVO> getMapPasienDpjpToPasienDaftar() {
		return mapPasienDpjpToPasienDaftar;
	}

	public void setMapPasienDpjpToPasienDaftar(Set<MapPasienDpjpToPasienDaftarVO> mapPasienDpjpToPasienDaftar) {
		this.mapPasienDpjpToPasienDaftar = mapPasienDpjpToPasienDaftar;
	}

	public Boolean getEmergensi() {
		return emergensi;
	}

	public void setEmergensi(Boolean emergensi) {
		this.emergensi = emergensi;
	}

	public Integer getDiskonPegawai() {
		return diskonPegawai;
	}

	public void setDiskonPegawai(Integer diskonPegawai) {
		this.diskonPegawai = diskonPegawai;
	}
}
