Overview¶
Toutes les informations concernant le DHIS2 du ministère de santé Malagasy est disponible sur https://docs.dhis2.org .
Dans ce document, nous allons simplement préciser des astuces pour les non-programmeurs concernant l”API DHIS2 ou pour plus de détails, voir :
Commencer avec DHIS2¶
L”URL suivant vous permettez d’aller à l’interface login de DHIS2 de du ministère de santé Malagasy (en envoyant toujours une requête GET) :
Vous pouvez visualiser l’interface ci-dessous, sinon vérifiez bien vos URL :
Ressources de DHIS2¶
Pour visualiser toutes les ressources ou catégories de données que possède DHIS2, nous pourrions envoyer une requête GET à :
Le resultats sont les suivants :
status |
Time |
Size |
200 OK |
469 ms |
12.68 KB |
{ "resources": [ { "displayName": "Relationship Types", "singular": "relationshipType", "plural": "relationshipTypes", "href": "https://ministere-sante.mg/api/relationshipTypes" }, { "displayName": "Data Approval Levels", "singular": "dataApprovalLevel", "plural": "dataApprovalLevels", "href": "https://ministere-sante.mg/api/dataApprovalLevels" }, { "displayName": "Tracked Entity Types", "singular": "trackedEntityType", "plural": "trackedEntityTypes", "href": "https://ministere-sante.mg/api/trackedEntityTypes" }, { "displayName": "Users", "singular": "user", "plural": "users", "href": "https://ministere-sante.mg/api/users" }, { "displayName": "Push Analysis", "singular": "pushAnalysis", "plural": "pushAnalysis", "href": "https://ministere-sante.mg/api/pushAnalysis" }, { "displayName": "Dashboard Items", "singular": "dashboardItem", "plural": "dashboardItems", "href": "https://ministere-sante.mg/api/dashboardItems" }, { "displayName": "Maps", "singular": "map", "plural": "maps", "href":"https://ministere-sante.mg/api/maps" }, { "displayName": "Category Combos", "singular": "categoryCombo", "plural": "categoryCombos", "href": "https://ministere-sante.mg/api/categoryCombos" }, { "displayName": "Message Conversations", "singular": "messageConversation", "plural": "messageConversations", "href": "https://ministere-sante.mg/api/messageConversations" }, { "displayName": "Validation Rule Groups", "singular": "validationRuleGroup", "plural": "validationRuleGroups", "href": "https://ministere-sante.mg/api/validationRuleGroups" }, { "displayName": "Data Entry Forms", "singular": "dataEntryForm", "plural": "dataEntryForms", "href": "https://ministere-sante.mg/api/dataEntryForms" }, { "displayName": "Programs", "singular": "program", "plural": "programs", "href": "https://ministere-sante.mg/api/programs" }, { "displayName": "Indicator Groups", "singular": "indicatorGroup", "plural": "indicatorGroups", "href": "https://ministere-sante.mg/api/indicatorGroups" }, { "displayName": "Indicator Group Sets", "singular": "indicatorGroupSet", "plural": "indicatorGroupSets", "href": "https://ministere-sante.mg/api/indicatorGroupSets" }, { "displayName": "User Roles", "singular": "userRole", "plural": "userRoles", "href": "https://ministere-sante.mg/api/userRoles" }, { "displayName": "Event Reports", "singular": "eventReport", "plural": "eventReports", "href": "https://ministere-sante.mg/api/eventReports" }, { "displayName": "Dashboards", "singular": "dashboard", "plural": "dashboards", "href": "https://ministere-sante.mg/api/dashboards" }, { "displayName": "Event Charts", "singular": "eventChart", "plural": "eventCharts", "href": "https://ministere-sante.mg/api/eventCharts" }, { "displayName": "Option Groups", "singular": "optionGroup", "plural": "optionGroups", "href": "https://ministere-sante.mg/api/optionGroups" }, { "displayName": "Program Rules", "singular": "programRule", "plural": "programRules", "href": "https://ministere-sante.mg/api/programRules" }, { "displayName": "User Groups", "singular": "userGroup", "plural": "userGroups", "href": "https://ministere-sante.mg/api/userGroups" }, { "displayName": "Data Sets", "singular": "dataSet", "plural": "dataSets", "href": "https://ministere-sante.mg/api/dataSets" }, { "displayName": "Indicators", "singular": "indicator", "plural": "indicators", "href": "https://ministere-sante.mg/api/indicators" }, { "displayName": "Predictors", "singular": "predictor", "plural": "predictors", "href": "https://ministere-sante.mg/api/predictors" }, { "displayName": "Category Option Combos", "singular": "categoryOptionCombo", "plural": "categoryOptionCombos", "href": "https://ministere-sante.mg/api/categoryOptionCombos" }, { "displayName": "Constants", "singular": "constant", "plural": "constants", "href": "https://ministere-sante.mg/api/constants" }, { "displayName": "Program Stage Sections", "singular": "programStageSection", "plural": "programStageSections", "href": "https://ministere-sante.mg/api/programStageSections" }, { "displayName": "Analytics Table Hooks", "singular": "analyticsTableHook", "plural": "analyticsTableHooks", "href": "https://ministere-sante.mg/api/analyticsTableHooks" }, { "displayName": "External Map Layers", "singular": "externalMapLayer", "plural": "externalMapLayers", "href": "https://ministere-sante.mg/api/externalMapLayers" }, { "displayName": "Data Stores", "singular": "dataStore", "plural": "dataStores", "href": "https://ministere-sante.mg/api/dataStore" }, { "displayName": "Tracked Entity Attributes", "singular": "trackedEntityAttribute", "plural": "trackedEntityAttributes", "href": "https://ministere-sante.mg/api/trackedEntityAttributes" }, { "displayName": "Category Option Group Sets", "singular": "categoryOptionGroupSet", "plural": "categoryOptionGroupSets", "href": "https://ministere-sante.mg/api/categoryOptionGroupSets" }, { "displayName": "Option Group Sets", "singular": "optionGroupSet", "plural": "optionGroupSets", "href": "https://ministere-sante.mg/api/optionGroupSets" }, { "displayName": "Data Element Groups", "singular": "dataElementGroup", "plural": "dataElementGroups", "href": "https://ministere-sante.mg/api/dataElementGroups" }, { "displayName": "Options", "singular": "option", "plural": "options", "href": "https://ministere-sante.mg/api/options" }, { "displayName": "Program Indicator Groups", "singular": "programIndicatorGroup", "plural": "programIndicatorGroups", "href": "https://ministere-sante.mg/api/programIndicatorGroups" }, { "displayName": "Report Tables", "singular": "reportTable", "plural": "reportTables", "href": "https://ministere-sante.mg/api/reportTables" }, { "displayName": "Relationships", "singular": "relationship", "plural": "relationships", "href": "https://ministere-sante.mg/api/relationships" }, { "displayName": "Validation Notification Templates", "singular": "validationNotificationTemplate", "plural": "validationNotificationTemplates", "href": "https://ministere-sante.mg/api/validationNotificationTemplates" }, { "displayName": "Interpretations", "singular": "interpretation", "plural": "interpretations", "href": "https://ministere-sante.mg/api/interpretations" }, { "displayName": "Program Data Elements", "singular": "programDataElement", "plural": "programDataElements", "href": "https://ministere-sante.mg/api/programDataElements" }, { "displayName": "Data Element Operands", "singular": "dataElementOperand", "plural": "dataElementOperands", "href": "https://ministere-sante.mg/api/dataElementOperands" }, { "displayName": "External File Resources", "singular": "externalFileResource", "plural": "externalFileResources", "href": "https://ministere-sante.mg/api/externalFileResources" }, { "displayName": "Program Notification Templates", "singular": "programNotificationTemplate", "plural": "programNotificationTemplates", "href": "https://ministere-sante.mg/api/programNotificationTemplates" }, { "displayName": "Categories", "singular": "category", "plural": "categories", "href": "https://ministere-sante.mg/api/categories" }, { "displayName": "Legend Sets", "singular": "legendSet", "plural": "legendSets", "href": "https://ministere-sante.mg/api/legendSets" }, { "displayName": "Documents", "singular": "document", "plural": "documents", "href": "https://ministere-sante.mg/api/documents" }, { "displayName": "Organisation Unit Levels", "singular": "organisationUnitLevel", "plural": "organisationUnitLevels", "href": "https://ministere-sante.mg/api/organisationUnitLevels" }, { "displayName": "Tracked Entity Instances", "singular": "trackedEntityInstance", "plural": "trackedEntityInstances", "href": "https://ministere-sante.mg/api/trackedEntityInstances" }, { "displayName": "Map Views", "singular": "mapView", "plural": "mapViews", "href": "https://ministere-sante.mg/api/mapViews" }, { "displayName": "Validation Results", "singular": "validationResult", "plural": "validationResults", "href": "https://ministere-sante.mg/api/validationResults" }, { "displayName": "Metadata Versions", "singular": "metadataVersion", "plural": "metadataVersions", "href": "https://ministere-sante.mg/api/metadata/version" }, { "displayName": "Category Option Groups", "singular": "categoryOptionGroup", "plural": "categoryOptionGroups", "href": "https://ministere-sante.mg/api/categoryOptionGroups" }, { "displayName": "Icons", "singular": "icon", "plural": "icons", "href": "https://ministere-sante.mg/api/icons" }, { "displayName": "Validation Rules", "singular": "validationRule", "plural": "validationRules", "href": "https://ministere-sante.mg/api/validationRules" }, { "displayName": "Attributes", "singular": "attribute", "plural": "attributes", "href": "https://ministere-sante.mg/api/attributes" }, { "displayName": "Event Filters", "singular": "eventFilter", "plural": "eventFilters", "href": "https://ministere-sante.mg/api/eventFilters" }, { "displayName": "Organisation Unit Group Sets", "singular": "organisationUnitGroupSet", "plural": "organisationUnitGroupSets", "href": "https://ministere-sante.mg/api/organisationUnitGroupSets" }, { "displayName": "Option Sets", "singular": "optionSet", "plural": "optionSets", "href": "https://ministere-sante.mg/api/optionSets" }, { "displayName": "Program Indicators", "singular": "programIndicator", "plural": "programIndicators", "href": "https://ministere-sante.mg/api/programIndicators" }, { "displayName": "Reports", "singular": "report", "plural": "reports", "href": "https://ministere-sante.mg/api/reports" }, { "displayName": "Data Set Notification Templates", "singular": "dataSetNotificationTemplate", "plural": "dataSetNotificationTemplates", "href": "https://ministere-sante.mg/api/dataSetNotificationTemplates" }, { "displayName": "File Resources", "singular": "fileResource", "plural": "fileResources", "href": "https://ministere-sante.mg/api/fileResources" }, { "displayName": "Visualizations", "singular": "visualization", "plural": "visualizations", "href": "https://ministere-sante.mg/api/visualizations" }, { "displayName": "Sections", "singular": "section", "plural": "sections", "href": "https://ministere-sante.mg/api/sections" }, { "displayName": "Sql Views", "singular": "sqlView", "plural": "sqlViews", "href": "https://ministere-sante.mg/api/sqlViews" }, { "displayName": "Program Sections", "singular": "programSection", "plural": "programSections", "href": "https://ministere-sante.mg/api/programSections" }, { "displayName": "Min Max Data Elements", "singular": "minMaxDataElement", "plural": "minMaxDataElements", "href": "https://ministere-sante.mg/api/minMaxDataElements" }, { "displayName": "Organisation Units", "singular": "organisationUnit", "plural": "organisationUnits", "href": "https://ministere-sante.mg/api/organisationUnits" }, { "displayName": "Charts", "singular": "chart", "plural": "charts", "href": "https://ministere-sante.mg/api/charts" }, { "displayName": "Job Configurations", "singular": "jobConfiguration", "plural": "jobConfigurations", "href": "https://ministere-sante.mg/api/jobConfigurations" }, { "displayName": "Sms Commands", "singular": "smsCommand", "plural": "smsCommands", "href": "https://ministere-sante.mg/api/smsCommands" }, { "displayName": "Data Elements", "singular": "dataElement", "plural": "dataElements", "href": "https://ministere-sante.mg/api/dataElements" }, { "displayName": "O Auth2 Clients", "singular": "oAuth2Client", "plural": "oAuth2Clients", "href": "https://ministere-sante.mg/api/oAuth2Clients" }, { "displayName": "Program Rule Variables", "singular": "programRuleVariable", "plural": "programRuleVariables", "href": "https://ministere-sante.mg/api/programRuleVariables" }, { "displayName": "Program Tracked Entity Attribute Groups", "singular": "programTrackedEntityAttributeGroup", "plural": "programTrackedEntityAttributeGroups", "href": "https://ministere-sante.mg/api/programTrackedEntityAttributeGroups" }, { "displayName": "Program Rule Actions", "singular": "programRuleAction", "plural": "programRuleActions", "href": "https://ministere-sante.mg/api/programRuleActions" }, { "displayName": "Indicator Types", "singular": "indicatorType", "plural": "indicatorTypes", "href": "https://ministere-sante.mg/api/indicatorTypes" }, { "displayName": "Tracked Entity Instance Filters", "singular": "trackedEntityInstanceFilter", "plural": "trackedEntityInstanceFilters", "href": "https://ministere-sante.mg/api/trackedEntityInstanceFilters" }, { "displayName": "Category Options", "singular": "categoryOption", "plural": "categoryOptions", "href": "https://ministere-sante.mg/api/categoryOptions" }, { "displayName": "Data Element Group Sets", "singular": "dataElementGroupSet", "plural": "dataElementGroupSets", "href": "https://ministere-sante.mg/api/dataElementGroupSets" }, { "displayName": "Organisation Unit Groups", "singular": "organisationUnitGroup", "plural": "organisationUnitGroups", "href": "https://ministere-sante.mg/api/organisationUnitGroups" }, { "displayName": "Program Stages", "singular": "programStage", "plural": "programStages", "href": "https://ministere-sante.mg/api/programStages" }, { "displayName": "Predictor Groups", "singular": "predictorGroup", "plural": "predictorGroups", "href": "https://ministere-sante.mg/api/predictorGroups" }, { "displayName": "Data Approval Workflows", "singular": "dataApprovalWorkflow", "plural": "dataApprovalWorkflows", "href": "https://ministere-sante.mg/api/dataApprovalWorkflows" } ] }
resources.displayName |
resources.singular |
ressources.plural |
ressources.href |
---|---|---|---|
Analytics Table Hooks |
analyticsTableHook |
analyticsTableHooks |
|
Attributes |
attribute |
attributes |
|
Categories |
category |
categories |
|
Category Combos |
categoryCombo |
categoryCombos |
|
Category Option Combos |
categoryOptionCombo |
categoryOptionCombos |
|
Category Option Group Sets |
categoryOptionGroupSet |
categoryOptionGroupSets |
|
Category Option Groups |
categoryOptionGroup |
categoryOptionGroups |
|
Category Options |
categoryOption |
categoryOptions |
|
Charts |
chart |
charts |
|
Constants |
constant |
constants |
|
Dashboard Items |
dashboardItem |
dashboardItems |
|
Dashboards |
dashboard |
dashboards |
|
Data Approval Levels |
dataApprovalLevel |
dataApprovalLevels |
|
Data Approval Workflows |
dataApprovalWorkflow |
dataApprovalWorkflows |
|
Data Element Group Sets |
dataElementGroupSet |
dataElementGroupSets |
|
Data Element Groups |
dataElementGroup |
dataElementGroups |
|
Data Element Operands |
dataElementOperand |
dataElementOperands |
|
Data Elements |
dataElement |
dataElements |
|
Data Entry Forms |
dataEntryForm |
dataEntryForms |
|
Data Set Notification Templates |
dataSetNotificationTemplate |
dataSetNotificationTemplates |
|
Data Sets |
dataSet |
dataSets |
|
Data Stores |
dataStore |
dataStores |
|
Documents |
document |
documents |
|
Event Charts |
eventChart |
eventCharts |
|
Event Filters |
eventFilter |
eventFilters |
|
Event Reports |
eventReport |
eventReports |
|
External File Resources |
externalFileResource |
externalFileResources |
|
External Map Layers |
externalMapLayer |
externalMapLayers |
|
File Resources |
fileResource |
fileResources |
|
Icons |
icon |
icons |
|
Indicator Group Sets |
indicatorGroupSet |
indicatorGroupSets |
|
Indicator Groups |
indicatorGroup |
indicatorGroups |
|
Indicator Types |
indicatorType |
indicatorTypes |
|
Indicators |
indicator |
indicators |
|
Interpretations |
interpretation |
interpretations |
|
Job Configurations |
jobConfiguration |
jobConfigurations |
|
Legend Sets |
legendSet |
legendSets |
|
Map Views |
mapView |
mapViews |
|
Maps |
map |
maps |
|
Message Conversations |
messageConversation |
messageConversations |
|
Metadata Versions |
metadataVersion |
metadataVersions |
|
Min Max Data Elements |
minMaxDataElement |
minMaxDataElements |
|
O Auth2 Clients |
oAuth2Client |
oAuth2Clients |
|
Option Group Sets |
optionGroupSet |
optionGroupSets |
|
Option Groups |
optionGroup |
optionGroups |
|
Option Sets |
optionSet |
optionSets |
|
Options |
option |
options |
|
Organisation Unit Group Sets |
organisationUnitGroupSet |
organisationUnitGroupSets |
|
Organisation Unit Groups |
organisationUnitGroup |
organisationUnitGroups |
|
Organisation Unit Levels |
organisationUnitLevel |
organisationUnitLevels |
|
Organisation Units |
organisationUnit |
organisationUnits |
|
Predictor Groups |
predictorGroup |
predictorGroups |
|
Predictors |
predictor |
predictors |
|
Program Data Elements |
programDataElement |
programDataElements |
|
Program Indicator Groups |
programIndicatorGroup |
programIndicatorGroups |
|
Program Indicators |
programIndicator |
programIndicators |
|
Program Notification Templates |
programNotificationTemplate |
programNotificationTemplates |
|
Program Rule Actions |
programRuleAction |
programRuleActions |
|
Program Rule Variables |
programRuleVariable |
programRuleVariables |
|
Program Rules |
programRule |
programRules |
|
Program Sections |
programSection |
programSections |
|
Program Stage Sections |
programStageSection |
programStageSections |
|
Program Stages |
programStage |
programStages |
|
Program Tracked Entity Attribute Groups |
programTrackedEntityAttributeGroup |
programTrackedEntityAttributeGroups |
https://ministere-sante.mg/api/programTrackedEntityAttributeGroups |
Programs |
program |
programs |
|
Push Analysis |
pushAnalysis |
pushAnalysis |
|
Relationship Types |
relationshipType |
relationshipTypes |
|
Relationships |
relationship |
relationships |
|
Report Tables |
reportTable |
reportTables |
|
Reports |
report |
reports |
|
Sections |
section |
sections |
|
Sms Commands |
smsCommand |
smsCommands |
|
Sql Views |
sqlView |
sqlViews |
|
Tracked Entity Attributes |
trackedEntityAttribute |
trackedEntityAttributes |
|
Tracked Entity Instance Filters |
trackedEntityInstanceFilter |
trackedEntityInstanceFilters |
|
Tracked Entity Instances |
trackedEntityInstance |
trackedEntityInstances |
|
Tracked Entity Types |
trackedEntityType |
trackedEntityTypes |
|
User Groups |
userGroup |
userGroups |
|
User Roles |
userRole |
userRoles |
|
Users |
user |
users |
|
Validation Notification Templates |
validationNotificationTemplate |
validationNotificationTemplates |
https://ministere-sante.mg/api/validationNotificationTemplates |
Validation Results |
validationResult |
validationResults |
|
Validation Rule Groups |
validationRuleGroup |
validationRuleGroups |
|
Validation Rules |
validationRule |
validationRules |
|
Visualizations |
visualization |
visualizations |
Note
Vous aimeriez voir la valeur de ressource indicators, et avec la requête GET sur l’URLs https://ministere-sante.mg/api/indicators , nous avions le résultat suivant :
status |
Time |
Size |
200 OK |
549 ms |
4.8 KB |
{ "pager": { "page": 1, "pageCount": 52, "total": 2598, "pageSize": 50, "nextPage": "https://ministere-sante.mg/api/indicators?page=2" }, "indicators": [ { "id": "xxxxxxxxxxx", "displayName": "AVOIR TOTAL FIN DU MOIS PRÉCÈDENT" }, { "id": "xxxxxxxxxxx", "displayName": "CHRD Autres pathologies néo-natales" }, { "id": "xxxxxxxxxxx", "displayName": "CHRD Dentisterie Écart" }, { "id": "xxxxxxxxxxx", "displayName": "CHRD Dentisterie Solde théorique Fin du mois en cours" }, { "id": "xxxxxxxxxxx", "displayName": "CHRD Durée moyenne de séjour" }, { "id": "xxxxxxxxxxx", "displayName": "CHRD Durée moyenne de séjour en chambre d’isolement" }, { "id": "xxxxxxxxxxx", "displayName": "CHRD Nb Hémorragie 1er trimestre, cas" } ] }
Remarque :
Si vous souhaitez specifier le page d’indicateur que vous vouliez voir, vous pouviez envoyer une requete GET sur l’URL:
Titre |
type |
valeur |
Description |
---|---|---|---|
id |
xxxxxxxxxxx |
code de l’indicateur qui a le nom dans le displayName |
|
displayName |
AVOIR TOTAL FIN DU MOIS PRÉCÈDENT |
Nom de l’indicateur |
Réponse possible des endpoints¶
Sur la base de la requête/requête GET, quelques réponses différentes sont possibles. Ci-dessous, nous résumons chaque possibilité.
HTTP status code 200 found
Results found (HTTP status code 200)
{ "constants": [ { "id": "xxxxxxxxxxx", "displayName": "Enfants survivants" }, { "id": "xxxxxxxxxxx", "displayName": "proportion estimé: grossesses attendues" }, { "id": "xxxxxxxxxxx", "displayName": "proportion estimé: naissances attendues" } ] }
HTTP status code 200 not found
Results not found (HTTP status code 200)
{
"dataItems": []
}
HTTP status code 400
Bad request (HTTP status code 400)
{
"httpStatus": "Bad request",
"httpStatusCode": 400,
"status": "ERROR"
}
HTTP status code 403
Forbidden query (HTTP status code 403)
{
"httpStatus": "Forbidden",
"httpStatusCode": 403,
"status": "ERROR",
"message": "You don't have the proper permissions to read objects of this type."
}
HTTP status code 409
Invalid query (HTTP status code 409)
{
"httpStatus": "Conflict",
"httpStatusCode": 409,
"status": "ERROR",
"message": "Unable to parse element `INVALID_TYPE` on filter `dimensionItemType`. The values available are: [INDICATOR, DATA_ELEMENT, DATA_ELEMENT_OPERAND, DATA_SET, PROGRAM_INDICATOR, PROGRAM_DATA_ELEMENT, PROGRAM_ATTRIBUTE]",
"errorCode": "E2016"
}
HTTP status code 500
Unhandled error (HTTP status code 500)
{
"httpStatus": "Internal Server Error",
"httpStatusCode": 500,
"status": "ERROR"
}