2026-07-30 10:37:16 +02:00
/ *
* Click nbfs : //nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs : //nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
* /
package com.triz.trizservice.modeles ;
import java.io.Serializable ;
import java.util.Date ;
import java.util.List ;
2026-08-13 16:57:29 +02:00
import java.util.UUID ;
2026-07-30 10:37:16 +02:00
import javax.persistence.Basic ;
import javax.persistence.Column ;
import javax.persistence.Entity ;
2026-08-13 16:57:29 +02:00
import javax.persistence.GeneratedValue ;
2026-07-30 10:37:16 +02:00
import javax.persistence.Id ;
import javax.persistence.JoinColumn ;
import javax.persistence.Lob ;
import javax.persistence.ManyToOne ;
import javax.persistence.NamedQueries ;
import javax.persistence.NamedQuery ;
import javax.persistence.OneToMany ;
import javax.persistence.Table ;
import javax.persistence.Temporal ;
import javax.persistence.TemporalType ;
import javax.validation.constraints.NotNull ;
import javax.validation.constraints.Size ;
import javax.xml.bind.annotation.XmlRootElement ;
import javax.xml.bind.annotation.XmlTransient ;
/ * *
*
* @author FORCE TECH
* /
@Entity
@Table ( name = " patient " )
@XmlRootElement
@NamedQueries ( {
@NamedQuery ( name = " Patient.findAll " , query = " SELECT p FROM Patient p " ) ,
@NamedQuery ( name = " Patient.findByNom " , query = " SELECT p FROM Patient p WHERE p.nom = :nom " ) ,
@NamedQuery ( name = " Patient.findByPrenom " , query = " SELECT p FROM Patient p WHERE p.prenom = :prenom " ) ,
@NamedQuery ( name = " Patient.findByDateNaissance " , query = " SELECT p FROM Patient p WHERE p.dateNaissance = :dateNaissance " ) ,
@NamedQuery ( name = " Patient.findByTelephone " , query = " SELECT p FROM Patient p WHERE p.telephone = :telephone " ) ,
@NamedQuery ( name = " Patient.findByTelephoneRelative " , query = " SELECT p FROM Patient p WHERE p.telephoneRelative = :telephoneRelative " ) ,
@NamedQuery ( name = " Patient.findByEmail " , query = " SELECT p FROM Patient p WHERE p.email = :email " ) ,
@NamedQuery ( name = " Patient.findBySexe " , query = " SELECT p FROM Patient p WHERE p.sexe = :sexe " ) ,
@NamedQuery ( name = " Patient.findByNin " , query = " SELECT p FROM Patient p WHERE p.nin = :nin " ) ,
@NamedQuery ( name = " Patient.findByAdresse " , query = " SELECT p FROM Patient p WHERE p.adresse = :adresse " ) ,
@NamedQuery ( name = " Patient.findByGroupage " , query = " SELECT p FROM Patient p WHERE p.groupage = :groupage " ) ,
@NamedQuery ( name = " Patient.findByCreeLe " , query = " SELECT p FROM Patient p WHERE p.creeLe = :creeLe " ) } )
public class Patient implements Serializable {
@Size ( max = 2147483647 )
@Column ( name = " nom " )
private String nom ;
@Size ( max = 2147483647 )
@Column ( name = " prenom " )
private String prenom ;
@Size ( max = 2147483647 )
@Column ( name = " telephone " )
private String telephone ;
@Size ( max = 2147483647 )
@Column ( name = " telephone_relative " )
private String telephoneRelative ;
// @Pattern(regexp="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", message="Invalid email")//if the field contains email address consider using this annotation to enforce field validation
@Size ( max = 2147483647 )
2026-09-04 11:45:31 +02:00
@Column ( name = " email " )
2026-07-30 10:37:16 +02:00
private String email ;
@Size ( max = 2147483647 )
@Column ( name = " sexe " )
private String sexe ;
@Size ( max = 2147483647 )
@Column ( name = " nin " )
private String nin ;
2026-08-13 16:57:29 +02:00
// @Pattern(regexp="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", message="Invalid email")//if the field contains email address consider using this annotation to enforce field validation
2026-07-30 10:37:16 +02:00
@Size ( max = 2147483647 )
@Column ( name = " adresse " )
private String adresse ;
@Size ( max = 2147483647 )
@Column ( name = " groupage " )
private String groupage ;
2026-08-13 16:57:29 +02:00
@OneToMany ( mappedBy = " fkPatient " )
private List < Consultation > consultationList ;
private static final long serialVersionUID = 1L ;
@Id
@Basic ( optional = false )
@NotNull
@GeneratedValue
@Column ( name = " id " )
private UUID id ;
@Column ( name = " date_naissance " )
@Temporal ( TemporalType . DATE )
private Date dateNaissance ;
2026-07-30 10:37:16 +02:00
@Column ( name = " cree_le " )
@Temporal ( TemporalType . DATE )
private Date creeLe ;
@OneToMany ( mappedBy = " fkPatient " )
private List < Rdv > rdvList ;
@OneToMany ( mappedBy = " fkDossierMedical " )
private List < FichierDossier > fichierDossierList ;
@JoinColumn ( name = " fk_centre " , referencedColumnName = " id " )
@ManyToOne
private Centre fkCentre ;
@OneToMany ( mappedBy = " fkPatient " )
private List < TypeExamen > typeExamenList ;
@OneToMany ( mappedBy = " fkPatient " )
private List < AlertesMedicales > alertesMedicalesList ;
@OneToMany ( mappedBy = " fkPatient " )
private List < Queue > queueList ;
2026-09-04 11:45:31 +02:00
@Column ( name = " code_patient " , unique = true , length = 10 )
private String codePatient ;
2026-07-30 10:37:16 +02:00
public Patient ( ) {
}
2026-08-13 16:57:29 +02:00
public Patient ( UUID id ) {
2026-07-30 10:37:16 +02:00
this . id = id ;
}
2026-08-13 16:57:29 +02:00
public UUID getId ( ) {
2026-07-30 10:37:16 +02:00
return id ;
}
2026-08-13 16:57:29 +02:00
public void setId ( UUID id ) {
2026-07-30 10:37:16 +02:00
this . id = id ;
}
public Date getDateNaissance ( ) {
return dateNaissance ;
}
public void setDateNaissance ( Date dateNaissance ) {
this . dateNaissance = dateNaissance ;
}
public String getTelephoneRelative ( ) {
return telephoneRelative ;
}
public void setTelephoneRelative ( String telephoneRelative ) {
this . telephoneRelative = telephoneRelative ;
}
public Date getCreeLe ( ) {
return creeLe ;
}
public void setCreeLe ( Date creeLe ) {
this . creeLe = creeLe ;
}
@XmlTransient
public List < Rdv > getRdvList ( ) {
return rdvList ;
}
public void setRdvList ( List < Rdv > rdvList ) {
this . rdvList = rdvList ;
}
@XmlTransient
public List < FichierDossier > getFichierDossierList ( ) {
return fichierDossierList ;
}
public void setFichierDossierList ( List < FichierDossier > fichierDossierList ) {
this . fichierDossierList = fichierDossierList ;
}
public Centre getFkCentre ( ) {
return fkCentre ;
}
public void setFkCentre ( Centre fkCentre ) {
this . fkCentre = fkCentre ;
}
@XmlTransient
public List < TypeExamen > getTypeExamenList ( ) {
return typeExamenList ;
}
public void setTypeExamenList ( List < TypeExamen > typeExamenList ) {
this . typeExamenList = typeExamenList ;
}
@XmlTransient
public List < AlertesMedicales > getAlertesMedicalesList ( ) {
return alertesMedicalesList ;
}
public void setAlertesMedicalesList ( List < AlertesMedicales > alertesMedicalesList ) {
this . alertesMedicalesList = alertesMedicalesList ;
}
@XmlTransient
public List < Queue > getQueueList ( ) {
return queueList ;
}
public void setQueueList ( List < Queue > queueList ) {
this . queueList = queueList ;
}
@Override
public int hashCode ( ) {
int hash = 0 ;
hash + = ( id ! = null ? id . hashCode ( ) : 0 ) ;
return hash ;
}
@Override
public boolean equals ( Object object ) {
// TODO: Warning - this method won't work in the case the id fields are not set
if ( ! ( object instanceof Patient ) ) {
return false ;
}
Patient other = ( Patient ) object ;
if ( ( this . id = = null & & other . id ! = null ) | | ( this . id ! = null & & ! this . id . equals ( other . id ) ) ) {
return false ;
}
return true ;
}
@Override
public String toString ( ) {
return " com.triz.trizservice.modeles.Patient[ id= " + id + " ] " ;
}
2026-08-13 16:57:29 +02:00
public String getNom ( ) {
return nom ;
}
public void setNom ( String nom ) {
this . nom = nom ;
}
public String getPrenom ( ) {
return prenom ;
}
public void setPrenom ( String prenom ) {
this . prenom = prenom ;
}
public String getTelephone ( ) {
return telephone ;
}
public void setTelephone ( String telephone ) {
this . telephone = telephone ;
}
public String getEmail ( ) {
return email ;
}
public void setEmail ( String email ) {
this . email = email ;
}
public String getSexe ( ) {
return sexe ;
}
public void setSexe ( String sexe ) {
this . sexe = sexe ;
}
public String getNin ( ) {
return nin ;
}
public void setNin ( String nin ) {
this . nin = nin ;
}
public String getAdresse ( ) {
return adresse ;
}
public void setAdresse ( String adresse ) {
this . adresse = adresse ;
}
public String getGroupage ( ) {
return groupage ;
}
public void setGroupage ( String groupage ) {
this . groupage = groupage ;
}
@XmlTransient
public List < Consultation > getConsultationList ( ) {
return consultationList ;
}
public void setConsultationList ( List < Consultation > consultationList ) {
this . consultationList = consultationList ;
}
2026-09-04 11:45:31 +02:00
public String getCodePatient ( ) {
return codePatient ;
}
public void setCodePatient ( String codePatient ) {
this . codePatient = codePatient ;
}
2026-07-30 10:37:16 +02:00
}