package enefro.interop.util; import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; import ca.uhn.fhir.model.dstu2.resource.Organization; import ca.uhn.fhir.model.dstu2.resource.Practitioner; import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum; import ca.uhn.fhir.model.dstu2.valueset.ContactPointSystemEnum; import ca.uhn.fhir.model.primitive.DateDt; import enefro.interop.SQL.PractitionerSQL; import enefro.interop.bean.PractitionerBean; public class PractitionerUtil { public static Practitioner findPractitionerById(int idPractitioner){ //Recuperamos la organización de base de datos PractitionerBean practitionerBean = PractitionerSQL.getPractitionerById(idPractitioner); Practitioner practitioner = null; //Creamos un objeto FHIR Organization if(practitionerBean != null){ practitioner = new Practitioner(); //practitioner.setId(Long.toString(1)); //Introducimos los campos del recurso if(practitionerBean.getEstado().equals("UACTIVO")){ practitioner.setActive(true); } else if(practitionerBean.getEstado().equals("UINACTIVO")){ practitioner.setActive(false); } IdentifierDt documento = new IdentifierDt(); documento.getType().setText(practitionerBean.getTipoDocumento()); documento.setValue(practitionerBean.getDocumento()); practitioner.addIdentifier(documento); practitioner.getName().addFamily(practitionerBean.getPrimerApellido()+" "+practitionerBean.getSegundoApellido()).addGiven(practitionerBean.getNombre());; if(practitionerBean.getSexo().equals("HOMBRE")){ practitioner.setGender(AdministrativeGenderEnum.MALE); } else if(practitionerBean.getSexo().equals("MUJER")){ practitioner.setGender(AdministrativeGenderEnum.FEMALE); } DateDt fechaNacimiento = new DateDt(); fechaNacimiento.setValue(practitionerBean.getFechaNacimiento()); practitioner.setBirthDate(fechaNacimiento); ContactPointDt phone = new ContactPointDt(); phone.setSystem(ContactPointSystemEnum.PHONE); phone.setValue(practitionerBean.getTelefono()); practitioner.addTelecom(phone); ContactPointDt mail = new ContactPointDt(); mail.setSystem(ContactPointSystemEnum.EMAIL); mail.setValue(practitionerBean.getTelecom()); practitioner.addTelecom(mail); CodeableConceptDt cargo = new CodeableConceptDt(); cargo.setText(practitionerBean.getCargo()); CodeableConceptDt especialidad = new CodeableConceptDt(); especialidad.setText(practitionerBean.getEspecialidad()); practitioner.addPractitionerRole().setRole(cargo).addSpecialty(especialidad); //Obtenemos el recurso Organization //Organization organization = OrganizationUtil.findOrganizatioById(practitionerBean.getIdOrganizacion()); //En el campo ManagingOrganization contenemos el objeto que hemos creado //if(organization != null){ //practitioner.getPractitionerRoleFirstRep().getManagingOrganization().setResource(organization); //} } return practitioner; } } e-REdING. Biblioteca de la Escuela Superior de Ingenieros de Sevilla.


SERVICIO WEB PARA EL ACCESO A INFORMACIÓN SANITARIA DE PACIENTES RENALES

: Pedrera Jiménez, Miguel
: Grado en Ingeniería de las Tecnologías de Telecomunicación
Contenido del proyecto:
Directorio raíz  >  codigo  >  ServicioWebFHIR  >  src  >  main  >  java  >  enefro  >  interop  >  util  >  PractitionerUtil.java