CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using CiviCase (Moderator: Dave Greenberg) »
  • Implementation suggestions for new CiviCase/Grant project
Pages: [1]

Author Topic: Implementation suggestions for new CiviCase/Grant project  (Read 5292 times)

davej

  • Ask me questions
  • ****
  • Posts: 404
  • Karma: 21
Implementation suggestions for new CiviCase/Grant project
December 02, 2009, 10:43:44 am
Hi,

I'm currently planning a project that might be a good fit for CiviCase &/or CiviGrant. I'd welcome thoughts on the best way to structure it in CiviCRM.

Summary
Organisations submit Applications for funding, in two stages. Applications are reviewed at several stages by different agents.

A bit more detail
(1a) Organisation initiates new Application, filling in Stage 1 details (many custom fields).
(1b) Agent 1 is notified of application, reviews it and decides whether it is eligible to proceed to Stage 2.
(2a) If eligible, Organisation fills in Stage 2 details (many custom fields plus file uploads).
(2b) Agents 1 & 2 are notified of application, review it and decide whether it is eligible to proceed to Stage 3.
(3a) System generates document(s) summarising the application, for meeting of Review Panel.
(3b) Review Panel makes final decision on application.
(4) If successful, bank details are collected and the funding is issued.

The Organisation will not have access to the full CiviCRM interface, we're envisaging them using profiles to enter Application details.

CiviGrant seems relevant but I'm not sure how it would deal with the multi-stage, multi-agent workflow. Presumably if using CiviGrant we'd have:
Application = Grant.
Custom field groups for App Stage 1 and App Stage 2 extending Grant.
Not sure how we'd give Orgs access to enter their App details: AFAIK a profile can't be used to create/edit a grant, is that correct?

CiviCase seems ideal for the multi-stage, multi-agent workflow. Presumably if using CiviCase we'd have:
Application = Case.
Custom Activity Types for App Stage 1 and App Stage 2 (and the various review stages).
Custom field group for App Stage 1 extending the App Stage 1 Activity Type.
Custom field group for App Stage 2 extending the App Stage 2 Activity Type.
Not sure how we'd give Orgs access to enter their App details: AFAIK a profile can't be used to create/edit an activity linked to a case; cf. What is needed to add activities in a profile ? .

In the days before CiviCase/Grant, I'd have used Custom field groups for the various App Stages extending Organization, created profiles for the various agents to add/amend applications and glued together with some home-brewed logic to walk through the stages. Now we have all that CiviCase/Grant goodness available and it seems highly relevant to this project but I'm not sure how best to make use of it.

Thanks in advance for any thoughts,

Dave J

Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: Implementation suggestions for new CiviCase/Grant project
December 02, 2009, 05:08:05 pm
Dave - At this level of detail, it seems like Case is a good direction - and the object mappings you've outlined seem appropriate.

Lobo has been doing some work with exposing Activity records in Profiles for this "school project" - and there's some good example code you can look at / reuse in that project.

>> http://civicrm.org/taxonomy/term/26

I've also heard some similar use cases from folks in more typical 'case management settings' - where they want to provide external agents with a simple form to submit information about a case (w/o exposing the full CiviCRM / CiviCase UI). So work you do in this direction will probably be useful to others / you might have some collaborators.

Lobo and I were also just discussing the possibility of a permissioning-based solution to this - so when more granular permissioning gets added for CiviCase you could potentially expose only certain pages / forms in the Case UI to certain users (e.g. just the Activity form... etc.).

Protect your investment in CiviCRM by  becoming a Member!

davej

  • Ask me questions
  • ****
  • Posts: 404
  • Karma: 21
Re: Implementation suggestions for new CiviCase/Grant project
December 03, 2009, 09:51:16 am
Thanks for your thoughts on this, Dave, much appreciated. A bit more detail in case it's helpful...

Application stages

Stage 1 - Registration, Basic Information
(1a) Organisation initiates new Application, filling in Stage 1 details (many custom fields).
(1b) Agent 1 notified of application, reviews it and makes initial decision.
(1c) Agent 2 Confirm/amend initial decision.

Stage 2 - Detailed Application
(2a) Organisation fills in Stage 2 details if eligible (many custom fields plus file uploads).
(2b) Agent 3: flagging & notes for supplier contact
(2c) Agent 1: check completeness.
(2d) Agent 3: notified, technical review.
(2e) Agent 2: review notes.

Stage 3 - Panel Review
(3a) System generates document(s) summarising the application, for meeting of Review Panel.
(3b) Review Panel makes decision on application: approve / reject / defer.
(3c) Agent 1: Send out notifications and stage 4 documentation.

Stage 4 - Funds Disbursement
(4a) Organisation submits bank details (copy paying in slip and statement).
(4b) Agent 1 verify bank details (i.e. entered details match documents).
(4c) Agent 2 disburse funds.
(4d) Organisation uploads receipts.
(4e) Review receipted expenditure against proposed suppliers.

Agents and levels of access

  • Organisation - profiles only.
  • Agent 1 - full CiviCRM/CiviCase UI
  • Agent 2 - restricted CiviCRM/CiviCase UI or profiles, depending on how much we can restrict the UI & how much they need to be restricted (TBC).
  • Agent 3 - very restricted CiviCRM/CiviCase UI or profiles.

