package com.jasamedika.medifirst2000.entities;

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

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;

@Entity 
@Table(name="ProdukDetailLabAnatomi_T")
public class ProdukDetailLabAnatomi extends BaseTransaction{
	@ManyToOne
	@JoinColumn(name = "ObjectantrianPasienDiPeriksaFk")
	@Caption(value="Object antrianPasienDiPeriksa")
	private AntrianPasienDiPeriksa antrianPasienDiPeriksa;

	@Column(name = "ObjectantrianPasienDiPeriksaFk", insertable=false,updatable=false, nullable=false)
	private String antrianPasienDiPeriksaId;
	
	@ManyToOne
	@JoinColumn(name = "ObjectstrukOrderFk")
	@Caption(value="Object strukOrder")
	private StrukOrder strukOrder;

	@Column(name = "ObjectstrukOrderFk", insertable=false,updatable=false, nullable=false)
	private String strukOrderId;

	@ManyToOne
	@JoinColumn(name = "ObjectProdukFk")
	@Caption(value="Object Produk")
	private Produk produk;

	@Column(name = "ObjectProdukFk", insertable=false,updatable=false, nullable=false)
	private Integer produkId;

	@Column(name = "bahanBerasalDari", nullable = true)
	@Caption(value = "bahanBerasalDari")
	private String bahanBerasalDari;
	
	@Column(name = "diambilTanggal", nullable = true)
	@Caption(value = "diambilTanggal")
	private Date diambilTanggal;
	
	@ManyToOne
	@JoinColumn(name = "ObjectdiagnosaOnkologiMorfologiFk")
	@Caption(value="Object diagnosaOnkologiMorfologi")
	private DiagnosaOnkologiMorfologi diagnosaOnkologiMorfologi;

	@Column(name = "ObjectdiagnosaOnkologiMorfologiFk", insertable=false,updatable=false, nullable=false)
	private Integer diagnosaOnkologiMorfologiId;

	@ManyToOne
	@JoinColumn(name = "ObjectdiagnosaOnkologiTopologiFk")
	@Caption(value="Object diagnosaOnkologiTopologi")
	private DiagnosaOnkologiTopologi diagnosaOnkologiTopologi;
	
	@Column(name = "ObjectdiagnosaOnkologiTopologiFk", insertable=false,updatable=false, nullable=false)
	private Integer diagnosaOnkologiTopologiId;
	
	@Column(name = "keteranganKlinisBiospi", nullable = true)
	@Caption(value = "keteranganKlinisBiospi")
	private String keteranganKlinisBiospi;
	
	@Column(name = "lokasiJaringanSakit", nullable = true)
	@Caption(value = "lokasiJaringanSakit")
	private String lokasiJaringanSakit;
	/*
	@ManyToOne
	@JoinColumn(name = "ObjectjaringanTubuhFk")
	@NotNull(message="Object jaringanTubuh Harus Diisi")
	@Caption(value="Object jaringanTubuh")
	private JaringanTubuh jaringanTubuh;
	
	@Column(name = "ObjectjaringanTubuhFk", insertable=false,updatable=false, nullable=false)
	private Integer jaringanTubuhId;
	*/
	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "produkDetailLabAnatomi")
	private Set<JaringanTubuhDetail> detailJaringanTubuhSet=new HashSet<JaringanTubuhDetail>();

	@Column(name = "jaringanTubuhDidapatLainnya", nullable = true)
	@Caption(value = "jaringanTubuhDidapatLainnya")
	private String jaringanTubuhDidapatLainnya;
	
	@Column(name = "jamJaringanKeluarDariTubuh", nullable = true)
	@Caption(value = "jamJaringanKeluarDariTubuh")
	private Date jamJaringanKeluarDariTubuh;
	
	@Column(name = "jamMulaiDilakukanFilsosif", nullable = true)
	@Caption(value = "jamMulaiDilakukanFilsosif")
	private Date jamMulaiDilakukanFilsosif;
	
	@Column(name = "jumlahJaringanDikirim", nullable = true)
	@Caption(value = "jumlahJaringanDikirim")
	private String jumlahJaringanDikirim;
