/** Populates ArrayList with labs attached to a consultation request */ public ArrayList<LabResultData> populatePathnetResultsData( String demographicNo, String consultationId, boolean attached) { ArrayList<LabResultData> labResults = new ArrayList<LabResultData>(); ArrayList<LabResultData> attachedLabs = new ArrayList<LabResultData>(); try { ConsultDocsDao dao = SpringUtils.getBean(ConsultDocsDao.class); for (Object[] o : dao.findDocs(ConversionUtils.fromIntString(consultationId))) { ConsultDocs c = (ConsultDocs) o[0]; LabResultData lbData = new LabResultData(LabResultData.EXCELLERIS); lbData.labPatientId = "" + c.getDocumentNo(); attachedLabs.add(lbData); } LabResultData lbData = new LabResultData(LabResultData.EXCELLERIS); LabResultData.CompareId c = lbData.getComparatorId(); Hl7MessageDao hmDao = SpringUtils.getBean(Hl7MessageDao.class); for (Object[] o : hmDao.findByDemographicAndLabType(ConversionUtils.fromIntString(demographicNo), "BCP")) { Hl7Message m = (Hl7Message) o[0]; PatientLabRouting r = (PatientLabRouting) o[1]; lbData.labType = LabResultData.EXCELLERIS; lbData.segmentID = "" + m.getId(); lbData.labPatientId = "" + r.getId(); lbData.dateTime = findPathnetObservationDate(lbData.segmentID); lbData.discipline = findPathnetDisipline(lbData.segmentID); if (attached && Collections.binarySearch(attachedLabs, lbData, c) >= 0) labResults.add(lbData); else if (!attached && Collections.binarySearch(attachedLabs, lbData, c) < 0) labResults.add(lbData); lbData = new LabResultData(LabResultData.EXCELLERIS); } } catch (Exception e) { logger.error("exception in CMLPopulate:", e); } return labResults; }