Search in sources :

Example 1 with NameSearchResult

use of ca.bc.gov.hlth.hnweb.model.rest.enrollment.NameSearchResult in project moh-hnweb by bcgov.

the class FindCandidatesConverter method buildNameSearch.

private List<NameSearchResult> buildNameSearch(FindCandidatesResponse findCandidatesResponse) {
    List<NameSearchResult> nameSearchList = new ArrayList<NameSearchResult>();
    List<FindCandidatesResult> candidatesResult = findCandidatesResponse.getResults();
    if (CollectionUtils.isEmpty(candidatesResult)) {
        return nameSearchList;
    }
    candidatesResult.forEach(ns -> {
        NameSearchResult nameSearchResult = new NameSearchResult();
        nameSearchResult.setPhn(ns.getPerson().getPhn());
        nameSearchResult.setIdentifierTypeCode(IDENTIFIER_TYPE_CODE);
        nameSearchResult.setAssigningAuthority(ASSIGNING_AUTHORITY);
        Name nameObj = ns.getPerson().getDeclaredName();
        if (nameObj == null) {
            nameObj = ns.getPerson().getDocumentedName();
        }
        nameSearchResult.setGender(ns.getPerson().getGender());
        nameSearchResult.setGivenName(nameObj.getFirstGivenName());
        nameSearchResult.setSecondName(Optional.ofNullable(nameObj.getSecondGivenName()).orElse(""));
        nameSearchResult.setSurname(nameObj.getSurname());
        nameSearchResult.setNameTypeCode(nameObj.getType());
        String birthDate = V3MessageUtil.convertDateToString(ns.getPerson().getBirthDate());
        nameSearchResult.setDateOfBirth(birthDate);
        Address address = ns.getPerson().getPhysicalAddress();
        if (address != null) {
            nameSearchResult.setAddress1(ns.getPerson().getPhysicalAddress().getAddressLine1());
            nameSearchResult.setAddress2(ns.getPerson().getPhysicalAddress().getAddressLine2());
            nameSearchResult.setAddress3(ns.getPerson().getPhysicalAddress().getAddressLine3());
            nameSearchResult.setCity(ns.getPerson().getPhysicalAddress().getCity());
            nameSearchResult.setProvince(ns.getPerson().getPhysicalAddress().getProvince());
            nameSearchResult.setPostalCode(ns.getPerson().getPhysicalAddress().getPostalCode());
        }
        Address mailingAddress = ns.getPerson().getMailingAddress();
        if (mailingAddress != null) {
            nameSearchResult.setAddress1(ns.getPerson().getMailingAddress().getAddressLine1());
            nameSearchResult.setAddress2(ns.getPerson().getMailingAddress().getAddressLine2());
            nameSearchResult.setAddress3(ns.getPerson().getMailingAddress().getAddressLine3());
            nameSearchResult.setCity(ns.getPerson().getMailingAddress().getCity());
            nameSearchResult.setProvince(ns.getPerson().getMailingAddress().getProvince());
            nameSearchResult.setPostalCode(ns.getPerson().getMailingAddress().getPostalCode());
        }
        nameSearchResult.setScore(ns.getScore());
        nameSearchList.add(nameSearchResult);
    });
    return nameSearchList;
}
Also used : FindCandidatesResult(ca.bc.gov.hlth.hnweb.model.v3.FindCandidatesResult) NameSearchResult(ca.bc.gov.hlth.hnweb.model.rest.enrollment.NameSearchResult) Address(ca.bc.gov.hlth.hnweb.model.v3.Address) ArrayList(java.util.ArrayList) Name(ca.bc.gov.hlth.hnweb.model.v3.Name)

Example 2 with NameSearchResult

use of ca.bc.gov.hlth.hnweb.model.rest.enrollment.NameSearchResult in project moh-hnweb by bcgov.

the class FindCandidatesConverter method convertResponse.

public NameSearchResponse convertResponse(FindCandidatesResponse findCandidatesResponse) throws IOException {
    logger.debug("Find Candidates response : {} ", findCandidatesResponse.toString());
    NameSearchResponse nameSearchResponse = new NameSearchResponse();
    String messageDetails = findCandidatesResponse.getMessage().getDetails();
    String[] messageText = messageDetails.split("\\|");
    String message = "";
    if (messageText.length > 1) {
        message = messageText[1];
    }
    nameSearchResponse.setMessage(message);
    nameSearchResponse.setStatus(StatusEnum.SUCCESS);
    if (findCandidatesResponse.getResultCount() > 0) {
        List<NameSearchResult> results = buildNameSearch(findCandidatesResponse);
        nameSearchResponse.setCandidates(results);
        logger.debug("Converted Name Search Response : {} ", nameSearchResponse);
    }
    return nameSearchResponse;
}
Also used : NameSearchResult(ca.bc.gov.hlth.hnweb.model.rest.enrollment.NameSearchResult) NameSearchResponse(ca.bc.gov.hlth.hnweb.model.rest.enrollment.NameSearchResponse)

Aggregations

NameSearchResult (ca.bc.gov.hlth.hnweb.model.rest.enrollment.NameSearchResult)2 NameSearchResponse (ca.bc.gov.hlth.hnweb.model.rest.enrollment.NameSearchResponse)1 Address (ca.bc.gov.hlth.hnweb.model.v3.Address)1 FindCandidatesResult (ca.bc.gov.hlth.hnweb.model.v3.FindCandidatesResult)1 Name (ca.bc.gov.hlth.hnweb.model.v3.Name)1 ArrayList (java.util.ArrayList)1