dhis2-mcp-server
Version:
A Model Context Protocol server providing 108 tools for DHIS2 development, including code generators, debugging helpers, and documentation access for web and Android app development.
919 lines • 26.8 kB
TypeScript
export interface DHIS2Config {
baseUrl: string;
username: string;
password: string;
}
export interface SystemInfo {
version: string;
revision: string;
buildTime: string;
serverDate: string;
instanceName: string;
}
export interface DataElement {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
valueType: 'NUMBER' | 'INTEGER' | 'POSITIVE_INT' | 'NEGATIVE_INT' | 'ZERO_OR_POSITIVE_INT' | 'TEXT' | 'LONG_TEXT' | 'LETTER' | 'PHONE_NUMBER' | 'EMAIL' | 'BOOLEAN' | 'TRUE_ONLY' | 'DATE' | 'DATETIME' | 'TIME' | 'URL' | 'FILE_RESOURCE' | 'IMAGE' | 'COORDINATE' | 'ORGANISATION_UNIT' | 'REFERENCE' | 'AGE' | 'USERNAME' | 'TRACKER_ASSOCIATE';
domainType: 'AGGREGATE' | 'TRACKER';
aggregationType: 'SUM' | 'AVERAGE' | 'AVERAGE_SUM_ORG_UNIT' | 'COUNT' | 'STDDEV' | 'VARIANCE' | 'MIN' | 'MAX' | 'NONE' | 'CUSTOM' | 'DEFAULT';
categoryCombo?: CategoryCombo;
zeroIsSignificant?: boolean;
url?: string;
description?: string;
}
export interface OrganisationUnit {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
level: number;
path: string;
}
export interface Category {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
dataDimension: boolean;
dataDimensionType: 'DISAGGREGATION' | 'ATTRIBUTE';
categoryOptions: CategoryOption[];
}
export interface CategoryOption {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
startDate?: string;
endDate?: string;
}
export interface CategoryCombo {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
dataDimensionType: 'DISAGGREGATION' | 'ATTRIBUTE';
categories: Category[];
categoryOptionCombos?: CategoryOptionCombo[];
}
export interface CategoryOptionCombo {
id: string;
name: string;
displayName: string;
code?: string;
categoryOptions: CategoryOption[];
categoryCombo: CategoryCombo;
}
export interface DataSet {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
description?: string;
periodType: 'Daily' | 'Weekly' | 'Monthly' | 'Quarterly' | 'SixMonthly' | 'Yearly' | 'FinancialApril' | 'FinancialJuly' | 'FinancialOct';
categoryCombo?: CategoryCombo;
dataSetElements: DataSetElement[];
organisationUnits: OrganisationUnit[];
sections?: Section[];
compulsoryDataElementOperands?: DataElementOperand[];
expiryDays?: number;
timelyDays?: number;
openFuturePeriods?: number;
dataEntryForm?: DataEntryForm;
}
export interface DataSetElement {
dataElement: DataElement;
categoryCombo?: CategoryCombo;
}
export interface Section {
id: string;
name: string;
displayName: string;
sortOrder: number;
dataElements: DataElement[];
categoryCombo?: CategoryCombo;
greyedFields?: DataElementOperand[];
}
export interface DataElementOperand {
dataElement: DataElement;
categoryOptionCombo?: CategoryOptionCombo;
}
export interface DataEntryForm {
id: string;
name: string;
htmlCode: string;
format: number;
style: 'COMFORTABLE' | 'NORMAL' | 'COMPACT' | 'NONE';
}
export interface OrganisationUnitGroup {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
organisationUnits: OrganisationUnit[];
symbol?: string;
}
export interface OrganisationUnitGroupSet {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
description?: string;
compulsory: boolean;
dataDimension: boolean;
organisationUnitGroups: OrganisationUnitGroup[];
}
export interface DataValue {
dataElement: string;
period: string;
orgUnit: string;
categoryOptionCombo?: string;
attributeOptionCombo?: string;
value: string;
storedBy?: string;
created?: string;
lastUpdated?: string;
comment?: string;
followup?: boolean;
}
export interface ValidationRule {
id: string;
name: string;
displayName: string;
description?: string;
instruction?: string;
importance: 'HIGH' | 'MEDIUM' | 'LOW';
operator: 'equal_to' | 'not_equal_to' | 'greater_than' | 'greater_than_or_equal_to' | 'less_than' | 'less_than_or_equal_to' | 'compulsory_pair' | 'exclusive_pair';
leftSide: Expression;
rightSide: Expression;
periodType: string;
organisationUnitLevels: number[];
}
export interface Expression {
expression: string;
description?: string;
missingValueStrategy: 'SKIP_IF_ANY_VALUE_MISSING' | 'SKIP_IF_ALL_VALUES_MISSING' | 'NEVER_SKIP';
}
export interface ValidationResult {
validationRule: ValidationRule;
period: string;
organisationUnit: OrganisationUnit;
dayInPeriod: number;
leftSideValue: number;
rightSideValue: number;
}
export interface Program {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
description?: string;
version?: number;
programType: 'WITH_REGISTRATION' | 'WITHOUT_REGISTRATION';
trackedEntityType?: TrackedEntityType;
programStages: ProgramStage[];
programRules?: ProgramRule[];
programIndicators?: ProgramIndicator[];
organisationUnits: OrganisationUnit[];
categoryCombo?: CategoryCombo;
useFirstStageDuringRegistration?: boolean;
displayFrontPageList?: boolean;
onlyEnrollOnce?: boolean;
selectEnrollmentDatesInFuture?: boolean;
selectIncidentDatesInFuture?: boolean;
incidentDateLabel?: string;
enrollmentDateLabel?: string;
}
export interface TrackedEntityType {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
description?: string;
trackedEntityTypeAttributes: TrackedEntityTypeAttribute[];
allowAuditLog?: boolean;
minAttributesRequiredToSearch?: number;
maxTeiCountToReturn?: number;
}
export interface TrackedEntityTypeAttribute {
id: string;
trackedEntityAttribute: TrackedEntityAttribute;
displayInList: boolean;
mandatory: boolean;
searchable: boolean;
sortOrder: number;
}
export interface TrackedEntityAttribute {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
description?: string;
valueType: string;
unique: boolean;
inherit: boolean;
optionSet?: OptionSet;
pattern?: string;
confidential?: boolean;
}
export interface OptionSet {
id: string;
name: string;
displayName: string;
code?: string;
options: Option[];
valueType: string;
}
export interface Option {
id: string;
name: string;
displayName: string;
code: string;
sortOrder: number;
}
export interface ProgramStage {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
description?: string;
program: Program;
sortOrder: number;
repeatable: boolean;
minDaysFromStart: number;
generatedByEnrollmentDate: boolean;
blockEntryForm: boolean;
reportDateToUse: string;
programStageDataElements: ProgramStageDataElement[];
programStageSections?: ProgramStageSection[];
validationStrategy: 'ON_COMPLETE' | 'ON_UPDATE_AND_INSERT';
executionDateLabel?: string;
dueDateLabel?: string;
allowGenerateNextVisit: boolean;
openAfterEnrollment: boolean;
remindCompleted: boolean;
}
export interface ProgramStageDataElement {
id: string;
dataElement: DataElement;
programStage: ProgramStage;
compulsory: boolean;
allowProvidedElsewhere: boolean;
sortOrder: number;
displayInReports: boolean;
allowFutureDate: boolean;
skipSynchronization: boolean;
}
export interface ProgramStageSection {
id: string;
name: string;
displayName: string;
sortOrder: number;
programStage: ProgramStage;
dataElements: DataElement[];
programIndicators?: ProgramIndicator[];
}
export interface ProgramRule {
id: string;
name: string;
displayName: string;
description?: string;
program: Program;
programStage?: ProgramStage;
condition: string;
priority?: number;
programRuleActions: ProgramRuleAction[];
}
export interface ProgramRuleAction {
id: string;
programRuleActionType: 'DISPLAYTEXT' | 'DISPLAYKEYVALUEPAIR' | 'HIDEFIELD' | 'HIDESECTION' | 'HIDEPROGRAM' | 'ASSIGN' | 'SHOWWARNING' | 'SHOWERROR' | 'WARNINGONFIELDINTERACTION' | 'ERRORONFIELDINTERACTION' | 'CREATEEVENT' | 'SETMANDATORYFIELD' | 'SENDMESSAGE' | 'SCHEDULEMESSAGE';
dataElement?: DataElement;
trackedEntityAttribute?: TrackedEntityAttribute;
programStageSection?: ProgramStageSection;
programStage?: ProgramStage;
data?: string;
content?: string;
location?: string;
}
export interface ProgramRuleVariable {
id: string;
name: string;
displayName: string;
program: Program;
programStage?: ProgramStage;
dataElement?: DataElement;
trackedEntityAttribute?: TrackedEntityAttribute;
sourceType: 'DATAELEMENT_NEWEST_EVENT_PROGRAM_STAGE' | 'DATAELEMENT_NEWEST_EVENT_PROGRAM' | 'DATAELEMENT_CURRENT_EVENT' | 'DATAELEMENT_PREVIOUS_EVENT' | 'CALCULATED_VALUE' | 'TEI_ATTRIBUTE';
}
export interface ProgramIndicator {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
description?: string;
program: Program;
expression: string;
filter?: string;
aggregationType: string;
analyticsType: 'EVENT' | 'ENROLLMENT';
displayInForm: boolean;
}
export interface TrackedEntityInstance {
id: string;
trackedEntityType: string;
orgUnit: string;
attributes: TrackedEntityAttributeValue[];
enrollments?: Enrollment[];
relationships?: Relationship[];
inactive: boolean;
deleted: boolean;
potentialDuplicate: boolean;
created: string;
lastUpdated: string;
}
export interface TrackedEntityAttributeValue {
attribute: string;
value: string;
displayValue?: string;
created?: string;
lastUpdated?: string;
storedBy?: string;
}
export interface Enrollment {
id: string;
trackedEntityInstance: string;
program: string;
orgUnit: string;
enrollmentDate: string;
incidentDate: string;
status: 'ACTIVE' | 'COMPLETED' | 'CANCELLED';
events?: Event[];
attributes?: TrackedEntityAttributeValue[];
notes?: Note[];
followup: boolean;
deleted: boolean;
created: string;
lastUpdated: string;
}
export interface Event {
id: string;
enrollment?: string;
program: string;
programStage: string;
orgUnit: string;
trackedEntityInstance?: string;
status: 'ACTIVE' | 'COMPLETED' | 'VISITED' | 'SCHEDULE' | 'OVERDUE' | 'SKIPPED';
eventDate?: string;
dueDate?: string;
coordinate?: Coordinate;
dataValues: DataValue[];
notes?: Note[];
followup: boolean;
deleted: boolean;
created: string;
lastUpdated: string;
}
export interface Note {
id: string;
noteText: string;
storedDate: string;
storedBy: string;
}
export interface Coordinate {
latitude: number;
longitude: number;
}
export interface Relationship {
id: string;
relationshipType: RelationshipType;
from: RelationshipItem;
to: RelationshipItem;
created: string;
lastUpdated: string;
}
export interface RelationshipType {
id: string;
name: string;
displayName: string;
fromToName: string;
toFromName: string;
bidirectional: boolean;
}
export interface RelationshipItem {
trackedEntityInstance?: TrackedEntityInstance;
enrollment?: Enrollment;
event?: Event;
}
export interface Dashboard {
id: string;
name: string;
displayName: string;
description?: string;
dashboardItems: DashboardItem[];
created: string;
lastUpdated: string;
user: User;
publicAccess: string;
externalAccess: boolean;
userAccesses: UserAccess[];
userGroupAccesses: UserGroupAccess[];
}
export interface DashboardItem {
id: string;
type: 'VISUALIZATION' | 'MAP' | 'CHART' | 'REPORT_TABLE' | 'EVENT_CHART' | 'EVENT_REPORT' | 'TEXT' | 'MESSAGES' | 'RESOURCES' | 'REPORTS' | 'USERS' | 'REPORT_TABLES' | 'CHARTS' | 'MAPS';
x: number;
y: number;
width: number;
height: number;
visualization?: Visualization;
map?: Map;
reportTable?: ReportTable;
chart?: Chart;
text?: string;
}
export interface Visualization {
id: string;
name: string;
displayName: string;
type: 'COLUMN' | 'STACKED_COLUMN' | 'BAR' | 'STACKED_BAR' | 'LINE' | 'AREA' | 'STACKED_AREA' | 'PIE' | 'RADAR' | 'GAUGE' | 'YEAR_OVER_YEAR_LINE' | 'YEAR_OVER_YEAR_COLUMN' | 'SINGLE_VALUE' | 'PIVOT_TABLE' | 'SCATTER' | 'BUBBLE';
dataDimensionItems: DataDimensionItem[];
columns: DimensionItem[];
rows: DimensionItem[];
filters: DimensionItem[];
organisationUnits: OrganisationUnit[];
periods: Period[];
created: string;
lastUpdated: string;
}
export interface DataDimensionItem {
id: string;
dataDimensionItemType: 'DATA_ELEMENT' | 'DATA_ELEMENT_OPERAND' | 'INDICATOR' | 'REPORTING_RATE' | 'PROGRAM_DATA_ELEMENT' | 'PROGRAM_ATTRIBUTE' | 'PROGRAM_INDICATOR';
dataElement?: DataElement;
indicator?: Indicator;
programDataElement?: ProgramDataElement;
programAttribute?: ProgramAttribute;
programIndicator?: ProgramIndicator;
}
export interface DimensionItem {
id: string;
name: string;
dimensionType: string;
items?: DimensionItem[];
}
export interface Period {
id: string;
name: string;
displayName: string;
periodType: string;
startDate: string;
endDate: string;
}
export interface Indicator {
id: string;
name: string;
displayName: string;
shortName: string;
code?: string;
description?: string;
numerator: string;
denominator: string;
indicatorType: IndicatorType;
decimals?: number;
annualized: boolean;
}
export interface IndicatorType {
id: string;
name: string;
displayName: string;
factor: number;
number: boolean;
}
export interface Map {
id: string;
name: string;
displayName: string;
mapViews: MapView[];
}
export interface MapView {
id: string;
name: string;
layer: string;
organisationUnitGroupSet?: OrganisationUnitGroupSet;
organisationUnits: OrganisationUnit[];
periods: Period[];
}
export interface ReportTable {
id: string;
name: string;
displayName: string;
columns: DimensionItem[];
rows: DimensionItem[];
filters: DimensionItem[];
}
export interface Chart {
id: string;
name: string;
displayName: string;
type: string;
series: DimensionItem[];
category: DimensionItem[];
filter: DimensionItem[];
}
export interface Report {
id: string;
name: string;
displayName: string;
type: 'JASPER_REPORT_TABLE' | 'JASPER_JDBC';
designContent: string;
cacheStrategy: 'NO_CACHE' | 'CACHE_1_HOUR' | 'CACHE_6AM_TOMORROW' | 'CACHE_TWO_WEEKS';
}
export interface User {
id: string;
username: string;
firstName: string;
surname: string;
email?: string;
phoneNumber?: string;
organisationUnits: OrganisationUnit[];
userCredentials: UserCredentials;
}
export interface UserCredentials {
id: string;
username: string;
disabled: boolean;
twoFA: boolean;
externalAuth: boolean;
userRoles: UserRole[];
}
export interface UserRole {
id: string;
name: string;
displayName: string;
description?: string;
authorities: string[];
}
export interface UserAccess {
id: string;
displayName: string;
access: string;
}
export interface UserGroupAccess {
id: string;
displayName: string;
access: string;
}
export interface ProgramDataElement {
id: string;
dataElement: DataElement;
program: Program;
}
export interface ProgramAttribute {
id: string;
trackedEntityAttribute: TrackedEntityAttribute;
program: Program;
}
export interface AnalyticsQuery {
dimension?: string;
filter?: string;
startDate?: string;
endDate?: string;
aggregationType?: string;
measureCriteria?: string;
preAggregationMeasureCriteria?: string;
skipMeta?: boolean;
skipData?: boolean;
skipRounding?: boolean;
hierarchyMeta?: boolean;
ignoreLimit?: boolean;
tableLayout?: boolean;
columns?: string;
rows?: string;
includeNumDen?: boolean;
}
export declare class DHIS2Client {
private client;
private baseUrl;
constructor(baseUrl: string, username: string, password: string);
get baseURL(): string;
testConnection(): Promise<boolean>;
getCurrentUser(): Promise<any>;
getSystemInfo(): Promise<SystemInfo>;
getDataElements(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
dataElements: DataElement[];
}>;
getOrganisationUnits(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
organisationUnits: OrganisationUnit[];
}>;
getAnalytics(query: AnalyticsQuery): Promise<any>;
createDataElement(dataElement: Partial<DataElement>): Promise<any>;
updateDataElement(id: string, dataElement: Partial<DataElement>): Promise<any>;
deleteDataElement(id: string): Promise<any>;
createDataValue(dataValue: Partial<DataValue>): Promise<any>;
getDataSets(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
dataSets: DataSet[];
}>;
createDataSet(dataSet: Partial<DataSet>): Promise<any>;
updateDataSet(id: string, dataSet: Partial<DataSet>): Promise<any>;
getCategories(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
categories: Category[];
}>;
createCategory(category: Partial<Category>): Promise<any>;
getCategoryOptions(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
categoryOptions: CategoryOption[];
}>;
createCategoryOption(categoryOption: Partial<CategoryOption>): Promise<any>;
getCategoryCombos(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
categoryCombos: CategoryCombo[];
}>;
createCategoryCombo(categoryCombo: Partial<CategoryCombo>): Promise<any>;
getCategoryOptionCombos(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
categoryOptionCombos: CategoryOptionCombo[];
}>;
getOrganisationUnitGroups(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
organisationUnitGroups: OrganisationUnitGroup[];
}>;
createOrganisationUnitGroup(orgUnitGroup: Partial<OrganisationUnitGroup>): Promise<any>;
getValidationRules(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
validationRules: ValidationRule[];
}>;
createValidationRule(validationRule: Partial<ValidationRule>): Promise<any>;
runValidation(params: {
startDate: string;
endDate: string;
organisationUnits: string[];
validationRuleGroups?: string[];
sendNotifications?: boolean;
}): Promise<{
validationResults: ValidationResult[];
}>;
getDataValues(params: {
dataSet?: string;
dataElement?: string[];
period?: string[];
startDate?: string;
endDate?: string;
orgUnit?: string[];
children?: boolean;
categoryOptionCombo?: string[];
attributeOptionCombo?: string[];
includeDeleted?: boolean;
lastUpdated?: string;
lastUpdatedDuration?: string;
limit?: number;
}): Promise<{
dataValues: DataValue[];
}>;
bulkImportDataValues(dataValues: DataValue[]): Promise<any>;
deleteDataValue(params: {
dataElement: string;
period: string;
orgUnit: string;
categoryOptionCombo?: string;
attributeOptionCombo?: string;
}): Promise<any>;
getPrograms(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
programs: Program[];
}>;
createProgram(program: Partial<Program>): Promise<any>;
updateProgram(id: string, program: Partial<Program>): Promise<any>;
getTrackedEntityTypes(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
trackedEntityTypes: TrackedEntityType[];
}>;
createTrackedEntityType(trackedEntityType: Partial<TrackedEntityType>): Promise<any>;
getTrackedEntityAttributes(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
trackedEntityAttributes: TrackedEntityAttribute[];
}>;
createTrackedEntityAttribute(attribute: Partial<TrackedEntityAttribute>): Promise<any>;
getProgramStages(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
programStages: ProgramStage[];
}>;
createProgramStage(programStage: Partial<ProgramStage>): Promise<any>;
getProgramRules(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
programRules: ProgramRule[];
}>;
createProgramRule(programRule: Partial<ProgramRule>): Promise<any>;
getTrackedEntityInstances(params: {
trackedEntityType?: string;
program?: string;
orgUnit?: string;
orgUnitMode?: 'SELECTED' | 'CHILDREN' | 'DESCENDANTS' | 'ACCESSIBLE';
query?: string;
attribute?: string[];
filter?: string[];
ou?: string[];
ouMode?: string;
programStartDate?: string;
programEndDate?: string;
programStatus?: 'ACTIVE' | 'COMPLETED' | 'CANCELLED';
followUp?: boolean;
eventStartDate?: string;
eventEndDate?: string;
eventStatus?: 'ACTIVE' | 'COMPLETED' | 'VISITED' | 'SCHEDULE' | 'OVERDUE' | 'SKIPPED';
includeDeleted?: boolean;
includeAllAttributes?: boolean;
fields?: string;
page?: number;
pageSize?: number;
}): Promise<{
trackedEntityInstances: TrackedEntityInstance[];
}>;
createTrackedEntityInstance(tei: Partial<TrackedEntityInstance>): Promise<any>;
updateTrackedEntityInstance(id: string, tei: Partial<TrackedEntityInstance>): Promise<any>;
getEnrollments(params: {
program?: string;
trackedEntityInstance?: string;
orgUnit?: string;
orgUnitMode?: 'SELECTED' | 'CHILDREN' | 'DESCENDANTS' | 'ACCESSIBLE';
programStartDate?: string;
programEndDate?: string;
programStatus?: 'ACTIVE' | 'COMPLETED' | 'CANCELLED';
followUp?: boolean;
includeDeleted?: boolean;
fields?: string;
page?: number;
pageSize?: number;
}): Promise<{
enrollments: Enrollment[];
}>;
createEnrollment(enrollment: Partial<Enrollment>): Promise<any>;
updateEnrollment(id: string, enrollment: Partial<Enrollment>): Promise<any>;
getEvents(params: {
program?: string;
programStage?: string;
enrollment?: string;
trackedEntityInstance?: string;
orgUnit?: string;
orgUnitMode?: 'SELECTED' | 'CHILDREN' | 'DESCENDANTS' | 'ACCESSIBLE';
startDate?: string;
endDate?: string;
status?: 'ACTIVE' | 'COMPLETED' | 'VISITED' | 'SCHEDULE' | 'OVERDUE' | 'SKIPPED';
followUp?: boolean;
includeDeleted?: boolean;
fields?: string;
page?: number;
pageSize?: number;
order?: string;
}): Promise<{
events: Event[];
}>;
createEvent(event: Partial<Event>): Promise<any>;
updateEvent(id: string, event: Partial<Event>): Promise<any>;
bulkImportEvents(events: Event[]): Promise<any>;
getEventAnalytics(params: {
program: string;
stage?: string;
startDate: string;
endDate: string;
orgUnit: string;
dimension?: string[];
filter?: string[];
value?: string;
outputType?: 'EVENT' | 'ENROLLMENT' | 'TRACKED_ENTITY_INSTANCE';
coordinatesOnly?: boolean;
page?: number;
pageSize?: number;
}): Promise<any>;
getEnrollmentAnalytics(params: {
program: string;
startDate: string;
endDate: string;
orgUnit: string;
dimension?: string[];
filter?: string[];
page?: number;
pageSize?: number;
}): Promise<any>;
getDataStatistics(): Promise<any>;
getDashboards(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
dashboards: Dashboard[];
}>;
createDashboard(dashboard: Partial<Dashboard>): Promise<any>;
getVisualizations(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
visualizations: Visualization[];
}>;
createVisualization(visualization: Partial<Visualization>): Promise<any>;
getReports(params?: {
fields?: string;
filter?: string;
paging?: boolean;
pageSize?: number;
}): Promise<{
reports: Report[];
}>;
generateReport(reportId: string, params?: {
organisationUnit?: string;
period?: string;
date?: string;
}): Promise<any>;
createDataStoreNamespace(namespace: string, options?: {
description?: string;
sharing?: any;
initialKeys?: Array<{
key: string;
value: any;
}>;
}): Promise<any>;
manageDataStoreKey(params: {
operation: 'create' | 'read' | 'update' | 'delete' | 'list';
namespace: string;
key?: string;
value?: any;
encrypt?: boolean;
}): Promise<any>;
private encryptValue;
}
//# sourceMappingURL=dhis2-client.d.ts.map