package com.jasamedika.medifirst2000.entities;

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.OneToMany;
import javax.persistence.Table;

import com.jasamedika.medifirst2000.helper.Caption;import org.hibernate.envers.Audited;
import com.jasamedika.medifirst2000.vo.ProfilSensoriVO;
import com.jasamedika.medifirst2000.vo.TesPsikologiVO;

@Entity //@Audited
@Table(name = "PengkajianAwalPsikologi_T")
public class PengkajianAwalPsikologi extends MedicalRecordTransaction{
	
	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "pengkajianAwalPsikologi")
	private Set<RiwayatPerkembangan> riwayatPerkembangan=new HashSet<RiwayatPerkembangan>();
	
	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "pengkajianAwalPsikologi")
	private Set<RiwayatPendidikanFormal> riwayatPendidikanFormal=new HashSet<RiwayatPendidikanFormal>();

	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "pengkajianAwalPsikologi")
	private Set<RiwayatPendidikanNonFormal> riwayatPendidikanNonFormal=new HashSet<RiwayatPendidikanNonFormal>();
	
	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "pengkajianAwalPsikologi")
	private Set<PengalamanOrganisasi> pengalamanOrganisasi=new HashSet<PengalamanOrganisasi>();
	
	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "pengkajianAwalPsikologi")
	private Set<AsesmenPsikologis> asesmenPsikologis=new HashSet<AsesmenPsikologis>();
	
	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "pengkajianAwalPsikologi")
	private Set<ProfilSensori> profilSensori=new HashSet<ProfilSensori>();
	
	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "pengkajianAwalPsikologi")
	private Set<KesanPsikologis_Diagnosis> kesanPsikologis=new HashSet<KesanPsikologis_Diagnosis>();
	
	@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "pengkajianAwalPsikologi")
	private Set<TesPsikologi> tesPsikologi=new HashSet<TesPsikologi>();
	
	@Column(name = "analisis")
	@Caption(value = "Analisis/Psikodinamika")
	private String analisis;
	
	@Column(name = "psikokonseling")
	@Caption(value = "Psikokonseling dan Psikoterapi")
	private String psikokonseling;
	
	@Column(name = "rencana")
	@Caption(value = "Rencana Program dan Intervensi")
	private String rencana;

	public Set<RiwayatPerkembangan> getRiwayatPerkembangan() {
		return riwayatPerkembangan;
	}

	public void setRiwayatPerkembangan(Set<RiwayatPerkembangan> riwayatPerkembangan) {
		this.riwayatPerkembangan = riwayatPerkembangan;
	}

	public Set<RiwayatPendidikanFormal> getRiwayatPendidikanFormal() {
		return riwayatPendidikanFormal;
	}

	public void setRiwayatPendidikanFormal(Set<RiwayatPendidikanFormal> riwayatPendidikanFormal) {
		this.riwayatPendidikanFormal = riwayatPendidikanFormal;
	}

	public Set<RiwayatPendidikanNonFormal> getRiwayatPendidikanNonFormal() {
		return riwayatPendidikanNonFormal;
	}

	public void setRiwayatPendidikanNonFormal(Set<RiwayatPendidikanNonFormal> riwayatPendidikanNonFormal) {
		this.riwayatPendidikanNonFormal = riwayatPendidikanNonFormal;
	}

	public Set<PengalamanOrganisasi> getPengalamanOrganisasi() {
		return pengalamanOrganisasi;
	}

	public void setPengalamanOrganisasi(Set<PengalamanOrganisasi> pengalamanOrganisasi) {
		this.pengalamanOrganisasi = pengalamanOrganisasi;
	}

	public Set<AsesmenPsikologis> getAsesmenPsikologis() {
		return asesmenPsikologis;
	}

	public void setAsesmenPsikologis(Set<AsesmenPsikologis> asesmenPsikologis) {
		this.asesmenPsikologis = asesmenPsikologis;
	}

	public Set<ProfilSensori> getProfilSensori() {
		return profilSensori;
	}

	public void setProfilSensori(Set<ProfilSensori> profilSensori) {
		this.profilSensori = profilSensori;
	}

	public String getAnalisis() {
		return analisis;
	}

	public void setAnalisis(String analisis) {
		this.analisis = analisis;
	}

	public String getPsikokonseling() {
		return psikokonseling;
	}

	public void setPsikokonseling(String psikokonseling) {
		this.psikokonseling = psikokonseling;
	}

	public String getRencana() {
		return rencana;
	}

	public void setRencana(String rencana) {
		this.rencana = rencana;
	}

	public Set<KesanPsikologis_Diagnosis> getKesanPsikologis() {
		return kesanPsikologis;
	}

	public void setKesanPsikologis(Set<KesanPsikologis_Diagnosis> kesanPsikologis) {
		this.kesanPsikologis = kesanPsikologis;
	}

	public Set<TesPsikologi> getTesPsikologi() {
		return tesPsikologi;
	}

	public void setTesPsikologi(Set<TesPsikologi> tesPsikologi) {
		this.tesPsikologi = tesPsikologi;
	}	
	
}