/*
	@ManyToOne
	@JoinColumn(name = "ObjectcairanFiksasiFk")
	@NotNull(message="Object cairanFiksasi Harus Diisi")
	@Caption(value="Object cairanFiksasi")
	private CairanFiksasi cairanFiksasi;

	@Column(name = "ObjectcairanFiksasiFk", insertable=false,updatable=false, nullable=false)
	private Integer cairanFiksasiId;
*/
	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "produkDetailLabAnatomi")
	private Set<CairanFiksasiDetail> detailCairanFiksasiSet=new HashSet<CairanFiksasiDetail>();
	
	@Column(name = "cairanFiksasiLainnya", nullable = true)
	@Caption(value = "cairanFiksasiLainnya")
	private String cairanFiksasiLainnya;
	
	@Column(name = "keteranganKlinisHistopatologi", nullable = true)
	@Caption(value = "keteranganKlinisHistopatologi")
	private String keteranganKlinisHistopatologi;
	
	@Column(name = "paritas", nullable = true)
	@Caption(value = "paritas")
	private String paritas;

	@Column(name = "terapiHormon", nullable = true)
	@Caption(value = "terapiHormon")
	private String terapiHormon;
	
	@Column(name = "tglTerapiHormon", nullable = true)
	@Caption(value = "tglTerapiHormon")
	private Date tglTerapiHormon;
	
	@Column(name = "haidTerakhir", nullable = true)
	@Caption(value = "haidTerakhir")
	private Date haidTerakhir;
	
	@Column(name = "kontrasepsi", nullable = true)
	@Caption(value = "kontrasepsi")
	private String kontrasepsi;
	
	@Column(name = "siklusHaid", nullable = true)
	@Caption(value = "siklusHaid")
	private String siklusHaid;

	@Column(name = "operasiRadiasi", nullable = true)
	@Caption(value = "operasiRadiasi")
	private String operasiRadiasi;

	@Column(name = "praPascaMenopause", nullable = true)
	@Caption(value = "praPascaMenopause")
	private String praPascaMenopause;

	@Column(name = "menoPause", nullable = true)
	@Caption(value = "menoPause")
	private String menoPause;

	@Column(name = "tglMenopause", nullable = true)
	@Caption(value = "tglMenopause")
	private Date tglMenopause;
	
	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "produkDetailLabAnatomi")
	private Set<StatusGinekologiDetail> detailStatusGinekologiSet=new HashSet<StatusGinekologiDetail>();

	@Column(name = "statusGinekologiLainnya", nullable = true)
	@Caption(value = "statusGinekologiLainnya")
	private String statusGinekologiLainnya;

	@Column(name = "bahanDidapat", nullable = true)
	@Caption(value = "bahanDidapat")
	private String bahanDidapat;

	@Column(name = "isAlk95", nullable = true)
	@Caption(value = "isAlk95")
	private Boolean isAlk95;

	@Column(name = "alk95", nullable = true)
	@Caption(value = "alk95")
	private String alk95;

	@Column(name = "pernahDilakukanPemeriksaan", nullable = true)
	@Caption(value = "pernahDilakukanPemeriksaan")
	private String pernahDilakukanPemeriksaan;

	@Column(name = "tglPernahDilakukanPemeriksaan", nullable = true)
	@Caption(value = "tglPernahDilakukanPemeriksaan")
	private Date tglPernahDilakukanPemeriksaan;

	@Column(name = "no", nullable = true)
	@Caption(value = "no")
	private String no;

	@ManyToOne
	@JoinColumn(name = "ObjectdokterFk")
	@Caption(value="Object dokter")
	private Pegawai dokter;

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

	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "produkDetailLabAnatomi")
	private Set<KeteranganLainLainDetail> detailKeteranganLainLainSet=new HashSet<KeteranganLainLainDetail>();
	
	@Column(name = "diagnosaKlinik", nullable = true)
	@Caption(value = "diagnosaKlinik")
	private String diagnosaKlinik;
	
	public String getBahanBerasalDari() {
		return bahanBerasalDari;
	}
	public void setBahanBerasalDari(String bahanBerasalDari) {
		this.bahanBerasalDari = bahanBerasalDari;
	}
	public Date getDiambilTanggal() {
		return diambilTanggal;
	}
	public void setDiambilTanggal(Date diambilTanggal) {
		this.diambilTanggal = diambilTanggal;
	}
	public DiagnosaOnkologiMorfologi getDiagnosaOnkologiMorfologi() {
		return diagnosaOnkologiMorfologi;
	}
	public void setDiagnosaOnkologiMorfologi(DiagnosaOnkologiMorfologi diagnosaOnkologiMorfologi) {
		this.diagnosaOnkologiMorfologi = diagnosaOnkologiMorfologi;
	}
	public DiagnosaOnkologiTopologi getDiagnosaOnkologiTopologi() {
		return diagnosaOnkologiTopologi;
	}
	public void setDiagnosaOnkologiTopologi(DiagnosaOnkologiTopologi diagnosaOnkologiTopologi) {
		this.diagnosaOnkologiTopologi = diagnosaOnkologiTopologi;
	}
	public String getKeteranganKlinisBiospi() {
		return keteranganKlinisBiospi;
	}
	public void setKeteranganKlinisBiospi(String keteranganKlinisBiospi) {
		this.keteranganKlinisBiospi = keteranganKlinisBiospi;
	}
	public String getLokasiJaringanSakit() {
		return lokasiJaringanSakit;
	}
	public void setLokasiJaringanSakit(String lokasiJaringanSakit) {
		this.lokasiJaringanSakit = lokasiJaringanSakit;
	}
	public String getJaringanTubuhDidapatLainnya() {
		return jaringanTubuhDidapatLainnya;
	}
	public void setJaringanTubuhDidapatLainnya(String jaringanTubuhDidapatLainnya) {
		this.jaringanTubuhDidapatLainnya = jaringanTubuhDidapatLainnya;
	}
	public Date getJamJaringanKeluarDariTubuh() {
		return jamJaringanKeluarDariTubuh;
	}
	public void setJamJaringanKeluarDariTubuh(Date jamJaringanKeluarDariTubuh) {
		this.jamJaringanKeluarDariTubuh = jamJaringanKeluarDariTubuh;
	}
	public Date getJamMulaiDilakukanFilsosif() {
		return jamMulaiDilakukanFilsosif;
	}
	public void setJamMulaiDilakukanFilsosif(Date jamMulaiDilakukanFilsosif) {
		this.jamMulaiDilakukanFilsosif = jamMulaiDilakukanFilsosif;
	}
	public String getJumlahJaringanDikirim() {
		return jumlahJaringanDikirim;
	}
	public void setJumlahJaringanDikirim(String jumlahJaringanDikirim) {
		this.jumlahJaringanDikirim = jumlahJaringanDikirim;
	}
	public String getCairanFiksasiLainnya() {
		return cairanFiksasiLainnya;
	}
	public void setCairanFiksasiLainnya(String cairanFiksasiLainnya) {
		this.cairanFiksasiLainnya = cairanFiksasiLainnya;
	}
	public String getKeteranganKlinisHistopatologi() {
		return keteranganKlinisHistopatologi;
	}
	public void setKeteranganKlinisHistopatologi(String keteranganKlinisHistopatologi) {
		this.keteranganKlinisHistopatologi = keteranganKlinisHistopatologi;
	}
	public Integer getDiagnosaOnkologiMorfologiId() {
		return diagnosaOnkologiMorfologiId;
	}
	public void setDiagnosaOnkologiMorfologiId(Integer diagnosaOnkologiMorfologiId) {
		this.diagnosaOnkologiMorfologiId = diagnosaOnkologiMorfologiId;
	}
	public Integer getDiagnosaOnkologiTopologiId() {
		return diagnosaOnkologiTopologiId;
	}
	public void setDiagnosaOnkologiTopologiId(Integer diagnosaOnkologiTopologiId) {
		this.diagnosaOnkologiTopologiId = diagnosaOnkologiTopologiId;
	}
	
	public Set<JaringanTubuhDetail> getDetailJaringanTubuhSet() {
		return detailJaringanTubuhSet;
	}
	public void setDetailJaringanTubuhSet(Set<JaringanTubuhDetail> detailJaringanTubuhSet) {
		this.detailJaringanTubuhSet = detailJaringanTubuhSet;
	}
	public Produk getProduk() {
		return produk;
	}
	public void setProduk(Produk produk) {
		this.produk = produk;
	}
	public Integer getProdukId() {
		return produkId;
	}
	public void setProdukId(Integer produkId) {
		this.produkId = produkId;
	}
	public String getParitas() {
		return paritas;
	}
	public void setParitas(String paritas) {
		this.paritas = paritas;
	}
	public String getTerapiHormon() {
		return terapiHormon;
	}
	public void setTerapiHormon(String terapiHormon) {
		this.terapiHormon = terapiHormon;
	}
	public Date getTglTerapiHormon() {
		return tglTerapiHormon;
	}
	public void setTglTerapiHormon(Date tglTerapiHormon) {
		this.tglTerapiHormon = tglTerapiHormon;
	}
	public Date getHaidTerakhir() {
		return haidTerakhir;
	}
	public void setHaidTerakhir(Date haidTerakhir) {
		this.haidTerakhir = haidTerakhir;
	}
	public String getKontrasepsi() {
		return kontrasepsi;
	}
	public void setKontrasepsi(String kontrasepsi) {
		this.kontrasepsi = kontrasepsi;
	}
	public String getSiklusHaid() {
		return siklusHaid;
	}
	public void setSiklusHaid(String siklusHaid) {
		this.siklusHaid = siklusHaid;
	}
	public String getOperasiRadiasi() {
		return operasiRadiasi;
	}
	public void setOperasiRadiasi(String operasiRadiasi) {
		this.operasiRadiasi = operasiRadiasi;
	}
	public String getPraPascaMenopause() {
		return praPascaMenopause;
	}
	public void setPraPascaMenopause(String praPascaMenopause) {
		this.praPascaMenopause = praPascaMenopause;
	}
	public String getMenoPause() {
		return menoPause;
	}
	public void setMenoPause(String menoPause) {
		this.menoPause = menoPause;
	}
	public Date getTglMenopause() {
		return tglMenopause;
	}
	public void setTglMenopause(Date tglMenopause) {
		this.tglMenopause = tglMenopause;
	}
	public String getStatusGinekologiLainnya() {
		return statusGinekologiLainnya;
	}
	public void setStatusGinekologiLainnya(String statusGinekologiLainnya) {
		this.statusGinekologiLainnya = statusGinekologiLainnya;
	}
	public String getBahanDidapat() {
		return bahanDidapat;
	}
	public void setBahanDidapat(String bahanDidapat) {
		this.bahanDidapat = bahanDidapat;
	}
	public Boolean getIsAlk95() {
		return isAlk95;
	}
	public void setIsAlk95(Boolean isAlk95) {
		this.isAlk95 = isAlk95;
	}
	public String getAlk95() {
		return alk95;
	}
	public void setAlk95(String alk95) {
		this.alk95 = alk95;
	}
	public String getPernahDilakukanPemeriksaan() {
		return pernahDilakukanPemeriksaan;
	}
	public void setPernahDilakukanPemeriksaan(String pernahDilakukanPemeriksaan) {
		this.pernahDilakukanPemeriksaan = pernahDilakukanPemeriksaan;
	}
	public Date getTglPernahDilakukanPemeriksaan() {
		return tglPernahDilakukanPemeriksaan;
	}
	public void setTglPernahDilakukanPemeriksaan(Date tglPernahDilakukanPemeriksaan) {
		this.tglPernahDilakukanPemeriksaan = tglPernahDilakukanPemeriksaan;
	}
	public String getNo() {
		return no;
	}
	public void setNo(String no) {
		this.no = no;
	}
	public Pegawai getDokter() {
		return dokter;
	}
	public void setDokter(Pegawai dokter) {
		this.dokter = dokter;
	}
	public Integer getDokterId() {
		return dokterId;
	}
	public void setDokterId(Integer dokterId) {
		this.dokterId = dokterId;
	}
	public Set<CairanFiksasiDetail> getDetailCairanFiksasiSet() {
		return detailCairanFiksasiSet;
	}
	public void setDetailCairanFiksasiSet(Set<CairanFiksasiDetail> detailCairanFiksasiSet) {
		this.detailCairanFiksasiSet = detailCairanFiksasiSet;
	}
	public Set<StatusGinekologiDetail> getDetailStatusGinekologiSet() {
		return detailStatusGinekologiSet;
	}
	public void setDetailStatusGinekologiSet(Set<StatusGinekologiDetail> detailStatusGinekologiSet) {
		this.detailStatusGinekologiSet = detailStatusGinekologiSet;
	}
	public Set<KeteranganLainLainDetail> getDetailKeteranganLainLainSet() {
		return detailKeteranganLainLainSet;
	}
	public void setDetailKeteranganLainLainSet(Set<KeteranganLainLainDetail> detailKeteranganLainLainSet) {
		this.detailKeteranganLainLainSet = detailKeteranganLainLainSet;
	}
	public AntrianPasienDiPeriksa getAntrianPasienDiPeriksa() {
		return antrianPasienDiPeriksa;
	}
	public void setAntrianPasienDiPeriksa(AntrianPasienDiPeriksa antrianPasienDiPeriksa) {
		this.antrianPasienDiPeriksa = antrianPasienDiPeriksa;
	}
	public String getAntrianPasienDiPeriksaId() {
		return antrianPasienDiPeriksaId;
	}
	public void setAntrianPasienDiPeriksaId(String antrianPasienDiPeriksaId) {
		this.antrianPasienDiPeriksaId = antrianPasienDiPeriksaId;
	}
	public StrukOrder getStrukOrder() {
		return strukOrder;
	}
	public void setStrukOrder(StrukOrder strukOrder) {
		this.strukOrder = strukOrder;
	}
	public String getStrukOrderId() {
		return strukOrderId;
	}
	public void setStrukOrderId(String strukOrderId) {
		this.strukOrderId = strukOrderId;
	}
	public String getDiagnosaKlinik() {
		return diagnosaKlinik;
	}
	public void setDiagnosaKlinik(String diagnosaKlinik) {
		this.diagnosaKlinik = diagnosaKlinik;
	}

}
