package com.jasamedika.medifirst2000.entities;

import java.util.Date;

import javax.persistence.*;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jasamedika.medifirst2000.base.BaseTransaction;

import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.helper.Caption;import org.hibernate.envers.Audited;

/**
 * class StatusKemandirian
 * 
 * @author Generator
 */
@Entity //@Audited
@Table(name = "StatusKemandirian_T")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class StatusKemandirian extends MedicalRecordTransaction {
	
	@OneToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "objectTransferPasienInternalFk")
	@Caption(value="Transfer Pasien Internal")
	private TransferPasienInternal transferPasienInternal;

	@Column(name = "objectTransferPasienInternalFk", insertable=false,updatable=false,nullable=true)
	private String transferPasienInternalId;
	
	@ManyToOne
	@JoinColumn(name = "BergulingFk")
	@NotNull(message = "Berguling Harus Diisi")
	@Caption(value = "Berguling")
	private StatusMandiri berguling;
	
	@Column(name = "BergulingFk", insertable = false, updatable = false)
	private Integer bergulingId;
	
	@ManyToOne
	@JoinColumn(name = "DudukFk")
	@NotNull(message = "Duduk Harus Diisi")
	@Caption(value = "Duduk")
	private StatusMandiri duduk;
	
	@Column(name = "DudukFk", insertable = false, updatable = false)
	private Integer dudukId;
	
	@ManyToOne
	@JoinColumn(name = "HPWajahRambutTanganFK")
	@NotNull(message = "HP Wajah Rambut Tangan Harus Diisi")
	@Caption(value = "HPWajahRambutTangan")
	private StatusMandiri hPWajahRambutTangan;
	
	@Column(name = "HPWajahRambutTanganFK", insertable = false, updatable = false)
	private Integer hPWajahRambutTanganId;
	
	@ManyToOne
	@JoinColumn(name = "HPBatangTubuhDanPerineumFK")
	@NotNull(message = "HP BatangTubuhDanPerineum Harus Diisi")
	@Caption(value = "HPBatangTubuhDanPerineum")
	private StatusMandiri hPBatangTubuhDanPerineum;
	
	@Column(name = "HPBatangTubuhDanPerineumFK", insertable = false, updatable = false)
	private Integer hPBatangTubuhDanPerineumId;
	
	@ManyToOne
	@JoinColumn(name = "HPEkstremitasBawahFk")
	@NotNull(message = "HPEkstremitas Bawah Harus Diisi")
	@Caption(value = "HPEkstremitas Bawah")
	private StatusMandiri hPEkstremitasBawah;
	
	@Column(name = "HPEkstremitasBawahFk", insertable = false, updatable = false)
	private Integer hPEkstremitasBawahId;
	
	@ManyToOne
	@JoinColumn(name = "HPTraktusDigestivusFK")
	@NotNull(message = "HP TraktusDigestivus Tangan Harus Diisi")
	@Caption(value = "HPTraktusDigestivus")
	private StatusMandiri hPTraktusDigestivus;
	
	@Column(name = "HPTraktusDigestivusFK", insertable = false, updatable = false)
	private Integer hPTraktusDigestivusId;
	
	@ManyToOne
	@JoinColumn(name = "HPTraktusUrinariusFK")
	@NotNull(message = "HPTraktusUrinarius Tangan Harus Diisi")
	@Caption(value = "HPTraktusUrinarius")
	private StatusMandiri hPTraktusUrinarius;
	
	@Column(name = "HPTraktusUrinariusFK", insertable = false, updatable = false)
	private Integer hPTraktusUrinariusId;
	
	@ManyToOne
	@JoinColumn(name = "EkstremitasAtasFk")
	@NotNull(message = "Ekstremitas Atas Harus Diisi")
	@Caption(value = "Ekstremitas Atas")
	private StatusMandiri ekstremitasAtas;

	@Column(name = "EkstremitasAtasFk", insertable = false, updatable = false)
	private Integer ekstremitasAtasId;

	@ManyToOne
	@JoinColumn(name = "BatangTumbuhFk")
	@NotNull(message = "Batang Tumbuh Harus Diisi")
	@Caption(value = "Batang Tumbuh")
	private StatusMandiri batangTumbuh;

	@Column(name = "BatangTumbuhFk", insertable = false, updatable = false)
	private Integer batangTumbuhId;

	@ManyToOne
	@JoinColumn(name = "EkstremitasBawahFk")
	@NotNull(message = "Ekstremitas Bawah Harus Diisi")
	@Caption(value = "Ekstremitas Bawah")
	private StatusMandiri ekstremitasBawah;

	@Column(name = "EkstremitasBawahFk", insertable = false, updatable = false)
	private Integer ekstremitasBawahId;

	@ManyToOne
	@JoinColumn(name = "MakananFk")
	@NotNull(message = "Makanan Harus Diisi")
	@Caption(value = "Makanan")
	private StatusMandiri makanan;

	@Column(name = "MakananFk", insertable = false, updatable = false)
	private Integer makananId;

	@ManyToOne
	@JoinColumn(name = "JalanKakiFk")
	@NotNull(message = "Jalan Kaki Harus Diisi")
	@Caption(value = "Jalan Kaki")
	private StatusMandiri jalanKaki;

	@Column(name = "JalanKakiFk", insertable = false, updatable = false)
	private Integer jalanKakiId;

	@ManyToOne
	@JoinColumn(name = "KursiRodaFk")
	@NotNull(message = "Kursi Roda Harus Diisi")
	@Caption(value = "Kursi Roda")
	private StatusMandiri kursiRoda;

	@Column(name = "KursiRodaFk", insertable = false, updatable = false)
	private Integer kursiRodaId;

	public TransferPasienInternal getTransferPasienInternal() {
		return transferPasienInternal;
	}

	public void setTransferPasienInternal(TransferPasienInternal transferPasienInternal) {
		this.transferPasienInternal = transferPasienInternal;
	}

	public String getTransferPasienInternalId() {
		return transferPasienInternalId;
	}

	public void setTransferPasienInternalId(String transferPasienInternalId) {
		this.transferPasienInternalId = transferPasienInternalId;
	}

	public StatusMandiri getBerguling() {
		return berguling;
	}

	public void setBerguling(StatusMandiri berguling) {
		this.berguling = berguling;
	}

	public Integer getBergulingId() {
		return bergulingId;
	}

	public void setBergulingId(Integer bergulingId) {
		this.bergulingId = bergulingId;
	}

	public StatusMandiri getDuduk() {
		return duduk;
	}

	public void setDuduk(StatusMandiri duduk) {
		this.duduk = duduk;
	}

	public Integer getDudukId() {
		return dudukId;
	}

	public void setDudukId(Integer dudukId) {
		this.dudukId = dudukId;
	}

	public StatusMandiri gethPWajahRambutTangan() {
		return hPWajahRambutTangan;
	}

	public void sethPWajahRambutTangan(StatusMandiri hPWajahRambutTangan) {
		this.hPWajahRambutTangan = hPWajahRambutTangan;
	}

	public Integer gethPWajahRambutTanganId() {
		return hPWajahRambutTanganId;
	}

	public void sethPWajahRambutTanganId(Integer hPWajahRambutTanganId) {
		this.hPWajahRambutTanganId = hPWajahRambutTanganId;
	}

	public StatusMandiri gethPBatangTubuhDanPerineum() {
		return hPBatangTubuhDanPerineum;
	}

	public void sethPBatangTubuhDanPerineum(StatusMandiri hPBatangTubuhDanPerineum) {
		this.hPBatangTubuhDanPerineum = hPBatangTubuhDanPerineum;
	}

	public Integer gethPBatangTubuhDanPerineumId() {
		return hPBatangTubuhDanPerineumId;
	}

	public void sethPBatangTubuhDanPerineumId(Integer hPBatangTubuhDanPerineumId) {
		this.hPBatangTubuhDanPerineumId = hPBatangTubuhDanPerineumId;
	}

	public StatusMandiri gethPEkstremitasBawah() {
		return hPEkstremitasBawah;
	}

	public void sethPEkstremitasBawah(StatusMandiri hPEkstremitasBawah) {
		this.hPEkstremitasBawah = hPEkstremitasBawah;
	}

	public Integer gethPEkstremitasBawahId() {
		return hPEkstremitasBawahId;
	}

	public void sethPEkstremitasBawahId(Integer hPEkstremitasBawahId) {
		this.hPEkstremitasBawahId = hPEkstremitasBawahId;
	}

	public StatusMandiri gethPTraktusDigestivus() {
		return hPTraktusDigestivus;
	}

	public void sethPTraktusDigestivus(StatusMandiri hPTraktusDigestivus) {
		this.hPTraktusDigestivus = hPTraktusDigestivus;
	}

	public Integer gethPTraktusDigestivusId() {
		return hPTraktusDigestivusId;
	}

	public void sethPTraktusDigestivusId(Integer hPTraktusDigestivusId) {
		this.hPTraktusDigestivusId = hPTraktusDigestivusId;
	}

	public StatusMandiri gethPTraktusUrinarius() {
		return hPTraktusUrinarius;
	}

	public void sethPTraktusUrinarius(StatusMandiri hPTraktusUrinarius) {
		this.hPTraktusUrinarius = hPTraktusUrinarius;
	}

	public Integer gethPTraktusUrinariusId() {
		return hPTraktusUrinariusId;
	}

	public void sethPTraktusUrinariusId(Integer hPTraktusUrinariusId) {
		this.hPTraktusUrinariusId = hPTraktusUrinariusId;
	}

	public StatusMandiri getEkstremitasAtas() {
		return ekstremitasAtas;
	}

	public void setEkstremitasAtas(StatusMandiri ekstremitasAtas) {
		this.ekstremitasAtas = ekstremitasAtas;
	}

	public Integer getEkstremitasAtasId() {
		return ekstremitasAtasId;
	}

	public void setEkstremitasAtasId(Integer ekstremitasAtasId) {
		this.ekstremitasAtasId = ekstremitasAtasId;
	}

	public StatusMandiri getBatangTumbuh() {
		return batangTumbuh;
	}

	public void setBatangTumbuh(StatusMandiri batangTumbuh) {
		this.batangTumbuh = batangTumbuh;
	}

	public Integer getBatangTumbuhId() {
		return batangTumbuhId;
	}

	public void setBatangTumbuhId(Integer batangTumbuhId) {
		this.batangTumbuhId = batangTumbuhId;
	}

	public StatusMandiri getEkstremitasBawah() {
		return ekstremitasBawah;
	}

	public void setEkstremitasBawah(StatusMandiri ekstremitasBawah) {
		this.ekstremitasBawah = ekstremitasBawah;
	}

	public Integer getEkstremitasBawahId() {
		return ekstremitasBawahId;
	}

	public void setEkstremitasBawahId(Integer ekstremitasBawahId) {
		this.ekstremitasBawahId = ekstremitasBawahId;
	}

	public StatusMandiri getMakanan() {
		return makanan;
	}

	public void setMakanan(StatusMandiri makanan) {
		this.makanan = makanan;
	}

	public Integer getMakananId() {
		return makananId;
	}

	public void setMakananId(Integer makananId) {
		this.makananId = makananId;
	}

	public StatusMandiri getJalanKaki() {
		return jalanKaki;
	}

	public void setJalanKaki(StatusMandiri jalanKaki) {
		this.jalanKaki = jalanKaki;
	}

	public Integer getJalanKakiId() {
		return jalanKakiId;
	}

	public void setJalanKakiId(Integer jalanKakiId) {
		this.jalanKakiId = jalanKakiId;
	}

	public StatusMandiri getKursiRoda() {
		return kursiRoda;
	}

	public void setKursiRoda(StatusMandiri kursiRoda) {
		this.kursiRoda = kursiRoda;
	}

	public Integer getKursiRodaId() {
		return kursiRodaId;
	}

	public void setKursiRodaId(Integer kursiRodaId) {
		this.kursiRodaId = kursiRodaId;
	}

}