Institutions
All Licenses
Create New License
Institution
License
Entitlements
Define catalog courses (named, ordered bundles of videos we sell) and curricula (ordered bundles of courses). This is the IntelliView product catalog — distinct from the tenant-side Curriculum Map. See docs/CATALOG-COURSES-DESIGN.md.
CSV with header row: course_id,video_id,sequence_number,required. sequence_number and required are optional (default: append-to-end, required=true). Courses must already exist. Used to load a large library quickly.
Videos in the library that aren't in any catalog course yet.
Tool Configuration (for LMS Admins)
Share these URLs with your institution's LMS administrator when they register IntelliView as an external tool in their LMS:
Registered LMS Deployments
Register New LMS Deployment
After the LMS admin registers IntelliView in their LMS, they'll get back a client_id and other platform details. Enter them here so our worker can verify launches from that LMS.
Course Rosters from LMS Launches
Each row is a course context an LMS has launched at least one student into. Rosters refresh automatically on each launch via Names & Roles Provisioning Service. Click a row to view members; use Refresh on a specific row to re-pull from the LMS now.
Curriculum Map
Tenant-owned curriculum graph: programs → courses → outcomes. Outcomes can be hierarchical via parent_id. Adapters reference the IRIs of these outcomes when mapping ingested activities to them.
Course readiness check
One-click "will this course's dashboards have data?" gauge — checks LMS mapping, enrollments, license entitlement, and whether mastery is rolling up (with the fix for anything red). Pick the tenant above, then a course.
Mastery reporting
Which mastery frameworks the faculty & program-director dashboards show for this tenant. CBEPT (APTA entry-level PT competencies) fits entry-level PT programs; Topic mastery (per-lecture mastery from quiz & exam performance) is discipline-agnostic and fits any program — e.g. post-professional PT or non-PT health-science programs where CBEPT doesn't apply. Both are on by default.
Programs
Courses
Outcomes
Cohorts
Academic Terms
Program Outcomes
Enrollments
Students
Import CSV data
Upload a CSV of exam scores, clinical evaluations, attendance, or assignment grades. Each row becomes one xAPI statement, resolved through the Activity Registry and forwarded to the LRS. Use Preview (dry run) first to validate the file without writing.
Latest result
Upload history
Activity ↔ Outcome alignment
Map ingested activities (Canvas assignments, exam items, attendance sessions, IntelliView videos) to your curriculum outcomes. Each mapping counts as evidence the intelligence layer rolls up to compute mastery per outcome. The list shows this tenant's own activities plus the shared catalog (global videos any licensed tenant can align). IntelliView videos aren't auto-registered — Register watched videos pulls the ones students watched into the shared catalog (registered once, alignable by every licensed university), then map each to its outcome(s).
Activities
AI-suggested mappings
The AI proposes outcome(s) for each unmapped activity. Nothing is saved until you click Accept — review every suggestion. Accepted mappings are recorded as ai_suggested with the suggestion's confidence as the weight.
Activity
Mastery rollup
Per-student per-outcome rollup. Computed on demand from xAPI statements (LRS) joined with activity-outcome mappings (Activity Registry) and the tenant's curriculum graph. Score is a weighted mean of statement.result.score.scaled using the mapping weight, taken across every statement that ties the student to the outcome.
Summary
Students
Student
Outcomes
Outcome
Accreditation standards
CBEPT competencies
Cohort comparison
Per-outcome mean mastery, broken out by cohort. The Delta column is max−min across cohorts — large deltas flag where one cohort is materially behind.
Risk scoring
V0 — mastery snapshot: builds on the V0.1 mastery rollup with rule-based flags. A student is flagged for: low average mastery, weakness in a critical-body-system outcome, sparse evidence (few outcomes evidenced), or low confidence. 2+ flags = high risk · 1 flag = medium · 0 flags = low. The thresholds below apply to V0.
V2 — engagement signals: the per-(student × course) model the Program Director dashboard uses. It scores seven decayed signals from raw xAPI — mastery deficit vs the course, overconfidence gap, low completion, rewatch spikes, unusually fast/slow answers, and heavy AI-tutor use. ≥4 points = high · 2–3 = medium. Shows one row per course a student has evidence in, with the signals that fired.
Adjust thresholds
Summary
At-risk students
Canvas LMS adapter
Pulls assignment grades from Canvas via the REST API and converts each graded submission to an xAPI statement. Per-tenant config: Canvas instance URL + admin API token + which course IDs to pull. Use Pull (dry run) first to see rendered statements without writing to LRS.
Configs
Latest pull result
Pull history
Orphaned Videos
An orphaned folder is a video that exists in R2 storage but has no entry in the library index — usually left by an import that wrote the media but failed before updating the index, or a Library delete that removed the index row but not the files. It's invisible in the Library yet still trips the import "already imported" check. This global-admin tool scans for orphans and lets you reindex them (re-add to the Library as in authoring) or delete the leftover files, with a dry-run preview first.
Open the Orphaned Videos tool →Ask-AI usage & estimated cost
One row per student Ask AI question routed to OpenAI, with the token usage OpenAI reports and an estimated USD cost (model pricing is approximate — reconcile against your OpenAI invoice). Metering is best-effort; if the proxy has no usage database bound yet, this reads empty.
1. Scope
2. Target
Advanced: curriculum tenant ID override
3. Preview / Result
4. Execute
below: