Case Management Data Model

Overview

A comprehensive data model for public sector case management, supporting multi-agency public benefits and services portals. The model handles clients, external partner organizations, staff, cases, notices, and transactions within a single Salesforce org.

Prerequisites

Required Knowledge:

Recommended Reading:

Core Entity Model

Client Accounts/Contacts

Representation: Individual citizens/clients

Implementation:

External Partner (Provider) Accounts

Representation: Organizations that provide services on behalf of the state

Implementation:

External Partner Contacts

Representation: Staff working for provider organizations

Implementation:

Staff Contacts and Users

Representation: Internal employees managing cases and services

Implementation:

Cases

Representation: Primary records for ongoing service/benefits activity

Implementation:

Custom Notice Objects

Representation: Mirrors notices generated by external systems

Implementation:

Custom Transaction Objects

Representation: Mirrors transactions logged by external engines

Implementation:

Case Management Model

Intake from Multiple Channels

Channels:

Implementation:

Case Creation Tied to External IDs

Pattern: Case creation tied to external IDs from legacy eligibility systems

Implementation:

Status Tracking and Workflow Management

Implementation:

Assignment to Queues and Staff

Implementation:

Implementation:

Notice and Transaction Objects

Notice Object Structure

Fields:

Implementation:

Transaction Object Structure

Fields:

Implementation:

Identity and Linkage Fields

External System IDs

Purpose: Correlation with legacy systems

Implementation:

Portal User Identities

Purpose: Link portal users to Contacts and Cases

Implementation:

Cases to Notices and Transactions

Purpose: Link cases to external system outputs

Implementation:

Client to External Partner Relationships

Purpose: Track service provider assignments

Implementation:

Record Type Strategy

Account Record Types

Types:

Implementation: Use Record Types to distinguish between different account types

Contact Record Types

Types:

Implementation: Use Record Types to distinguish between different contact types

Case Record Types

Types: Different case types by service category

Implementation: Use Record Types to support different case workflows and processes

Field Design Patterns

Source System Fields

Pattern: Source system field (e.g., HIX, MA21, MMIS) - should be picklist

Implementation: Convert Text fields with limited values to Picklists for data quality

Role Fields

Pattern: Role field (Client, External Partner Eligibility Worker, Staff) - should be picklist

Implementation: Use picklists for role identification and data quality

Language Code Fields

Pattern: Language code field (ENG, etc.) - should be picklist

Implementation: Standardize language codes using picklists

Status Fields

Pattern: Status field (Printed, Hold, Release) - picklist

Implementation: Use picklists for status tracking and workflow management

Action Fields

Pattern: Action field (Hold, Release) - picklist

Implementation: Use picklists for action tracking and workflow automation

Data Quality Patterns

Field Description Quality

Standards:

Help Text

Pattern: Add help text for user-facing fields

Implementation: Provide guidance to users on field purpose and expected values

Picklist Conversions

Pattern: Convert Text fields with limited values to Picklists

Implementation: Improve data quality by using picklists for fields with limited valid values

Multi-Tenant Data Isolation

Record Type-Based Separation

Sharing Sets

Role Hierarchy

Field-Level Security

Best Practices

Case Object Design

Notice Object Modeling

Transaction Object Modeling

External System Integration Fields

Multi-Tenant Data Isolation

Tradeoffs

Advantages

Challenges

When to Use This Model

Use this data model when:

When Not to Use This Model

Avoid this model when:

Q&A

Q: What is a case management data model for public sector?

A: A case management data model for public sector supports multi-agency public benefits and services portals. It handles: (1) Clients (citizens/clients accessing services), (2) External partner organizations (service providers), (3) Staff (internal employees managing cases), (4) Cases (service requests, benefits applications), (5) Notices and transactions (from external systems). The model supports multiple user types with different identity providers and access patterns.

Q: How do I separate different user types in a case management model?

