diff --git a/1.sources/MyHealth/docroot/profile/UpdateProfile.xhtml b/1.sources/MyHealth/docroot/profile/UpdateProfile.xhtml index d160518..b0cdb17 100644 --- a/1.sources/MyHealth/docroot/profile/UpdateProfile.xhtml +++ b/1.sources/MyHealth/docroot/profile/UpdateProfile.xhtml @@ -183,7 +183,7 @@
- +
diff --git a/1.sources/MyHealth/docroot/visit/VisitList.xhtml b/1.sources/MyHealth/docroot/visit/VisitList.xhtml new file mode 100644 index 0000000..f84b588 --- /dev/null +++ b/1.sources/MyHealth/docroot/visit/VisitList.xhtml @@ -0,0 +1,78 @@ + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+ +
+
+
+
+ + + + + diff --git a/1.sources/MyHealth/docroot/visit/VisitView.xhtml b/1.sources/MyHealth/docroot/visit/VisitView.xhtml index 2d2e95b..0526c18 100644 --- a/1.sources/MyHealth/docroot/visit/VisitView.xhtml +++ b/1.sources/MyHealth/docroot/visit/VisitView.xhtml @@ -11,35 +11,44 @@
-
- +
+
-
- +
+
+ + +
-
+
-
- -
-
- -
-
- -
+ + + + -
- -
-
- -
-
- -
+ + + + + + + + + + + + + + + + + + +
diff --git a/1.sources/MyHealth/src/TO/VisitTO.java b/1.sources/MyHealth/src/TO/VisitTO.java index 0d5e982..5ae029e 100644 --- a/1.sources/MyHealth/src/TO/VisitTO.java +++ b/1.sources/MyHealth/src/TO/VisitTO.java @@ -7,20 +7,15 @@ import java.util.Date; import javax.xml.bind.annotation.XmlRootElement; /** - * Transfer object (TO) MedicalSpecialtyTO Para el intercambio de datos entre la - * capa de interfaz y la capa de negocio + * Transfer object (TO) MedicalSpecialtyTO Para el intercambio de datos entre la capa de interfaz y la capa de negocio * - * Además esta clase facilita la implementación futura de una Capa SOA (Se - * define la anotación para la serialización de esta clase: @XmlRootElement(name - * = "medicalspeciality") + * Además esta clase facilita la implementación futura de una Capa SOA (Se define la anotación para la serialización de esta clase: @XmlRootElement(name = "medicalspeciality") * * @author mark * */ @XmlRootElement(name = "Visit") public class VisitTO implements Serializable { - - private static final long serialVersionUID = 1L; private Integer id; @@ -34,42 +29,71 @@ public class VisitTO implements Serializable { public VisitTO() { super(); } - public VisitTO(Integer id, Date date, Time time, String observation, String result) { - this.setId(id); - this.date=date; - //this.time + + public VisitTO(Integer Id, Date date, Time time, String observations, String result, FamilyDoctorTO fd, PatientTO pat) { + this.id = Id; + this.date = date; + this.time = time; + this.observations = observations; + this.result = result; + this.familyDoctor = fd; + this.patient = pat; } + public Integer getId() { return this.id; } - + public void setId(Integer id) { - this.id=id; + this.id = id; } - + public Date getDate() { return this.date; } - + public void setDate(Date date) { - this.date=date; + this.date = date; } - + public Time getTime() { return this.time; } - + public void setTime(Time time) { - this.time=time; + this.time = time; } - + public String getObservations() { return this.observations; } - + public void setObservations(String observations) { - this.observations=observations; + this.observations = observations; + } + + public String getResult() { + return result; + } + + public void setResult(String result) { + this.result = result; + } + + public FamilyDoctorTO getFamilyDoctor() { + return familyDoctor; + } + + public void setFamilyDoctor(FamilyDoctorTO familyDoctor) { + this.familyDoctor = familyDoctor; + } + + public PatientTO getPatient() { + return patient; + } + + public void setPatient(PatientTO patient) { + this.patient = patient; } - } diff --git a/1.sources/MyHealth/src/ejb/common/CommonFacadeBean.java b/1.sources/MyHealth/src/ejb/common/CommonFacadeBean.java index 1ca340f..dfa144c 100644 --- a/1.sources/MyHealth/src/ejb/common/CommonFacadeBean.java +++ b/1.sources/MyHealth/src/ejb/common/CommonFacadeBean.java @@ -14,6 +14,7 @@ import TO.PatientTO; import TO.PrimaryHealthCareCenterTO; import TO.QuestionTO; import TO.SpecialistDoctorTO; +import TO.VisitTO; import common.Utils; import jpa.FamilyDoctorJPA; import jpa.MedicalSpecialtyJPA; @@ -21,6 +22,7 @@ import jpa.PatientJPA; import jpa.PrimaryHealthCareCenterJPA; import jpa.QuestionJPA; import jpa.SpecialistDoctorJPA; +import jpa.VisitJPA; /*** * @@ -479,4 +481,22 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal { return qsTO; } + public VisitTO getPOJOforVisitJPA(VisitJPA qs, int nestedProps) { + VisitTO qsTO = null; + + if (qs != null) { + FamilyDoctorJPA fd = null; + PatientJPA pat = null; + if (nestedProps > 0) { + fd = qs.getFamilyDoctor(); + pat = qs.getPatient(); + } + + nestedProps--; + qsTO = new VisitTO(qs.getId(), qs.getDate(), qs.getTime(), qs.getObservations(), qs.getResult(), this.getPOJOforFamilyDoctorJPA(fd, nestedProps), + this.getPOJOforPatientJPA(pat, nestedProps)); + } + + return qsTO; + } } diff --git a/1.sources/MyHealth/src/ejb/common/CommonFacadeLocal.java b/1.sources/MyHealth/src/ejb/common/CommonFacadeLocal.java index 1dd6766..b28b794 100644 --- a/1.sources/MyHealth/src/ejb/common/CommonFacadeLocal.java +++ b/1.sources/MyHealth/src/ejb/common/CommonFacadeLocal.java @@ -10,12 +10,14 @@ import TO.PatientTO; import TO.PrimaryHealthCareCenterTO; import TO.QuestionTO; import TO.SpecialistDoctorTO; +import TO.VisitTO; import jpa.FamilyDoctorJPA; import jpa.MedicalSpecialtyJPA; import jpa.PatientJPA; import jpa.PrimaryHealthCareCenterJPA; import jpa.QuestionJPA; import jpa.SpecialistDoctorJPA; +import jpa.VisitJPA; /** * @@ -52,13 +54,13 @@ public interface CommonFacadeLocal { public FamilyDoctorTO findFamilyDoctorById(int ProfessionalNumberId); public FamilyDoctorTO findFamilyDoctorByCode(String code); - + public FamilyDoctorTO findFamilyDoctorByNif(String searchValue); public SpecialistDoctorTO findSpecialistDoctorById(int ProfessionalNumberId); public SpecialistDoctorTO findSpecialistDoctorByCode(String code); - + public SpecialistDoctorTO findSpecialistDoctorByNif(String searchValue); public MedicalSpecialtyTO getPOJOforMedicalSpecialtyJPA(MedicalSpecialtyJPA ms); @@ -72,4 +74,6 @@ public interface CommonFacadeLocal { public PatientTO getPOJOforPatientJPA(PatientJPA pat, int nestedProps); public QuestionTO getPOJOforQuestionJPA(QuestionJPA qs, int nestedProps); + + public VisitTO getPOJOforVisitJPA(VisitJPA qs, int nestedProps); } diff --git a/1.sources/MyHealth/src/ejb/visit/VisitFacadeBean.java b/1.sources/MyHealth/src/ejb/visit/VisitFacadeBean.java index fc9ce06..233133b 100644 --- a/1.sources/MyHealth/src/ejb/visit/VisitFacadeBean.java +++ b/1.sources/MyHealth/src/ejb/visit/VisitFacadeBean.java @@ -1,28 +1,63 @@ package ejb.visit; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import javax.ejb.EJB; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; +import javax.persistence.TypedQuery; +import TO.VisitTO; +import common.QuestionStatus; +import ejb.common.CommonFacadeLocal; +import jpa.QuestionJPA; +import jpa.VisitJPA; /** - * EJB Session Bean Class para la Practica 2, Ejercicio 1 (ISCSD) Implementa los - * métodos de la capa de negocio que implementan la logica de negocio y la - * interacción con la capa de persistencia. + * EJB Session Bean Class para la Practica 2, Ejercicio 1 (ISCSD) Implementa los métodos de la capa de negocio que implementan la logica de negocio y la interacción con la capa de + * persistencia. * * @author mark * */ @Stateless public class VisitFacadeBean implements VisitFacadeRemote { - // Persistence Unit Context @PersistenceContext(unitName = "MyHealth") - private EntityManager entman; + EntityManager entman; - public void ejbMethod(String parameter) - { - + @EJB + CommonFacadeLocal commonServices; + + public Long getScheduledVisitsCount(int familyDoctorId, Date date) { + TypedQuery query = entman.createQuery("SELECT count(1) from VisitJPA v where v.date=:date and v.familyDoctor.id=:docId", Long.class); + query.setParameter("date", date); + query.setParameter("docId", familyDoctorId); + + return query.getSingleResult(); + } + + public List listAllScheduledVisitsPaged(int familyDoctorId, Date date, int pageNumber, int pageSize) { + TypedQuery query = entman.createQuery("SELECT v from VisitJPA v where v.date=:date and v.familyDoctor.id=:docId order by v.date, v.time", VisitJPA.class); + query.setParameter("date", date); + query.setParameter("docId", familyDoctorId); + + if (pageSize > 0) { + query.setFirstResult(pageNumber * pageSize); + query.setMaxResults(pageSize); + } + + List allJPA = query.getResultList(); + List listTO = new ArrayList(); + + for (VisitJPA item : allJPA) { + listTO.add(commonServices.getPOJOforVisitJPA(item, 1)); + } + + return listTO; } } diff --git a/1.sources/MyHealth/src/ejb/visit/VisitFacadeRemote.java b/1.sources/MyHealth/src/ejb/visit/VisitFacadeRemote.java index 995977d..97f7f32 100644 --- a/1.sources/MyHealth/src/ejb/visit/VisitFacadeRemote.java +++ b/1.sources/MyHealth/src/ejb/visit/VisitFacadeRemote.java @@ -1,10 +1,14 @@ package ejb.visit; +import java.util.Date; +import java.util.List; + import javax.ejb.Remote; +import TO.VisitTO; + /** - * Interfaz remota del EJB Definimos los métodos que estarán disponibles para - * los clientes del EJB + * Interfaz remota del EJB Definimos los métodos que estarán disponibles para los clientes del EJB * * @author mark * @@ -14,5 +18,8 @@ public interface VisitFacadeRemote { /** * Definimos la interfaz remota */ - public void ejbMethod(String parameter); + + public Long getScheduledVisitsCount(int familyDoctorId, Date date); + + public List listAllScheduledVisitsPaged(int familyDoctorId, Date date, int pageNumber, int pageSize); } \ No newline at end of file diff --git a/1.sources/MyHealth/src/jpa/VisitJPA.java b/1.sources/MyHealth/src/jpa/VisitJPA.java index bb5ef55..040391b 100644 --- a/1.sources/MyHealth/src/jpa/VisitJPA.java +++ b/1.sources/MyHealth/src/jpa/VisitJPA.java @@ -32,9 +32,11 @@ public class VisitJPA implements Serializable { private Time time; private String observations; private String result; + @ManyToOne @JoinColumn(name = "FamilyDoctorId") private FamilyDoctorJPA familyDoctor; + @ManyToOne @JoinColumn(name = "PatientId") private PatientJPA patient; @@ -46,16 +48,16 @@ public class VisitJPA implements Serializable { super(); } - public VisitJPA(Integer id, Date date, Time time, String observations, String result) { + public VisitJPA(Integer id, Date date, Time time, String observations, String result, PatientJPA patient, FamilyDoctorJPA familydoctor) { this.id = id; this.date = date; this.time = time; this.observations = observations; this.result = result; + this.patient = patient; + this.familyDoctor = familydoctor; } - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) public Integer getId() { return id; } @@ -84,8 +86,8 @@ public class VisitJPA implements Serializable { return observations; } - public void setObservations(String observation) { - this.observations = observations; + public void setObservations(String value) { + this.observations = value; } /** @@ -106,4 +108,12 @@ public class VisitJPA implements Serializable { public void setPatient(PatientJPA pat) { this.patient = pat; } + + public String getResult() { + return result; + } + + public void setResult(String value) { + this.result = value; + } } diff --git a/1.sources/MyHealth/src/managedbean/common/AuthorizationFilter.java b/1.sources/MyHealth/src/managedbean/common/AuthorizationFilter.java index 3c1c34e..946fff9 100644 --- a/1.sources/MyHealth/src/managedbean/common/AuthorizationFilter.java +++ b/1.sources/MyHealth/src/managedbean/common/AuthorizationFilter.java @@ -117,7 +117,7 @@ public class AuthorizationFilter implements Filter { authorized = true; if (reqURI.indexOf("/visit/VisitAddResult") > 0) authorized = true; - if (reqURI.indexOf("/visit/VisitViewSchedules") > 0) + if (reqURI.indexOf("/visit/VisitList") > 0) authorized = true; if (reqURI.indexOf("/medicaltest/MedicalTests") > 0) authorized = true; diff --git a/1.sources/MyHealth/src/managedbean/common/MenuMBean.java b/1.sources/MyHealth/src/managedbean/common/MenuMBean.java index 341963d..7342482 100644 --- a/1.sources/MyHealth/src/managedbean/common/MenuMBean.java +++ b/1.sources/MyHealth/src/managedbean/common/MenuMBean.java @@ -64,7 +64,7 @@ public class MenuMBean implements Serializable { if (tipoUsuario == UserType.FAMILY_DOCTOR) subMenu.addElement(createMenuItem("Añadir resultado", "fa fa-align-left", "/visit/VisitView", null)); if (tipoUsuario == UserType.FAMILY_DOCTOR) - subMenu.addElement(createMenuItem("Ver agenda del día", "fa fa-repeat", "/visit/VisitView", null)); + subMenu.addElement(createMenuItem("Ver agenda del día", "fa fa-repeat", "/visit/VisitList", null)); model.addElement(subMenu); } diff --git a/1.sources/MyHealth/src/managedbean/common/SessionUtils.java b/1.sources/MyHealth/src/managedbean/common/SessionUtils.java index 0aa178f..3fb14dc 100644 --- a/1.sources/MyHealth/src/managedbean/common/SessionUtils.java +++ b/1.sources/MyHealth/src/managedbean/common/SessionUtils.java @@ -17,13 +17,17 @@ public class SessionUtils { public static final String SESSION_VAR_USER = "loggedOnUser"; public static final String SESSION_VAR_MESSAGE = "facesMessage"; - public static HttpSession getSession() { + public static HttpSession getSession(boolean create) { FacesContext ctx = FacesContext.getCurrentInstance(); if (ctx != null) - return (HttpSession) ctx.getExternalContext().getSession(false); + return (HttpSession) ctx.getExternalContext().getSession(create); else return null; } + + public static HttpSession getSession() { + return getSession(false); + } public static HttpServletRequest getRequest() { return (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest(); @@ -33,8 +37,8 @@ public class SessionUtils { return ((HttpServletRequest) request).getSession(false); } - public static void CreateSession(LoggedUserTO usr) { - HttpSession ses = getSession(); + public static void createOrUpdateSession(LoggedUserTO usr) { + HttpSession ses = getSession(true); ses.setAttribute(SessionUtils.SESSION_VAR_USERNAME, usr.getName()); ses.setAttribute(SessionUtils.SESSION_VAR_USERID, usr.getId()); ses.setAttribute(SessionUtils.SESSION_VAR_USERTYPE, usr.getUserType()); diff --git a/1.sources/MyHealth/src/managedbean/profile/UpdateProfileMBean.java b/1.sources/MyHealth/src/managedbean/profile/UpdateProfileMBean.java index b7dc4c7..be48f9c 100644 --- a/1.sources/MyHealth/src/managedbean/profile/UpdateProfileMBean.java +++ b/1.sources/MyHealth/src/managedbean/profile/UpdateProfileMBean.java @@ -26,8 +26,7 @@ import managedbean.common.SessionUtils; import managedbean.common.ValidationUtils; /** - * ManagedBEan que gestiona el registro de usuarios: Usuarios de tipo "Paciente" - * Usuarios de tipo "Médico de Familia" usuarios de tipo "Médico especialista" + * ManagedBEan que gestiona el registro de usuarios: Usuarios de tipo "Paciente" Usuarios de tipo "Médico de Familia" usuarios de tipo "Médico especialista" * * @author Marcos García Núñez (mgarcianun@uoc.edu) * @@ -175,13 +174,13 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable public void hadleNIFValueChange() { boolean isDupe = false; if (ValidationUtils.checkIfNifAlreadyRegistered(this.getRemoteManagerCommon(), this.userType, this.nif, this.id) == true) { - isDupe = true; + isDupe = true; this.addFacesMessage("frmUpdateProfile:nif", FacesMessage.SEVERITY_WARN, "NIF duplicado", "El nif indicado pertenece a otro usuario previamente registrado"); } - - PrimeFaces.current().ajax().addCallbackParam("NIFisDupe", isDupe); + + PrimeFaces.current().ajax().addCallbackParam("NIFisDupe", isDupe); } - + public List getFamilyDoctorList() { return familyDoctorList; } @@ -257,11 +256,11 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable public void saveData() { int error = 0; - + // Si no hay tipo de usuario, es que algo raro ha pasado (sesión caducada?). salimos. if (this.userType == null) return; - + boolean changePassword = (this.oldPassword != null && this.oldPassword.equals("") == false) || (this.password != null && this.password.equals("") == false); if (this.isUserTypeFamilyDoctor() && this.primaryHealthCareCenter == null) { @@ -279,7 +278,7 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable if (ValidationUtils.checkIfNifAlreadyRegistered(this.getRemoteManagerCommon(), this.userType, this.nif, this.id) == true) { this.addFacesMessage("frmUpdateProfile:nif", FacesMessage.SEVERITY_WARN, "NIF duplicado", "El nif indicado pertenece a otro usuario previamente registrado"); error++; - } + } if (changePassword == true) { // el usuario queire cambiar el password Comprobamos que el password // especificado coincide con el guardado @@ -295,20 +294,25 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable if (error == 0) { try { + LoggedUserTO usr = null; + switch (this.userType) { case PATIENT: PatientTO pat = this.getRemoteManagerProfile().updatePatientData(id, nif, name, surname, password, email); this.setPatientData(pat); + usr = new LoggedUserTO(pat.getId().toString(), pat.getName(), pat.getPassword(), this.userType); break; case FAMILY_DOCTOR: FamilyDoctorTO fd = this.getRemoteManagerProfile().updateFamilyDoctorData(id, nif, name, surname, password, email, this.primaryHealthCareCenter); this.setFamilyDoctorData(fd); + usr = new LoggedUserTO(fd.getId().toString(), fd.getName(), fd.getPassword(), this.userType); break; case SPECIALIST_DOCTOR: SpecialistDoctorTO sd = this.getRemoteManagerProfile().updateSpecialistDoctorData(id, nif, name, surname, password, email, this.medicalSpecialty); this.setSpecialistDoctorData(sd); + usr = new LoggedUserTO(sd.getId().toString(), sd.getName(), sd.getPassword(), this.userType); break; case ADMINISTRATOR: @@ -321,6 +325,9 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable this.oldPassword = ""; } + // Actualizamos la sessión del usuario actual por si ha cambiado el nombre de usuario. + SessionUtils.createOrUpdateSession(usr); + this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los datos se han guardado", "Los datos de su perfil se han guardado correctamente."); } catch (Exception e) { this.manageException(e); diff --git a/1.sources/MyHealth/src/managedbean/systemAdmin/LoginMBean.java b/1.sources/MyHealth/src/managedbean/systemAdmin/LoginMBean.java index 5674f25..06a7f01 100644 --- a/1.sources/MyHealth/src/managedbean/systemAdmin/LoginMBean.java +++ b/1.sources/MyHealth/src/managedbean/systemAdmin/LoginMBean.java @@ -45,7 +45,7 @@ public class LoginMBean extends ManagedBeanBase { if (usr != null) { loggedIn = true; - SessionUtils.CreateSession(usr); + SessionUtils.createOrUpdateSession(usr); this.addFacesMessageKeep(FacesMessage.SEVERITY_INFO, "Login correcto", "Bienvenido " + usr.getName()); viewRedirect = "/home?faces-redirect=true"; diff --git a/1.sources/MyHealth/src/managedbean/visit/VisitListMBean.java b/1.sources/MyHealth/src/managedbean/visit/VisitListMBean.java new file mode 100644 index 0000000..11fd906 --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/visit/VisitListMBean.java @@ -0,0 +1,70 @@ +package managedbean.visit; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import javax.annotation.PostConstruct; +import javax.enterprise.context.RequestScoped; +import javax.inject.Named; + +import org.primefaces.model.LazyDataModel; +import org.primefaces.model.SortOrder; + +import TO.VisitTO; +import managedbean.common.ManagedBeanBase; +import managedbean.common.SessionUtils; + +@Named("VisitList") +@RequestScoped +public class VisitListMBean extends ManagedBeanBase implements Serializable { + + private static final long serialVersionUID = 1L; + + private int familyDoctorId; + private LazyDataModel lazyDataModelVisitList; + private Date selectedDate; + + public VisitListMBean() { + } + + @PostConstruct + public void init() { + // El usuario actual es un medico de familia, recuperamos su Id de la sessión actual + this.familyDoctorId = Integer.valueOf(SessionUtils.getUserId()); + this.selectedDate = new Date(); + + this.lazyDataModelVisitList = new LazyDataModel() { + private static final long serialVersionUID = 1L; + + @Override + public List load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { + Long totalRowCount = getRemoteManagerMedicalTest().getPendingQuestionsCount(familyDoctorId); + this.setRowCount(totalRowCount.intValue()); + + return getRemoteManagerVisit().listAllScheduledVisitsPaged(familyDoctorId, selectedDate, (first / pageSize), pageSize); + } + }; + } + + public LazyDataModel getLazyDataModelVisitList() { + return lazyDataModelVisitList; + } + + public void saveData() { + + } + + public void showData() { + + } + + public Date getSelectedDate() { + return selectedDate; + } + + public void setSelectedDate(Date selectedDate) { + this.selectedDate = selectedDate; + } +} diff --git a/2.database/02.Datos_prueba.sql b/2.database/02.Datos_prueba.sql index 40580be..aa5c219 100644 --- a/2.database/02.Datos_prueba.sql +++ b/2.database/02.Datos_prueba.sql @@ -1,4 +1,4 @@ ---Inserta usuarios administradores (contraseña Hash MD5 'admin' para todos) +-- Inserta usuarios administradores (contraseña Hash MD5 'admin' para todos) insert into myhealth.administrator (email, password) values ('admin@example.com', '21232F297A57A5A743894A0E4A801FC3') ,('marcos@example.com', '21232F297A57A5A743894A0E4A801FC3'); @@ -67,7 +67,7 @@ INSERT INTO myhealth.specialistdoctor(professionalnumber, password, nif, surname ,('PRO#119','912EC803B2CE49E4A541068D495AB570','04431824T','Requena Calderon', 'Ferran@example.ecom','Ferran', 10) ,('PRO#120','912EC803B2CE49E4A541068D495AB570','27476123R','Angulo Zamora', 'Ana@example.ecom','Ana', 11); ---Insertar Pacientes +-- Insertar Pacientes INSERT INTO myhealth.patient(personalidentificationcode, password, nif, surname, email, name, familydoctorid) VALUES ('PAT#100','912EC803B2CE49E4A541068D495AB570','97758900E','Singh Vila', 'Soledad@example.ecom','Soledad', 1) ,('PAT#101','912EC803B2CE49E4A541068D495AB570','Z9518183Y','Jimenez Merino', 'Ainhoa@example.ecom','Ainhoa', 2) @@ -80,6 +80,7 @@ INSERT INTO myhealth.patient(personalidentificationcode, password, nif, surname, ,('PAT#108','912EC803B2CE49E4A541068D495AB570','73569670F','Bosch Zapata', 'Esperanza@example.ecom','Esperanza', 9) ,('PAT#109','912EC803B2CE49E4A541068D495AB570','53986482P','Carretero Ayala', 'Eduardo@example.ecom','Eduardo', 10); +-- Insertar datos de prueba para preguntas INSERT INTO myhealth.question(title, message, status, response, patientid, familydoctorid) VALUES ('titulo de la pregunta número 1', 'Doctor, tengo dolor en la articulación numero 1', 'PENDING', null, 1, 1) ,('titulo de la pregunta número 2', 'Doctor, tengo dolor en la articulación numero 2', 'PENDING', null, 2, 1) @@ -105,7 +106,52 @@ INSERT INTO myhealth.question(title, message, status, response, patientid, famil ,('titulo de la pregunta número 22', 'Doctor, tengo dolor en la articulación numero 22', 'PENDING', null, 9, 1) ,('titulo de la pregunta número 23', 'Doctor, tengo dolor en la articulación numero 23', 'PENDING', null, 10, 1); + INSERT INTO myhealth.medicaltest(date, "time", observations, highresimage,"type",patientid, specialistdoctorid) VALUES ('2019/12/15',now(),'',null,0,1,1), ('2019/12/15',now(),'',null,0,1,2), ('2019/12/15',now(),'',null,0,2,1); + +-- Insertar datos de prueba para visitas +INSERT INTO myhealth.visit(date, "time", observations, result, patientid, familydoctorid) VALUES +('23/12/2019','09:00','Observaciones de la visita 43822','',1,1), +('23/12/2019','10:00','Observaciones de la visita 43822','',2,1), +('23/12/2019','11:00','Observaciones de la visita 43822','',3,1), +('23/12/2019','12:00','Observaciones de la visita 43822','',4,1), +('23/12/2019','13:00','Observaciones de la visita 43822','',5,1), +('23/12/2019','14:00','Observaciones de la visita 43822','',6,1), +('23/12/2019','15:00','Observaciones de la visita 43822','',7,1), +('23/12/2019','16:00','Observaciones de la visita 43822','',8,1), +('23/12/2019','17:00','Observaciones de la visita 43822','',9,1), +('23/12/2019','18:00','Observaciones de la visita 43822','',10,1), +('24/12/2019','09:00','Observaciones de la visita 43823','',1,1), +('25/12/2019','10:00','Observaciones de la visita 43824','',2,1), +('26/12/2019','11:00','Observaciones de la visita 43825','',3,1), +('27/12/2019','12:00','Observaciones de la visita 43826','',4,1), +('28/12/2019','13:00','Observaciones de la visita 43827','',5,1), +('29/12/2019','14:00','Observaciones de la visita 43828','',6,1), +('30/12/2019','15:00','Observaciones de la visita 43829','',7,1), +('31/12/2019','16:00','Observaciones de la visita 43830','',8,1), +('01/01/2020','17:00','Observaciones de la visita 43831','',9,1), +('02/01/2020','18:00','Observaciones de la visita 43832','',10,1), +('23/12/2019','09:00','Observaciones de la visita 43822','',1,2), +('23/12/2019','10:00','Observaciones de la visita 43822','',2,2), +('23/12/2019','11:00','Observaciones de la visita 43822','',3,2), +('23/12/2019','12:00','Observaciones de la visita 43822','',4,2), +('23/12/2019','13:00','Observaciones de la visita 43822','',5,2), +('23/12/2019','14:00','Observaciones de la visita 43822','',6,2), +('23/12/2019','15:00','Observaciones de la visita 43822','',7,2), +('23/12/2019','16:00','Observaciones de la visita 43822','',8,2), +('23/12/2019','17:00','Observaciones de la visita 43822','',9,2), +('23/12/2019','18:00','Observaciones de la visita 43822','',10,2), +('24/12/2019','09:00','Observaciones de la visita 43823','',1,2), +('25/12/2019','10:00','Observaciones de la visita 43824','',2,2), +('26/12/2019','11:00','Observaciones de la visita 43825','',3,2), +('27/12/2019','12:00','Observaciones de la visita 43826','',4,2), +('28/12/2019','13:00','Observaciones de la visita 43827','',5,2), +('29/12/2019','14:00','Observaciones de la visita 43828','',6,2), +('30/12/2019','15:00','Observaciones de la visita 43829','',7,2), +('31/12/2019','16:00','Observaciones de la visita 43830','',8,2), +('01/01/2020','17:00','Observaciones de la visita 43831','',9,2), +('02/01/2020','18:00','Observaciones de la visita 43832','',10,2); +