diff --git a/1.sources/MyHealth/src/TO/MedicalTestTO.java b/1.sources/MyHealth/src/TO/MedicalTestTO.java index b7b7305..1836589 100644 --- a/1.sources/MyHealth/src/TO/MedicalTestTO.java +++ b/1.sources/MyHealth/src/TO/MedicalTestTO.java @@ -14,17 +14,22 @@ import javax.xml.bind.annotation.XmlRootElement; public class MedicalTestTO implements Serializable { private static final long serialVersionUID = 1L; - + private int id; private Date date; private long time; private String observations; private String highresimage; - private int type; + private MedicalTestType type; private PatientTO patient; private SpecialistDoctorTO specialistDoctor; + + public static enum MedicalTestType { + BLOD_TEST, MAGNETIC_RESONANCE, TAC + } - public MedicalTestTO(int id, Date date, int time, String observations, String highresimage, int type, PatientTO patiend, SpecialistDoctorTO specialistDoctor) { + public MedicalTestTO(int id, Date date, int time, String observations, String highresimage, MedicalTestType type, + PatientTO patiend, SpecialistDoctorTO specialistDoctor) { this.setId(id); this.setDate(date); this.setTime(time); @@ -33,89 +38,70 @@ public class MedicalTestTO implements Serializable { this.setType(type); this.setPatient(patiend); this.setSpecialistDoctor(specialistDoctor); - } - public int getId() { return id; } - public void setId(int id) { this.id = id; } - public Date getDate() { return date; } - public void setDate(Date date) { this.date = date; } - public long getTime() { return time; } - public void setTime(long time) { this.time = time; } - public String getObservations() { return observations; } - public void setObservations(String observations) { this.observations = observations; } - public String getHighresimage() { return highresimage; } - public void setHighresimage(String highresimage) { this.highresimage = highresimage; } - - public int getType() { + public MedicalTestType getType() { return type; } - - public void setType(int type) { + public void setType(MedicalTestType type) { this.type = type; } - public PatientTO getPatient() { return patient; } - public void setPatient(PatientTO patient) { this.patient = patient; } - public SpecialistDoctorTO getSpecialistDoctor() { return specialistDoctor; } - public void setSpecialistDoctor(SpecialistDoctorTO specialistDoctor) { this.specialistDoctor = specialistDoctor; } - - } diff --git a/1.sources/MyHealth/src/TO/QuestionTO.java b/1.sources/MyHealth/src/TO/QuestionTO.java new file mode 100644 index 0000000..5fc7522 --- /dev/null +++ b/1.sources/MyHealth/src/TO/QuestionTO.java @@ -0,0 +1,102 @@ +package TO; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +/** + * + * @author Roberto Orden Erena + * + */ +@XmlRootElement(name = "Question") +public class QuestionTO implements Serializable { + + public static enum QuestionStatus { + ANSWERED, PENDING + } + + private static final long serialVersionUID = 1L; + + private int id; + private String title; + private String message; + private QuestionStatus status; + private String response; + private PatientTO patient; + private FamilyDoctorTO fdoctor; + + + public QuestionTO() { + super(); + } + + public QuestionTO(int id, String title, String message, QuestionStatus status, PatientTO patient, + FamilyDoctorTO fdoctor, String response) { + super(); + this.id = id; + this.title = title; + this.message = message; + this.status = status; + this.patient = patient; + this.fdoctor = fdoctor; + this.response = response; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public QuestionStatus getStatus() { + return status; + } + + public void setStatus(QuestionStatus status) { + this.status = status; + } + + public PatientTO getPatient() { + return patient; + } + + public void setPatient(PatientTO patient) { + this.patient = patient; + } + + public FamilyDoctorTO getDoctor() { + return fdoctor; + } + + public void setDoctor(FamilyDoctorTO fdoctor) { + this.fdoctor = fdoctor; + } + + public String getResponse() { + return response; + } + + public void setResponse(String response) { + this.response = response; + } + +} diff --git a/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeBean.java b/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeBean.java index c0acf7d..1679a2e 100644 --- a/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeBean.java +++ b/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeBean.java @@ -2,19 +2,24 @@ package ejb.medicalTest; import java.util.Date; +import javax.ejb.EJB; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import TO.MedicalSpecialtyTO; - +import TO.MedicalTestTO.MedicalTestType; +import ejb.common.CommonFacadeLocal; /** * 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 + * Tanto los pacientes como los médicos deben acceder a la vista de pruebas + * médicas. + * + * @author rorden * */ @Stateless @@ -24,67 +29,115 @@ public class MedicalTestFacadeBean implements MedicalTestFacadeRemote { @PersistenceContext(unitName = "MyHealth") private EntityManager entman; - public void ejbMethod(String parameter) { - - } + @EJB + CommonFacadeLocal commonServices; + // ********************************************************************* QUESTION_RESPONSE + + /** + * Realizar una pregunta al médico por un paciente + * + * @param professionalNumber + * @param title + * @param message + */ @Override public void askQuestion(int professionalNumber, String title, String message) { - // TODO Auto-generated method stub - } + /** + * El médico responde a una pregunta + * + * @param question + * @param response + */ @Override public void answerQuestion(String question, String response) { - // TODO Auto-generated method stub - } + /** + * Recuperar las preguntas sin respuesta para un médico + * + * @param professionalNumber + */ @Override public void listAllPendingQuestions(int professionalNumber) { - // TODO Auto-generated method stub - - } - - @Override - public void addMedicalTest(int idMedicalTest, Date date, long time, int testType, String observations) { - // TODO Auto-generated method stub - - } - - @Override - public void getMedicalTest(int idMedicalTest) { - // TODO Auto-generated method stub - } + /** + * Recuperar una pregunta por su String + * + * @param question + */ @Override public void getQuestion(String question) { - // TODO Auto-generated method stub - } + // ********************************************************************* MEDICAL_TEST + + /** + * Añadir pruebas médicas a una cita + * + * Sólo médicos especialistas pueden gestionar pruebas médicas en el sistema. + * + * @param idMedicalTest + * @param date + * @param time + * @param testType Pudiera llegar a ser: Análisis de sangre, resonancias + * magnéticas y TAC + * @param observations + */ + @Override + public void addMedicalTest(int idMedicalTest, Date date, long time, MedicalTestType testType, String observations) { + } + + /** + * Recuperar una prueba médica por ID + * + * Pueden ser consultas por médicos de familia + * + * @param idMedicalTest + */ + @Override + public void getMedicalTest(int idMedicalTest) { + } + + /** + * Añadir una imagen a una prueba médica + * + * @param idMedicalTest + * @param image + */ @Override public void addImage(int idMedicalTest, String image) { - // TODO Auto-generated method stub - } + /** + * Actualizar/Pisar una imagen a una prueba médica + * + * @param idMedicalTest + * @param image + */ @Override public void updateImage(int idMedicalTest, String image) { - // TODO Auto-generated method stub - } + /** + * Eliminar una imagen a una prueba médica + * + * @param idMedicalTest + */ @Override public void removeImage(int idMedicalTest) { - // TODO Auto-generated method stub - } + /** + * Listar médicos con una especialidad concreta + * + * @param speciality + */ @Override public void findSpecialistDoctorByMedicalSpeciality(MedicalSpecialtyTO speciality) { - // TODO Auto-generated method stub - } + } \ No newline at end of file diff --git a/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeRemote.java b/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeRemote.java index 78b6173..e6828d5 100644 --- a/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeRemote.java +++ b/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeRemote.java @@ -5,24 +5,103 @@ import java.util.Date; import javax.ejb.Remote; import TO.MedicalSpecialtyTO; +import TO.MedicalTestTO.MedicalTestType; /** * Interfaz remota del EJB Definimos los métodos que estarán disponibles para * los clientes del EJB * - * @author mark + * @author rorden * */ @Remote public interface MedicalTestFacadeRemote { + + // ********************************************************************* + // QUESTION RESPONSE + + /** + * Realizar una pregunta al médico por un paciente + * + * @param professionalNumber + * @param title + * @param message + */ public void askQuestion(int professionalNumber, String title, String message); + + /** + * El médico responde a una pregunta + * + * @param question + * @param response + */ public void answerQuestion(String question, String response); + + /** + * Recuperar las preguntas sin respuesta para un médico + * + * De utilidad para paciente y médico de familia. No para médico especialista. + * + * @param professionalNumber + */ public void listAllPendingQuestions(int professionalNumber); - public void addMedicalTest(int idMedicalTest, Date date, long time, int testType, String observations); - public void getMedicalTest(int idMedicalTest); + + /** + * Recuperar una pregunta por su String + * + * @param question + */ public void getQuestion(String question); + + // ********************************************************************* MEDICAL + // TEST + + /** + * Añadir una prueba médica a un paciente + * + * @param idMedicalTest + * @param date + * @param time + * @param testType Pudiera llegar a ser: Análisis de sangre, resonancias + * magnéticas y TAC + * @param observations + */ + public void addMedicalTest(int id, Date date, long time, MedicalTestType testType, String observations); + + /** + * Recuperar una prueba médica por ID + * + * @param idMedicalTest + */ + public void getMedicalTest(int idPatient); + + /** + * Añadir una imagen a una prueba médica + * + * @param idMedicalTest + * @param image + */ public void addImage(int idMedicalTest, String image); + + /** + * Actualizar/Pisar una imagen a una prueba médica + * + * @param idMedicalTest + * @param image + */ public void updateImage(int idMedicalTest, String image); + + /** + * Eliminar una imagen a una prueba médica + * + * @param idMedicalTest + */ public void removeImage(int idMedicalTest); + + /** + * Listar médicos con una especialidad concreta + * + * @param speciality + */ public void findSpecialistDoctorByMedicalSpeciality(MedicalSpecialtyTO speciality); } \ No newline at end of file diff --git a/2.database/model.mwb b/2.database/model.mwb index bd2ce80..4b362bd 100644 Binary files a/2.database/model.mwb and b/2.database/model.mwb differ