OSID Specifications
rules check package
Version 3.0.0
Release Candidate Preview
TitleRules Check Open Service Interface Definitions

The Rules Check OSID provides a means for managing and evaluating a series of Checks that comprise a business process. Inspired by the fine work at Kuali Student, this service manages the go/no-go business requirements that are often used within other OSID Providers.


A Check is an OsidRule that is to be evaluated. Check defines a few simple rules that can be managed directly.

  • time based check using dates
  • time based check using Events
  • time based checks using CyclicEvents
  • checks for Blocks in the Hold OSID
  • checks for Audits in the Inquiry OSID
  • checks for other processes

Other kinds of checks can be defined using the CheckRecord or by referencing an external Rule .


An Agenda represents a process and has a related set of Checks to perform. OSID Consumers can simply reference an Agenda Id .


Instructions are OsidRelationships used to relate a Check to an Agenda. Checks, once defined, can be reused among multiple Agendas. The Instruction provides the relationship along with information about how the Check is to be applied such as sequencing managed in the InstructionAdminSession, failed check messages, and processing control.

Instructions are also OsidEnablers managing the applicability of a Check. The Instruction may apply a Check at certain times, to certain Demographics of the target object , or based on a custom Rule .


In addition to retrieving all the Instructions for an Agenda in the InstructionLookupSession, the Rules Check OSID provides two additional services.

  • ProcessingSession: Retrieves a pertinent set of Instructions filtering out those Instructions not applicable to the target Demographic or date.
  • EvaluationSession: Performs the evaluation of applicable Checks in an Agenda and returns a set of statuses and messages. The eveluation accepts a Condition to supply additional data required by he Check as specified by the Check Rule.

Engine Cataloging

Checks, Instructions, and Agendas are organized into federatable OsidCatalogs called Engines.