We're on a very tight timescale on this project: Stage 1 data entry to begin mid-January! :-O  We'd like to develop things in a generic and reusable way where time permits but time may not permit as much as we'd like.

Do you have any detailed plans for adding more granular permissioning for CiviCase? You mention:
- restricting certain pages / forms.
It might also be useful to:
- restrict by activity type (cf Drupal node permissioning: Create / Edit own / Edit any / Delete own / Delete any for each node type. Wouldn't that be great in Civi?)

Have you estimated the work involved in this and thought about time scale?

In CiviCase case configuration is it possible, as opposed to specifying the number of days between activities, to specify that activity A1 must precede A2 must precede A3?

Thanks again,

Dave J

Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: Implementation suggestions for new CiviCase/Grant project
December 03, 2009, 03:48:50 pm
RE: CiviCase access control... we don't have a flushed out requirements set for this (yet), so scope / timeframe is unknown. Your suggestions sound like a good place to start. This would be a good complement for the other CiviCase work which we are kicking off very shortly.

RE: specifying "ordinality/prerequesites" for activities - this is not (yet) supported in the framework. I'll ping you to discuss how you envision this working in the interface. We will be adding other case configuration properties - so this could fit in nicely as well.
Protect your investment in CiviCRM by  becoming a Member!

itspathik

  • Guest
Re: Implementation suggestions for new CiviCase/Grant project
December 17, 2009, 09:37:52 pm
I am also working on a similar project for non-profit. I am considering CIVICRM for the same. I require the following functionality:

Background:
Its a trust providing financial assistance to needy students. The trust collects donation from donors and distributes the money to needy students.

Workflow for Financial Assistance:
Currently the student requiring the assistance has to fill up a physical form and submit it to a local representative. The representative would forward it to the central office where the data is verified and personal visit to student is planned. A representative is asked to visit the student and verify the correctness of his financial conditions. The representative makes his report and submits it to the central office. Based on the report the advisory board decides whether to accept the assistance application or reject it. They may also decide to provide partial financial assistance. Once the decision is taken, the local representative is informed and then the cheque is written and sent to him for further dispatch to the beneficiary.

Workflow for Donor:
Currently everything is offline and the donor willing to donate pays the amount by cheque favouring the trust name. The donor may also pledge to pay every year. Once the contribution is received, the donor is thanked and periodic reports are being sent.

Considering the above worklow, I need to create a custom form where the student can make an application for financial assistance. This application would in turn be forwarded (by email) to the advisory board. The advisory board would schedule the visit to the student and inform the representative by email. The representative should be able to write his report online and then the decision as to financial assistance would be taken by the advisory board.

Since I am new to CIVICRM, I thought it fit to post it here. My requirements resemble to the one written above. Can you pl. guide me how to go about this?

Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: Implementation suggestions for new CiviCase/Grant project
December 18, 2009, 05:47:15 pm
You can potentially use the CiviCRM Profile feature to create the application form if it's relatively simple (usability will depend on how many questions / complexity). Submitted profile data becomes part of the students' contact record and can be automatically emailed to staff on submit.

If the application is more complicated, you might need to build it as a custom component (was was done for the Questbridge project - code for this is available in our repository).
 
You could model the application review and approval process as a series of steps ('activities) in CiviCase, extending them with custom fields as needed.

Depending on your resources, you might alternatively want to store the application data as an activity (which automatically opens a case). This would require some coding using hooks to incorporate activity fields into an end-user facing profile form.

If you haven't gotten your arms around the overall Civi-architecture - consider taking some time to read the "Understanding CiviCRM" book (link above). Also the CiviCase overview at:

http://wiki.civicrm.org/confluence/display/CRMDOC/CiviCase+Configuration
Protect your investment in CiviCRM by  becoming a Member!

davej

  • Ask me questions
  • ****
  • Posts: 404
  • Karma: 21
Re: Implementation suggestions for new CiviCase/Grant project
January 21, 2010, 09:56:00 am
Quote from: Dave Greenberg on December 02, 2009, 05:08:05 pm
Dave - At this level of detail, it seems like Case is a good direction - and the object mappings you've outlined seem appropriate.

One problem with storing data in custom fields in Activities is that AFAICS there are currently (3.1.beta5) no search or reporting facilities allowing one to search on Activity custom fields: nothing that I can see in Advanced Search, Find Cases, Custom Search -> Activity Search, Case reports or Activity reports. If that's the case then it doesn't seem sensible to store data in custom fields in Activities unless you have the resources to extend CiviCRM's search/reports or implement your own searching and reporting.

Dave J

demeritcowboy

  • Ask me questions
  • ****
  • Posts: 570
  • Karma: 42
  • CiviCRM version: Always the latest!
  • CMS version: Drupal 6 mostly, still evaluating 7.
  • MySQL version: Mix of 5.0 / 5.1 / 5.5
  • PHP version: 5.3, usually on Windows
Re: Implementation suggestions for new CiviCase/Grant project
January 22, 2010, 07:03:17 pm
Check out http://svn.civicrm.org
/php/trunk/custom_php/CRM/Report/Form/Activity/ActivityFields.php from the Physician Health Program repository.

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using CiviCase (Moderator: Dave Greenberg) »
  • Implementation suggestions for new CiviCase/Grant project

This forum was archived on 2017-11-26.