ILC Data Dictionary - Landing Zone Open Schema
Overview
This directory contains data dictionary documentation for ILC (Imagine Learning Classroom) tables in the WELD_NORTH_PROD.LANDING_ZONE_OPEN schema.
JIRA Ticket: DP-3160 - Integrate new ILC data dictionary info into DataDictionary Repo
Schema Information
- Database:
WELD_NORTH_PROD - Schema:
LANDING_ZONE_OPEN - Source System: ILC (Imagine Learning Classroom)
- Tables: 15 tables
- Columns: 197 columns documented
Tables
Core Entity Tables
ILC_CUSTOMERS (32 columns)
ILC customer organizations and sites - Row Count: 1,875 - Key Fields: ID (PK), NAME, SUBDOMAIN, SITE_TYPE - Purpose: Stores customer organization information including site configuration and settings
ILC_USERS (25 columns)
ILC users including students, teachers, and administrators - Row Count: 7,781,390 - Key Fields: ID (PK), CUSTOMER_ID (FK), EMAIL, USERNAME, ROLE - Purpose: Central user registry for all ILC users across different roles - Roles: 1=Global Admin, 2=Teacher, 4=Site Admin, 5=Student, 6=Author, 7=School Admin, 8=Customer Admin, 10=Customer Viewer
ILC_SCHOOLS (6 columns)
ILC schools within customer organizations - Row Count: 12,956 - Key Fields: ID (PK), CUSTOMER_ID (FK), NAME - Purpose: School entities within customer organizations
Class & Assignment Tables
ILC_KLASSES (13 columns)
ILC classes (klasses) - Row Count: 6,139,908 - Key Fields: ID (PK), NAME, CUSTOMER_ID (FK), ACTIVE, GRADE_LEVEL_CODES - Purpose: Class/course sections where students are enrolled - Note: ACTIVE=false means class is archived
ILC_TEACHER_KLASSES (6 columns)
Association between teachers and classes - Row Count: 8,404,196 - Key Fields: ID (PK), TEACHER_ID (FK), KLASS_ID (FK) - Purpose: Many-to-many relationship between teachers and classes
ILC_USER_SCHOOLS (5 columns)
Association between users and schools - Row Count: 6,701,599 - Key Fields: ID (PK), USER_ID (FK), SCHOOL_ID (FK) - Purpose: Links users to their schools
Content & Assignment Tables
ILC_LESSON_PLANS (23 columns)
ILC lesson plans and instructional content - Row Count: 919,389 - Key Fields: ID (PK), TITLE, LESSON_TYPE - Purpose: Instructional content and lesson materials - Lesson Types: - 0 = Lesson Plan (full lesson) - 1 = Instructional Video - 2 = Assessment - 3 = Activity - Note: Types 0, 2, and 3 typically have digital items
ILC_LZ_CODES (14 columns)
ILC assignments (lz_codes) - Row Count: 3,440,442 - Key Fields: ID (PK), CODE, USER_ID (FK), CUSTOMER_ID (FK), LZ_CODEABLE_ID (FK), LEARNOSITY_ACTIVITY_ID - Purpose: Assignment definitions created by teachers - Note: ACTIVE=false means assignment is archived
ILC_LZ_CODE_VIEWS (21 columns)
Student interactions with assignments - Row Count: 105,798,216 - Key Fields: ID (PK), STUDENT_ID (FK), LZ_CODE_KLASS_ID (FK), LEARNOSITY_SESSION_ID - Purpose: Tracks student engagement with assignments including timing and completion - Important: Use LZ_CODE_KLASS_ID to link to assignments (ACTIVITY_ID is deprecated) - Timing Fields: - CREATED_AT: When student first loaded assignment - VIEWED_AT: When assignment was viewed - LAST_ANSWERED_AT: When student last interacted - OPEN_AT: When teacher opened for student - CLOSE_AT: When teacher closed for student - RETURN_AT: When teacher returned (optional)
ILC_LZ_CODE_KLASSES (6 columns)
Association between assignments and classes - Row Count: 5,473,734 - Key Fields: ID (PK), LZ_CODE_ID (FK), KLASS_ID (FK) - Purpose: Many-to-many relationship between assignments and classes
Assessment & Scoring Tables
ILC_DATA_DASHBOARD_ITEM_SCORES (10 columns)
Item-level scoring insights used to build data dashboard materialized views - Row Count: 157,040,736 - Key Fields: ID (PK), LEARNOSITY_SESSION_ID, LEARNOSITY_ITEM_REFERENCE, SCORE, MAX_SCORE - Purpose: Item-level scoring data from Learnosity assessments - Note: IS_GRADED = true when assignment is closed and all items have scores or are unattempted - Warning: STANDARDS field is legacy and will be removed - do not use
Standards & Alignment Tables
ILC_STANDARDS (14 columns)
Educational standards (Common Core, state standards, etc.) - Row Count: 68,372 - Key Fields: ID (PK), STANDARD_INITIATIVE_ID (FK), CODE, NAME, SUBJECT_CODE - Purpose: Educational standards aligned to content - Subjects: math, ela
ILC_STANDARD_INITIATIVES (10 columns)
Standard initiatives (e.g., Common Core, state-specific standards) - Row Count: 55 - Key Fields: ID (PK), NAME, ACRONYM - Purpose: Standard frameworks and initiatives
ILC_LESSON_PLAN_STANDARDS (7 columns)
Association between lesson plans and educational standards - Row Count: 5,171,746 - Key Fields: ID (PK), STANDARD_ID (FK), LESSON_PLAN_ID (FK) - Purpose: Links lesson plans to aligned standards
ILC_LEARNOSITY_ITEM_STANDARDS (5 columns)
Association between Learnosity items and educational standards - Row Count: 3,004,458 - Key Fields: ID (PK), LEARNOSITY_ITEM_ID (FK), STANDARD_ID (FK) - Purpose: Links assessment items to standards
Data Relationships
Key Entity Relationships
ILC_CUSTOMERS
├── ILC_USERS (via CUSTOMER_ID)
├── ILC_KLASSES (via CUSTOMER_ID)
├── ILC_SCHOOLS (via CUSTOMER_ID)
└── ILC_LZ_CODES (via CUSTOMER_ID)
ILC_USERS
├── ILC_LZ_CODES (via USER_ID - creator)
├── ILC_LZ_CODE_VIEWS (via STUDENT_ID)
├── ILC_TEACHER_KLASSES (via TEACHER_ID)
└── ILC_USER_SCHOOLS (via USER_ID)
ILC_KLASSES
├── ILC_TEACHER_KLASSES (via KLASS_ID)
└── ILC_LZ_CODE_KLASSES (via KLASS_ID)
ILC_LESSON_PLANS
├── ILC_LZ_CODES (via LZ_CODEABLE_ID)
└── ILC_LESSON_PLAN_STANDARDS (via LESSON_PLAN_ID)
ILC_LZ_CODES (Assignments)
└── ILC_LZ_CODE_KLASSES (via LZ_CODE_ID)
└── ILC_LZ_CODE_VIEWS (via LZ_CODE_KLASS_ID)
└── ILC_DATA_DASHBOARD_ITEM_SCORES (via LEARNOSITY_SESSION_ID)
ILC_STANDARDS
├── ILC_STANDARD_INITIATIVES (via STANDARD_INITIATIVE_ID)
├── ILC_LESSON_PLAN_STANDARDS (via STANDARD_ID)
└── ILC_LEARNOSITY_ITEM_STANDARDS (via STANDARD_ID)
Important Notes
Data Provenance
- All data originates from the ILC (Imagine Learning Classroom) PostgreSQL database
- Data is loaded into Snowflake LANDING_ZONE_OPEN schema
- See ILC GitHub Schema for source definitions
Deprecated Fields
ILC_LZ_CODE_VIEWS.ACTIVITY_ID- Not used anymore, use LZ_CODE_KLASS_ID insteadILC_DATA_DASHBOARD_ITEM_SCORES.STANDARDS- Legacy field, will be removed
Fields Not in Snowflake
The following tables from ILC are NOT available in Snowflake:
- data_dashboard_sessions - Assignment-level insights
- data_dashboard_items - Item-level insights (different from ILC_DATA_DASHBOARD_ITEM_SCORES)
User Roles
ILC user roles (from ROLE field): - 1 = Global Admin (internal role) - 2 = Teacher - 4 = Site Admin - 5 = Student - 6 = Author - 7 = School Admin - 8 = Customer Admin (internal role) - 10 = Customer Viewer (internal role)
Site Types
ILC customer site types (from SITE_TYPE field): - 0 = Content Internal - 1 = Content Partner - 2 = Customer - 3 = Demo - 4 = Internal - 5 = Technology Partner - 6 = Pilot
Lesson Types
ILC lesson plan types (from LESSON_TYPE field): - 0 = Lesson Plan (full lesson) - typically has digital items - 1 = Instructional Video - 2 = Assessment - typically has digital items - 3 = Activity - typically has digital items
Usage Patterns
Finding Student Assignment Activity
-- Get student assignments and their completion status
SELECT
u.USERNAME,
k.NAME as CLASS_NAME,
lp.TITLE as LESSON_TITLE,
lcv.CREATED_AT as FIRST_ACCESSED,
lcv.LAST_ANSWERED_AT,
lcv.OPEN_AT,
lcv.CLOSE_AT
FROM ILC_LZ_CODE_VIEWS lcv
JOIN ILC_USERS u ON lcv.STUDENT_ID = u.ID
JOIN ILC_LZ_CODE_KLASSES lck ON lcv.LZ_CODE_KLASS_ID = lck.ID
JOIN ILC_LZ_CODES lc ON lck.LZ_CODE_ID = lc.ID
JOIN ILC_LESSON_PLANS lp ON lc.LZ_CODEABLE_ID = lp.ID
JOIN ILC_KLASSES k ON lck.KLASS_ID = k.ID
WHERE u.ID = <student_id>
ORDER BY lcv.CREATED_AT DESC;
Finding Teacher Classes and Students
-- Get all classes for a teacher
SELECT
t.EMAIL as TEACHER_EMAIL,
k.NAME as CLASS_NAME,
k.GRADE_LEVEL_CODES,
COUNT(DISTINCT lcv.STUDENT_ID) as STUDENT_COUNT
FROM ILC_TEACHER_KLASSES tk
JOIN ILC_USERS t ON tk.TEACHER_ID = t.ID
JOIN ILC_KLASSES k ON tk.KLASS_ID = k.ID
LEFT JOIN ILC_LZ_CODE_KLASSES lck ON k.ID = lck.KLASS_ID
LEFT JOIN ILC_LZ_CODE_VIEWS lcv ON lck.ID = lcv.LZ_CODE_KLASS_ID
WHERE t.ID = <teacher_id>
GROUP BY t.EMAIL, k.NAME, k.GRADE_LEVEL_CODES;
Finding Standards Alignment
-- Get standards aligned to lesson plans
SELECT
lp.TITLE as LESSON_TITLE,
si.ACRONYM as STANDARD_FRAMEWORK,
s.CODE as STANDARD_CODE,
s.NAME as STANDARD_TEXT,
s.SUBJECT_CODE
FROM ILC_LESSON_PLANS lp
JOIN ILC_LESSON_PLAN_STANDARDS lps ON lp.ID = lps.LESSON_PLAN_ID
JOIN ILC_STANDARDS s ON lps.STANDARD_ID = s.ID
JOIN ILC_STANDARD_INITIATIVES si ON s.STANDARD_INITIATIVE_ID = si.ID
WHERE lp.ID = <lesson_plan_id>;
Sync to METADATA_CATALOG
To sync these markdown files to the Snowflake METADATA_CATALOG:
This will create 197 records in DATA_GOVERNANCE.DATA_DICTIONARY.METADATA_CATALOG with:
- SCHEMA_NAME = 'landing_zone_open'
- TABLE_NAME = lowercase table names (e.g., 'ilc_customers')
- COLUMN_NAME = UPPERCASE column names (e.g., 'ID')
Documentation Source
- ILC Team Guidance Document (August 2024)
- ILC GitHub Repository: https://github.com/LearnZillion/learnzillion
- ILC Postgres ER Diagram
- Internal ILC data model documentation
Maintainer
Data Platform Team - Imagine Learning
Last Updated: December 15, 2025 JIRA: DP-3160