5.2 Discovery Framework Assessments & Question Versioning

Key Takeaways

  • The Discovery Framework is a core Industry Common Layer (ICL) engine that decouples dynamic, frequently changing public assistance intake questionnaires from fixed database schemas, preventing custom field proliferation across CRM objects.
  • The Discovery Framework data architecture separates abstract question concepts (AssessmentQuestion) from temporal, regulatory definitions (AssessmentQuestionVersion), grouping them into reusable bundles (AssessmentQuestionSet) and recording immutable constituent answers (AssessmentQuestionResponse).
  • Annual statutory policy updates and legislative revisions are managed by activating new Assessment Question Versions without modifying database schema, invalidating historical submissions, or requiring code refactoring.
  • Cross-program question reusability allows agencies administering multiple programs (such as SNAP, TANF, and Childcare Subsidies) to define universal questions once and evaluate them across disparate intake instruments.
  • Constituent responses are stored as immutable point-in-time legal records in AssessmentQuestionResponse for administrative fair hearings, while OmniStudio Data Mappers selectively synchronize required operational attributes into standard CRM records.
Last updated: September 2026

5.2 Discovery Framework Assessments & Question Versioning

Exam Focus: Public health and human services agencies operate under dynamic statutory environments. Legislative bodies alter welfare eligibility rules, asset limits, and deduction categories on an annual or biannual basis. In traditional CRM architectures, accommodating these frequent changes causes massive schema bloat, exhausting custom field limits and breaking historical data integrity. On the AP-222 exam, candidates must master the Discovery Framework—a foundational Industry Common Layer (ICL) capability—understanding its version-controlled data model, dynamic OmniStudio intake generation, declarative response mapping, and evidentiary legal auditability.


Discovery Framework Architectural Foundations

When constituents apply for public assistance, agencies must capture extensive, granular personal disclosures: household composition, gross wages, self-employment profits, child support disbursements, medical out-of-pocket expenses, utility heating sources, and vehicle market values.

The Schema Proliferation Anti-Pattern

In naive implementations, architects often attempt to satisfy these requirements by creating custom fields directly on the Case, Account, or IndividualApplication objects (e.g., Does_Applicant_Pay_Electric_Heat__c, Monthly_Medical_Expense_Elderly__c).

This pattern creates severe architectural pathologies in government systems:

  1. Custom Field Exhaustion: Social services screeners regularly contain 150 to 300 discrete questions. Adding hundreds of custom fields rapidly approaches platform schema limits.
  2. Historical Data Corruption: When the state legislature redefines what qualifies as an "allowable medical deduction" in 2027, modifying the existing custom field changes the historical interpretation of applications submitted in 2025 and 2026.
  3. Cluttered Page Layouts & Reporting Overhead: Case managers and intake workers are confronted with sprawling page layouts inundated with irrelevant fields, degrading usability and performance.

The Discovery Framework Solution

The Discovery Framework solves this fundamental challenge by treating questions and questionnaires as data and metadata, completely decoupled from the transactional database schema. Application questions are stored as discrete records, versioned across time, bundled into structured sets, and rendered dynamically via OmniStudio OmniScripts. Constituent submissions are recorded as atomic response records without adding a single custom field to the underlying Salesforce data model.

┌───────────────────────────────────────────────────────────────────┐
│            Assessment Question (Abstract Question Concept)        │
│    • DeveloperName: Constituent_Monthly_Gross_Earned_Income       │
│    • Category: Financial / Income                                 │
└─────────────────────────────────┬─────────────────────────────────┘
                                  │ 1:M
                                  ▼
┌───────────────────────────────────────────────────────────────────┐
│         Assessment Question Version (Point-in-Time Definition)    │
│    • Version 1.0 (2025 Mandate): Includes standard tips/overtime  │
│    • Version 2.0 (2026 Reform): Excludes gig-economy hazard pay   │
│    • Data Type: Currency    • Status: Active                      │
└─────────────────┬───────────────────────────────┬─────────────────┘
                  │ M:M (via junction)            │ 1:M
                  ▼                               ▼
┌─────────────────────────────────┐ ┌───────────────────────────────┐
│     Assessment Question Set     │ │ Assessment Question Response  │
│  • Bundle: SNAP Intake Screener │ │  • Actual constituent answer  │
│  • Section: Financial Resources │ │  • Response: $1,850.00        │
│  • Question Display Order       │ │  • Immutable historical proof │
└─────────────────┬───────────────┘ └───────────────┬───────────────┘
                  │                                 │
                  │ Renders Dynamically             │ Child of
                  ▼                                 ▼
