Changeset 3460
- Timestamp:
- 02/22/08 15:04:38 (11 months ago)
- Files:
-
- openmrs-modules/atd/.classpath (modified) (1 diff)
- openmrs-modules/atd/lib-common/dss-2.06.jar (deleted)
- openmrs-modules/atd/lib-common/dss-2.07.jar (added)
- openmrs-modules/atd/metadata/config.xml (modified) (1 diff)
- openmrs-modules/atd/src/org/openmrs/module/atd/TeleformTranslator.java (modified) (4 diffs)
- openmrs-modules/atd/src/org/openmrs/module/atd/impl/ATDServiceImpl.java (modified) (9 diffs)
- openmrs-modules/atd/src/org/openmrs/module/atd/service/ATDService.java (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs-modules/atd/.classpath
r3447 r3460 65 65 <classpathentry kind="lib" path="/dss/dist"/> 66 66 <classpathentry kind="lib" path="lib-common/openmrs-api-1.2.0.3328.jar" sourcepath="/openmrs_logic/src"/> 67 <classpathentry kind="lib" path="lib-common/dss-2.0 6.jar"/>67 <classpathentry kind="lib" path="lib-common/dss-2.07.jar"/> 68 68 <classpathentry kind="output" path="build"/> 69 69 </classpath> openmrs-modules/atd/metadata/config.xml
r3447 r3460 7 7 <id>atd</id> 8 8 <name>ATD</name> 9 <version>1. 09</version>9 <version>1.10</version> 10 10 <package>org.openmrs.module.@MODULE_ID@</package> 11 11 <author>Tammy Dugan</author> openmrs-modules/atd/src/org/openmrs/module/atd/TeleformTranslator.java
r3447 r3460 15 15 import org.apache.commons.logging.Log; 16 16 import org.apache.commons.logging.LogFactory; 17 import org.openmrs.Concept; 17 18 import org.openmrs.Field; 18 19 import org.openmrs.FieldType; … … 246 247 247 248 int dssMergeCounter = 0; 249 String mode = "PRODUCE"; 250 251 HashMap<String,Object> parameters = new HashMap<String,Object>(); 252 253 parameters.put("formInstanceId", formInstanceId); 254 255 if(encounterId != null) 256 { 257 parameters.put("encounterId", encounterId); 258 } 259 260 parameters.put("mode", mode); 248 261 249 262 while (iter.hasNext()) … … 269 282 if(currField.getFieldType().equals(atdMergeType)) 270 283 { 284 Concept concept = currField.getConcept(); 285 if (concept != null) 286 { 287 try 288 { 289 parameters.put("concept", concept.getName().getName()); 290 } catch (Exception e) 291 { 292 } 293 }else 294 { 295 parameters.put("concept",null); 296 } 271 297 if (dssService.getRules(defaultValue).size()>0) 272 298 { 273 299 dssManager.populateDssElements( 274 defaultValue, false );300 defaultValue, false,parameters); 275 301 result = processDssElements(dssManager, dssMergeCounter, 276 302 currField.getFieldId(), … … 280 306 { 281 307 282 result = atdService.evaluateRule( currField.getConcept(),defaultValue,283 formInstanceId,encounterId,patient,"PRODUCE",null);308 result = atdService.evaluateRule(defaultValue, 309 patient,parameters); 284 310 } 285 311 openmrs-modules/atd/src/org/openmrs/module/atd/impl/ATDServiceImpl.java
r3447 r3460 189 189 } 190 190 } 191 191 String mode = "CONSUME"; 192 193 HashMap<String, Object> parameters = 194 new HashMap<String,Object>(); 192 195 Set<FormField> fieldsWithValues = formFieldToValue.keySet(); 193 196 Concept currConcept = null; … … 195 198 Iterator<String> valuesIter = null; 196 199 Obs obs = null; 197 String weightUnit = this.evaluateRule(null, "birthdate>weightSF", 198 formInstanceId, encounterId, patient,"PRODUCE",null); 200 String weightUnit = this.evaluateRule( "birthdate>weightSF", 201 patient,parameters); 202 203 parameters.put("formInstanceId", formInstanceId); 204 205 parameters.put("mode", mode); 199 206 200 207 // merge list of values into single value based on concept type … … 206 213 String defaultValue = currField.getField().getDefaultValue(); 207 214 215 if (currConcept != null) 216 { 217 try 218 { 219 parameters.put("concept", currConcept.getName()); 220 } catch (Exception e) 221 { 222 } 223 }else 224 { 225 parameters.put("concept", null); 226 } 227 228 String fieldName = currField.getField().getName(); 229 if(fieldName != null) 230 { 231 parameters.put("fieldName", fieldName); 232 } 208 233 values = formFieldToValue.get(currField); 209 234 … … 235 260 if (defaultValue != null) 236 261 { 237 this.evaluateRule(currConcept, defaultValue, 238 formInstanceId, encounterId, patient,"CONSUME", 239 currField.getField().getName()); 262 this.evaluateRule(defaultValue, patient, parameters); 240 263 continue; 241 264 } … … 410 433 } 411 434 412 public String evaluateRule(Concept concept, 413 String ruleEvalString, 414 Integer formInstanceId, 415 Integer encounterId,Patient patient, 416 String mode,String fieldName) 435 public String evaluateRule(String ruleEvalString,Patient patient, 436 HashMap<String, Object> baseParameters) 417 437 { 418 438 DssService dssService = (DssService) Context.getService(DssService.class); … … 421 441 new StringTokenizer(ruleEvalString,">"); 422 442 ArrayList<String> ruleTokens = new ArrayList<String>(); 443 HashMap<String, Object> parameters = null; 423 444 424 445 while(tokenizer.hasMoreTokens()) … … 426 447 ruleTokens.add(tokenizer.nextToken().trim()); 427 448 } 428 429 Map<String, Object> parameters = new HashMap<String, Object>();430 449 parameters = new HashMap<String, Object>(); 450 parameters.putAll(baseParameters); 451 431 452 for (String ruleToken : ruleTokens) 432 453 { 433 434 454 if(ruleToken.contains("\"")) 435 455 { 436 parameters = new HashMap<String, Object>();437 456 tokenizer = new StringTokenizer(ruleToken.substring(1,ruleToken.length()-1),","); 438 457 int position = 0; … … 446 465 447 466 Rule rule = new Rule(); 448 449 if (concept != null)450 {451 try452 {453 parameters.put("concept", concept.getName().getName());454 } catch (Exception e)455 {456 }457 }458 459 if(formInstanceId != null)460 {461 parameters.put("formInstanceId", formInstanceId);462 }463 464 if(encounterId != null)465 {466 parameters.put("encounterId", encounterId);467 }468 469 if(mode != null)470 {471 parameters.put("mode", mode);472 }473 474 if(fieldName != null)475 {476 parameters.put("fieldName", fieldName);477 }478 467 479 468 rule.setShortName(ruleToken); … … 483 472 dssService.runRule(patient, rule, logicService); 484 473 parameters = new HashMap<String, Object>(); 474 parameters.putAll(baseParameters); 485 475 486 476 if (result != null) openmrs-modules/atd/src/org/openmrs/module/atd/service/ATDService.java
r3447 r3460 3 3 import java.io.InputStream; 4 4 import java.io.OutputStream; 5 import java.util.HashMap; 5 6 6 7 import org.openmrs.Concept; … … 48 49 public FormInstance addFormInstance(Integer formId); 49 50 50 public String evaluateRule(Concept concept, 51 String ruleEvalString, 52 Integer formInstanceId, 53 Integer encounterId,Patient patient, 54 String mode,String fieldName); 51 public String evaluateRule(String ruleEvalString,Patient patient, 52 HashMap<String, Object> baseParameters); 55 53 56 54 public void addPatientATD(int patientId, Integer formId, DssElement dssElement,