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="PAPPernapasan_T")
public class PapPernapasan 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 = "ObjectIramaFk")
	@NotNull(message = "Irama tidak boleh kosong")
	private StatusRegulerIrreguler irama;

	@Column(name = "ObjectIramaFk", insertable = false, updatable = false, nullable = true)
	private Integer iramaId;
	
	@ManyToOne
	@JoinColumn(name = "ObjectRetrasiDadaFk")
	@NotNull(message = "retraksiDada tidak boleh kosong")
	private StatusAdaTidakAda retraksiDada;

	@Column(name = "ObjectIramaFk", insertable = false, updatable = false, nullable = true)
	private Integer retraksiDadaId;
	
	@ManyToOne
	@JoinColumn(name = "ObjectBentukDadaFk")
	@NotNull(message = "BentukDada tidak boleh kosong")
	private StatusNormalTidakNormal bentukDada;

	@Column(name = "ObjectBentukDadaFk", insertable = false, updatable = false, nullable = true)
	private Integer bentukDadaId;

	@ManyToOne
	@JoinColumn(name = "ObjectPolaNapasFk")
	@NotNull(message = "Pola Napas tidak boleh kosong")
	private StatusNormalTidakNormal polaNapas;
	
	@Column(name = "ObjectPolaNapasFk", insertable = false, updatable = false, nullable = true)
	private Integer polaNapasId;

	@ManyToOne
	@JoinColumn(name = "ObjectSuaraNapasFk")
	@NotNull(message = "suaraNapas tidak boleh kosong")
	private StatusNormalTidakNormal suaraNapas;
	
	@Column(name = "ObjectSuaraNapasFk", insertable = false, updatable = false, nullable = true)
	private Integer suaraNapasId;

	@ManyToOne
	@JoinColumn(name = "ObjectNafasKupingHidungFk")
	@NotNull(message = "nafasKupingHidung tidak boleh kosong")
	private StatusAdaTidakAda nafasKupingHidung;
	
	@Column(name = "ObjectNafasKupingHidungFk", insertable = false, updatable = false, nullable = true)
	private Integer nafasKupingHidungId;

	@ManyToOne
	@JoinColumn(name = "ObjectSianosisFk")
	@NotNull(message = "sianosis tidak boleh kosong")
	private StatusAdaTidakAda sianosis;
	
	@Column(name = "ObjectSianosisFk", insertable = false, updatable = false, nullable = true)
	private Integer sianosisId;

	@ManyToOne
	@JoinColumn(name = "ObjectAlatBantuNafasFk")
	@Caption(value="Object Alat Bantu Nafas")
	private DataAlatBantuNafas alatBantuNafas;
	
	@Column(name = "ObjectAlatBantuNafasFk", insertable=false,updatable=false)
	private Integer alatBantuNafasId;

	@Column(name = "isNormal", nullable = false)
	@Caption(value = "Is Normal")
	private Boolean isNormal;
	
	@ManyToOne
	@JoinColumn(name = "ObjectClubbingFingerFk")
	@Caption(value="Object ClubbingFinger")
	private StatusAdaTidakAda clubbingFinger;

	@Column(name = "ObjectClubbingFingerFk", insertable=false,updatable=false)
	private Integer clubbingFingerId;

	
	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 StatusRegulerIrreguler getIrama() {
		return irama;
	}

	public void setIrama(StatusRegulerIrreguler irama) {
		this.irama = irama;
	}

	public StatusAdaTidakAda getRetraksiDada() {
		return retraksiDada;
	}

	public void setRetraksiDada(StatusAdaTidakAda retraksiDada) {
		this.retraksiDada = retraksiDada;
	}

	public StatusNormalTidakNormal getBentukDada() {
		return bentukDada;
	}

	public void setBentukDada(StatusNormalTidakNormal bentukDada) {
		this.bentukDada = bentukDada;
	}

	public StatusNormalTidakNormal getPolaNapas() {
		return polaNapas;
	}

	public void setPolaNapas(StatusNormalTidakNormal polaNapas) {
		this.polaNapas = polaNapas;
	}

	public StatusNormalTidakNormal getSuaraNapas() {
		return suaraNapas;
	}

	public void setSuaraNapas(StatusNormalTidakNormal suaraNapas) {
		this.suaraNapas = suaraNapas;
	}

	public StatusAdaTidakAda getNafasKupingHidung() {
		return nafasKupingHidung;
	}

	public void setNafasKupingHidung(StatusAdaTidakAda nafasKupingHidung) {
		this.nafasKupingHidung = nafasKupingHidung;
	}

	public StatusAdaTidakAda getSianosis() {
		return sianosis;
	}

	public void setSianosis(StatusAdaTidakAda sianosis) {
		this.sianosis = sianosis;
	}

	public DataAlatBantuNafas getAlatBantuNafas() {
		return alatBantuNafas;
	}

	public void setAlatBantuNafas(DataAlatBantuNafas alatBantuNafas) {
		this.alatBantuNafas = alatBantuNafas;
	}

	public Boolean getIsNormal() {
		return isNormal;
	}

	public void setIsNormal(Boolean isNormal) {
		this.isNormal = isNormal;
	}	

}
