Program indicator engine¶
El SDK incluye su propio mecanismo de indicadores de programa para la evaluación de indicadores de programa en línea. Este tipo de indicadores se evalúan dentro del contexto de una inscripción o un evento (único o tracker) y generalmente son colocados en el formulario de entrada de datos ofreciendo información adicional al codificador de datos. Esto significa que, aunque son Indicadores de Programa regulares y pueden calcularse a través de las inscripciones, han proporcionado información útil dentro de una única inscripción.
Un buen ejemplo, "Tiempo promedio entre visitas".
Un mal ejemplo, "Número de TEIs activos": siempre sería 1.
Para activar el motor de indicador de programa, simplemente ejecute:
d2.programModule()
.programIndicatorEngine()
.getEnrollmentProgramIndicatorValue(<enrollment-uid>, <program-indicator-uid>);
d2.programModule()
.programIndicatorEngine()
.getEventProgramIndicatorValue(<event-uid>, <program-indicator-uid>);
Si la evaluación del componente "filtro" devuelve falso, el resultado es nulo.
Tabla: Compatibilidad
| Tipo | Elemento | Web | Android SDK |
|---|---|---|---|
| Matemático: | Paréntesis | Sí | Sí |
| Más (+) | Sí | Sí | |
| Menos (-) | Sí | Sí | |
| Potencia (^) | Sí | Sí | |
| Multiply (*) | Sí | Sí | |
| Dividir (/) | Sí | Sí | |
| Módulo (%) | Sí | Sí | |
| Lógico: | NOT | Sí | Sí |
| ! | Sí | Sí | |
| AND | Sí | Sí | |
| && | Sí | Sí | |
| OR | Sí | Sí | |
| || | Sí | Sí | |
| Comparación: | Igual a (==) | Sí | Sí |
| No igual a (!=) | Sí | Sí | |
| GT (>) | Sí | Sí | |
| LT (<) | Sí | Sí | |
| GE (>=) | Sí | Sí | |
| LE (<=) | Sí | Sí | |
| Funciones: | FirstNonNull | Sí | Sí |
| Greatest | Sí | Sí | |
| If | Sí | Sí | |
| IsNotNull | Sí | Sí | |
| IsNull | Sí | Sí | |
| Least | Sí | Sí | |
| Log | Sí | Sí | |
| Log10 | Sí | Sí | |
| PeriodOffset | - | No | |
| Funciones D2: | D2AddDays | Sí | Sí |
| D2Ceil | Sí | Sí | |
| D2Concatenate | Sí | Sí | |
| D2Condition | Sí | Sí | |
| D2Count | Sí | Sí | |
| D2CountIfCondition | Sí | Sí | |
| D2CountIfValue | Sí | Sí | |
| D2DaysBetween | Sí | Sí | |
| D2Floor | Sí | Sí | |
| D2HasValue | Sí | Sí | |
| D2Left | Sí | Sí | |
| D2Length | Sí | Sí | |
| D2MaxValue | No | Sí | |
| D2MinutesBetween | Sí | Sí | |
| D2MinValue | No | Sí | |
| D2Modulus | Sí | Sí | |
| D2MonthsBetween | Sí | Sí | |
| D2Oizp | Sí | Sí | |
| D2RelationshipCount | Sí | Sí | |
| D2Right | Sí | Sí | |
| D2Round | Sí | Sí | |
| D2Split | Sí | Sí | |
| D2Substring | Sí | Sí | |
| D2ValidatePattern | Sí | Sí | |
| D2WeeksBetween | Sí | Sí | |
| D2YearsBetween | Sí | Sí | |
| D2Zing | Sí | Sí | |
| D2Zpvc | Sí | Sí | |
| D2LastEventDate | Sí | No | |
| D2AddControlDigits | Sí | No | |
| D2CheckControlDigits | Sí | No | |
| D2ZScoreWFA | Sí | No | |
| D2ZScoreWFH | Sí | No | |
| D2ZScoreHFA | Sí | No | |
| D2InOrgUnitGroup | Sí | No | |
| D2HasUserRole | Sí | No | |
| Variables: | AnalyticsPeriodEnd | No | No |
| AnalyticsPeriodStart | No | No | |
| CreationDate | No | Sí | |
| CurrentDate | Sí | Sí | |
| CompletedDate | No | Sí | |
| DueDate | Sí | Sí | |
| EnrollmentCount | Sí | Sí | |
| EnrollmentDate | Sí | Sí | |
| EnrollmentStatus | No | Sí | |
| EventStatus | Sí | Sí | |
| EventCount | Sí | Sí | |
| ExecutionDate | Sí | Sí | |
| EventDate | Sí | Sí | |
| IncidentDate | Sí | Sí | |
| OrgunitCount | No | No | |
| ProgramStageId | Sí | Sí | |
| ProgramStageName | Sí | Sí | |
| SyncDate | No | No | |
| TeiCount | Sí | Sí | |
| ValueCount | Sí | Sí | |
| ZeroPosValueCount | Sí | Sí | |
| Otro: | Constante | Sí | Sí |
| ProgramStageElement | Sí | Sí | |
| ProgramAttribute | Sí | Sí | |
| PS_EVENTDATE | Sí | Sí |