/** * Finds a drug in a set of drugs by id or uuid; excludes voided DrugOrders from consideration * * */ private static DrugOrder drugIdFoundInDrugSet(DrugSuggestion ds, List<Order> dors){ for (Order or : dors){ if (or instanceof DrugOrder){ DrugOrder dor = (DrugOrder) or; if (dor.getDrug() != null && !dor.isVoided() && (dor.getDrug().getDrugId().toString().equals(ds.getDrugId()) || dor.getDrug().getUuid().toString().equals(ds.getDrugId()))) return dor; } } return null; }
DrugOrder dor = new DrugOrder(); dor.setVoided(false); Drug drug = Context.getConceptService().getDrugByNameOrId(ds.getDrugId()); if (drug == null) drug = Context.getConceptService().getDrugByUuid(ds.getDrugId()); if (drug == null) throw new RuntimeException("Your standard regimen xml file constains a drugId that can't be found, for regimen " + rs.getCodeName() + ", DrugComponent.id = " + ds.getDrugId()); dor.setDrug(Context.getConceptService().getDrugByNameOrId(ds.getDrugId())); dor.setFrequency(ds.getFrequency()); dor.setUnits(ds.getUnits()); dor.setInstructions(ds.getInstructions()); dor.setDose(Double.valueOf(ds.getDose())); dor.setStartDate(startDate); dor.setDiscontinued(false);
for (DrugSuggestion ds : rs.getDrugComponents()){ DrugOrder dor = new DrugOrder(); Drug drug = Context.getConceptService().getDrugByNameOrId(ds.getDrugId()); if (drug == null) drug = Context.getConceptService().getDrugByUuid(ds.getDrugId()); if (drug == null) throw new RuntimeException("Your standard regimen xml file constains a drugId that can't be found, for regimen " + rs.getCodeName() + ", DrugComponent.id = " + ds.getDrugId()); dor.setDrug(drug); OrderFrequency frequency = findFrequency(orderService, ds.getFrequency()); dor.setFrequency(frequency); dor.setInstructions(ds.getInstructions()); dor.setDose(Double.valueOf(ds.getDose())); dor.setDoseUnits(conceptService.getConceptByName(ds.getUnits())); dor.setRoute(Context.getConceptService().getConceptByName("UNKNOWN")); dor.setDateActivated(startDate);
/** * Finds a drug in a set of drugs by id or uuid; excludes voided DrugOrders from consideration * * */ private static DrugOrder drugIdFoundInDrugSet(DrugSuggestion ds, List<Order> dors){ for (Order or : dors){ if (or instanceof DrugOrder){ DrugOrder dor = (DrugOrder) or; if (dor.getDrug() != null && !dor.isVoided() && (dor.getDrug().getDrugId().toString().equals(ds.getDrugId()) || dor.getDrug().getUuid().toString().equals(ds.getDrugId()))) return dor; } } return null; }
@Override public void AddDrugDependencies(String id, AttributeDescriptor attributeDescriptor, Set<OpenmrsObject> dependencies) { //RegimenSuggestion -- see global property 'dashboard.regimen.standardRegimens' if (RegimenSuggestion.class.equals(attributeDescriptor.getClazz())){ List<RegimenSuggestion> stRegimens = DrugOrderSupport.getInstance().getStandardRegimens(); if (stRegimens != null){ ConceptService cs = Context.getConceptService(); for (RegimenSuggestion rs : stRegimens){ if (rs.getCodeName().equals(id) && rs.getDrugComponents() != null){ for (DrugSuggestion ds : rs.getDrugComponents()){ Drug drug = cs.getDrug(ds.getDrugId()); if (drug == null) drug = cs.getDrugByUuid(ds.getDrugId()); if (drug != null) dependencies.add(drug); } } } } } } }