public ActionForward sendPlan(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response) {
    LoggedInInfo loggedInInfo = LoggedInInfo.getLoggedInInfoFromSession(request);
    HashMap<String, Object> hashMap = new HashMap<String, Object>();

    ProviderDao providerDao = (ProviderDao) SpringUtils.getBean("providerDao");
    SecUserRoleDao secUserRoleDao = (SecUserRoleDao) SpringUtils.getBean("secUserRoleDao");

    List<Provider> activeReceptionists = new ArrayList<Provider>();
    for (SecUserRole sur : secUserRoleDao.getSecUserRolesByRoleName("receptionist")) {
      Provider p = providerDao.getProvider(sur.getProviderNo());
      if (p != null && p.getStatus().equals("1")) {
        activeReceptionists.add(p);
      }
    }

    TicklerCreator tc = new TicklerCreator();
    String demographicNo = request.getParameter("demographicNo");

    String message = request.getParameter("value");

    if (demographicNo != null
        && message != null
        && message.trim().length() > 0
        && activeReceptionists != null) {
      for (Provider p : activeReceptionists) {
        tc.createTickler(loggedInInfo, demographicNo, p.getProviderNo(), message);
      }

      hashMap.put("sentToReceptionists", activeReceptionists.size());
    }

    return null;
  }
  /** The Role is used to determine which providers to report on. */
  public ProviderDataGrid getProviderDataGrid(Integer secRoleId) {

    long startTime = System.currentTimeMillis();

    ProviderDataGrid providerDataGrid = new ProviderDataGrid();

    SecRole secRole = secRoleDao.find(secRoleId);
    List<SecUserRole> secUserRoles = secUserRoleDao.getSecUserRolesByRoleName(secRole.getName());
    HashSet<String> providerNos = new HashSet<String>();
    for (SecUserRole secUserRole : secUserRoles) providerNos.add(secUserRole.getProviderNo());

    for (String providerNo : providerNos) {
      Provider provider = providerDao.getProvider(providerNo);
      if (provider != null) providerDataGrid.put(provider, getEncounterTypeDataGrid(provider));
      else
        logger.warn(
            "Provider doesn't exist but a secUserRole record does. providerNo=" + providerNo);
    }

    long totalTime = System.currentTimeMillis() - startTime;
    logger.debug("report generation in seconds : " + (totalTime / 1000));

    return (providerDataGrid);
  }