┌───────────────────────────────────────────────────────────────────┐
│               Assessment (Intake Session Instance)                │
│    • Constituent: Maria Rodriguez (Person Account)                │
│    • Parent Record: IndividualApplication / Case                  │
│    • Assessment Status: Completed    • Date: 2026-10-04           │
└───────────────────────────────────────────────────────────────────┘

The Five Core Discovery Framework Objects

  1. AssessmentQuestion: The master entity representing the abstract question concept. It defines the developer API name, administrative category (e.g., Household Composition, Income Verification, Disability Support), and broad question type. It contains no text or data type definitions itself; it serves as the permanent umbrella for its historical versions.
  2. AssessmentQuestionVersion: The actionable, temporal definition of the question. It specifies:
    • Question Text & Help Text: The precise, statutory language presented to the citizen.
    • Data Type: Text, Number, Currency, Date, Boolean, Single-Select Picklist, or Multi-Select Picklist.
    • Response Values & Picklist Choices: Defined formula constraints, selectable options, or numeric ranges.
    • Status: Draft, Active, Deprecated, or Archived.
  3. AssessmentQuestionSet: A logical grouping or bundle that aggregates multiple AssessmentQuestionVersion records into a cohesive questionnaire or administrative intake instrument. For instance, an agency can create a Comprehensive Public Assistance Screener question set that bundles 80 questions across income, shelter, and medical categories.
  4. Assessment: The top-level transactional record representing an individual assessment session. It links directly to the citizen (AccountId / ContactId), the operational transaction (IndividualApplication, Case, or ProgramEnrollment), the assessment date, and the overall status (In Progress, Completed, Cancelled).
  5. AssessmentQuestionResponse: The atomic leaf record capturing the constituent's exact, point-in-time answer. It maintains a master-detail lookup to the parent Assessment and a lookup to the specific AssessmentQuestionVersion answered. Responses are stored in strongly typed fields (ResponseText, ResponseValueNumber, ResponseValueDate, or ResponseValueCurrency).
Discovery Framework ObjectKey Architectural RoleCritical FieldsOperational Governance
AssessmentQuestionCatalog master conceptDeveloperName, QuestionCategoryCreated once; never modified during annual policy updates
AssessmentQuestionVersionVersion-controlled prompt definitionQuestionText, DataType, Status, VersionNumberImmutable once activated; new versions created for legislative shifts
AssessmentQuestionSetForm questionnaire bundleName, DeveloperName, UsageTypeGroups questions into thematic intake sections and screening flows
AssessmentIntake session transactionAccountId, ParentRecordId, Status, AssessmentDateCreated per citizen application; anchors all submitted responses
AssessmentQuestionResponseImmutable constituent responseAssessmentId, AssessmentQuestionVersionId, ResponseValueWrite-once record; provides statutory legal audit evidence

Designing Dynamic Intake Questionnaires: Versioning & Branching

Public assistance questionnaires cannot present a monolithic, unyielding list of hundreds of queries to vulnerable citizens. The intake experience must be intelligent, dynamically revealing relevant questions based on prior answers, and accommodating changing legislative mandates seamlessly.

Legislative Policy Versioning Across Program Years

Consider a state human services agency administering energy and nutrition assistance:

  • 2025 Legislative Standard: The statute requires asking: "What is your total monthly shelter expense including rent and heating utility costs?"
  • 2026 Clean Energy & Utility Reform Act: The state legislature mandates decoupling electric heating costs from fossil fuel costs to qualify constituents for specialized clean energy subsidies. The new statute requires asking two discrete questions: "What is your monthly rent or mortgage payment?" and "What is your primary heating fuel source (Electric Heat Pump, Natural Gas, Propane, Heating Oil)?"

The Discovery Framework Implementation:

  1. The system administrator leaves the historical 2025 AssessmentQuestionVersion untouched in Deprecated status. All historical 2025 applications remain permanently linked to this version.
  2. The administrator generates a new AssessmentQuestionVersion (Version 2.0) for the shelter cost question with updated statutory wording.
  3. The administrator creates a new AssessmentQuestion and active AssessmentQuestionVersion for the heating fuel source.
  4. The administrator updates the Energy & Food Assistance Intake AssessmentQuestionSet to reference the new question versions.
  5. Zero schema alterations, zero data migration scripts, and zero downtime.

Dynamic Branching Logic in OmniStudio OmniScripts

