package com.jasamedika.medifirst2000.entities;

import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.*;
import java.util.Date;

/**
 * @author salmanoe
 * @since Oct 19, 2021
 */
@Getter
@Setter
@Entity
@Table(name = "cppt_t")
public class CatatanPerkembanganPasienTerintegrasi extends BaseTransaction {

	@ManyToOne
	@JoinColumn(name = "pegawaifk")
	@Caption(value = "Pegawai")
	private Pegawai pegawai;

	@Column(name = "pegawaifk", insertable = false, updatable = false)
	private Integer pegawaiId;

	@ManyToOne
	@JoinColumn(name = "noregistrasifk")
	@Caption(value = "Antrian Pasien Diperiksa")
	private AntrianPasienDiPeriksa antrianPasienDiperiksa;

	@Column(name = "noregistrasifk", columnDefinition = "char(32)", insertable = false, updatable = false)
	private String antrianPasienDiperiksaId;

	@Column(name = "isverifikasi")
	@Caption(value = "Status Verifikasi")
	private Boolean isVerifikasi;

	@Column(name = "nocppt", columnDefinition = "varchar(32)")
	@Caption(value = "Nomor CPPT")
	private String noCPPT;

	@Column(name = "tglinput")
	@Caption(value = "Tanggal Input")
	@Temporal(TemporalType.TIMESTAMP)
	private Date tglInput;

	@Column(name = "s", columnDefinition = "varchar(5000)")
	@Caption(value = "Subjektif/ Assesmen")
	private String subjektifOrAssesmen;

	@Column(name = "o", columnDefinition = "varchar(5000)")
	@Caption(value = "Objektif/ Diagnosis")
	private String objecktifOrDiagnosis;

	@Column(name = "a", columnDefinition = "varchar(5000)")
	@Caption(value = "Analisis/ Intervensi")
	private String analisisOrIntervensi;

	@Column(name = "p", columnDefinition = "varchar(5000)")
	@Caption(value = "Perencanaan/ Monitoring")
	private String perencanaanOrMonitoring;

	@Column(name = "e", columnDefinition = "varchar(5000)")
	@Caption(value = "ADIME: Evaluasi")
	private String adimeEvaluasi;

	@Column(name = "cppt_e", columnDefinition = "varchar(5000)")
	@Caption(value = "CPPT: Evaluasi")
	private String cpptEvaluasi;

	@Column(name = "cppt_i", columnDefinition = "varchar(5000)")
	@Caption(value = "CPPT: Implementasi")
	private String cpptImplementasi;

	@ManyToOne
	@JoinColumn(name = "ruanganfk")
	@Caption(value = "Ruangan")
	private Ruangan ruangan;

	@Column(name = "ruanganfk", insertable = false, updatable = false)
	private Integer ruanganId;

	@ManyToOne
	@JoinColumn(name = "pasienfk")
	@Caption(value = "Pasien")
	private Pasien pasien;

	@Column(name = "pasienfk", insertable = false, updatable = false)
	private Integer pasienId;

	@ManyToOne
	@JoinColumn(name = "pegawaiasalfk")
	@Caption(value = "Pegawai Asal")
	private Pegawai pegawaiAsal;

	@Column(name = "pegawaiasalfk", insertable = false, updatable = false)
	private Integer pegawaiAsalId;

	@Column(name = "flag_")
	@Caption(value = "Flag")
	private Integer flag;

	@Column(name = "tbak", columnDefinition = "varchar(2000)")
	@Caption(value = "Tulis Baca dan Konfirmasi")
	private String tulisBacaKonfirmasi;

}
