CiviCase - Feasibility Phase Report
Draft report on determining the feasibility of implementing a case management component for CiviCRM which will meet the requirements and the Physicians Health Program of British Columbia (PHP-BC). Status as of September 12, 2008 |
Summary of Findings
The feasibility investigation has provided the CiviCRM engineering team with a conceptual framework and sufficient details on PHP-BC requirements to develop a detailed Scope of Work document for Phase 1. Based on our current understanding of the requirements, we feel that the existing core data model provides a solid foundation for the case management feature-set. The existing Contact, Case, Activity and Relationship objects, along with custom data functionality cover a large portion of the defined data storage needs. Modifications and extension will be needed in the following areas:
- Flexible configuration of Case timelines and requirements by case type
- Extend Relationships so they can be used to connect service providers and other stakeholders to Cases
- Modify Activity editing and viewing to support audit trail and data redaction features
- Role-based permissioning at the Case and Activity levels
- Case dashboard providing logged in user at-a-glance status and quick access to their open cases and upcoming scheduled activities
- Basic search and filtering functionality for Cases and Activities within Cases
Finally, based on the proposed design and information we have about data sizes, we do not believe that there are architectural OR scaling obstacles to implementing Phase 1. Pending timely approval of the Phase 1 Scope of Work, CiviCRM can deliver an integrated CiviCase component as part of the next CiviCRM release (2.2).
Outputs
During the feasibility phase, the following outputs where produced:
- Requirements Document - Defines overall approach and concepts
- Mapping to CPHN Data Elements - Provides a framework for understanding how the proposed "activity stream" data model could be used to capture and store required data
- CiviCase - Metadata and Configuration - Spreadsheets define the configuration parameters which will be needed to control case creation, case review, and custom data by activity type.
- CiviCase - Data Objects and Properties - Defines CiviCRM schema changes needed for Phase 1
- Screen Mockups - Partial set of screen mockups
- Phase 1 Scope of Work
Cost Estimates
Delivery of Phase 1 will require between 400 - 500 hours of design, development and testing by the CiviCRM team. Because the end product will be included in the core distributions, we will bill at $75 USD per hour, which is a 25% discount of our standard rate. We will invoice PHP-BC for hours worked up to a maximum of $37,500 USD. We will absorb any costs above this amount unless there is are change requests from PHP-BC which increase the scope of the project.
Next Steps
- CiviCRM invoices PHP-BC for work on the feasibility phase.
- PHP-BC reviews the draft Phase 1 Scope of Work, and recommends needed modifications. Final feature selection should be based entirely on providing a solution that can be used in production at PHP-BC, rather than feature-completeness. Features which do not serve this objective should be pushed to Phase 2 - and the "final" Phase 2 Scope of Work should be defined based on user and organization experience with Phase 1.
- Consulting Agreement for Phase 1 work signed by both parties, with up-front payment due net 30 days, covering the first 100 hours of this phase ($7,500 USD).
- CiviCRM will commence development work once the Phase 1 agreement is executed.
- PHP-BC will need to continue working with the CiviCRM team to flesh out some design issues, develop missing screen mockups, and provide a more complete set of Case Configuration and Activity metadata.
- A Business Process Mapping meeting will be held in October to review and validate the specifications.
- Project meeting will be held in San Francisco in late October with at least one PHP-BC staff person to review work in progress.
- PHP-BC will provide resources to do iterative review of screens and forms as they become available. PHP-BC staff will also perform a acceptance testing cycle once alpha code has been released, as well as usability testing with people who will be using the live system.