The Discovery Framework is natively integrated with OmniStudio. When designing an intake journey:

  • Administrators configure the OmniScript utilizing pre-built Discovery Framework components (such as the Assessment LWC component) or declarative OmniScript Step elements driven by conditional views.
  • Conditional Execution Rules: Complex branching logic evaluates answers in real time:
    IF [Question: "Are you currently employed?"] == "Yes"
        THEN Show Step: [Questions: "Employer Name", "Pay Frequency", "Gross Monthly Pay"]
    ELSE IF [Question: "Are you receiving Unemployment Insurance?"] == "Yes"
        THEN Show Step: [Question: "Weekly Benefit Amount"]
    ELSE
        THEN Show Step: [Question: "Date Employment Ended", "Reason for Separation"]
    
  • Conditional rules prevent constituent confusion, reduce cognitive load, and drastically lower abandonment rates on public self-service portals.

Cross-Program Question Reusability

In traditional agency silos, a citizen applying for SNAP, TANF, and Medicaid must answer identical questions regarding household income, citizenship, and residential address three separate times. Under the Discovery Framework:

  • The agency defines AssessmentQuestion records for core socioeconomic metrics once.
  • These standardized questions are bundled into multiple distinct AssessmentQuestionSet records (e.g., SNAP Intake Screener, Medicaid MAGI Screener, Universal Social Services Screener).
  • Constituents answer the question once during universal intake, and the underlying responses are leveraged across all program eligibility determinations simultaneously.

Response Mapping: From Immutable Questionnaires to CRM Records

While storing constituent answers in AssessmentQuestionResponse records guarantees legal compliance and prevents schema proliferation, operational government workflows still require data in standard Salesforce CRM records. For example, case managers need updated telephone numbers on the constituent's Account, and social workers need active disability records linked to the constituent's profile.

Public Sector Solutions implements a Two-Tier Data Strategy to reconcile these conflicting requirements:

┌────────────────────────────────────────────────────────────────────────┐
│                     Constituent Intake Submission                      │
│             (OmniScript via Experience Cloud Citizen Portal)           │
└───────────────────────────────────┬────────────────────────────────────┘
                                    │
                                    ▼
┌────────────────────────────────────────────────────────────────────────┐
│                Tier 1: Immutable Evidentiary Record                    │
│  • Assessment: Assessment-2026-9812                                    │
│  • AssessmentQuestionResponse: [Income = $1,850.00]                    │
│  • AssessmentQuestionResponse: [UtilitySource = Electric Heat Pump]    │
│  • Status: Write-Once / Read-Only / Point-in-Time Audit Proof          │
└───────────────────────────────────┬────────────────────────────────────┘
                                    │
                                    │ Integration Procedure executes
                                    │ OmniStudio Data Mapper (Load)
                                    ▼
┌────────────────────────────────────────────────────────────────────────┐
│                Tier 2: Operational CRM Living Records                  │
│  • Person Account: Updates BillingAddress, Phone, Email                │
│  • Person Income Object: Inserts active monthly wage stream            │
│  • IndividualApplication: Populates categorical eligibility flags      │
│  • Business Rules Engine (BRE): Passes JSON payload into Expression Set│
└────────────────────────────────────────────────────────────────────────┘

Declarative Response Mapping Mechanics

  1. Integration Procedure Orchestration: When a constituent completes an intake assessment in OmniScript, the submission step triggers an Integration Procedure.
  2. Data Mapper Load Execution: The Integration Procedure invokes an OmniStudio Data Mapper Load. The Data Mapper extracts key answers from the AssessmentQuestionResponse payload and maps them to standard or custom objects:
    • Maps Applicant_Residential_Street and Applicant_Residential_Zip to Account.BillingStreet and Account.BillingPostalCode.
    • Maps Applicant_Monthly_Gross_Earned_Income to a related PersonIncome or Asset record.
    • Maps Household_Dependent_Count to the parent IndividualApplication record.
  3. Bi-Directional Prefill (Data Mapper Extract): When an enrolled constituent returns to submit an annual recertification or report a life event, a Data Mapper Turbo Extract queries existing CRM records and prepopulates the Assessment questions. The constituent simply reviews, confirms, or edits their prior answers, eliminating repetitive data entry.

Regulatory Compliance, Immutability & Administrative Fair Hearings

Public sector assistance administration is governed by rigorous constitutional and statutory due process mandates (such as Title IV-A of the Social Security Act and state Administrative Procedure Acts). When an agency denies an application or reduces an allotment, the constituent possesses an absolute legal right to request an Administrative Fair Hearing.

