private void defaultOrderPriority() { // WDEV-16386 - all of it ArrayList<?> comboValues = form.lyrDetails().tabGenDetails().cmbPriority().getValues(); // WDEV-11972 defaultcmbPriorityLookupValue(); OrderPriority priorityValueDefaulted = form.lyrDetails().tabGenDetails().cmbPriority().getValue(); if (priorityValueDefaulted != null && !comboValues.contains(priorityValueDefaulted)) { form.lyrDetails().tabGenDetails().cmbPriority().removeRow(priorityValueDefaulted); form.lyrDetails().tabGenDetails().cmbPriority().setValue(null); } if (form.lyrDetails().tabGenDetails().cmbPriority().getValue() != null && (form.getLocalContext().getOcsOrder() == null || form.getLocalContext().getOcsOrder().getID_OcsOrderSession() == null)) { cmPriorityValueChanged(); } else setOrderPriorityInGrid(); //WDEV-14897 }
private OrderPriority getPriorityIfExists(InvestigationIndexShortVo investigationIndex, OrderInvestigationVoCollection orderInvestigations) { if (orderInvestigations == null) return null; if (investigationIndex == null || investigationIndex.getID_InvestigationIndex() == null) return null; for (OrderInvestigationVo investigation : orderInvestigations) { if (investigation.getInvestigation() != null && investigation.getInvestigation().getInvestigationIndex() != null) { if (investigationIndex.getID_InvestigationIndex() == investigation.getInvestigation().getInvestigationIndex().getID_InvestigationIndex()) return investigation.getOrderPriority(); } } return null; }
private void bindOrderPriority(MyOrderComponentVoCollection myOrderComponents) { // Clear Order Priority combo-box form.lyrDetails().tabGenDetails().cmbPriority().clear(); boolean hasPathologyInvestigation = hasPathologyInvestigations(myOrderComponents); boolean hasRadiologyInvestigation = hasRadiologyInvestigations(myOrderComponents); boolean hasClinicalInvestigation = hasClinicalInvestigations(myOrderComponents); OrderPriorityCollection priorities = domain.listOrderPriority(hasPathologyInvestigation, hasRadiologyInvestigation, hasClinicalInvestigation); for (int i = 0; i < priorities.size(); i++) { OrderPriority orderPriority = priorities.get(i); form.lyrDetails().tabGenDetails().cmbPriority().newRow(orderPriority, orderPriority.getText()); } form.lyrDetails().tabGenDetails().cmbPriority().removeRow(OrderPriority.VARIOUS); }
private IfOrderInvestigationVo populateRADInvestigationVoFromOBR(OBR obr, String sendingApplication, ProviderSystemVo providerSystem) throws Exception { IfOrderInvestigationVo orderInvVo = new IfOrderInvestigationVo(); String providerInvCode = obr.getUniversalServiceIdentifier().getIdentifier().getValue(); // wdev-2397 specimen source is now part of the search criteria to get the investigation SPS sps = obr.getSpecimenSource(); IfProviderInvSearchVo search = new IfProviderInvSearchVo(); search.setProviderInvCode(providerInvCode); search.setProvider(providerSystem); search.setHl7App(sendingApplication); search.setSpecimenSource(sps.getSpecimenSourceNameOrCode().getIdentifier().getValue()); IfInvestigationLiteVo invVo = ocsIfInbound.getInvestigationByHl7AppInvAndService(search); if (invVo == null) throw new HL7Exception("Investigation not found for provider system and providerInvCode = " + providerInvCode); fillRADInvestigationFromOBR(orderInvVo, obr, invVo,providerSystem); // OBR-27 Quantity/timing // wdev-2746 - If obr-27 is not populated, we can check obr-5 String priority = obr.getQuantityTiming(0).getPriority().getValue(); if (priority == null) priority = obr.getPriority().getValue(); if (priority != null) { orderInvVo.setOrderPriority((OrderPriority) svc.getLocalLookup(OrderPriority.class, OrderPriority.TYPE_ID, providerSystem.getCodeSystem().getText(), priority)); } orderInvVo.setWasOrdered(Boolean.FALSE); return orderInvVo; }
private void cmPriorityValueChanged() { if (form.lyrDetails().tabGenDetails().cmbPriority().getValue() != null && form.lyrDetails().tabGenDetails().cmbPriority().getValue().equals(OrderPriority.VARIOUS)) return; OrderInvestigationVoCollection voCollOrderInvestigation = form.getGlobalContext().OCRR.getOrderInvestigationCollection(); if (voCollOrderInvestigation == null) throw new CodingRuntimeException("Coding Error - OrderInvestigation Collection is null (onCmbPriorityValueChanged)"); for (int i = 0; i < voCollOrderInvestigation.size(); i++) voCollOrderInvestigation.get(i).setOrderPriority(form.lyrDetails().tabGenDetails().cmbPriority().getValue()); form.getGlobalContext().OCRR.setOrderInvestigationCollection(voCollOrderInvestigation); setOrderPriorityInGrid(); }
private IfOrderInvestigationVo populatePATHInvestigationVoFromOBR(OBR obr, String sendingApplication, IfOrderSpecimenVo specimen, HashMap<String, Object> fillerSpecimens, IfOrderSpecimenVoCollection specColl, ProviderSystemVo providerSystem,boolean isResultMessage) throws Exception { IfOrderInvestigationVo orderInvVo = new IfOrderInvestigationVo(); String providerInvCode = obr.getUniversalServiceIdentifier().getIdentifier().getValue(); // wdev-5526 - method created and called from here now IfInvestigationLiteVo invVo = getInvestigation(obr, sendingApplication, providerSystem, providerInvCode,true,isResultMessage); if (invVo == null) throw new HL7Exception("Investigation not found for provider system and providerInvCode = " + providerInvCode); fillPATHInvestigationFromOBR(orderInvVo, obr, invVo,providerSystem); // OBR-27 Quantity/timing // wdev-2746 - If obr-27 is not populated, we can check obr-5 String priority = obr.getQuantityTiming(0).getPriority().getValue(); if (priority == null) priority = obr.getPriority().getValue(); if (priority != null) { orderInvVo.setOrderPriority((OrderPriority) svc.getLocalLookup(OrderPriority.class, OrderPriority.TYPE_ID, providerSystem.getCodeSystem().getText(), priority)); } orderInvVo.setWasOrdered(Boolean.FALSE); // Specimens only for Pathology orders // OBR-3 Filler order number // WDEV-1354 // We hold onto the specimens for each fillerOrderNumber in case // the same specimen is required again String fillerOrderNum = obr.getFillerOrderNumber().getEntityIdentifier().getValue(); if (fillerSpecimens.containsKey(fillerOrderNum)&&!ConfigFlag.HL7.UNSOLICTED_NEW_SPECIMEN_PER_INVESTIGATION.getValue()) specimen = (IfOrderSpecimenVo) fillerSpecimens.get(fillerOrderNum); else { specimen = new IfOrderSpecimenVo(); populateSpecimenVoFromOBR(specimen, orderInvVo.getInvestigation(), obr,providerSystem); specimen.getInvestigations(); if(InvEventType.TIME_SERIES.equals(orderInvVo.getInvestigation().getEventType())) { specimen.setWasProcessed(true); // specimen.setPlacerOrdNum(value); } if(!specimen.getInvestigationsIsNotNull()) { specimen.setInvestigations(new IfOrderInvestigationVoCollection()); } specimen.getInvestigations().add(orderInvVo); specColl.add(specimen); if (!fillerSpecimens.containsKey(specimen.getFillerOrdNum())) { fillerSpecimens.put(specimen.getFillerOrdNum(), specimen); } } if(orderInvVo.getSpecimen()==null&&!ConfigFlag.HL7.UNSOLICTED_NEW_SPECIMEN_PER_INVESTIGATION.getValue()) { orderInvVo.setSpecimen(specColl); } else { orderInvVo.setSpecimen(new IfOrderSpecimenVoCollection()); orderInvVo.getSpecimen().add(specimen); } //WDEV-15552 SPS sps = obr.getSpecimenSource(); LookupInstVo resultSpecimenSource=svc.getLocalLookup(LookupInstVo.class, ResultSpecimenTypes.TYPE_ID, providerSystem.getCodeSystem().getText(), sps.getSpecimenSourceNameOrCode().getIdentifier().getValue().trim()); orderInvVo.setResultSpecimenType(resultSpecimenSource); return orderInvVo; }
public OrderPriorityCollection listPathologyPriorities() { String pathologySystem = "Pathology System"; StringBuilder query = new StringBuilder("SELECT orderPriority.id FROM LookupInstance AS orderPriority LEFT JOIN orderPriority.type AS lookupType LEFT JOIN orderPriority.mappings AS mappings"); query.append(" WHERE lookupType.id = :ORDER_PRIORITY_TYPE AND orderPriority.active = 1 AND mappings.extSystem = :PATHOLOGY_SYSTEM ORDER BY orderPriority.id"); ArrayList<String> paramNames = new ArrayList<String>(); ArrayList<Object> paramValues = new ArrayList<Object>(); paramNames.add("ORDER_PRIORITY_TYPE"); paramValues.add(OrderPriority.TYPE_ID); paramNames.add("PATHOLOGY_SYSTEM"); paramValues.add(pathologySystem); List<?> pathologyPriorities = getDomainFactory().find(query.toString(), paramNames, paramValues); OrderPriorityCollection resultsPathology = new OrderPriorityCollection(); for (int i = 0; i < pathologyPriorities.size(); i++) resultsPathology.add(LookupHelper.getOrderPriorityInstance(getLookupService(), (Integer) pathologyPriorities.get(i))); return resultsPathology; }
public OrderPriorityCollection listRadiologyPriorities() { String radiologySystem = "Radiology System"; StringBuilder query = new StringBuilder("SELECT orderPriority.id FROM LookupInstance AS orderPriority LEFT JOIN orderPriority.type AS lookupType LEFT JOIN orderPriority.mappings AS mappings"); query.append(" WHERE lookupType.id = :ORDER_PRIORITY_TYPE AND orderPriority.active = 1 AND mappings.extSystem = :RADIOLOGY_SYSTEM ORDER BY orderPriority.id"); ArrayList<String> paramNames = new ArrayList<String>(); ArrayList<Object> paramValues = new ArrayList<Object>(); paramNames.add("ORDER_PRIORITY_TYPE"); paramValues.add(OrderPriority.TYPE_ID); paramNames.add("RADIOLOGY_SYSTEM"); paramValues.add(radiologySystem); List<?> radiologyPriorities = getDomainFactory().find(query.toString(), paramNames, paramValues); OrderPriorityCollection resultsRadiology = new OrderPriorityCollection(); for (int i = 0; i < radiologyPriorities.size(); i++) resultsRadiology.add(LookupHelper.getOrderPriorityInstance(getLookupService(), (Integer) radiologyPriorities.get(i))); return resultsRadiology; }
public OrderPriorityCollection listClinicalPriorities() { String clinicalSystem = "Clinical Mapping"; StringBuilder query = new StringBuilder("SELECT orderPriority.id FROM LookupInstance AS orderPriority LEFT JOIN orderPriority.type AS lookupType LEFT JOIN orderPriority.mappings AS mappings"); query.append(" WHERE lookupType.id = :ORDER_PRIORITY_TYPE AND orderPriority.active = 1 AND mappings.extSystem = :CLINICAL_SYSTEM ORDER BY orderPriority.id"); ArrayList<String> paramNames = new ArrayList<String>(); ArrayList<Object> paramValues = new ArrayList<Object>(); paramNames.add("ORDER_PRIORITY_TYPE"); paramValues.add(OrderPriority.TYPE_ID); paramNames.add("CLINICAL_SYSTEM"); paramValues.add(clinicalSystem); List<?> clinicalPriorities = getDomainFactory().find(query.toString(), paramNames, paramValues); OrderPriorityCollection resultsClinical = new OrderPriorityCollection(); for (int i = 0; i < clinicalPriorities.size(); i++) resultsClinical.add(LookupHelper.getOrderPriorityInstance(getLookupService(), (Integer) clinicalPriorities.get(i))); return resultsClinical; }