Purpose: Comprehensive comparison of all data management features to help choose the right tool for each scenario. Last Updated: 2026-02-01Documentation Index
Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
Use this file to discover all available pages before exploring further.
See Also: TERMINOLOGY.md for full glossary including wizards and templates.
Master Comparison Matrix
| Feature | Purpose | Storage | Scope | Use When |
|---|---|---|---|---|
| Picklists (PF-15) | Reusable dropdown values | pf_picklists + pf_picklist_items | Organization | Values used across multiple forms/entities |
| Custom Fields (PF-16) | Extend existing entity schemas | {table}.custom_fields JSONB | Organization + Entity | Adding metadata to existing entities |
| Field Configuration (PF-17) | Control field behavior | pf_entity_field_configs | Organization + Entity + Context | Visibility, required rules, ordering |
| Object Browser (PF-23) | Discover and manage objects | pf_object_metadata | Organization | Browse, categorize, favorite objects |
| Custom Objects (PF-24) | Create new entity types | pf_custom_objects + pf_custom_object_records | Organization | New entities with CRUD operations |
| Raw Data Editor (PF-25) | Browse and edit records | Core tables | Organization | View records, edit custom fields, export CSV |
| Form Builder (FW-01) | Data capture interfaces | fw_forms + fw_form_submissions | Organization | One-time data capture, workflows |
| Lookups (FW-15) | Dynamic dropdown from tables | Database tables | Database | Dropdown values from existing data |
| Form Wizards (FW-31) | Multi-step data capture | fw_forms.wizard_config | Organization | Guided form completion with steps |
| Module Wizards (PF-41) | Business process guidance | pf_wizard_templates | Organization | Onboarding, payroll, admissions |
| Workflow Templates (FW-28) | Reusable automation | fw_workflow_templates | Organization | Shareable workflow patterns |
| Document Templates (PF-64) | Printable PDFs | pf_document_templates | Organization | Policies, letters, reports |
Feature Relationship Diagram
Master Decision Tree
Detailed Feature Comparisons
Picklists vs Lookups vs Form Options
| Aspect | Picklists (PF-15) | Lookups (FW-15) | Form Options (FW-01) |
|---|---|---|---|
| Data Source | pf_picklist_items | Database tables | Form definition |
| Scope | Organization | Database/RLS | Single form |
| Management | Settings UI | Automatic | Form Builder |
| Reusable | β Yes | β Yes | β No |
| Dynamic | β Static | β Real-time | β Static |
| Example | Employment status | Departments list | Yes/No question |
Custom Fields vs Custom Objects
| Aspect | Custom Fields (PF-16) | Custom Objects (PF-24) |
|---|---|---|
| Purpose | Extend existing entity | Create new entity |
| Storage | JSONB column on entity | Separate table |
| Records | 1:1 with entity | Independent records |
| CRUD | Via entity | Full CRUD |
| Example | Badge number on employee | Clinical licenses |
Forms vs Custom Objects
| Aspect | Forms (FW-01) | Custom Objects (PF-24) |
|---|---|---|
| Purpose | Data capture | Entity management |
| Data Model | Form β Submissions | Object β Records |
| Lifecycle | Submit once | CRUD operations |
| Workflow | β Built-in | β Manual |
| Example | Intake form | License tracking |
Field Configuration vs Form Builder
| Aspect | Field Configuration (PF-17) | Form Builder (FW-01) |
|---|---|---|
| Purpose | Control field behavior | Build data capture forms |
| Scope | Entity fields | Form-specific fields |
| Visibility | Role-based | Everyone |
| Required | Context-based | Fixed |
| Example | Hide salary from staff | Create intake form |
Common Scenarios Quick Reference
βI need a dropdown for employment statusβ
β Picklist (PF-15) - Reusable across forms/entitiesβI need a dropdown of departmentsβ
β Lookup (FW-15) - Dynamic from hr_departments tableβI need Yes/No in this form onlyβ
β Form Options (FW-01) - Form-specific static optionsβI need to add badge number to employeesβ
β Custom Fields (PF-16) - Extend hr_employeesβI need to track clinical licensesβ
β Custom Objects (PF-24) - New entity typeβI need to hide salary from non-adminsβ
β Field Configuration (PF-17) - Role-based visibilityβI need to create an intake formβ
β Form Builder (FW-01) - Data capture with workflowβI need to see all employees and export to CSVβ
β Raw Data Editor (PF-25) - Browse and exportβI need to find what objects existβ
β Object Browser (PF-23) - Discover and categorizeWizard Comparison
Form Wizard vs Module Wizard
| Aspect | Form Wizard (FW-31) | Module Wizard (PF-41) |
|---|---|---|
| Purpose | Multi-step data capture | Business process guidance |
| Data Storage | fw_form_submissions | Module-specific tables |
| Step Types | Form fields only | Form, Custom, Review |
| Customization | Field configuration | Full step customization |
| Use Case | Surveys, intake forms | Onboarding, payroll |
When to Use Each Wizard
Use Form Wizard (FW-31) when:- You have a multi-page form that needs guided progression
- Data should go to form submissions table
- All steps are form fields (no custom components)
- Example: Resident intake, satisfaction survey
- Youβre building a business process (onboarding, payroll)
- Data should go to module-specific tables
- Steps need custom React components
- Organizations need to customize the wizard flow
- Example: Employee onboarding, resident admission
Template Comparison
Template Types
| Template Type | Spec | Purpose | Storage | Use Case |
|---|---|---|---|---|
| Workflow Templates | FW-28 | Automation patterns | fw_workflow_templates | Reusable workflows |
| Document Templates | PF-64 | Printable PDFs | pf_document_templates | Policies, letters |
| Form Templates | FW-01 | Clonable forms | fw_forms | Form patterns |
| Wizard Templates | PF-41 | Business wizards | pf_wizard_templates | Onboarding wizards |
| Spec Templates | - | Documentation | specs/_templates/ | Writing specs |
When to Use Each Template Type
Anti-Patterns to Avoid
β Using Picklists for Database Table Data
Problem: Creating picklist for departments when hr_departments existsSolution: Use Lookups (FW-15)
β Using Custom Objects for Entity Extension
Problem: Creating custom object to add badge number to employeesSolution: Use Custom Fields (PF-16)
β Using Custom Objects for Forms
Problem: Creating custom object for intake formSolution: Use Form Builder (FW-01)
β Using Custom Fields for New Entities
Problem: Adding βlicense_numberβ custom field when you need license trackingSolution: Use Custom Objects (PF-24)
β Using Form Builder for Entity Extension
Problem: Creating form to capture employee badge numberSolution: Use Custom Fields (PF-16) + entity form
β Using Field Configuration to Add Fields
Problem: Trying to add new field via field configurationSolution: Use Custom Fields (PF-16) first, then configure
β Using Form Wizard for Business Processes
Problem: Using FW-31 form wizard for employee onboardingSolution: Use Module Wizard (PF-41) - data needs to go to HR tables
β Using Module Wizard for Data Capture
Problem: Using PF-41 wizard for a survey or intake formSolution: Use Form Wizard (FW-31) - simpler, data goes to form submissions
β Using Workflow Template for Documents
Problem: Creating workflow template to generate PDF lettersSolution: Use Document Template (PF-64) for printable documents
β Using Document Template for Automation
Problem: Trying to automate approval flow with document templateSolution: Use Workflow Template (FW-28) for automation patterns
Integration Patterns
Pattern 1: Picklist β Custom Field β Field Config
Pattern 2: Custom Object β Form Reference
Pattern 3: Custom Fields β Raw Data Export
Related Documentation
Use Case Guides
- Picklists Use Case Guide
- Custom Fields Use Case Guide
- Field Configuration Use Case Guide
- Data Manager Use Case Guide
- Custom Objects Use Case Guide
- Forms Use Case Guide
Terminology & Analysis
- Terminology Glossary - Unified term definitions (including wizards & templates)
- PF/FW Documentation Review - Detailed terminology analysis
- Template Index - Spec template reference
Specifications
Last Updated: 2026-02-01