/*
fEMR - fast Electronic Medical Records
Copyright (C) 2014 Team fEMR
fEMR is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
fEMR is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with fEMR. If not, see <http://www.gnu.org/licenses/>. If
you have any questions, contact <info@teamfemr.org>.
*/
package femr.data.models.mysql;
import femr.data.models.core.IPatient;
import femr.data.models.core.IPhoto;
import org.joda.time.DateTime;
import javax.persistence.*;
import java.util.Date;
import java.util.List;
@Entity
@Table(name = "patients")
public class Patient implements IPatient {
@Id
@Column(name = "id", unique = true, nullable = false)
private int id;
@Column(name = "user_id", unique = false, nullable = false)
private int userId;
@Column(name = "first_name", nullable = false)
private String firstName;
@Column(name = "last_name", nullable = false)
private String lastName;
@Column(name = "phone_number", nullable = true)
private String phoneNumber;
@Column(name = "age")
private Date age;
@Column(name = "sex", nullable = true)
private String sex;
@Column(name = "address", nullable = true)
private String address;
@Column(name = "city", nullable = false)
private String city;
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name= "photo_id", nullable = true)
private Photo photo;
@OneToMany(mappedBy = "patient", fetch = FetchType.LAZY)
private List<PatientEncounter> patientEncounters;
@Column(name = "isDeleted", nullable = true)
private DateTime isDeleted;
@Column(name = "deleted_by_user_id", unique = false, nullable = true)
private Integer deletedByUserId;
@Column(name = "reason_deleted", nullable = true)
private String reasonDeleted;
@Override
public int getId() {
return id;
}
@Override
public int getUserId() {
return userId;
}
@Override
public void setUserId(int userId) {
this.userId = userId;
}
@Override
public String getFirstName() {
return firstName;
}
@Override
public void setFirstName(String firstName) {
this.firstName = firstName;
}
@Override
public String getLastName() {
return lastName;
}
@Override
public void setLastName(String lastName) {
this.lastName = lastName;
}
@Override
public String getPhoneNumber() {
return phoneNumber;
}
@Override
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
@Override
public Date getAge() {
return age;
}
@Override
public void setAge(Date age) {
this.age = age;
}
@Override
public String getSex() {
return sex;
}
@Override
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String getAddress() {
return address;
}
@Override
public void setAddress(String address) {
this.address = address;
}
@Override
public String getCity() {
return city;
}
@Override
public void setCity(String city) {
this.city = city;
}
@Override
public void setId(int id) {
this.id = id;
}
@Override
public IPhoto getPhoto() {
return photo;
}
@Override
public void setPhoto(IPhoto photo) {
this.photo = (Photo) photo;
}
@Override
public List<PatientEncounter> getPatientEncounters() {
return patientEncounters;
}
@Override
public void setPatientEncounters(List<PatientEncounter> patientEncounters) {
this.patientEncounters = patientEncounters;
}
@Override
public DateTime getIsDeleted() {
return isDeleted;
}
@Override
public void setIsDeleted(DateTime isDeleted) {
this.isDeleted = isDeleted;
}
@Override
public Integer getDeletedByUserId() {
return deletedByUserId;
}
@Override
public void setDeletedByUserId(Integer userId) {
this.deletedByUserId= userId;
}
@Override
public String getReasonDeleted() { return reasonDeleted; }
@Override
public void setReasonDeleted(String reason) { this.reasonDeleted = reason; }
}