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 »
  • Pre-installation Questions (Moderator: Dave Greenberg) »
  • CiviCRM for non profit
Pages: [1]

Author Topic: CiviCRM for non profit  (Read 3247 times)

leapywca

  • Guest
CiviCRM for non profit
October 01, 2009, 01:50:25 pm
We are trying to use CiviCRM for a program enrollment system, but we're running into a lot of questions regarding the feasibility of this endeavor. We're hoping that by describing the workflow, some current CiviCRM users and/or developers could give us an idea of whether or not the customizations we need are possible.

Overview:
We need a system that will manage a certain type of constituent for a human services nonprofit - the constituents (we call them participants) who make use of the services offered by the nonprofit. At this point, we are not interested in tracking members or donation. We have many (20-30) different programs that participants can enroll in, and each one of our programs has various activities associated with it. Participants can also enroll in activities. We also run one time events, which the CiviEvent module already addresses :) Currently, few of our participants have internet access so they will continue to use paper-based forms, which our staff will then enter into the CiviCRM system (i.e. it will be used only as an internal tool). In order to track the progression of our participants and the success of our programs, we have participants fill out surveys before and after engaging in a program or activity, so we are also looking at creating a custom module in order to store survey data (unless anyone knows of anything already available!). - We are interested in knowing any successes people have had trying to implement such a feature. 


Workflow:
1. Add participants into the system: we have added many custom data fields and these are working great BUT we are trying to either: remove some of the default sections ('demographics' for instance) OR update them with new fields. Is this possible? How would we go about it?
2. Add metadata for programs into the system (including program name, description, manager): since we are unable to create our own custom data types (i.e. individual, organization, etc), we're struggling with how to do this. It may be as simple as extending an existing type (organization, perhaps) to hold additional data, then creating a custom relationship so that individuals can be enrolled in programs. However, one of the things we would like to do is use the existing vocabulary - so instead of calling the data type 'organization', it would need to be renamed to 'program' (and 'individuals' to 'participants'). Is renaming these things possible?
3. Enroll individuals into programs
4. Enroll individuals into program-specific activities (which are basically the same as CiviCRM "events")
5. Enter survey data for participants

Another thing we are worried about is if we have to hack some of these things together (such as changing some of the default naming conventions) would updating to a newer version of CiviCRM remove that custom code?

Any help would be greatly appreciated, thank you for your time.

Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: CiviCRM for non profit
October 02, 2009, 09:45:28 am
At the "big picture" level, I'm wondering if you can use the CiviCase module to handle some (most?) of your workflow and data needs...
* Each program could be modeled as a "case type".

* You can define case roles (such as Program Manager) for each case type.

* You can define a timeline (expected schedule or set of "steps")  that a participant goes through for each program (i.e. each case type). Here's where I'm not familiar enough with your process to be sure how this might work, but for example:
- Enrollment and pre-survey (this would be the Open Case activity)
- Activity 1
- Activity N
- Completion and post-survey (this could be the Close Case activity)

* Since you can define sets of custom fields for each Activity Type - you can embed the surveys into the corresonding activity type forms.

This model seems to work best if the "activities" in the programs are scheduled and occur at individual moments for participants. If they are really more like mass participation events - the model might need more thinking / tweaking to see how it could fit. I'd be happy to do a Skype chat if you want to discuss this interactively (dave @ civicrm dot org to set a time).

RE your specific questions...
1. If you are using the "case model", you can create a specific "profile" with just the fields you need (including custom fields) that you'll use when entering a new participant in a program. You can also rearrange or remove fields in pretty much an form (e.g. new contact) by creating customized copies of the "template" used for that screen. You keep these in a separate "custom template" directory - to minimize effort on upgrades etc.

>> http://wiki.civicrm.org/confluence/display/CRMDOC/Customizing+CiviCRM+Screens

2. You can use the "translation" mechanism to create a translation which only transforms the key words you want to modify (e.g. Individual => Participant). In the next release (3.1) you will be able to define contact "subtypes" - so Participant can be a subtype of Individual, and can have it's own defined custom fields etc. (separate from Individual >> Staff / Program Manager for example).

>> http://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+Localisation
>> http://civicrm.org/node/626

3-5 could be handled via "New Case (for new or existing contact)", new case activity, and surveys embedded in the case as activity types.

Protect your investment in CiviCRM by  becoming a Member!