Evidentiary Burden in Legal Appeals

During an administrative appeal, the government agency bears the burden of proving that its adverse decision conformed strictly to the statute based on the applicant's sworn disclosures. In court or before an Administrative Law Judge (ALJ), the agency must produce:

  1. The exact, unedited question text presented to the applicant on the date of submission;
  2. The applicant's exact sworn response value;
  3. The date, timestamp, and digital attestation IP address; and
  4. Proof that the questionnaire definition has not been retroactively altered by subsequent administrative changes.

How Discovery Framework Enforces Legal Auditability

  • Immutable Version Binding: Every AssessmentQuestionResponse maintains a permanent foreign key lookup to the specific AssessmentQuestionVersion that was active when the citizen submitted the form. Even if an agency creates five subsequent versions of that question over the following decade, the historical response remains bound to Version 1.0.
  • Write-Once Enforcement: Platform security and validation rules automatically lock Assessment and AssessmentQuestionResponse records once the status transitions to Completed. Agency staff cannot modify historical answers.
  • Salesforce Shield Integration: For high-security state and federal deployments (such as IRS 1075 tax data protection or HIPAA health data), Discovery Framework entities are integrated with Salesforce Shield:
    • Platform Encryption: Encrypts sensitive responses (SSN, medical diagnoses, income figures) at rest in the database.
    • Field Audit Trail: Preserves complete field history and state changes for up to 10 years, complying with statutory public records retention schedules.
    • Event Monitoring: Tracks every user who views, exports, or queries constituent responses, detecting unauthorized access to confidential social safety net files.

💡 Real-World Exam Scenarios & Case Analysis

Scenario 1: Legislative Policy Revision to Vehicle Asset Limits

A state legislature passes an emergency budget act raising the allowable vehicle asset exemption for TANF cash assistance from $4,500 to $9,500, effective October 1. The statutory wording required on the application question changes from 'List the fair market value of all vehicles exceeding $4,500' to 'List the fair market value of all vehicles exceeding $9,500.' Over 40,000 historical applications submitted under the previous standard must remain fully auditable for upcoming federal compliance reviews.

What is the architecturally correct implementation in Public Sector Solutions?

  • Flawed Solution: Update the label and question text on the existing Question Version or update a custom field on the Case object. (Fatal Error: This corrupts the historical legal context of the 40,000 past applications).
  • AP-222 Best Practice: Clone the existing AssessmentQuestionVersion to create Version 2.0. Update the prompt text in Version 2.0 to reflect the $9,500 threshold and activate it with an effective date of October 1. Deprecate Version 1.0. Historical applications remain immutably linked to Version 1.0, while all new intake sessions automatically present Version 2.0.

Scenario 2: Universal Intake Screener with OmniStudio Response Mapping

A human services agency wants to deploy a 'No Wrong Door' citizen portal where constituents complete a single 45-question screening assessment. The system must evaluate eligibility for three distinct programs (Childcare Subsidies, SNAP, and Housing Choice Vouchers). Caseworkers insist that constituent address changes submitted during the assessment must update their master Person Account immediately, without manual re-typing.

How should the consultant architect the solution?

  • Configure a single AssessmentQuestionSet containing the 45 standardized questions.
  • Embed the question set within an OmniStudio OmniScript deployed on the citizen-facing Experience Cloud site.
  • On form submission, configure an Integration Procedure that simultaneously saves the raw immutable answers in AssessmentQuestionResponse records and triggers a Data Mapper Load to update the constituent's standard Account.BillingAddress fields.
Loading diagram...
Discovery Framework Architecture and Question Versioning Lifecycle
Test Your Knowledge

A state legislature modifies the statutory definition of 'allowable shelter deductions' for public assistance, requiring applicants to itemize heating fuel sources separately from base rent. Over 100,000 existing applications submitted under the previous statute must remain legally auditable for future federal reviews. How should the technical consultant implement this change in Public Sector Solutions?

A
B
C
D
Test Your Knowledge

Which Discovery Framework object is responsible for aggregating multiple version-controlled questions into a structured, thematic questionnaire for a specific welfare program?

A
B
C
D
Test Your Knowledge

An agency requires that answers captured during a citizen's online intake assessment—such as monthly wages and residential address—be stored immutably for legal appeals, but also immediately populate standard fields on the constituent's Person Account to prevent caseworker double-entry. What architectural pattern achieves both requirements?

A
B
C
D