A: Separate user types by: (1) Record Types on Account/Contact (client vs. external partner vs. internal staff), (2) Different identity providers (OIDC for clients, SAML for staff, organization tenant for partners), (3) Sharing rules (data visibility per user type), (4) Portal experiences (Experience Cloud for clients, internal Service Cloud for staff), (5) Login handlers (route users to appropriate experiences).

Q: How do I model external partner organizations in case management?

A: Model external partners by: (1) Separate Account Record Type for external partners, (2) Link to external partner staff through Contact relationships, (3) Support multiple partners per client (client can have multiple service providers), (4) External partner performance tracking (track provider performance), (5) Organization tenant identity (external partner staff use organization tenant identity provider).

Q: How do I handle cases in a multi-tenant case management model?

A: Handle cases by: (1) Case object for service requests and benefits applications, (2) Link cases to clients (Contact relationships), (3) Link cases to external partners (if applicable), (4) Link cases to staff (case assignment, ownership), (5) Case sharing rules (clients see their cases, partners see assigned cases, staff see based on sharing), (6) Case status tracking (track case progression).

Q: How do I integrate with external benefits/eligibility systems?

A: Integrate by: (1) External system IDs (correlate Salesforce records with external systems), (2) Notices object (track notices from external systems), (3) Transactions object (track transactions from external systems), (4) Integration jobs (batch or real-time synchronization), (5) Data reconciliation (ensure data consistency). External IDs enable stable record mapping.

Q: What is the difference between client Accounts and external partner Accounts?

A: Client Accounts represent individual citizens/clients (potentially person-style accounts for 1:1 Account-Contact relationships). External partner Accounts represent organizations providing services (separate Record Type, link to partner staff, support multiple partners per client). Use Record Types to differentiate and apply different sharing rules and access patterns.

Q: How do I track notices and transactions from external systems?

A: Track by: (1) Notices object (track notices received from external systems), (2) Transactions object (track transactions from external systems), (3) Link to Cases (associate notices/transactions with cases), (4) External system IDs (correlate with external systems), (5) Integration tracking (track when notices/transactions were received). Notices and transactions provide audit trail and integration tracking.

Q: How do I ensure data isolation between user types?

A: Ensure isolation by: (1) Record Type-based separation (different Record Types per user type), (2) Sharing rules (restrict data visibility per user type), (3) Field-level security (control field access per user type), (4) Portal sharing (Experience Cloud sharing for clients), (5) Login handlers (route users to appropriate experiences). Data isolation is critical for multi-tenant models.

Q: When should I use this case management model?

A: Use when: (1) Implementing public sector case management (multi-agency, public benefits), (2) Supporting multiple user types (clients, external partners, staff), (3) Integrating with external systems (benefits/eligibility systems), (4) Tracking notices and transactions (from external systems), (5) Requiring multi-tenant data isolation (different access per user type).

Q: What are best practices for case management data models?

A: Best practices include: (1) Use Record Types to separate user types, (2) Implement sharing rules for data isolation, (3) Use external IDs for integration, (4) Track external system data (notices, transactions), (5) Support multiple identity providers (OIDC, SAML, organization tenant), (6) Design for scalability (handle large case volumes), (7) Maintain data quality (validation, duplicate prevention).

Edge Cases and Limitations

Edge Case 1: Multi-Tenant Data Isolation Verification

Scenario: Verifying that data isolation between user types (clients, external partners, staff) is working correctly.

Consideration:

Edge Case 2: High-Volume Case Creation

Scenario: Creating thousands of cases from external systems or bulk operations, causing performance issues.

Consideration:

Edge Case 3: Complex Case Relationships

Scenario: Cases with many related records (notices, transactions, case comments, attachments) creating large data volumes.

Consideration:

Edge Case 4: External System Integration Failures

Scenario: Integration failures with external benefits/eligibility systems, causing data inconsistency.

Consideration:

Edge Case 5: Notice and Transaction Volume

Scenario: High-volume notices and transactions from external systems, creating large data volumes.

Consideration:

Limitations