DHIS2 Flutter SDK

Introduction

DHIS2 Flutter SDK is a library that abstracts the complexity of interacting with DHIS2 web api. It aims to be an starting point to build Flutter apps for DHIS2, covering some tasks that any Flutter app should implement, like metadata and data synchronization.

Main goals:

  • Abstract DHIS2 web api. There is no need to perform api queries against the server. The SDK includes methods to interact with the web api.
  • Work offline. It implements a simplified version of DHIS2 model that is persisted in a local database (SQLite). It ensures that all the metadata required to perform data entry tasks is available at any time to build the data entry forms. Data is saved locally and upload to the server when connectivity is available.
  • Ensure DHIS2 compatibility. It encapsulates the changes between DHIS2 versions so the app does not have to care about them. In case the SDK introduces some changes to accommodate a new DHIS2 version, the app can safely detect these changes at compile-time.

Documentation

Developer-oriented documentation can be found in Documentation section in DHIS2 web. It is intended to be used by developers.

Contributing

Contributing Guidelines

Read through our contributing to learn about our submission process, coding rules and more.

Want to Help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing.

Code of Conduct

Help us keep DHIS2 Flutter SDK open and inclusive. Please read and follow our codeofconduct.

Community

Join the conversation and help the community.

Libraries

aggregate.module
attribute_option.entity
attribute_option.query
attribute_reserved_value.entity
attribute_reserved_value.query
auth-token.model
base.entity
base.query
column.annotation
d2_touch
dashboard.entity
dashboard.module
dashboard.query
dashboard_item.entity
dashboard_item.query
data_element.entity
data_element.module
data_element.query
data_set.entity
data_set.module
data_set.query
data_set_element.entity
data_set_element.query
data_set_element_option.entity
data_set_element_option.query
data_value.entity
data_value.query
data_value_entities.util
data_value_set.entity
data_value_set.query
database_config
database_manager
dhis-url-generator.util
dhis_uid_generator.util
enrollment.entity
enrollment.query
entity.annotation
error_message.model
event.entity
event.query
event_data_value.entity
event_data_value.query
event_rule_engine
event_rule_result.model
file_content_type.model
file_resource.entity
file_resource.module
file_resource.query
geometry.entity
http-details.util
http_client.util
identifiable.entity
import_strategy.util
index
login-response.model
merge_mode.util
message.entity
message.query
message_conversation.entity
message_conversation.query
notification.module
object.util
option_set.entity
option_set.module
option_set.query
organisation_unit.entity
organisation_unit.module
organisation_unit.query
orgunit_mode.util
program.entity
program.module
program.query
program_rule.entity
program_rule.query
program_rule_action.entity
program_rule_action.query
program_rule_action_type.util
program_rule_engine.util
program_rule_variable.entity
program_rule_variable.query
program_section.entity
program_section.query
program_section_attribute.entity
program_section_attribute.query
program_stage.entity
program_stage.query
program_stage_data_element.entity
program_stage_data_element.query
program_stage_data_element_option.entity
program_stage_data_element_option.query
program_stage_section.entity
program_stage_section.query
program_stage_section_data_element.entity
program_stage_section_data_element.query
program_tracked_entity_attribute.entity
program_tracked_entity_attribute.query
query-request.util
query-resource.util
query_builder
query_expression
query_filter.util
query_filter_condition.util
query_model.util
query_row.util
reflectable.annotation
relation.annotation
repository
repository_util
request_progress.model
save_option.util
sort_order.util
sync.util
tracked-entity.entity
tracked_entity_attribute.entity
tracked_entity_attribute.query
tracked_entity_attribute_value.entity
tracked_entity_attribute_value.query
tracked_entity_instance.module
tracked_entity_instance.query
tracker_rule_engine
tracker_rule_result.model
user.entity
user.module
user.query
user_authority.entity
user_authority.query
user_organisation_unit.entity
user_organisation_unit.query
user_role.entity
user_role.query
validation_rule.entity
validation_rule.query
validation_rule_action.model
validation_rule_engine
validation_rule_result.model