Monitoring Model
From Agnitio WIKI
The cornerstone entity of monitoring structure is the meeting, thus monitoring data is uploaded as the array of meetings. The meeting is represented by MeetingInfo object. Its structure is explained below.
Contents |
Glossary
- Meeting - Salesrep activity aimed at representation of a product using presentations content. Meeting can be initiated by one or multiple salesreps, for single or multiple persons with any number of presentations.
- Monitoring session – Period of time from presentation start to presentation end. Single meeting can contain many monitoring sessions. Each run of the same presentation within the confines of one meeting is treated as a separate monitoring session.
Value Objects
- MeetingInfo (particular meeting details, properties marked with * are mandatory)
- id : String * - UID, generated by application upon meeting creation.
- startTime : Number * - UTC, contains meeting planned start date, automatically adjusted by application on first monitoring session start.
- endTime : Number * - UTC, contains meeting planned end time, automatically adjusted by application on each monitoring session end.
- type : String * - Meeting type (f2f if undefined):
- online
- f2f
- remote
- location : String - Where the meeting takes place.
- notes : String - Free form meeting notes made by sales rep.
- objective : String - Free form meeting objective made by sales rep.
- nextObjective : String - Free form next meeting objective made by sales rep.
- presenters : Array * - each presenter is described by its id. For Analyzer 3 compatibility presenters can be an array (for now containing one single element) of objects, where all presenter properties (from license file) are stored.
- contacts : Array * - Array of contacts (e. g. physicians, nurses). Each contact is represented by its id. For Analyzer 3 compatibility contacts can be an array of objects, where all contact properties (from target list) are stored.
- sessions : Array * - Contains monitoring data for each monitoring session. Each monitoring session is described by MonitoringSessionInfo object (see below).
- MonitoringSessionInfo (particular monitoring session details)
- presentationId : int - ID of working copy viewed presentation.
- publishingTime : int - The presentation published time used to uniquely identify the relevant published version of a presentation.
- presentationName : String - The presentation name temporarily used for Analyzer 3 compatibility as long as it does not support presentation id and publishing time concepts.
- startTime : Number - UTC, correspondent monitoring session start time.
- endTime : Number - UTC, correspondent monitoring session end time.
- events : Array - Array of MonitoringEventInfo objects representing the monitoring data collected during the monitoring session. (see below)
- MonitoringEventInfo (class with type, category, label, value, time, some ids for automated data aggregation and optional properties for backward compatibility)
- type : String - Type. There are two types of events: system and custom. System events are those registered by the viewer automatically and custom are those submitted by the content developer (e.g. questionnaires):
- system
- custom
- categoryId : String - Category id. For example, the same valueId "personalInformation" could be used for values "Personal Information", "Персональная Информация", "Personlige oplysninger".
- category : String - Category name.
- For system events one of the predefined values:
- slideEnter
- slideExit
- documentOpen
- referenceOpen
- documentsOrderName
- documentsOrderEmail
- documentsOrderDocuments
- signatureCapture
- For custom events any string (e.g. form name):
- User defined category as a string.
- For system events one of the predefined values:
- labelId : String - Label id. For example, the same labelId "name" could be used for labels "Name", "Имя" or "Navn".
- label : String - Property name.
- valueId : String - Value id. For example, the same valueId "female" could be used for values "Female", "Женщина", "Kvinde".
- value : Object - Property value.
- valueType : String - Complex value type identifier. For example for {x : 1, y : 2} valueType could equal "point".
- time : Number - UTC, event time.
- slideIndex : int - specifies slide position within it's parent hierarchy.
- parentSlideName : String - name of slide parent if any.
- parentOfParentSlideName : String - the same for higher parent.
- type : String - Type. There are two types of events: system and custom. System events are those registered by the viewer automatically and custom are those submitted by the content developer (e.g. questionnaires):
Fields which are required for Analyzer 3 compatibility or needs specific usage for Analyzer 3 compatibility (data submitted from Planner 3.* /4.* and iPlanner) are italic.
Since presentations could be localized to different languages categoryId, labelId and valueId properties are needed for further monitoring data aggregation. While category, label and value could be localized between presentations in different units, categoryId, labelId and valueId must remain the same to enable automatic aggregation. If their values are different, only manual aggregation could be applied.
Structure
- Array of MeetingInfo
- MeetingInfo
- Simple properties
- Array of MonitoringSessionInfo
- MonitoringSessionInfo
- Simple properties
- Array of MonitoringEventInfo
- MonitoringEventInfo
- Simple properties
- MonitoringEventInfo
- MonitoringSessionInfo
- MeetingInfo