Exemplo n.º 1
0
  public void updateLabSetup(Map<String, String> params) {

    Map<String, String> configProperties = new HashMap<String, String>();

    BloodTypingMechanism bloodTypingMechanism =
        BloodTypingMechanism.valueOf(params.get("bloodTypingMechanism"));

    switch (bloodTypingMechanism) {
      case BLOODTYPING_TEST_RESULTS_ELISA:
        configProperties.put(
            "bloodTypingContext", BloodTestContext.RECORD_BLOOD_TYPING_TESTS.toString());
        bloodTestingRepository.activateTests(BloodTestContext.RECORD_BLOOD_TYPING_TESTS);
        bloodTestingRepository.deactivateTests(BloodTestContext.RECORD_BLOOD_TYPING_OUTCOMES);
        configProperties.put("bloodTypingElisa", "true");
        configProperties.put("bloodTypingWorksheets", "false");
        break;
      case BLOODTYPING_TEST_RESULTS_WORKSHEETS:
        configProperties.put(
            "bloodTypingContext", BloodTestContext.RECORD_BLOOD_TYPING_TESTS.toString());
        bloodTestingRepository.activateTests(BloodTestContext.RECORD_BLOOD_TYPING_TESTS);
        bloodTestingRepository.deactivateTests(BloodTestContext.RECORD_BLOOD_TYPING_OUTCOMES);
        configProperties.put("bloodTypingElisa", "false");
        configProperties.put("bloodTypingWorksheets", "true");
        break;
      case BLOODTYPING_OUTCOMES_WORKSHEETS:
        configProperties.put(
            "bloodTypingContext", BloodTestContext.RECORD_BLOOD_TYPING_OUTCOMES.toString());
        bloodTestingRepository.activateTests(BloodTestContext.RECORD_BLOOD_TYPING_OUTCOMES);
        bloodTestingRepository.deactivateTests(BloodTestContext.RECORD_BLOOD_TYPING_TESTS);
        configProperties.put("bloodTypingElisa", "false");
        configProperties.put("bloodTypingWorksheets", "true");
        break;
    }

    configProperties.put("bloodTypingMechanism", bloodTypingMechanism.toString());

    TTIMechanism ttiMechanism = TTIMechanism.valueOf(params.get("ttiMechanism"));
    switch (ttiMechanism) {
      case TTI_ELISA:
        configProperties.put("ttiElisa", "true");
        configProperties.put("ttiWorksheets", "false");
        configProperties.put("recordMachineReadingsForTTI", "true");
        break;
      case TTI_WORKSHEETS:
        configProperties.put("ttiElisa", "false");
        configProperties.put("ttiWorksheets", "true");
        configProperties.put("recordMachineReadingsForTTI", "false");
        break;
    }

    if (configProperties.get("ttiWorksheets").equals("false")
        && configProperties.get("bloodTypingWorksheets").equals("false")) {
      configProperties.put("useWorksheets", "false");
    } else {
      configProperties.put("useWorksheets", "true");
    }

    configProperties.put("ttiMechanism", ttiMechanism.toString());

    configProperties.put("recordUsage", params.get("recordUsage"));
    if (params.get("recordUsage").equals("false")) configProperties.put("usageTabEnabled", "false");
    else configProperties.put("usageTabEnabled", "true");

    CrossmatchProcedure crossmatchProcedure =
        CrossmatchProcedure.valueOf(params.get("crossmatchProcedure"));

    switch (crossmatchProcedure) {
      case CROSSMATCH_NOT_DONE:
        configProperties.put("showCrossmatchConfirmation", "false");
        configProperties.put("allowSkipCrossmatch", "true");
        break;
      case CROSSMATCH_DONE_CAN_SKIP:
        configProperties.put("showCrossmatchConfirmation", "true");
        configProperties.put("allowSkipCrossmatch", "true");
        break;
      case CROSSMATCH_DONE_CANNOT_SKIP:
        configProperties.put("showCrossmatchConfirmation", "true");
        configProperties.put("allowSkipCrossmatch", "false");
        break;
    }

    configProperties.put("crossmatchProcedure", crossmatchProcedure.toString());

    genericConfigRepository.updateConfigProperties("labsetup", configProperties);
  }