package enefro.interop.util; import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; import ca.uhn.fhir.model.dstu2.resource.Patient; import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum; import ca.uhn.fhir.model.dstu2.valueset.ContactPointSystemEnum; import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; import ca.uhn.fhir.model.primitive.DateDt; import enefro.interop.SQL.PatientSQL; import enefro.interop.bean.PatientBean; public class PatientUtil { public static Patient findPatientById(int idPatient){ //Recuperamos la organización de base de datos PatientBean patientBean = PatientSQL.getPatientById(idPatient); Patient patient = null; //Creamos un objeto FHIR Organization if(patientBean != null){ patient = new Patient(); //Introducimos los campos del recurso //patient.setId(Long.toString(patientBean.getIdPaciente())); if(patientBean.getEstado().equals("UACTIVO")){ patient.setActive(true); } else if(patientBean.getEstado().equals("UINACTIVO")){ patient.setActive(false); } IdentifierDt nuh = new IdentifierDt(); nuh.setType(IdentifierTypeCodesEnum.MR); nuh.setValue(patientBean.getNumHist()); patient.addIdentifier(nuh); IdentifierDt documento = new IdentifierDt(); documento.getType().setText(patientBean.getTipoDocumento()); documento.setValue(patientBean.getDocumento()); patient.addIdentifier(documento); patient.addName().addFamily(patientBean.getPrimerApellido()+" "+patientBean.getSegundoApellido()); patient.addName(); patient.getName().get(0).addGiven(patientBean.getNombre()); if(patientBean.getSexo().equals("HOMBRE")){ patient.setGender(AdministrativeGenderEnum.MALE); } else if(patientBean.getSexo().equals("MUJER")){ patient.setGender(AdministrativeGenderEnum.FEMALE); } DateDt fechaNacimiento = new DateDt(); fechaNacimiento.setValue(patientBean.getFechaNacimiento()); patient.setBirthDate(fechaNacimiento); patient.addAddress().addLine(patientBean.getDireccion()); ContactPointDt phone = new ContactPointDt(); phone.setSystem(ContactPointSystemEnum.PHONE); phone.setValue(patientBean.getTelefono()); patient.addTelecom(phone); ContactPointDt mail = new ContactPointDt(); mail.setSystem(ContactPointSystemEnum.EMAIL); mail.setValue(patientBean.getTelecom()); patient.addTelecom(mail); } return patient; } }