Validation¶
Pour générer un récapitulatif de validation des données, vous pouvez interagir avec la ressource de validation. La ressource dataSet est optimisée le saisie de données du clients pour la validation d’un ensemble de données/formulaire.
Validation Results¶
Les résultats de validation sont des résultats persistants des violations trouvées lors d’une analyse de validation. Si vous choisissez « persister les résultats » lors du démarrage ou de la planification d’une analyse de validation, toutes les violations trouvées seront stockées dans la base de données. Lorsqu’un résultat est stocké dans la base de données, il sera utilisé pour 3 choses :
Génération d’analyses basées sur les résultats stockés.
Les résultats persistants qui n’ont pas généré de notification le feront une seule fois.
Garder une trace de si oui ou non le résultat a généré une notification.
Ignorer les règles qui ont déjà été vérifiées lors de l’exécution de l’analyse de validation.
Cela signifie que si vous ne conservez pas vos résultats, vous ne pourrez pas générer d’analyses pour les résultats de validation. Si cette case est cochée, les résultats généreront des notifications à chaque fois qu’ils seront trouvés et l’exécution de l’analyse de validation pourrait être plus lente.
Les résultats de validation conservés peuvent être consultés sur le point de terminaison ou endpoint suivant :
status |
Time |
Size |
200 OK |
3.48 s |
14.35 KB |
{ "validationResults": [ { "created": "2019-03-26T13:03:39.865", "rightsideValue": 0.0, "id": xxxxxxxxxxx, "leftsideValue": 56.0, "notificationSent": false, "dayInPeriod": 28, "period": { "id": "201902" }, "organisationUnit": { "id": "xxxxxxxxxxx" }, "validationRule": { "id": "xxxxxxxxxxx" }, "attributeOptionCombo": { "id": "xxxxxxxxxxx" } }, { "created": "2019-06-18T10:23:37.075", "rightsideValue": 16.0, "id": 16246879, "leftsideValue": 25.0, "notificationSent": false, "dayInPeriod": 31, "period": { "id": "201901" }, "organisationUnit": { "id": "xxxxxxxxxxx" }, "validationRule": { "id": "xxxxxxxxxxx" }, "attributeOptionCombo": { "id": "xxxxxxxxxxx" } } ] }
Vous pouvez également inspecter un résultat individuel à l’aide de l’ID de résultat de validation dans ce point de terminaison :
status |
Time |
Size |
200 OK |
3.48 s |
14.35 KB |
{ "id": xxxxxxxxxxx, "created": "2019-03-26T13:03:39.865", "validationRule": { "name": "CSB Nb total de RDT effectués (tab 6) = CSB quantité utilisée en RDT (tab 15)", "created": "2017-12-20T15:29:59.982", "lastUpdated": "2022-05-31T14:49:36.654", "translations": [], "externalAccess": false, "publicAccess": "rw------", "user": { "id": "xxxxxxxxxxx", "code": null, "name": "xxxxxxxxxxx", "displayName": "xxxxxxxxxxx", "username": "xxxxxxxxxxx" }, "userGroupAccesses": [], "userAccesses": [], "favorites": [], "displayName": "CSB Nb total de RDT effectués (tab 6) = CSB quantité utilisée en RDT (tab 15)", "lastUpdatedBy": { "id": "xxxxxxxxxxx", "code": null, "name": "xxxxxxxxxxx", "displayName": "xxxxxxxxxxx", "username": "xxxxxxxxxxx" }, "favorite": false, "id": "xxxxxxxxxxx", "attributeValues": [] }, "period": { "code": "201902", "name": "201902", "translations": [], "externalAccess": false, "userGroupAccesses": [], "userAccesses": [], "favorites": [], "displayName": "201902", "favorite": false, "id": "201902", "attributeValues": [] }, "organisationUnit": { "code": "210541001", "name": "CSB2 Hell Ville", "created": "2020-09-09T07:14:46.039", "lastUpdated": "2020-09-09T07:14:47.496", "translations": [], "externalAccess": false, "user": { "id": "xxxxxxxxxxx", "code": null, "name": "xxxxxxxxxxx", "displayName": "xxxxxxxxxxx", "username": "xxxxxxxxxxx" }, "userGroupAccesses": [], "userAccesses": [], "favorites": [], "displayName": "CSB2 Hell Ville", "lastUpdatedBy": { "id": "xxxxxxxxxxx", "code": null, "name": "xxxxxxxxxxx", "displayName": "xxxxxxxxxxx", "username": "xxxxxxxxxxx" }, "favorite": false, "id": "xxxxxxxxxxx", "attributeValues": [] }, "attributeOptionCombo": { "code": "default", "name": "default", "created": "2017-10-16T15:54:13.841", "lastUpdated": "2017-10-16T15:54:13.841", "translations": [], "externalAccess": false, "userGroupAccesses": [], "userAccesses": [], "favorites": [], "displayName": "default", "favorite": false, "id": "xxxxxxxxxxx", "attributeValues": [] }, "leftsideValue": 56.0, "rightsideValue": 0.0, "dayInPeriod": 28, "notificationSent": false }
Validation Rules¶
Format CSV de la règle de validation
Index |
Colonne |
Requis |
Valeur (par défaut en premier) |
Description |
---|---|---|---|---|
1 |
Name |
Yes |
Nom. Maximum 230 caractères. Unique. |
|
2 |
UID |
No |
UID |
Identificateur stable. Max 11 caractères. Sera généré par le système s’il n’est pas spécifié. |
3 |
Code |
No |
Code stable. Max 50 |
|
4 |
Description |
No |
Description en texte libre. |
|
5 |
Instruction |
No |
Instruction en texte libre. |
|
6 |
Importance |
No |
MEDIUM | HIGH | LOW |
Importance de la règle de validation. |
7 |
Rule type (ignored) |
No |
VALIDATION | SURVEILLANCE |
Type de règle de validation. |
8 |
Operator |
No |
equal_to | not_equal_to | greater_than | greater_than_or_equal_to | less_than | less_than_or_equal_to | compulsory_pair | exclusive_pair |
Opérateur d’expression. |
9 |
Period type |
No |
Monthly | Daily | Weekly | Quarterly | SixMontly | Yearly |
Type de période. |
10 |
Left side expression |
Yes |
Formule mathématique basée sur l’élément de données et l’option combo UIDs. |
|
11 |
Left side expression description |
Yes |
Texte libre. |
|
12 |
Left side missing value strategy |
No |
SKIP_IF_ANY_VALUE_MISSING | SKIP_IF_ALL_VALUES_MISSING | NEVER_SKIP |
Comportement en cas de valeurs manquantes dans l’expression de gauche. |
13 |
Right side expression |
Yes |
Formule mathématique basée sur l’élément de données et l’option combo UIDs. |
|
14 |
Right side expression description |
Yes |
Texte libre. |
|
15 |
Right side missing value strategy |
No |
SKIP_IF_ANY_VALUE_MISSING | SKIP_IF_ALL_VALUES_MISSING | NEVER_SKIP |
Comportement en cas de valeurs manquantes dans l’expression de droite. |
status |
Time |
Size |
200 OK |
3.16 s |
5.99 KB |
{ "validationRules": [ { "id": "xxxxxxxxxxx", "displayName": "A= d+e" }, { "id": "xxxxxxxxxxx", "displayName": "CSB Situation Médicaments (colonne 4) > CSB Situation Financière Fanome (Colonne 2) " } ] }
status |
Time |
Size |
200 OK |
2.25 s |
1.92 KB |
{ "lastUpdated": "2022-05-31T14:49:36.649", "id": "xxxxxxxxxxx", "href": "https://ministere-sante.mg/api/validationRules/xxxxxxxxxxx", "created": "2019-04-19T09:45:35.519", "name": "ani 7Clients séropositifs VIH : nbre Homme + nbre Femme = Totale", "importance": "MEDIUM", "displayName": "ani 7Clients séropositifs VIH : nbre Homme + nbre Femme = Totale", "publicAccess": "rw------", "operator": "equal_to", "externalAccess": false, "periodOffset": 0, "dimensionItem": "xxxxxxxxxxx", "displayFormName": "ani 7Clients séropositifs VIH : nbre Homme + nbre Femme = Totale", "periodType": "Monthly", "skipFormValidation": true, "favorite": false, "access": { "read": true, "update": false, "externalize": false, "delete": false, "write": false, "manage": false }, "leftSide": { "expression": "#{xxxxxxxxxxx.xxxxxxxxxxx} + #{xxxxxxxxxxx.xxxxxxxxxxx}", "description": "Clients séropositifs VIH : nbre Homme + nbre Femme", "missingValueStrategy": "NEVER_SKIP", "slidingWindow": false }, "lastUpdatedBy": { "displayName": "xxxxxxxxxxx", "id": "xxxxxxxxxxx", "username": "xxxxxxxxxxx" }, "rightSide": { "expression": "#{xxxxxxxxxxx}", "description": "Clients séropositifs VIH : totale", "missingValueStrategy": "NEVER_SKIP", "slidingWindow": false }, "user": { "displayName": "xxxxxxxxxxx", "id": "xxxxxxxxxxx", "username": "xxxxxxxxxxx" }, "validationRuleGroups": [ { "id": "xxxxxxxxxxx" } ], "favorites": [], "organisationUnitLevels": [], "notificationTemplates": [], "translations": [], "userGroupAccesses": [], "attributeValues": [], "userAccesses": [], "legendSets": [] }
Pour récupérer des règles de validation pertinentes pour un ensemble de données spécifique, c’est-à-dire des règles de validation avec des formules dans lesquelles tous les éléments de données font partie de l’ensemble de données spécifique, vous pouvez envoyer une requête GET à la ressource validationRules comme ceci :
status |
Time |
Size |
200 OK |
477 ms |
476 B |
Validation Rule Groups¶
status |
Time |
Size |
200 OK |
1783 ms |
939 B |
{ "validationRuleGroups": [ { "id": "xxxxxxxxxxx", "displayName": "CSB NUTRITION" }, { "id": "xxxxxxxxxxx", "displayName": "CSB PALUDISME" }, { "id": "xxxxxxxxxxx", "displayName": "CSB VACCINATION" }, { "id": "xxxxxxxxxxx", "displayName": "RMA CHRD TAB 21" }, { "id": "xxxxxxxxxxx", "displayName": "RMA CSB" } ] }
status |
Time |
Size |
200 OK |
6.96 s |
2.48 KB |
{ "created": "2022-05-06T10:42:24.305", "lastUpdated": "2022-05-31T14:49:38.043", "name": "CSB MSR-PF", "href": "https://ministere-sante.mg/api/validationRuleGroups/xxxxxxxxxxx", "id": "xxxxxxxxxxx", "displayName": "CSB MSR-PF", "publicAccess": "rw------", "externalAccess": false, "favorite": false, "lastUpdatedBy": { "displayName": "xxxxxxxxxxx", "id": "xxxxxxxxxxx", "username": "xxxxxxxxxxx" }, "access": { "read": true, "update": false, "externalize": false, "delete": false, "write": false, "manage": false }, "user": { "displayName": "xxxxxxxxxxx", "id": "xxxxxxxxxxx", "username": "xxxxxxxxxxx" }, "favorites": [], "userGroupAccesses": [], "validationRules": [ { "id": "xxxxxxxxxxx" }, { "id": "xxxxxxxxxxx" } ], "attributeValues": [], "translations": [], "userAccesses": [] }
Validation Notification Templates¶
status |
Time |
Size |
200 OK |
2.73 s |
549 B |
{
"validationNotificationTemplates": []
}