Skip to end of metadata
Go to start of metadata

Name: Create new case

Identifier: UC 02

Basic course of action

  • User logs in to CiviCRM / Selects CiviCASE.
  • User locates a contact, or creates a contact.  This contact is presumed to be the one that will become the "client" of this case.
    • For physician health cases, the client is sometimes non-nominal, or "anonymous".  What this means is that prior to the creation of a case, the user must create a contact that will be assigned the role of "client" in the case.
  • User creates an activity.
  • User selects "create case" or "open new case"
  • User selects case type.
  • System prompts user to assign the roles (relationships) that are allowed / required for this type of case.
    • User assigns a contact to any of the roles that are known. 
    • System creates an activity for each of these role assignments.
  • User chooses the CiviCRM-Contact that will become the"coordinator".  This assignment defaults to the current user.
  • System populates a list of expected milestones (i.e. steps and activities that are envisioned to take place in the case, all of which acquire status=planned. Because milestones are/can be associated with a role, this step should probably take place after the roles have been assigned).  These system generated activities are automatically associated with the case.
  • SCENARIO 1 - There are no other activities associated with this contact (who is now the client)
    • User is done.
  • SCENARIO 2 - There are other activities associated with this contact (who is now the client) (It's possible that this could be a separate use case, but I'm describing it as a scenario within this one)
    • User chooses the activities that should be associated with the case.   They may have been created in the past prior to the decision to create a case, but now need to be associated with the case.
    • User clicks "associate activities with this case"
Links to discussion & other sources
  • Creating the case and creating the first activity or milestone within the case should be seamless, and give the appearance of happening in one step.Xavier Dutoit
  • The system should store a sequence of planned activities associated with each type of case. When the case type is initially assigned, this set of planned activities is instantiated, and associated with the case. Xavier Dutoit
Labels:
  1. Oct 23, 2008

    D D

    I just wanted to document some discussion around case creation and intake forms, mostly in an attempt to get my head around it.

    I think no matter which organization you are when a case is created there's some initial information you need to gather. If we define the term "Questionnaire" to be a generalization of this type of form that could happen at any time during the case, then within civicase we have two choices for how that can be done:

    1) Define an activity, e.g. "Intake Questionnaire", and put all the questions on it as custom fields.

    2) Define multiple activities, each one containing a single question or group of related questions, and configure them as an Activity Set, e.g. called "Intake Questionnaire".

    The advantage to the first one is that it fits in better with most people's concept of filling out a form, where it's all on one page. Custom functionality based on the fields can be put into the associated php file (with possibly a separate config file mapping the custom field names so that you don't hard code the custom field names into the php code). You can search and report on these fields if needed too.

    One disadvantage is that suppose you had one of those custom fields configured as an activity as well, for other use. The custom functionality for that activity would need to make a call in the php code for that activity, as well as in the php code for the questionnaire activity. It's not difficult to deal with this, just it might be better not to even have that.

    The advantage to the second one is that it fits in with the ideas behind having activities and activity sets, specifically that you can prepopulate a set on the case, which gives the user a pre-built todo list. Or that you can easily define multiple questionnaires and possibly re-use some of the existing questions by just creating another activity set in the config file.

    Also I think that the custom functionality required when a case is created is going to be highly dependent on each individual organization, so it seems better to me to use the more granular approach and let them mix and match from some more granular activities, rather than having several separate "intake" forms with their own custom code which might share some code with other intake forms.

    Note also that setting the case type is an activity that would often get done as part of the intake questionnaire, near the end of it, which would then prepopulate some more activities (todos), so this reinforces the notion that we need an activity set, rather than custom fields.

    The disadvantage is that there is currently no convenient UI within civicrm to allow them to enter the data without individually editing each activity. In the situation where the population has been done because of a set or change of case type, that's fine because they're usually upcoming todos over time. But at intake time it's a bunch all at once.

    So one possibility is that there is the case audit/review feature (http://wiki.civicrm.org/confluence/display/CRM/In-depth+case+audit). It could be modified to provide the necessary UI, although it wouldn't be the ideal one. The idea is there would be a default case type that every case gets on creation, and configure that case type to prepopulate the case with the "intake questionnaire" activity set. Then the system could automatically run the review for incomplete activities. Not being familiar enough with civicrm I'm not sure how this would integrate, but one possibility is that the review would pop up in a floating window, and the edit links along the left hand pane of the audit window would link to the main window, so you could click the first one, edit it in the other window, click save, then return to the floating window and click the second one, etc...

  2. Oct 23, 2008

    Excellent distillation of the essential dilemma we're facing.  I look forward to discussing this in some depth when we get together in person next week in SF.  Just want to clarify that your references to php in the comment above refer to "pre-hypertext processor: a programming language" rather than "Physician Health Program(s)".  Maybe if we mean the computer language we could agree to do as you've done and use php, whereas if we mean Physician Health Programs we could use the all-caps version PHP?

    1. Oct 23, 2008

      D D

      Thanks. Yes, php the language. Maybe use all caps with periods (P.H.P.) for the Physician Health Program?


Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.