Student Lifecycle Data Model

Overview

The Salesforce Education Cloud (EDA) data model supports higher education institutions, with particular focus on online and adult-learning programs. The model integrates with legacy student information systems (SIS) while supporting CRM workflows for admissions and student engagement.

Prerequisites

Required Knowledge:

Recommended Reading:

Core Data Model Decisions

Contact as Core Student/Applicant Record

Decision: Contacts serve as the primary person record for students and applicants

Rationale:

Implementation:

Program Enrollment Objects

Decision: Use Education Cloud Program Enrollment and Course Enrollment objects

Implementation:

Application Objects

Decision: Custom or standard Application objects represent one or multiple applications per student

Implementation:

Account for Programs

Decision: Accounts represent academic programs or institutions depending on the data model approach

Implementation:

Program and Enrollment Modeling

Program Modalities

Fields or Record Types for:

Implementation: Use fields or Record Types to differentiate program delivery modes

Program Levels

Fields for categorization:

Implementation: Use picklist fields or Record Types to categorize program levels

Special Program Types

Flags or fields for:

Implementation: Use boolean flags or picklist fields to identify special program characteristics

Enrollment Status and History

Tracking:

Application Tracking

Multiple Applications Per Student

Support:

Application Status Tracking

Statuses:

Implementation: Use picklist fields or Record Types to track application status

Program-Specific Metadata

Fields:

Application Checklists

Support:

SIS Integration Data Model

External ID Strategy

Pattern: External IDs mirror SIS primary keys

Composite External IDs

Pattern: Account-level external IDs using composite keys

Integration Job Tracking Fields

Standard fields on all integrated objects:

Derived Fields

Pattern: Computed fields from SIS data

Custom Fields and Structures

Non-Degree Application Types

Support:

Application Types for Program Groupings

Support:

Derived Fields from SIS Data

Examples:

Best Practices

Contact as Primary Person Record

Program Enrollment Modeling

Application Object Design

External ID Strategy for SIS Integration

Derived Field Patterns

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 the Education Cloud (EDA) data model?

A: The Education Cloud (EDA) data model supports higher education institutions, focusing on online and adult-learning programs. It integrates with legacy Student Information Systems (SIS) while supporting CRM workflows for admissions and student engagement. The model uses Contacts as core student/applicant records, Program Enrollment objects for program-level enrollments, and Application objects for application tracking.

Q: Why use Contact as the core student record instead of a custom object?

A: Use Contact because: (1) Consistent person record across Education Cloud implementations, (2) Supports both applicants and enrolled students (same record type), (3) Enables relationship modeling with programs and institutions, (4) Aligns with Education Cloud standard model, (5) Leverages standard Salesforce features (sharing, relationships). Contacts provide flexibility for student lifecycle management.

Q: How do I model program enrollments in Education Cloud?

A: Model enrollments by: (1) Program Enrollment object for program-level enrollments (Education Cloud standard), (2) Course Enrollment object for course-level enrollments (if needed), (3) Link enrollments to Contacts (students) and Accounts (programs), (4) Track enrollment status (Active, Completed, Withdrawn), (5) Track dates (start date, end date), (6) Support multiple active enrollments per student if institution allows.

Q: How do I handle applications in the student lifecycle model?

A: Handle applications by: (1) Application objects (custom or standard) representing applications per student, (2) Support multiple applications per student (different programs, different terms), (3) Include application fields (status, program, term, modality), (4) Link to Contacts (applicants) and Accounts (programs), (5) Support application checklists (required documents, tasks), (6) Track dates (submission date, decision date).

Q: How do I integrate with legacy Student Information Systems (SIS)?

A: Integrate with SIS by: (1) External IDs mirroring SIS primary keys (e.g., EMPLID on Contact), (2) Batch synchronization (high-volume batch sync patterns), (3) ETL platforms (Dell Boomi, MuleSoft for transformation), (4) File-based staging for large datasets, (5) Data reconciliation (ensure data consistency). External IDs enable stable record mapping and idempotent operations.

Q: What is the difference between Program Enrollment and Course Enrollment?

A: Program Enrollment tracks program-level enrollments (student enrolled in a program/degree). Course Enrollment tracks course-level enrollments (student enrolled in specific courses). Use Program Enrollment for program tracking, Course Enrollment for detailed course tracking. Both link to Contacts (students) and can link to Accounts (programs/courses).

Q: How do I model Accounts in Education Cloud?

A: Model Accounts as: (1) Academic programs (programs/degrees students enroll in), (2) Institutions (if multi-institution model), (3) Link to Program Enrollments (students enrolled in programs), (4) Link to Applications (applications to programs), (5) Support hierarchy (institution → program if needed). Account structure depends on institution model (single vs. multi-institution).

Q: How do I track student lifecycle stages?

A: Track lifecycle by: (1) Record Types on Contact (Applicant, Student, Alumni if needed), (2) Application status (tracking application stage), (3) Enrollment status (tracking enrollment stage), (4) Status fields (explicit status tracking), (5) Date fields (application date, enrollment date, graduation date). Lifecycle stages help track student progression from applicant to enrolled to alumni.

Q: When should I use the Education Cloud data model?

A: Use when: (1) Implementing higher education CRM (admissions, student engagement), (2) Supporting online/adult-learning programs (flexible enrollment models), (3) Integrating with legacy SIS (batch synchronization), (4) Tracking program enrollments (program-level tracking), (5) Managing applications (application tracking, multiple applications per student).

Q: What are best practices for Education Cloud data models?

A: Best practices include: (1) Use Contact as core student record (consistent with EDA model), (2) Use Program Enrollment objects (Education Cloud standard), (3) Use external IDs for SIS integration (mirror SIS primary keys), (4) Support multiple applications per student, (5) Track lifecycle stages (applicant → student → alumni), (6) Design for SIS integration (batch sync, reconciliation), (7) Maintain data quality (validation, duplicate prevention).

Edge Cases and Limitations

Edge Case 1: High-Volume SIS Synchronization

Scenario: Synchronizing hundreds of thousands of student records daily from legacy SIS, causing performance issues.

Consideration:

Edge Case 2: Multiple Applications Per Student

Scenario: Students applying to multiple programs simultaneously, creating complex application tracking.

Consideration:

Edge Case 3: Program Enrollment Status Changes

Scenario: Students changing enrollment status (active, inactive, graduated, withdrawn) requiring status tracking.

Consideration:

Edge Case 4: SIS External ID Format Changes

Scenario: SIS system changing external ID formats, causing integration failures or duplicate records.

Consideration:

Edge Case 5: Course Enrollment with Large Class Sizes

Scenario: Courses with hundreds or thousands of enrolled students, creating large Course Enrollment record sets.

Consideration:

Limitations