package com.jasamedika.medifirst2000.entities;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;import org.hibernate.envers.Audited;

@Entity //@Audited
@Table(name = "PapEliminasi_T")
public class PapEliminasi extends BaseTransaction{
	@ManyToOne
	@JoinColumn(name = "ObjectRegistrasiPelayananPasienFk")
	//@NotNull(message = "RegistrasiPelayananPasien tidak boleh kosong")
	private RegistrasiPelayananPasien registrasiPelayananPasien;	
	
	@Column(name = "ObjectRegistrasiPelayananPasienFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
	private String registrasiPelayananPasienId;

	@ManyToOne
	@JoinColumn(name = "ObjectPasienFk")
	@NotNull(message = "Pasien tidak boleh kosong")
	private Pasien pasien;	
	
	@Column(name = "ObjectPasienFk", insertable = false, updatable = false, nullable = false)
	private Integer pasienId;
	
	@NotNull(message = "Tgl Input tidak boleh kosong")
	@Column(name = "tglInput", nullable = false)
	@Caption(value = "Tgl Input")
	private Date tglInput;

	@ManyToOne
	@JoinColumn(name = "ObjectPengeluaranDefeaksiFk")
	@Caption(value="Object PengeluaranDefeaksi")
	private Pengeluaran pengeluaranDefeaksi;
	
	@Column(name = "ObjectPengeluaranDefeaksiFk", insertable=false,updatable=false)
	private Integer pengeluaranDefeaksiId;
	
	@ManyToOne
	@JoinColumn(name = "ObjectPengeluaranUrinFk")
	@Caption(value="Object PengeluaranUrin")
	private Urin pengeluaranUrin;
	
	@Column(name = "ObjectPengeluaranUrinFk", insertable=false,updatable=false)
	private Integer pengeluaranUrinId;
	
	@ManyToOne
	@JoinColumn(name = "ObjectKarakteristikFesesFk")
	@Caption(value="Object Karakteristik Feses")
	private KarakteristikFeses karakteristikFeses;
	
	@Column(name = "ObjectKarakteristikFesesFk", insertable=false,updatable=false)
	private Integer karakteristikFesesId;
	
	@Column(name = "frekuensiDefeaksi", nullable = true)
	@Caption(value="Frekuensi Defeaksi")
	private String frekuensiDefeaksi;
	
	@Column(name = "konsistensiDefeaksi", nullable = true)
	@Caption(value="Konsistensi Defeaksi")
	private String konsistensiDefeaksi;
	
	@ManyToOne
	@JoinColumn(name = "ObjectKelainanUrinFk")
	@Caption(value="Object Kelainan Urin")
	private StatusAdaTidakAda kelainanUrin;
	
	@Column(name = "ObjectKelainanUrinFk", insertable=false,updatable=false)
	private Integer kelainanUrinId;

	@Column(name = "diuresisUrin", nullable = true, length=150)
	@Caption(value="Diuresis Urin")
	private String diuresisUrin;
	
	@Column(name = "isNormal", nullable = false)
	@Caption(value = "Is Normal")
	private Boolean isNormal;

	@ManyToOne
	@JoinColumn(name = "ObjectKonsistensiFk")
	@Caption(value="Object Konsistensi")
	private StatusKonsistensi konsistensi;
	
	@Column(name = "ObjectKonsistensiFk", insertable=false,updatable=false)
	private Integer konsistensiId;
	
	public String getFrekuensiDefeaksi() {
		return frekuensiDefeaksi;
	}
	public void setFrekuensiDefeaksi(String frekuensiDefeaksi) {
		this.frekuensiDefeaksi = frekuensiDefeaksi;
	}
	public String getKonsistensiDefeaksi() {
		return konsistensiDefeaksi;
	}
	public void setKonsistensiDefeaksi(String konsistensiDefeaksi) {
		this.konsistensiDefeaksi = konsistensiDefeaksi;
	}

	public String getDiuresisUrin() {
		return diuresisUrin;
	}
	public void setDiuresisUrin(String diuresisUrin) {
		this.diuresisUrin = diuresisUrin;
	}

	public RegistrasiPelayananPasien getRegistrasiPelayananPasien() {
		return registrasiPelayananPasien;
	}
	public void setRegistrasiPelayananPasien(RegistrasiPelayananPasien registrasiPelayananPasien) {
		this.registrasiPelayananPasien = registrasiPelayananPasien;
	}
	public Pasien getPasien() {
		return pasien;
	}
	public void setPasien(Pasien pasien) {
		this.pasien = pasien;
	}
	public Date getTglInput() {
		return tglInput;
	}
	public void setTglInput(Date tglInput) {
		this.tglInput = tglInput;
	}
	public Pengeluaran getPengeluaranDefeaksi() {
		return pengeluaranDefeaksi;
	}
	public void setPengeluaranDefeaksi(Pengeluaran pengeluaranDefeaksi) {
		this.pengeluaranDefeaksi = pengeluaranDefeaksi;
	}
	public Urin getPengeluaranUrin() {
		return pengeluaranUrin;
	}
	public void setPengeluaranUrin(Urin pengeluaranUrin) {
		this.pengeluaranUrin = pengeluaranUrin;
	}
	public KarakteristikFeses getKarakteristikFeses() {
		return karakteristikFeses;
	}
	public void setKarakteristikFeses(KarakteristikFeses karakteristikFeses) {
		this.karakteristikFeses = karakteristikFeses;
	}
	public StatusAdaTidakAda getKelainanUrin() {
		return kelainanUrin;
	}
	public void setKelainanUrin(StatusAdaTidakAda kelainanUrin) {
		this.kelainanUrin = kelainanUrin;
	}
	public Boolean getIsNormal() {
		return isNormal;
	}
	public void setIsNormal(Boolean isNormal) {
		this.isNormal = isNormal;
	}

}
