Overview
The@timeback/qti package provides a client for the QTI (Question and Test Interoperability) API, enabling:
- Assessment Items: Query and manage question items
- Assessment Tests: Query tests with nested structure
- Stimuli: Query shared content for questions
- Lessons: Submit and retrieve lesson feedback
- Validation: Validate QTI XML content
Installation
Quick Start
Assessment Items
List & Get Items
Create, Update, Upsert & Delete
The calls below show method usage, with app-supplied payload variables. JSON item writes requiretitle and type; test writes require a qti-test-part array; stimulus writes require a content string. Update schemas are not arbitrary partial objects. For an XML item, use createFromXml({ format: 'xml', xml }) with complete QTI XML. The process-response body identifies a response declaration (for example RESPONSE), in addition to the item ID in the path.
Assessment Tests
Test Parts
Assessment tests contain test parts, which contain sections:Sections
Sections live within a test part:Section Items
Manage items within a section:Stimuli
Stimuli are shared content blocks referenced by multiple items:upsert() is available on all three writable QTI resources.update(id, data): strict (throws if the resource doesn’t exist)upsert(id, data): loose (creates the resource if it doesn’t exist)
Lessons
Submit and retrieve lesson feedback:Validation
Validate QTI XML content:
Returns
{ valid: boolean, errors?: string[] }
Item Types
These are QTI interaction concepts, not a guarantee that every renderer and grading mode implements them. Confirm support in your selected player and response processor:Next Steps
PowerPath
Adaptive assessments
OneRoster
Link assessments to gradebook
Types
QTI type definitions