| AssignedCourse | 
 | 
| AssignedModules | 
 | 
| BaseEntity | 
  | 
| BaseOwnershipEntity | 
  | 
| BaseTimestampedEntity | 
  | 
| CallDetailRecord | 
 This class is used for storing the IVR callback. 
 | 
| CallFlowElement | 
 This class is a base class for all IVR interactive classes (e.g. 
 | 
| CallFlowElementLog | 
 This abstract class is used as a base class for IVR system event response
        (e.g. 
 | 
| Choice | 
 It represents one of the possible choices in the Multiple Choice Question
        (it can have many choices) and later it's used in Multiple Choice Question Log to
        show which response was chosen in the call. 
 | 
| CommunityHealthWorker | 
 This class represents a person who serves health services to a certain community (social cell)
      and takes responsibility to contact a medical infrastructure making phone calls to
      interactive phone system IVR. 
 | 
| Course | 
This class represents higher level entity that contains  Modules.  
 | 
| CourseModule | 
 | 
| District | 
 This class represents a higher order location entity. 
 | 
| DistrictAssignmentLog | 
 This is used to track how and what modules were assigned (e.g. 
 | 
| Facility | 
This class represents a medical center that multiple  Villages can belong to.  
 | 
| Group | 
This class represents collection of  CommunityHealthWorkers that is used to assign module
        to multiple health workers at once.  
 | 
| IvrConfig | 
 This class represents a configuration of IVR system. 
 | 
| IvrObject | 
 This class is a base object that all IVR object must extend. 
 | 
| JasperTemplate | 
 This class represents template that is used to create reports that is filled with data from
        the db. 
 | 
| JasperTemplateParameter | 
 These are the parameters you can pass to the report, it's used for filtering
        (the available filters which corresponds to specific cells in the report). 
 | 
| Location | 
 This class is a base for all location entities and contains common information
        about what is a name and who created a location. 
 | 
| Message | 
This class represents message that can be sent via IVR system within a  Unit.  
 | 
| MessageLog | 
 | 
| Module | 
This class represents middle level entity that contains a portion of a course
        called  Unit.  
 | 
| ModuleProgress | 
This class represents state in which  Module can be.  
 | 
| MultipleChoiceQuestion | 
This class represents IVR activity that contains a question with multiple  Choices.  
 | 
| MultipleChoiceQuestionLog | 
 | 
| Sector | 
This class represents an area to which multiple facilities  Facility can belong to.  
 | 
| Unit | 
 This class represents lowest level call flow area. 
 | 
| UnitProgress | 
This class represents state in which  Unit can be.  
 | 
| Village | 
 This class represents the lowest order location entity in location hierarchy. 
 |