leapywca

  • Guest
Re: CiviCRM for non profit
October 07, 2009, 12:09:33 pm
Thank you Dave, this info was great!

We are now working with configuring CiviCRM for our non profit.  We did have one other question I was hoping you could help us with.  So each program will be modeled as a case type.  One of the things we want our system to be able to do is keep track of survey data. 

The surveys are anonymous so we would want to attach them to programs, not participants.  This would allow us to generate reports on survey answers for a particular program and would help our non profit in identifying common answers both in pre program surveys and post programs surveys.  I'm not sure that it is possible so I was wondering if you had any insight as to how this could be done.

Thank you again for your time.

Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: CiviCRM for non profit
October 07, 2009, 02:02:37 pm
One way to do this would be to create a custom report for this using the CiviReport framework. This will require PHP and SQL skills - but I think all the data you need to aggregate your survey responses by Program (e.g. case type) would be extractable from the DB (without pulling in respondent data).

Check this doc for a taste of what's involved:
http://wiki.civicrm.org/confluence/display/CRMDOC/CiviReport+structure+and+customization

You might also be able to generate reports by massaging the Export Cases data in Excel (via macros). You can create a saved Export mapping that grabs specific custom fields from case activities - so this might be enough to get some simple reports going.
« Last Edit: October 07, 2009, 02:09:45 pm by Dave Greenberg »
Protect your investment in CiviCRM by  becoming a Member!

leapywca

  • Guest
Re: CiviCRM for non profit
October 12, 2009, 12:25:11 pm
Hey Dave, I have another question I was hoping you could help with.  We are in the process of configuring CiviCase to handle our Programs (case types) and activities.  When we enroll an individual in a new case it is using the "Open Case" activity which custom data can be attached to.  My question is is it possible for custom data to be attached to different "Open Case"s depending on the Program?  For example when I change the case type from one type to another on the Open Case page the custom data would change depending on the case type chosen.  Any insight into making this functionality work would be greatly appreciated.


Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: CiviCRM for non profit
October 12, 2009, 04:17:35 pm
Pretty sure this would require some additional coding. An alternative approach would be to only collect info you need for all "case types" on the Open Case form (activity type = open case) - and then create a set of "intake" activity types - one for each program:

Intake - Program 1
Intake - Program 2
etc.

(the term intake may not be quite right for your setting, but hopefully clarifies the idea).

This way you can insert the appropriate "Intake - Program X" activity into each type of case - and it's ready to be filled out as a 2nd step. I suspect it's also possible to modify the redirect that occurs at the end of the post process on open case so it directs the user to the edit "intake X" activity form automatically. I suspect this would be simpler than trying to extend the open case form code to inject different sets of custom fields on change of the Case Type field.
Protect your investment in CiviCRM by  becoming a Member!

leapywca

  • Guest
Re: CiviCRM for non profit
November 06, 2009, 10:58:27 am
Quote from: Dave Greenberg on October 02, 2009, 09:45:28 am
* You can define case roles (such as Program Manager) for each case type.

Hey Dave, with regards to the above statement I was wondering if I could get some guidance.  I have roles set up for different functions within the system but what I want to do is define roles for each case type.  I want every role to be able to enroll someone in a case but only the manager for a specific case can actually view case specific data and activities.  I couldn't find where I can configure this within CiviCRM.  Any help would be greatly appreciated

Dave Greenberg

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 5760
  • Karma: 226
    • My CiviCRM Blog
Re: CiviCRM for non profit
November 06, 2009, 12:09:57 pm
First, there's some trickiness with regard to the word "Roles" here. My comment was about "case roles" - which are synonymous with CiviCRM "relationships" between the Case record and a CiviCRM contact record. There aren't any permissioning implications (yet) in CiviCase for these relationships.

Separately, Drupal "user roles" are permissioned. However these roles are global and probably not the right way to approach this.

So... I think what's needed is some extension(s) to the CiviCRM ACL system to handle this for Cases. I think it would be a useful feature in general. You could do some exploration of the ACL code and ping us on IRC to discuss approaches OR potentially sponsor (i.e. fund) the core team or a 3rd party developer to build it.
Protect your investment in CiviCRM by  becoming a Member!

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Pre-installation Questions (Moderator: Dave Greenberg) »
  • CiviCRM for non profit

This forum was archived on 2017-11-26.