├── .editorconfig ├── .github └── workflows │ ├── dokka.yml │ ├── generate-and-upload-bom.yml │ ├── rebuild-docs.yml │ ├── release.yml │ └── scripts │ └── publish-maven.sh ├── .gitignore ├── .idea ├── copyright │ ├── DHIS2.xml │ └── profiles_settings.xml ├── gradle.xml └── scopes │ └── copyright.xml ├── .tx └── config ├── Jenkinsfile ├── LICENSE ├── README.md ├── assets └── logo-icon.svg ├── build.gradle.kts ├── build.sh ├── buildSrc ├── build.gradle.kts ├── settings.gradle.kts └── src │ └── main │ └── kotlin │ ├── Props.kt │ ├── jacoco-conventions.gradle.kts │ └── maven-publish-conventions.gradle.kts ├── core ├── .gitignore ├── api │ └── core.api ├── build.gradle.kts ├── config │ ├── config.yml │ └── detekt.yml ├── plugins │ ├── android-checkstyle.gradle │ ├── android-pmd.gradle │ ├── checkstyle-style.xml │ └── pmd-rules.xml └── src │ ├── androidTest │ ├── AndroidManifest.xml │ ├── assets │ │ └── databases │ │ │ ├── corrupted-database.zip │ │ │ ├── export-database.zip │ │ │ └── test-database.db │ ├── java │ │ └── org │ │ │ └── hisp │ │ │ └── dhis │ │ │ └── android │ │ │ ├── core │ │ │ ├── BaseIntegrationTestWithDatabase.java │ │ │ ├── BaseRealIntegrationTest.kt │ │ │ ├── D2DIComponentAccessor.kt │ │ │ ├── D2Factory.kt │ │ │ ├── LogInCallRealIntegrationShould.java │ │ │ ├── MetadataCallRealIntegrationShould.kt │ │ │ ├── MockIntegrationTestObjects.kt │ │ │ ├── MultiUserMockIntegrationShould.kt │ │ │ ├── MultiUserRealIntegrationShould.java │ │ │ ├── TeisCallRealIntegrationShould.kt │ │ │ ├── analytics │ │ │ │ ├── aggregated │ │ │ │ │ └── internal │ │ │ │ │ │ └── evaluator │ │ │ │ │ │ ├── AnalyticsRepositoryIntegrationShould.kt │ │ │ │ │ │ ├── AnalyticsVisualizationRepositoryIntegrationShould.kt │ │ │ │ │ │ ├── BaseEvaluatorIntegrationShould.kt │ │ │ │ │ │ ├── BaseEvaluatorSamples.kt │ │ │ │ │ │ ├── DataElementSQLEvaluatorIntegrationShould.kt │ │ │ │ │ │ ├── EventDataItemSQLEvaluatorIntegrationShould.kt │ │ │ │ │ │ ├── ExpressionDimensionItemEvaluatorIntegrationBaseShould.kt │ │ │ │ │ │ ├── IndicatorEvaluatorIntegrationBaseShould.kt │ │ │ │ │ │ ├── IndicatorEvaluatorIntegrationShould.kt │ │ │ │ │ │ ├── IndicatorSQLEvaluatorIntegrationShould.kt │ │ │ │ │ │ ├── ProgramIndicatorEvaluatorIntegrationShould.kt │ │ │ │ │ │ └── analyticexpressionengine │ │ │ │ │ │ └── AnalyticExpressionEngineFactoryHelper.kt │ │ │ │ ├── eventlinelist │ │ │ │ │ ├── EventLineListIntegrationShould.kt │ │ │ │ │ └── EventLineListSamples.kt │ │ │ │ └── trackerlinelist │ │ │ │ │ ├── TrackerEntityInstanceLineListRepositoryEvaluatorShould.kt │ │ │ │ │ ├── TrackerLineListRepositoryEvaluatorShould.kt │ │ │ │ │ └── TrackerLineListRepositoryIntegrationShould.kt │ │ │ ├── arch │ │ │ │ ├── db │ │ │ │ │ └── access │ │ │ │ │ │ ├── SqliteCheckerUtility.java │ │ │ │ │ │ └── internal │ │ │ │ │ │ ├── DatabaseAdapterFactoryIntegrationShould.java │ │ │ │ │ │ ├── DatabaseFromMigrationsIntegrationShould.kt │ │ │ │ │ │ ├── DatabaseImportExportFromDatabaseAssetsMockIntegrationShould.kt │ │ │ │ │ │ └── TestDatabaseImporter.kt │ │ │ │ ├── repositories │ │ │ │ │ └── collection │ │ │ │ │ │ ├── CollectionRepositoryOneMethodMockIntegrationShould.kt │ │ │ │ │ │ ├── FiltersOperatorsMockIntegrationShould.kt │ │ │ │ │ │ ├── IdentifiableCollectionFiltersMockIntegrationShould.kt │ │ │ │ │ │ ├── NameableCollectionFiltersMockIntegrationShould.kt │ │ │ │ │ │ ├── PagingMockIntegrationShould.kt │ │ │ │ │ │ ├── ReadOnlyCollectionRepositoryImplIntegrationShould.kt │ │ │ │ │ │ ├── ReadOnlyIdentifiableCollectionRepositoryImplIntegrationShould.kt │ │ │ │ │ │ └── RelationshipTypeAsserts.kt │ │ │ │ └── storage │ │ │ │ │ └── internal │ │ │ │ │ └── CredentialsSecureStorageMockIntegrationShould.kt │ │ │ ├── attribute │ │ │ │ └── internal │ │ │ │ │ ├── AttributeStoreIntegrationShould.kt │ │ │ │ │ ├── DataElementAttributeValueLinkStoreIntegrationShould.java │ │ │ │ │ ├── ProgramAttributeValueLinkStoreIntegrationShould.java │ │ │ │ │ └── ProgramStageAttributeValueLinkStoreIntegrationShould.java │ │ │ ├── category │ │ │ │ └── internal │ │ │ │ │ ├── CategoryCategoryComboLinkStoreIntegrationShould.kt │ │ │ │ │ ├── CategoryCategoryOptionLinkStoreIntegrationShould.java │ │ │ │ │ ├── CategoryComboEndpointCallRealIntegrationShould.kt │ │ │ │ │ ├── CategoryComboStoreIntegrationShould.kt │ │ │ │ │ ├── CategoryComboUidsSeekerMockIntegrationShould.kt │ │ │ │ │ ├── CategoryEndpointCallRealIntegrationShould.kt │ │ │ │ │ ├── CategoryEndpointCallShould.kt │ │ │ │ │ ├── CategoryOptionComboCategoryOptionLinkStoreIntegrationShould.java │ │ │ │ │ ├── CategoryOptionComboStoreIntegrationShould.kt │ │ │ │ │ ├── CategoryOptionOrganisationUnitLinkStoreIntegrationShould.kt │ │ │ │ │ ├── CategoryOptionStoreIntegrationShould.kt │ │ │ │ │ ├── CategoryStoreIntegrationShould.kt │ │ │ │ │ └── CreateCategoryComboUtils.java │ │ │ ├── common │ │ │ │ ├── IdentifiableObjectStoreIntegrationShould.java │ │ │ │ ├── ObjectStoreIntegrationShould.java │ │ │ │ ├── StoreMocks.java │ │ │ │ ├── ValueTypeDeviceRenderingStoreIntegrationShould.java │ │ │ │ ├── internal │ │ │ │ │ └── DataStatePropagatorIntegrationShould.kt │ │ │ │ └── objectstyle │ │ │ │ │ └── internal │ │ │ │ │ └── TablesWithStyleShould.kt │ │ │ ├── configuration │ │ │ │ └── internal │ │ │ │ │ ├── ConfigurationStoreIntegrationShould.java │ │ │ │ │ └── DatabaseConfigurationMigrationIntegrationShould.kt │ │ │ ├── constant │ │ │ │ └── internal │ │ │ │ │ └── ConstantStoreIntegrationShould.java │ │ │ ├── data │ │ │ │ ├── database │ │ │ │ │ ├── CursorAssert.java │ │ │ │ │ ├── DatabaseAssert.kt │ │ │ │ │ ├── DbTestUtils.java │ │ │ │ │ ├── IdentifiableDataObjectStoreAbstractIntegrationShould.kt │ │ │ │ │ ├── IdentifiableObjectStoreAbstractIntegrationShould.kt │ │ │ │ │ ├── LinkStoreAbstractIntegrationShould.kt │ │ │ │ │ ├── ObjectStoreAbstractIntegrationShould.kt │ │ │ │ │ ├── ObjectWithoutUidStoreAbstractIntegrationShould.kt │ │ │ │ │ └── migrations │ │ │ │ │ │ └── DataBaseMigrationShould.java │ │ │ │ └── server │ │ │ │ │ └── RealServerMother.java │ │ │ ├── dataapproval │ │ │ │ └── internal │ │ │ │ │ └── DataApprovalStoreIntegrationShould.kt │ │ │ ├── dataelement │ │ │ │ ├── CreateDataElementUtils.java │ │ │ │ └── internal │ │ │ │ │ ├── DataElementEndpointCallRealIntegrationShould.kt │ │ │ │ │ ├── DataElementOperandStoreIntegrationShould.java │ │ │ │ │ └── DataElementStoreIntegrationShould.java │ │ │ ├── dataset │ │ │ │ └── internal │ │ │ │ │ ├── DataInputPeriodLinkStoreIntegrationShould.java │ │ │ │ │ ├── DataInputPeriodStoreIntegrationShould.kt │ │ │ │ │ ├── DataSetCompleteRegistrationCallRealIntegrationShould.java │ │ │ │ │ ├── DataSetCompleteRegistrationPostCallMockIntegrationShould.kt │ │ │ │ │ ├── DataSetCompleteRegistrationPostCallRealIntegrationShould.java │ │ │ │ │ ├── DataSetCompleteRegistrationStoreIntegrationShould.kt │ │ │ │ │ ├── DataSetCompulsoryDataElementOperandLinkStoreIntegrationShould.java │ │ │ │ │ ├── DataSetDataElementLinkStoreIntegrationShould.java │ │ │ │ │ ├── DataSetElementStoreIntegrationShould.kt │ │ │ │ │ ├── DataSetEndpointCallRealIntegrationShould.kt │ │ │ │ │ ├── DataSetInstanceStoreIntegrationShould.kt │ │ │ │ │ ├── DataSetOrganisationUnitLinkStoreIntegrationShould.java │ │ │ │ │ ├── DataSetStoreIntegrationShould.java │ │ │ │ │ ├── SectionDataElementLinkStoreIntegrationShould.java │ │ │ │ │ ├── SectionGreyedFieldsLinkStoreIntegrationShould.java │ │ │ │ │ ├── SectionIndicatorLinkStoreIntegrationShould.kt │ │ │ │ │ └── SectionStoreIntegrationShould.java │ │ │ ├── datastore │ │ │ │ ├── DataStoreEntryStoreIntegrationShould.kt │ │ │ │ ├── LocalDataStoreStoreIntegrationShould.kt │ │ │ │ └── internal │ │ │ │ │ └── DataStorePostCallMockIntegrationShould.kt │ │ │ ├── datavalue │ │ │ │ └── internal │ │ │ │ │ ├── DataValueConflictStoreIntegrationShould.kt │ │ │ │ │ ├── DataValueEndpointCallRealIntegrationShould.kt │ │ │ │ │ ├── DataValuePostCallMockIntegrationShould.kt │ │ │ │ │ ├── DataValuePostCallRealIntegrationShould.java │ │ │ │ │ └── DataValueStoreIntegrationShould.kt │ │ │ ├── domain │ │ │ │ ├── aggregated │ │ │ │ │ └── data │ │ │ │ │ │ ├── AggregatedDataCallEnqueableMockIntegrationShould.kt │ │ │ │ │ │ ├── AggregatedDataCallMockIntegrationShould.kt │ │ │ │ │ │ ├── AggregatedDataCallRealIntegrationShould.kt │ │ │ │ │ │ └── internal │ │ │ │ │ │ └── AggregatedDataSyncStoreIntegrationShould.kt │ │ │ │ └── metadata │ │ │ │ │ └── MetadataCallMockIntegrationShould.kt │ │ │ ├── enrollment │ │ │ │ ├── CreateEnrollmentUtils.java │ │ │ │ └── internal │ │ │ │ │ └── EnrollmentStoreIntegrationShould.java │ │ │ ├── event │ │ │ │ ├── CreateEventUtils.java │ │ │ │ ├── EventWithLimitCallBaseMockIntegrationShould.kt │ │ │ │ ├── EventWithLimitCallNewMockIntegrationShould.kt │ │ │ │ ├── EventWithLimitCallOldMockIntegrationShould.kt │ │ │ │ └── internal │ │ │ │ │ ├── EventAPI29RealShould.java │ │ │ │ │ ├── EventAPI30RealShould.java │ │ │ │ │ ├── EventAPIRealShould.kt │ │ │ │ │ ├── EventCallFactory.kt │ │ │ │ │ ├── EventDataFilterStoreIntegrationShould.kt │ │ │ │ │ ├── EventDownloadCallMockIntegrationShould.kt │ │ │ │ │ ├── EventDownloadRealIntegrationShould.java │ │ │ │ │ ├── EventEndpointCallBaseMockIntegrationShould.kt │ │ │ │ │ ├── EventEndpointCallNewMockIntegrationShould.kt │ │ │ │ │ ├── EventEndpointCallOldMockIntegrationShould.kt │ │ │ │ │ ├── EventEndpointCallRealIntegrationShould.kt │ │ │ │ │ ├── EventFilterStoreIntegrationShould.kt │ │ │ │ │ ├── EventPostBaseMockIntegrationShould.kt │ │ │ │ │ ├── EventPostCallRealIntegrationShould.kt │ │ │ │ │ ├── EventPostNewMockIntegrationShould.kt │ │ │ │ │ ├── EventPostOldMockIntegrationShould.kt │ │ │ │ │ ├── EventStoreIntegrationShould.java │ │ │ │ │ ├── EventSyncStoreIntegrationShould.java │ │ │ │ │ └── EventUtils.java │ │ │ ├── expressiondimensionitem │ │ │ │ └── ExpressionDimensionItemStoreIntegrationShould.kt │ │ │ ├── fileresource │ │ │ │ └── internal │ │ │ │ │ ├── BaseFileResourceRoutineIntegrationShould.kt │ │ │ │ │ ├── FileResourceCallRealIntegrationShould.kt │ │ │ │ │ ├── FileResourceDownloadCallHelperIntegrationShould.kt │ │ │ │ │ ├── FileResourceRoutineSamples.kt │ │ │ │ │ ├── FileResourceRoutineShould.kt │ │ │ │ │ └── FileResourceStoreIntegrationShould.kt │ │ │ ├── icon │ │ │ │ └── internal │ │ │ │ │ └── CustomIconStoreIntegrationShould.kt │ │ │ ├── imports │ │ │ │ └── internal │ │ │ │ │ └── TrackerImportConflictStoreIntegrationShould.java │ │ │ ├── indicator │ │ │ │ └── internal │ │ │ │ │ ├── DataSetIndicatorLinkStoreIntegrationShould.java │ │ │ │ │ ├── IndicatorStoreIntegrationShould.kt │ │ │ │ │ ├── IndicatorUidsSeekerMockIntegrationShould.kt │ │ │ │ │ └── IndicatoryTypeStoreIntegrationShould.kt │ │ │ ├── legendset │ │ │ │ ├── DataElementLegendSetLinkStoreIntegrationShould.kt │ │ │ │ ├── IndicatorLegendSetLinkStoreIntegrationShould.kt │ │ │ │ ├── ProgramIndicatorLegendSetLinkStoreIntegrationShould.java │ │ │ │ └── internal │ │ │ │ │ ├── LegendSetStoreIntegrationShould.java │ │ │ │ │ ├── LegendSetUidsSeekerMockIntegrationShould.kt │ │ │ │ │ └── LegendStoreIntegrationShould.java │ │ │ ├── maintenance │ │ │ │ └── internal │ │ │ │ │ ├── D2ErrorStoreIntegrationShould.java │ │ │ │ │ ├── ForeignKeyCleanerShould.kt │ │ │ │ │ └── ForeignKeyViolationStoreIntegrationShould.java │ │ │ ├── map │ │ │ │ └── internal │ │ │ │ │ ├── MapLayerImageryProviderStoreIntegrationShould.kt │ │ │ │ │ └── MapLayerStoreIntegrationShould.kt │ │ │ ├── note │ │ │ │ ├── NotePostCallRealIntegrationShould.java │ │ │ │ └── internal │ │ │ │ │ └── NoteStoreIntegrationShould.java │ │ │ ├── option │ │ │ │ ├── OptionCallShould.java │ │ │ │ ├── OptionCallShould.kt │ │ │ │ ├── OptionSetCallShould.java │ │ │ │ ├── OptionSetCallShould.kt │ │ │ │ └── internal │ │ │ │ │ ├── OptionGroupOptionLinkStoreIntegrationShould.java │ │ │ │ │ ├── OptionGroupStoreIntegrationShould.java │ │ │ │ │ ├── OptionSetStoreIntegrationShould.kt │ │ │ │ │ └── OptionStoreIntegrationShould.kt │ │ │ ├── organisationunit │ │ │ │ └── internal │ │ │ │ │ ├── OrganisationUnitCallMockIntegrationShould.kt │ │ │ │ │ ├── OrganisationUnitGroupStoreIntegrationShould.java │ │ │ │ │ ├── OrganisationUnitLevelStoreIntegrationShould.java │ │ │ │ │ ├── OrganisationUnitOrganisationUnitGroupLinkStoreIntegrationShould.java │ │ │ │ │ ├── OrganisationUnitProgramLinkStoreIntegrationShould.java │ │ │ │ │ └── OrganisationUnitStoreIntegrationShould.java │ │ │ ├── period │ │ │ │ ├── PeriodMockIntegrationShould.java │ │ │ │ ├── PeriodParserMockIntegrationShould.java │ │ │ │ ├── clock │ │ │ │ │ └── internal │ │ │ │ │ │ └── ClockProviderFactoryExtension.kt │ │ │ │ └── internal │ │ │ │ │ ├── PeriodHelperIntegrationShould.kt │ │ │ │ │ └── PeriodStoreIntegrationShould.kt │ │ │ ├── program │ │ │ │ ├── CreateProgramStageUtils.java │ │ │ │ ├── internal │ │ │ │ │ ├── AnalyticsPeriodBoundaryStoreIntegrationShould.kt │ │ │ │ │ ├── ProgramEndpointCallMockIntegrationShould.kt │ │ │ │ │ ├── ProgramEndpointCallRealIntegrationShould.kt │ │ │ │ │ ├── ProgramIndicatorStoreIntegrationShould.java │ │ │ │ │ ├── ProgramIndicatorUidsSeekerMockIntegrationShould.kt │ │ │ │ │ ├── ProgramRuleActionStoreIntegrationShould.kt │ │ │ │ │ ├── ProgramRuleStoreIntegrationShould.java │ │ │ │ │ ├── ProgramRuleVariableStoreIntegrationShould.java │ │ │ │ │ ├── ProgramSectionAttributeLinkStoreIntegrationShould.java │ │ │ │ │ ├── ProgramSectionStoreIntegrationShould.kt │ │ │ │ │ ├── ProgramStageDataElementStoreIntegrationShould.java │ │ │ │ │ ├── ProgramStageSectionDataElementLinkStoreIntegrationShould.java │ │ │ │ │ ├── ProgramStageSectionProgramIndicatorLinkStoreIntegrationShould.kt │ │ │ │ │ ├── ProgramStageSectionStoreIntegrationShould.kt │ │ │ │ │ ├── ProgramStageStoreIntegrationShould.java │ │ │ │ │ ├── ProgramStoreIntegrationShould.java │ │ │ │ │ └── ProgramTrackedEntityAttributeStoreIntegrationShould.java │ │ │ │ └── programindicatorengine │ │ │ │ │ ├── BaseProgramIndicatorSQLExecutorIntegrationShould.kt │ │ │ │ │ ├── BaseTrackerDataIntegrationHelper.kt │ │ │ │ │ ├── ProgramIndicatorBoundariesSQLExecutorIntegrationShould.kt │ │ │ │ │ ├── ProgramIndicatorEngineIntegrationShould.kt │ │ │ │ │ └── ProgramIndicatorSQLExecutorIntegrationShould.kt │ │ │ ├── programstageworkinglist │ │ │ │ ├── ProgramStageWorkingListAttributeValueFilterStoreIntegrationShould.kt │ │ │ │ ├── ProgramStageWorkingListEventDataFilterStoreIntegrationShould.kt │ │ │ │ └── ProgramStageWorkingListStoreIntegrationShould.kt │ │ │ ├── relationship │ │ │ │ ├── CreateRelationshipTypeUtils.java │ │ │ │ ├── RelationshipCollectionRepositoryMockIntegrationShould.kt │ │ │ │ ├── RelationshipServiceIntegrationShould.kt │ │ │ │ ├── RelationshipTypeCollectionRepositoryMockIntegrationShould.kt │ │ │ │ └── internal │ │ │ │ │ ├── RelationshipConstraintStoreIntegrationShould.kt │ │ │ │ │ ├── RelationshipItemStoreIntegrationShould.kt │ │ │ │ │ ├── RelationshipStoreIntegrationShould.java │ │ │ │ │ └── RelationshipTypeStoreIntegrationShould.kt │ │ │ ├── resource │ │ │ │ └── internal │ │ │ │ │ └── ResourceStoreIntegrationShould.java │ │ │ ├── settings │ │ │ │ ├── SettingsModuleMockIntegrationShould.kt │ │ │ │ └── internal │ │ │ │ │ ├── AnalyticsDhisVisualizationStoreIntegrationShould.kt │ │ │ │ │ ├── AnalyticsTeiAttributeStoreIntegrationShould.kt │ │ │ │ │ ├── AnalyticsTeiDataElementStoreIntegrationShould.kt │ │ │ │ │ ├── AnalyticsTeiIndicatorStoreIntegrationShould.kt │ │ │ │ │ ├── AnalyticsTeiSettingStoreIntegrationShould.kt │ │ │ │ │ ├── AnalyticsTeiWHONutritionDataStoreIntegrationShould.kt │ │ │ │ │ ├── DataSetSettingStoreIntegrationShould.java │ │ │ │ │ ├── FilterSettingStoreIntegrationShould.kt │ │ │ │ │ ├── GeneralSettingsStoreIntegrationShould.kt │ │ │ │ │ ├── LatestAppVersionStoreIntegrationShould.kt │ │ │ │ │ ├── ProgramConfigurationSettingStoreIntegrationShould.kt │ │ │ │ │ ├── ProgramSettingStoreIntegrationShould.java │ │ │ │ │ ├── SynchronizationSettingsStoreIntegrationShould.kt │ │ │ │ │ ├── SystemSettingStoreIntegrationShould.java │ │ │ │ │ └── UserSettingsStoreIntegrationShould.java │ │ │ ├── sms │ │ │ │ └── data │ │ │ │ │ └── localdbrepository │ │ │ │ │ └── internal │ │ │ │ │ ├── SMSConfigStoreIntegrationShould.kt │ │ │ │ │ ├── SMSMetadataIdStoreIntegrationShould.kt │ │ │ │ │ └── SMSOngoingSubmissionStoreIntegrationShould.kt │ │ │ ├── systeminfo │ │ │ │ ├── DHISVersionsManagerRealIntegrationShould.kt │ │ │ │ ├── SystemInfoCallMockIntegrationShould.kt │ │ │ │ ├── SystemInfoDatabaseMappingShould.java │ │ │ │ ├── SystemInfoModuleMockIntegrationShould.kt │ │ │ │ └── internal │ │ │ │ │ └── SystemInfoStoreIntegrationShould.java │ │ │ ├── trackedentity │ │ │ │ ├── CreateTrackedEntityAttributeUtils.java │ │ │ │ ├── CreateTrackedEntityInstanceUtils.java │ │ │ │ ├── CreateTrackedEntityUtils.java │ │ │ │ ├── TrackedEntityAttributeReservedValueManagerRealIntegrationShould.kt │ │ │ │ ├── TrackedEntityInstanceCallRealIntegrationShould.java │ │ │ │ ├── TrackedEntityInstanceModelShould.java │ │ │ │ ├── TrackedEntityTypeCollectionRepositoryMockIntegrationShould.kt │ │ │ │ ├── api │ │ │ │ │ ├── BreakTheGlassAPIShould.kt │ │ │ │ │ ├── TrackedEntityInstanceAPI29Should.java │ │ │ │ │ ├── TrackedEntityInstanceAPI30Should.java │ │ │ │ │ ├── TrackedEntityInstanceAPIShould.kt │ │ │ │ │ └── TrackedEntityInstanceUtils.java │ │ │ │ ├── internal │ │ │ │ │ ├── AttributeValueFilterStoreIntegrationShould.kt │ │ │ │ │ ├── BasePayloadGeneratorMockIntegration.kt │ │ │ │ │ ├── NewTrackerImporterPayloadGeneratorMockIntegrationShould.kt │ │ │ │ │ ├── OldTrackerImporterPayloadGeneratorMockIntegrationShould.kt │ │ │ │ │ ├── ReservedValueSettingStoreIntegrationShould.java │ │ │ │ │ ├── TrackedEntityAttributeLegendSetLinkStoreIntegrationShould.kt │ │ │ │ │ ├── TrackedEntityAttributeReservedValueEndpointCallRealIntegrationShould.java │ │ │ │ │ ├── TrackedEntityAttributeReservedValueStoreIntegrationShould.java │ │ │ │ │ ├── TrackedEntityAttributeStoreIntegrationShould.java │ │ │ │ │ ├── TrackedEntityAttributeValueStoreIntegrationShould.java │ │ │ │ │ ├── TrackedEntityDataValueStoreIntegrationShould.java │ │ │ │ │ ├── TrackedEntityInstanceCallBaseMockIntegrationShould.kt │ │ │ │ │ ├── TrackedEntityInstanceCallNewMockIntegrationShould.kt │ │ │ │ │ ├── TrackedEntityInstanceCallOldMockIntegrationShould.kt │ │ │ │ │ ├── TrackedEntityInstanceDownloadCallEnqueableMockIntegrationShould.kt │ │ │ │ │ ├── TrackedEntityInstanceDownloadCallMockIntegrationShould.kt │ │ │ │ │ ├── TrackedEntityInstanceEventFilterStoreIntegrationShould.java │ │ │ │ │ ├── TrackedEntityInstanceFilterStoreIntegrationShould.kt │ │ │ │ │ ├── TrackedEntityInstancePostCallRealIntegrationShould.java │ │ │ │ │ ├── TrackedEntityInstanceStoreIntegrationShould.java │ │ │ │ │ ├── TrackedEntityInstanceSyncStoreIntegrationShould.java │ │ │ │ │ ├── TrackedEntityTypeAttributeStoreIntegrationShould.java │ │ │ │ │ └── TrackedEntityTypeStoreIntegrationShould.java │ │ │ │ ├── ownership │ │ │ │ │ ├── ProgramOwnerStoreIntegrationShould.kt │ │ │ │ │ └── ProgramTempOwnerStoreIntegrationShould.kt │ │ │ │ └── search │ │ │ │ │ ├── TrackedEntityInstanceLocalQueryHelperMockIntegrationShould.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryAndDownloadRealIntegrationShould.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryCallRealIntegrationShould.kt │ │ │ │ │ └── TrackedEntityInstanceQueryCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── tracker │ │ │ │ └── importer │ │ │ │ │ └── internal │ │ │ │ │ └── TrackerJobObjectStoreIntegrationShould.kt │ │ │ ├── usecase │ │ │ │ └── stock │ │ │ │ │ └── internal │ │ │ │ │ ├── StockUseCaseStoreIntegrationShould.kt │ │ │ │ │ └── StockUseCaseTransactionLinkStoreIntegrationShould.kt │ │ │ ├── user │ │ │ │ ├── LoginErrorHandlingRealIntegrationShould.java │ │ │ │ ├── OpenIdConnectRealIntegrationShould.kt │ │ │ │ ├── UserDisabledMockIntegrationShould.kt │ │ │ │ ├── UserDisabledRxAPIMockIntegrationShould.kt │ │ │ │ ├── UserModuleMockIntegrationShould.java │ │ │ │ └── internal │ │ │ │ │ ├── AuthenticatedUserStoreIntegrationShould.java │ │ │ │ │ ├── AuthorityStoreIntegrationShould.kt │ │ │ │ │ ├── LogInCallMockIntegrationShould.kt │ │ │ │ │ ├── LogInOfflineCallMockIntegrationShould.kt │ │ │ │ │ ├── LogoutCallRealIntegrationShould.kt │ │ │ │ │ ├── UserAuthenticateWithEncryptionMockIntegrationShould.kt │ │ │ │ │ ├── UserCallMockIntegrationShould.kt │ │ │ │ │ ├── UserGroupStoreIntegrationShould.kt │ │ │ │ │ ├── UserOrganisationUnitLinkStoreIntegrationShould.kt │ │ │ │ │ ├── UserRoleStoreIntegrationShould.kt │ │ │ │ │ └── UserStoreIntegrationShould.kt │ │ │ ├── utils │ │ │ │ ├── DatabaseRemover.kt │ │ │ │ ├── integration │ │ │ │ │ └── mock │ │ │ │ │ │ ├── BaseMockIntegrationTest.kt │ │ │ │ │ │ ├── BaseMockIntegrationTestEmptyDispatcher.kt │ │ │ │ │ │ ├── BaseMockIntegrationTestEmptyEnqueable.kt │ │ │ │ │ │ ├── BaseMockIntegrationTestFullDispatcher.kt │ │ │ │ │ │ ├── BaseMockIntegrationTestLocalAnalyticsSuperLargeDispatcher.kt │ │ │ │ │ │ ├── BaseMockIntegrationTestMetadataDispatcher.kt │ │ │ │ │ │ ├── BaseMockIntegrationTestMetadataEnqueable.kt │ │ │ │ │ │ ├── BaseMockIntegrationTestMethodScopedEmptyEnqueable.kt │ │ │ │ │ │ ├── MockIntegrationTestDatabaseContent.java │ │ │ │ │ │ ├── MockIntegrationTestObjectsFactory.kt │ │ │ │ │ │ └── TestDatabaseAdapterFactory.java │ │ │ │ └── runner │ │ │ │ │ ├── D2JunitRunner.kt │ │ │ │ │ └── D2JunitTestListener.kt │ │ │ ├── validation │ │ │ │ └── internal │ │ │ │ │ ├── DataSetValidationRuleLinkStoreIntegrationShould.kt │ │ │ │ │ └── ValidationRuleStoreIntegrationShould.java │ │ │ ├── visualization │ │ │ │ └── internal │ │ │ │ │ ├── TrackerVisualizationDimensionStoreIntegrationShould.kt │ │ │ │ │ ├── TrackerVisualizationStoreIntegrationShould.kt │ │ │ │ │ ├── VisualizationDimensionItemStoreIntegrationShould.kt │ │ │ │ │ ├── VisualizationEndpointCallShould.kt │ │ │ │ │ └── VisualizationStoreIntegrationShould.kt │ │ │ └── wipe │ │ │ │ ├── WipeDBCallMockIntegrationShould.kt │ │ │ │ └── WipeDBCallRealIntegrationShould.kt │ │ │ ├── localanalytics │ │ │ ├── dbgeneration │ │ │ │ ├── LocalAnalyticsDataGenerator.kt │ │ │ │ ├── LocalAnalyticsDatabaseFiller.kt │ │ │ │ ├── LocalAnalyticsMetadataGenerator.kt │ │ │ │ └── LocalAnalyticsParams.kt │ │ │ ├── dbtests │ │ │ │ ├── BaseLocalAnalyticsDatabaseSizeMockIntegrationShould.kt │ │ │ │ └── LocalAnalyticsSuperLargeDatabaseMockIntegrationShould.kt │ │ │ └── tests │ │ │ │ ├── BaseLocalAnalyticsAggregatedMockIntegrationShould.kt │ │ │ │ ├── BaseLocalAnalyticsTest.kt │ │ │ │ ├── BaseLocalAnalyticsTrackerMockIntegrationShould.kt │ │ │ │ ├── LocalAnalyticsAggregatedDefaultDataMockIntegrationShould.kt │ │ │ │ ├── LocalAnalyticsAggregatedLargeDataMockIntegrationShould.kt │ │ │ │ ├── LocalAnalyticsAggregatedSuperLargeDataMockIntegrationShould.kt │ │ │ │ ├── LocalAnalyticsTrackerDefaultMockIntegrationShould.kt │ │ │ │ ├── LocalAnalyticsTrackerLargeMockIntegrationShould.kt │ │ │ │ └── LocalAnalyticsTrackerSuperLargeMockIntegrationShould.kt │ │ │ ├── realservertests │ │ │ ├── EnumTestHelper.kt │ │ │ ├── apischema │ │ │ │ ├── ApiSchema.kt │ │ │ │ ├── ApiSchemaCall.kt │ │ │ │ ├── ApiSchemaFields.kt │ │ │ │ ├── ApiSchemaService.kt │ │ │ │ ├── KtorFactory.kt │ │ │ │ └── tests │ │ │ │ │ ├── ApiSchemaShould.kt │ │ │ │ │ └── ApiSchemaUpdatesCheckerRealIntegrationShould.kt │ │ │ └── generatedschema │ │ │ │ ├── GeneratedSchema.kt │ │ │ │ ├── GeneratedSchemaCall.kt │ │ │ │ ├── GeneratedSchemaService.kt │ │ │ │ └── tests │ │ │ │ └── GeneratedSchemaUpdatesCheckerRealIntegrationShould.kt │ │ │ └── testapp │ │ │ ├── arch │ │ │ └── helpers │ │ │ │ └── FileResizerHelperShould.kt │ │ │ ├── attribute │ │ │ └── AttributeCollectionRespositoryMockIntegrationShould.kt │ │ │ ├── category │ │ │ ├── CategoryCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── CategoryComboCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── CategoryModuleMockIntegrationShould.kt │ │ │ ├── CategoryOptionComboCollectionRepositoryMockIntegrationShould.kt │ │ │ └── CategoryOptionRepositoryMockIntegrationShould.kt │ │ │ ├── constant │ │ │ └── ConstantCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── dataapproval │ │ │ └── DataApprovalCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── dataelement │ │ │ └── DataElementCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── dataset │ │ │ ├── DataSetCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── DataSetCompleteRegistrationCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── DataSetCompleteRegistrationObjectRepositoryMockIntegrationShould.kt │ │ │ ├── DataSetInstanceCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── DataSetInstanceServiceMockIntegrationShould.kt │ │ │ ├── DataSetInstanceSummaryCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── DataSetModuleMockIntegrationShould.java │ │ │ └── SectionCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── datastore │ │ │ ├── DataStoreCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── DataStoreObjectRepositoryMockIntegrationShould.kt │ │ │ ├── LocalDataStoreCollectionRepositoryMockIntegrationShould.kt │ │ │ └── LocalDataStoreObjectRepositoryMockIntegrationShould.kt │ │ │ ├── datavalue │ │ │ ├── DataValueCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── DataValueConflictCollectionRepositoryMockIntegrationShould.kt │ │ │ └── DataValueObjectRepositoryMockIntegrationShould.kt │ │ │ ├── enrollment │ │ │ ├── EnrollmentCollectionRepositoryMockIntegrationShould.kt │ │ │ └── EnrollmentObjectRepositoryMockIntegrationShould.kt │ │ │ ├── event │ │ │ ├── EventCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── EventFilterCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── EventObjectRepositoryMockIntegrationShould.kt │ │ │ └── search │ │ │ │ └── EventQueryCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── expressiondimensionitem │ │ │ └── ExpressionDimensionItemCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── fileresource │ │ │ ├── FileResourceAddMockIntegrationShould.kt │ │ │ └── FileResourceCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── icon │ │ │ └── IconCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── imports │ │ │ └── TrackerImportConflictCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── indicator │ │ │ ├── IndicatorCollectionRepositoryMockIntegrationShould.kt │ │ │ └── IndicatorTypeCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── legendset │ │ │ ├── LegendCollectionRepositoryMockIntegrationShould.kt │ │ │ └── LegendSetCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── maintenance │ │ │ ├── D2ErrorCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── ForeignKeyViolationCollectionRepositoryMockIntegrationShould.kt │ │ │ └── MaintenanceMockIntegrationShould.java │ │ │ ├── map │ │ │ └── layer │ │ │ │ └── MapLayerCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── note │ │ │ └── NoteCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── option │ │ │ ├── OptionCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── OptionGroupCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── OptionServiceShould.kt │ │ │ └── OptionSetCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── organisationunit │ │ │ ├── OrganisationUnitCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── OrganisationUnitGroupCollectionRepositoryMockIntegrationShould.kt │ │ │ └── OrganisationUnitLevelCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── period │ │ │ └── PeriodCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── program │ │ │ ├── ProgramCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── ProgramIndicatorCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── ProgramRuleActionCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── ProgramRuleCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── ProgramRuleVariableCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── ProgramSectionCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── ProgramStageCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── ProgramStageDataElementCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── ProgramStageSectionCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── ProgramStageWorkingListCollectionRepositoryMockIntegrationShould.kt │ │ │ └── ProgramTrackedEntityAttributeCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── settings │ │ │ ├── AnalyticsDhisVisualizationsSettingObjectRepositoryMockIntegrationShould.kt │ │ │ ├── AnalyticsSettingsObjectRepositoryMockIntegrationShould.kt │ │ │ ├── AnalyticsTeiSettingCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── AppearanceSettingsObjectRepositoryMockIntegrationShould.kt │ │ │ ├── DataSetSettingObjectRepositoryMockIntegrationShould.kt │ │ │ ├── GeneralSettingsObjectRepositoryMockIntegrationShould.kt │ │ │ ├── LatestAppVersionObjectRepositoryMockIntegrationShould.kt │ │ │ ├── ProgramSettingObjectRepositoryMockIntegrationShould.kt │ │ │ ├── SynchronizationSettingObjectRepositoryMockIntegrationShould.kt │ │ │ └── UserSettingsObjectRepositoryMockIntegrationShould.kt │ │ │ ├── sms │ │ │ └── SmsModuleMockIntegrationShould.kt │ │ │ ├── trackedentity │ │ │ ├── TrackedEntityAttributeCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── TrackedEntityAttributeValueCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── TrackedEntityAttributeValueObjectRepositoryMockIntegrationShould.kt │ │ │ ├── TrackedEntityCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── TrackedEntityDataValueCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── TrackedEntityDataValueObjectRepositoryMockIntegrationShould.kt │ │ │ ├── TrackedEntityInstanceCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── TrackedEntityInstanceFilterCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── TrackedEntityInstanceObjectRepositoryMockIntegrationShould.kt │ │ │ ├── TrackedEntityInstanceServiceMockIntegrationShould.java │ │ │ ├── TrackedEntityTypeAttributeCollectionRepositoryMockIntegrationShould.kt │ │ │ └── search │ │ │ │ ├── TrackedEntityInstanceQueryCollectionRepositoryMockIntegrationShould.kt │ │ │ │ ├── TrackedEntityOnlineQueryCollectionRepositoryBaseIntegrationShould.kt │ │ │ │ ├── TrackedEntityOnlineQueryCollectionRepositoryNewIntegrationShould.kt │ │ │ │ ├── TrackedEntityOnlineQueryCollectionRepositoryOldIntegrationShould.kt │ │ │ │ └── TrackedEntitySearchCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── tracker │ │ │ └── importer │ │ │ │ ├── BaseTrackerConflictMockIntegrationShould.kt │ │ │ │ ├── E1000MockIntegrationShould.kt │ │ │ │ ├── E1006MockIntegrationShould.kt │ │ │ │ ├── E1007MockIntegrationShould.kt │ │ │ │ ├── E1008MockIntegrationShould.kt │ │ │ │ ├── E1009MockIntegrationShould.kt │ │ │ │ ├── E1063MockIntegrationShould.kt │ │ │ │ ├── E1064MockIntegrationShould.kt │ │ │ │ ├── E1069MockIntegrationShould.kt │ │ │ │ ├── E1081MockIntegrationShould.kt │ │ │ │ ├── E1084MockIntegrationShould.kt │ │ │ │ ├── E1100MockIntegrationShould.kt │ │ │ │ ├── E1103MockIntegrationShould.kt │ │ │ │ └── TrackerConflictHelperMockIntegrationShould.kt │ │ │ ├── usecase │ │ │ └── stock │ │ │ │ └── StockUseCaseCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── user │ │ │ ├── AccountManagerMockIntegrationShould.kt │ │ │ ├── AuthorityCollectionRepositoryMockIntegrationShould.kt │ │ │ ├── UserCredentialsObjectRepositoryMockIntegrationShould.kt │ │ │ └── UserObjectRepositoryMockIntegrationShould.kt │ │ │ ├── validation │ │ │ └── ValidationRuleRepositoryMockIntegrationShould.kt │ │ │ └── visualization │ │ │ ├── TrackerVisualizationCollectionRepositoryMockIntegrationShould.kt │ │ │ └── VisualizationCollectionRepositoryMockIntegrationShould.kt │ └── resources │ │ └── migrations │ │ └── old_migrations │ │ ├── 1.yaml │ │ ├── 10.yaml │ │ ├── 11.yaml │ │ ├── 12.yaml │ │ ├── 13.yaml │ │ ├── 14.yaml │ │ ├── 15.yaml │ │ ├── 16.yaml │ │ ├── 17.yaml │ │ ├── 18.yaml │ │ ├── 19.yaml │ │ ├── 2.yaml │ │ ├── 20.yaml │ │ ├── 21.yaml │ │ ├── 22.yaml │ │ ├── 23.yaml │ │ ├── 24.yaml │ │ ├── 3.yaml │ │ ├── 4.yaml │ │ ├── 5.yaml │ │ ├── 6.yaml │ │ ├── 7.yaml │ │ ├── 8.yaml │ │ └── 9.yaml │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ ├── migrations │ │ │ ├── 1.sql │ │ │ ├── 10.sql │ │ │ ├── 100.sql │ │ │ ├── 101.sql │ │ │ ├── 102.sql │ │ │ ├── 103.sql │ │ │ ├── 104.sql │ │ │ ├── 105.sql │ │ │ ├── 106.sql │ │ │ ├── 107.sql │ │ │ ├── 108.sql │ │ │ ├── 109.sql │ │ │ ├── 11.sql │ │ │ ├── 110.sql │ │ │ ├── 111.sql │ │ │ ├── 112.sql │ │ │ ├── 113.sql │ │ │ ├── 114.sql │ │ │ ├── 115.sql │ │ │ ├── 116.sql │ │ │ ├── 117.sql │ │ │ ├── 118.sql │ │ │ ├── 119.sql │ │ │ ├── 12.sql │ │ │ ├── 120.sql │ │ │ ├── 121.sql │ │ │ ├── 122.sql │ │ │ ├── 123.sql │ │ │ ├── 124.sql │ │ │ ├── 125.sql │ │ │ ├── 126.sql │ │ │ ├── 127.sql │ │ │ ├── 128.sql │ │ │ ├── 129.sql │ │ │ ├── 13.sql │ │ │ ├── 130.sql │ │ │ ├── 131.sql │ │ │ ├── 132.sql │ │ │ ├── 133.sql │ │ │ ├── 134.sql │ │ │ ├── 135.sql │ │ │ ├── 136.sql │ │ │ ├── 137.sql │ │ │ ├── 138.sql │ │ │ ├── 139.sql │ │ │ ├── 14.sql │ │ │ ├── 140.sql │ │ │ ├── 141.sql │ │ │ ├── 142.sql │ │ │ ├── 143.sql │ │ │ ├── 144.sql │ │ │ ├── 145.sql │ │ │ ├── 146.sql │ │ │ ├── 147.sql │ │ │ ├── 148.sql │ │ │ ├── 149.sql │ │ │ ├── 15.sql │ │ │ ├── 150.sql │ │ │ ├── 151.sql │ │ │ ├── 152.sql │ │ │ ├── 153.sql │ │ │ ├── 154.sql │ │ │ ├── 155.sql │ │ │ ├── 156.sql │ │ │ ├── 157.sql │ │ │ ├── 158.sql │ │ │ ├── 159.sql │ │ │ ├── 16.sql │ │ │ ├── 160.sql │ │ │ ├── 161.sql │ │ │ ├── 162.sql │ │ │ ├── 163.sql │ │ │ ├── 164.sql │ │ │ ├── 165.sql │ │ │ ├── 166.sql │ │ │ ├── 167.sql │ │ │ ├── 168.sql │ │ │ ├── 169.sql │ │ │ ├── 17.sql │ │ │ ├── 170.sql │ │ │ ├── 18.sql │ │ │ ├── 19.sql │ │ │ ├── 2.sql │ │ │ ├── 20.sql │ │ │ ├── 21.sql │ │ │ ├── 22.sql │ │ │ ├── 23.sql │ │ │ ├── 24.sql │ │ │ ├── 25.sql │ │ │ ├── 26.sql │ │ │ ├── 27.sql │ │ │ ├── 28.sql │ │ │ ├── 29.sql │ │ │ ├── 3.sql │ │ │ ├── 30.sql │ │ │ ├── 31.sql │ │ │ ├── 32.sql │ │ │ ├── 33.sql │ │ │ ├── 34.sql │ │ │ ├── 35.sql │ │ │ ├── 36.sql │ │ │ ├── 37.sql │ │ │ ├── 38.sql │ │ │ ├── 39.sql │ │ │ ├── 4.sql │ │ │ ├── 40.sql │ │ │ ├── 41.sql │ │ │ ├── 42.sql │ │ │ ├── 43.sql │ │ │ ├── 44.sql │ │ │ ├── 45.sql │ │ │ ├── 46.sql │ │ │ ├── 47.sql │ │ │ ├── 48.sql │ │ │ ├── 49.sql │ │ │ ├── 5.sql │ │ │ ├── 50.sql │ │ │ ├── 51.sql │ │ │ ├── 52.sql │ │ │ ├── 53.sql │ │ │ ├── 54.sql │ │ │ ├── 55.sql │ │ │ ├── 56.sql │ │ │ ├── 57.sql │ │ │ ├── 58.sql │ │ │ ├── 59.sql │ │ │ ├── 6.sql │ │ │ ├── 60.sql │ │ │ ├── 61.sql │ │ │ ├── 62.sql │ │ │ ├── 63.sql │ │ │ ├── 64.sql │ │ │ ├── 65.sql │ │ │ ├── 66.sql │ │ │ ├── 67.sql │ │ │ ├── 68.sql │ │ │ ├── 69.sql │ │ │ ├── 7.sql │ │ │ ├── 70.sql │ │ │ ├── 71.sql │ │ │ ├── 72.sql │ │ │ ├── 73.sql │ │ │ ├── 74.sql │ │ │ ├── 75.sql │ │ │ ├── 76.sql │ │ │ ├── 77.sql │ │ │ ├── 78.sql │ │ │ ├── 79.sql │ │ │ ├── 8.sql │ │ │ ├── 80.sql │ │ │ ├── 81.sql │ │ │ ├── 82.sql │ │ │ ├── 83.sql │ │ │ ├── 84.sql │ │ │ ├── 85.sql │ │ │ ├── 86.sql │ │ │ ├── 87.sql │ │ │ ├── 88.sql │ │ │ ├── 89.sql │ │ │ ├── 9.sql │ │ │ ├── 90.sql │ │ │ ├── 91.sql │ │ │ ├── 92.sql │ │ │ ├── 93.sql │ │ │ ├── 94.sql │ │ │ ├── 95.sql │ │ │ ├── 96.sql │ │ │ ├── 97.sql │ │ │ ├── 98.sql │ │ │ └── 99.sql │ │ └── snapshots │ │ │ └── snapshot.sql │ ├── java │ │ └── org │ │ │ └── hisp │ │ │ └── dhis │ │ │ └── android │ │ │ ├── core │ │ │ ├── D2.kt │ │ │ ├── D2Configuration.java │ │ │ ├── D2ConfigurationValidator.kt │ │ │ ├── D2Manager.kt │ │ │ ├── NotClosedObjectsDetector.kt │ │ │ ├── analytics │ │ │ │ ├── AnalyticsDIModule.kt │ │ │ │ ├── AnalyticsException.kt │ │ │ │ ├── AnalyticsLegendStrategy.kt │ │ │ │ ├── AnalyticsModule.kt │ │ │ │ ├── AnalyticsModuleImpl.kt │ │ │ │ ├── LegendEvaluator.kt │ │ │ │ ├── aggregated │ │ │ │ │ ├── AnalyticsModel.kt │ │ │ │ │ ├── AnalyticsRepository.kt │ │ │ │ │ ├── AnalyticsVisualizationsRepository.kt │ │ │ │ │ ├── DimensionalResponse.kt │ │ │ │ │ ├── GridAnalyticsResponse.kt │ │ │ │ │ ├── internal │ │ │ │ │ │ ├── AnalyticsOrganisationUnitHelper.kt │ │ │ │ │ │ ├── AnalyticsRepositoryImpl.kt │ │ │ │ │ │ ├── AnalyticsRepositoryParams.kt │ │ │ │ │ │ ├── AnalyticsService.kt │ │ │ │ │ │ ├── AnalyticsServiceDimensionHelper.kt │ │ │ │ │ │ ├── AnalyticsServiceEvaluationItem.kt │ │ │ │ │ │ ├── AnalyticsServiceEvaluatorHelper.kt │ │ │ │ │ │ ├── AnalyticsServiceMetadataHelper.kt │ │ │ │ │ │ ├── AnalyticsVisualizationsRepositoryImpl.kt │ │ │ │ │ │ ├── AnalyticsVisualizationsRepositoryParams.kt │ │ │ │ │ │ ├── AnalyticsVisualizationsService.kt │ │ │ │ │ │ ├── AnalyticsVisualizationsServiceDimensionHelper.kt │ │ │ │ │ │ └── evaluator │ │ │ │ │ │ │ ├── AnalyticsDimensionHelper.kt │ │ │ │ │ │ │ ├── AnalyticsEvaluator.kt │ │ │ │ │ │ │ ├── AnalyticsEvaluatorHelper.kt │ │ │ │ │ │ │ ├── AnalyticsPeriodHelper.kt │ │ │ │ │ │ │ ├── DataElementSQLEvaluator.kt │ │ │ │ │ │ │ ├── EventDataItemSQLEvaluator.kt │ │ │ │ │ │ │ ├── ExpressionDimensionItemEvaluator.kt │ │ │ │ │ │ │ ├── ExpressionDimensionItemEvaluatorHelper.kt │ │ │ │ │ │ │ ├── IndicatorEvaluator.kt │ │ │ │ │ │ │ ├── IndicatorEvaluatorHelper.kt │ │ │ │ │ │ │ ├── IndicatorSQLEvaluator.kt │ │ │ │ │ │ │ ├── ProgramIndicatorEvaluator.kt │ │ │ │ │ │ │ ├── ProgramIndicatorEvaluatorHelper.kt │ │ │ │ │ │ │ ├── ProgramIndicatorSQLEvaluator.kt │ │ │ │ │ │ │ ├── ValuePosition.kt │ │ │ │ │ │ │ ├── analyticexpressionengine │ │ │ │ │ │ │ ├── AnalyticExpressionEngine.kt │ │ │ │ │ │ │ ├── AnalyticExpressionEngineFactory.kt │ │ │ │ │ │ │ └── AnalyticExpressionParserUtils.kt │ │ │ │ │ │ │ ├── expressiondimensionitemengine │ │ │ │ │ │ │ └── ExpressionDimensionItemEngine.kt │ │ │ │ │ │ │ └── indicatorengine │ │ │ │ │ │ │ ├── IndicatorContext.kt │ │ │ │ │ │ │ ├── IndicatorEngine.kt │ │ │ │ │ │ │ ├── IndicatorSQLEngine.kt │ │ │ │ │ │ │ └── dataitem │ │ │ │ │ │ │ ├── DataElementItem.kt │ │ │ │ │ │ │ ├── IndicatorDataItem.kt │ │ │ │ │ │ │ ├── ProgramAttributeItem.kt │ │ │ │ │ │ │ ├── ProgramDataElementItem.kt │ │ │ │ │ │ │ └── ProgramIndicatorItem.kt │ │ │ │ │ └── mock │ │ │ │ │ │ ├── AggregatedSamples.kt │ │ │ │ │ │ ├── DimensionalResponseSamples.kt │ │ │ │ │ │ └── GridAnalyticsResponseSamples.kt │ │ │ │ ├── internal │ │ │ │ │ ├── AnalyticsModelHelper.kt │ │ │ │ │ └── AnalyticsRegex.kt │ │ │ │ ├── linelist │ │ │ │ │ ├── EventLineListParams.kt │ │ │ │ │ ├── EventLineListRepository.kt │ │ │ │ │ ├── EventLineListRepositoryImpl.kt │ │ │ │ │ ├── EventLineListService.kt │ │ │ │ │ ├── EventLineListServiceImpl.kt │ │ │ │ │ └── LineListResponse.kt │ │ │ │ └── trackerlinelist │ │ │ │ │ ├── TrackerLineListModel.kt │ │ │ │ │ ├── TrackerLineListRepository.kt │ │ │ │ │ ├── TrackerLineListResponse.kt │ │ │ │ │ └── internal │ │ │ │ │ ├── TrackerLineListContext.kt │ │ │ │ │ ├── TrackerLineListOutputType.kt │ │ │ │ │ ├── TrackerLineListParams.kt │ │ │ │ │ ├── TrackerLineListRepositoryImpl.kt │ │ │ │ │ ├── TrackerLineListService.kt │ │ │ │ │ ├── TrackerLineListServiceHelper.kt │ │ │ │ │ ├── TrackerLineListServiceMetadataHelper.kt │ │ │ │ │ ├── TrackerVisualizationMapper.kt │ │ │ │ │ └── evaluator │ │ │ │ │ ├── BaseDateEvaluator.kt │ │ │ │ │ ├── BaseEnumEvaluator.kt │ │ │ │ │ ├── CategoryEvaluator.kt │ │ │ │ │ ├── DataFilterHelper.kt │ │ │ │ │ ├── EnrollmentDateEvaluator.kt │ │ │ │ │ ├── EventDateEvaluator.kt │ │ │ │ │ ├── EventStatusEvaluator.kt │ │ │ │ │ ├── FilterHelper.kt │ │ │ │ │ ├── IncidentDateEvaluator.kt │ │ │ │ │ ├── LastUpdatedEvaluator.kt │ │ │ │ │ ├── NotSupportedEvaluator.kt │ │ │ │ │ ├── OrganisationUnitEvaluator.kt │ │ │ │ │ ├── ProgramAttributeEvaluator.kt │ │ │ │ │ ├── ProgramDataElementEvaluator.kt │ │ │ │ │ ├── ProgramIndicatorEvaluator.kt │ │ │ │ │ ├── ProgramStatusEvaluator.kt │ │ │ │ │ ├── ScheduledDateEvaluator.kt │ │ │ │ │ ├── TrackerLineListEvaluator.kt │ │ │ │ │ ├── TrackerLineListEvaluatorMapper.kt │ │ │ │ │ └── TrackerLineListSQLLabel.kt │ │ │ ├── arch │ │ │ │ ├── ArchDIModule.kt │ │ │ │ ├── api │ │ │ │ │ ├── HttpServiceClient.kt │ │ │ │ │ ├── NetworkPlugin.kt │ │ │ │ │ ├── ParametersBuilder.kt │ │ │ │ │ ├── RequestBuilder.kt │ │ │ │ │ ├── authentication │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── CookieAuthenticatorHelper.kt │ │ │ │ │ │ │ ├── OpenIDConnectAuthenticator.kt │ │ │ │ │ │ │ ├── ParentAuthenticatorPlugin.kt │ │ │ │ │ │ │ ├── PasswordAndCookieAuthenticator.kt │ │ │ │ │ │ │ └── UserIdAuthenticatorHelper.kt │ │ │ │ │ ├── executors │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── APICallErrorCatcher.kt │ │ │ │ │ │ │ ├── APIDownloader.kt │ │ │ │ │ │ │ ├── APIDownloaderImpl.kt │ │ │ │ │ │ │ ├── APIErrorMapper.kt │ │ │ │ │ │ │ ├── CoroutineAPICallExecutor.kt │ │ │ │ │ │ │ ├── CoroutineAPICallExecutorImpl.kt │ │ │ │ │ │ │ └── RxCoroutineWrapper.kt │ │ │ │ │ ├── internal │ │ │ │ │ │ ├── APIClientDIModule.kt │ │ │ │ │ │ ├── D2HttpException.kt │ │ │ │ │ │ ├── DynamicServerURLPlugin.kt │ │ │ │ │ │ ├── HttpServiceClientFactory.kt │ │ │ │ │ │ ├── HttpStatusCodeExtensions.kt │ │ │ │ │ │ ├── KtorPlugins.kt │ │ │ │ │ │ ├── OkHttpClientFactory.kt │ │ │ │ │ │ ├── PreventURLDecodePlugin.kt │ │ │ │ │ │ ├── ServerURLVersionRedirectionPlugin.kt │ │ │ │ │ │ ├── ServerURLWrapper.kt │ │ │ │ │ │ ├── TrustFactory.kt │ │ │ │ │ │ └── UserAgentPlugin.kt │ │ │ │ │ ├── paging │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── ApiPagingEngine.kt │ │ │ │ │ │ │ └── Paging.kt │ │ │ │ │ ├── payload │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ └── Payload.kt │ │ │ │ │ └── ssl │ │ │ │ │ │ └── internal │ │ │ │ │ │ └── SSLContextInitializer.kt │ │ │ │ ├── cache │ │ │ │ │ └── internal │ │ │ │ │ │ ├── D2Cache.kt │ │ │ │ │ │ └── ExpirableCache.kt │ │ │ │ ├── call │ │ │ │ │ ├── BaseD2Progress.kt │ │ │ │ │ ├── D2Progress.kt │ │ │ │ │ ├── D2ProgressStatus.kt │ │ │ │ │ ├── executors │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ └── D2CallExecutor.kt │ │ │ │ │ ├── factories │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── ListCall.kt │ │ │ │ │ │ │ ├── ListCallCoroutines.kt │ │ │ │ │ │ │ ├── ListCoroutineCallFactory.kt │ │ │ │ │ │ │ ├── ListCoroutineCallFactoryImpl.kt │ │ │ │ │ │ │ ├── ObjectCall.kt │ │ │ │ │ │ │ ├── QueryCall.kt │ │ │ │ │ │ │ ├── QueryCallFactory.kt │ │ │ │ │ │ │ ├── QueryCoroutineCallFactoryImpl.kt │ │ │ │ │ │ │ ├── UidsCallCoroutines.kt │ │ │ │ │ │ │ ├── UidsCallFactory.kt │ │ │ │ │ │ │ └── UidsCallFactoryImpl.kt │ │ │ │ │ ├── fetchers │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── CoroutineCallFetcher.kt │ │ │ │ │ │ │ ├── ListNoResourceWithErrorCatcherCallFetcher.kt │ │ │ │ │ │ │ └── UidsNoResourceCallFetcher.kt │ │ │ │ │ ├── internal │ │ │ │ │ │ ├── CompletableProvider.kt │ │ │ │ │ │ ├── D2ProgressManager.kt │ │ │ │ │ │ ├── DownloadProvider.kt │ │ │ │ │ │ └── GenericCallData.kt │ │ │ │ │ ├── processors │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── CallProcessor.kt │ │ │ │ │ │ │ ├── TransactionalNoResourceSyncCallProcessor.kt │ │ │ │ │ │ │ └── TransactionalResourceSyncCallProcessor.kt │ │ │ │ │ └── queries │ │ │ │ │ │ └── internal │ │ │ │ │ │ ├── BaseQuery.kt │ │ │ │ │ │ └── UidsQuery.kt │ │ │ │ ├── cleaners │ │ │ │ │ └── internal │ │ │ │ │ │ ├── BaseCollectionCleaner.kt │ │ │ │ │ │ ├── CollectionCleaner.kt │ │ │ │ │ │ ├── CollectionCleanerImpl.kt │ │ │ │ │ │ ├── DataOrphanCleaner.kt │ │ │ │ │ │ ├── LinkCleaner.kt │ │ │ │ │ │ ├── LinkCleanerImpl.kt │ │ │ │ │ │ ├── OrphanCleaner.kt │ │ │ │ │ │ ├── OrphanCleanerImpl.kt │ │ │ │ │ │ ├── ParentOrphanCleaner.kt │ │ │ │ │ │ ├── SubCollectionCleaner.kt │ │ │ │ │ │ └── SubCollectionCleanerImpl.kt │ │ │ │ ├── d2 │ │ │ │ │ └── internal │ │ │ │ │ │ ├── AppContextDIModule.kt │ │ │ │ │ │ ├── D2DIComponent.kt │ │ │ │ │ │ ├── D2DIComponentFactory.kt │ │ │ │ │ │ ├── D2InternalModules.kt │ │ │ │ │ │ ├── D2Modules.kt │ │ │ │ │ │ └── JavaDIClasses.kt │ │ │ │ ├── dateformat │ │ │ │ │ └── internal │ │ │ │ │ │ └── SafeDateFormat.java │ │ │ │ ├── db │ │ │ │ │ ├── access │ │ │ │ │ │ ├── DatabaseAdapter.java │ │ │ │ │ │ ├── DatabaseExportMetadata.kt │ │ │ │ │ │ ├── DatabaseImportExport.kt │ │ │ │ │ │ ├── Transaction.java │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── BaseDatabaseOpenHelper.kt │ │ │ │ │ │ │ ├── DatabaseAdapterFactory.java │ │ │ │ │ │ │ ├── DatabaseDIModule.kt │ │ │ │ │ │ │ ├── DatabaseExport.kt │ │ │ │ │ │ │ ├── DatabaseImportExportImpl.kt │ │ │ │ │ │ │ ├── DatabaseMigration.kt │ │ │ │ │ │ │ ├── DatabaseMigrationExecutor.kt │ │ │ │ │ │ │ ├── DatabaseMigrationParser.kt │ │ │ │ │ │ │ ├── EncryptedDatabaseAdapter.java │ │ │ │ │ │ │ ├── EncryptedDatabaseOpenHelper.java │ │ │ │ │ │ │ ├── EncryptedStatementWrapper.java │ │ │ │ │ │ │ ├── ParentDatabaseAdapter.java │ │ │ │ │ │ │ ├── TransactionImpl.java │ │ │ │ │ │ │ ├── UnencryptedDatabaseAdapter.java │ │ │ │ │ │ │ ├── UnencryptedDatabaseOpenHelper.java │ │ │ │ │ │ │ ├── UnencryptedStatementWrapper.java │ │ │ │ │ │ │ └── migrations │ │ │ │ │ │ │ ├── DatabaseCodeMigration.kt │ │ │ │ │ │ │ ├── DatabaseCodeMigration133.kt │ │ │ │ │ │ │ ├── DatabaseCodeMigration133DataValue.kt │ │ │ │ │ │ │ ├── DatabaseCodeMigration133Helper.kt │ │ │ │ │ │ │ └── DatabaseCodeMigrations.kt │ │ │ │ │ ├── adapters │ │ │ │ │ │ ├── custom │ │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ │ ├── AccessColumnAdapter.java │ │ │ │ │ │ │ │ ├── AnalyticsTeiWHONutritionGenderColumnAdapter.kt │ │ │ │ │ │ │ │ ├── DBCaptureCoordinatesFromFeatureTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── DataDeleteColumnAdapter.java │ │ │ │ │ │ │ │ ├── DateFilterPeriodColumnAdapter.kt │ │ │ │ │ │ │ │ ├── DbDateColumnAdapter.java │ │ │ │ │ │ │ │ ├── DbFormTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── DbGeometryColumnAdapter.kt │ │ │ │ │ │ │ │ ├── DbGeometryTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── DbProgramRuleVariableSourceTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── DbProgramTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── DbValueTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── DbVisualizationLegendColumnAdapter.kt │ │ │ │ │ │ │ │ ├── DefaultAccessColumnAdapter.java │ │ │ │ │ │ │ │ ├── EntityQueryCriteriaColumnAdapter.kt │ │ │ │ │ │ │ │ ├── EventQueryCriteriaColumnAdapter.kt │ │ │ │ │ │ │ │ ├── FilterPeriodColumnAdapter.kt │ │ │ │ │ │ │ │ ├── IntegerArrayColumnAdapter.kt │ │ │ │ │ │ │ │ ├── IsColumnNotNullColumnAdapter.java │ │ │ │ │ │ │ │ ├── JSONObjectColumnAdapter.kt │ │ │ │ │ │ │ │ ├── JSONObjectListColumnAdapter.kt │ │ │ │ │ │ │ │ ├── JSONObjectSetColumnAdapter.kt │ │ │ │ │ │ │ │ ├── LeftValidationRuleExpressionColumnAdapter.java │ │ │ │ │ │ │ │ ├── MapLayerImagerProviderAreaListColumnAdapter.kt │ │ │ │ │ │ │ │ ├── NewTrackerImporterUserInfoColumnAdapter.kt │ │ │ │ │ │ │ │ ├── ObjectStyleColumnAdapter.java │ │ │ │ │ │ │ │ ├── ProgramItemHeaderColumnAdapter.kt │ │ │ │ │ │ │ │ ├── ProgramStageQueryCriteriaColumnAdapter.kt │ │ │ │ │ │ │ │ ├── QuickActionListColumnAdapter.kt │ │ │ │ │ │ │ │ ├── RelationshipItemEnrollmentColumnAdapter.java │ │ │ │ │ │ │ │ ├── RelationshipItemEventColumnAdapter.java │ │ │ │ │ │ │ │ ├── RelationshipItemTrackedEntityInstanceColumnAdapter.java │ │ │ │ │ │ │ │ ├── RightValidationRuleExpressionColumnAdapter.java │ │ │ │ │ │ │ │ ├── SectionRenderingColumnAdapter.kt │ │ │ │ │ │ │ │ ├── StringArrayColumnAdapter.kt │ │ │ │ │ │ │ │ ├── StringListColumnAdapter.kt │ │ │ │ │ │ │ │ ├── StringSetColumnAdapter.kt │ │ │ │ │ │ │ │ ├── TrackerDataViewColumnAdapter.kt │ │ │ │ │ │ │ │ ├── TrackerVisualizationDimensionRepetitionColumnAdapter.kt │ │ │ │ │ │ │ │ └── ValidationRuleExpressionColumnAdapter.java │ │ │ │ │ │ ├── enums │ │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ │ ├── AccessLevelColumnAdapter.java │ │ │ │ │ │ │ │ ├── AggregationTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── AnalyticsDhisVisualizationScopeColumnAdapter.kt │ │ │ │ │ │ │ │ ├── AnalyticsDhisVisualizationTypeColumnAdapter.kt │ │ │ │ │ │ │ │ ├── AnalyticsPeriodBoundaryTypeColumnAdapter.kt │ │ │ │ │ │ │ │ ├── AnalyticsTypeColumnAdapter.kt │ │ │ │ │ │ │ │ ├── AssignedUserModeColumnAdapter.java │ │ │ │ │ │ │ │ ├── ChartTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── D2ErrorCodeColumnAdapter.java │ │ │ │ │ │ │ │ ├── D2ErrorComponentColumnAdapter.java │ │ │ │ │ │ │ │ ├── DataApprovalStateColumnAdapter.java │ │ │ │ │ │ │ │ ├── DataSyncPeriodColumnAdapter.java │ │ │ │ │ │ │ │ ├── DigitGroupSeparatorColumnAdapter.kt │ │ │ │ │ │ │ │ ├── DisplayDensityColumnAdapter.kt │ │ │ │ │ │ │ │ ├── DownloadPeriodColumnAdapter.java │ │ │ │ │ │ │ │ ├── EnrollmentScopeColumnAdapter.java │ │ │ │ │ │ │ │ ├── EnrollmentStatusColumnAdapter.java │ │ │ │ │ │ │ │ ├── EnumColumnAdapter.java │ │ │ │ │ │ │ │ ├── EventStatusColumnAdapter.java │ │ │ │ │ │ │ │ ├── FeatureTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── FileResourceDomainColumnAdapter.kt │ │ │ │ │ │ │ │ ├── HideEmptyItemStrategyColumnAdapter.kt │ │ │ │ │ │ │ │ ├── ImageFormatColumnAdapter.kt │ │ │ │ │ │ │ │ ├── ImportStatusColumnAdapter.java │ │ │ │ │ │ │ │ ├── LayoutPositionColumnAdapter.kt │ │ │ │ │ │ │ │ ├── LimitScopeColumnAdapter.java │ │ │ │ │ │ │ │ ├── MapLayerPositionColumnAdapter.kt │ │ │ │ │ │ │ │ ├── MapServiceColumnAdapter.kt │ │ │ │ │ │ │ │ ├── MetadataSyncPeriodColumnAdapter.java │ │ │ │ │ │ │ │ ├── NoteTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── OrganisationUnitModeColumnAdapter.kt │ │ │ │ │ │ │ │ ├── PeriodTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── ProgramRuleActionTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── RelationshipConstraintTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── RelationshipEntityTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── ResourceTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── SMSMetadataTypeColumnAdapter.kt │ │ │ │ │ │ │ │ ├── SMSOngoingSubmissionColumnAdapter.kt │ │ │ │ │ │ │ │ ├── StateColumnAdapter.java │ │ │ │ │ │ │ │ ├── SystemSettingKeyColumnAdapter.java │ │ │ │ │ │ │ │ ├── TrackerExporterVersionColumnAdapter.kt │ │ │ │ │ │ │ │ ├── TrackerImporterObjectTypeColumnAdapter.kt │ │ │ │ │ │ │ │ ├── TrackerImporterVersionColumnAdapter.kt │ │ │ │ │ │ │ │ ├── TrackerVisualizationOutputTypeColumnAdapter.kt │ │ │ │ │ │ │ │ ├── TrackerVisualizationTypeColumnAdapter.kt │ │ │ │ │ │ │ │ ├── ValidationRuleImportanceColumnAdapter.java │ │ │ │ │ │ │ │ ├── ValidationRuleOperatorColumnAdapter.java │ │ │ │ │ │ │ │ ├── ValidationStrategyColumnAdapter.kt │ │ │ │ │ │ │ │ ├── ValueTypeRenderingTypeColumnAdapter.java │ │ │ │ │ │ │ │ ├── VisualizationTypeColumnAdapter.kt │ │ │ │ │ │ │ │ ├── WHONutritionChartTypeColumnAdapter.java │ │ │ │ │ │ │ │ └── WHONutritionComponentColumnAdapter.java │ │ │ │ │ │ ├── identifiable │ │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ │ ├── DataElementWithUidColumnAdapter.java │ │ │ │ │ │ │ │ ├── IdentifiableObjectColumnAdapter.java │ │ │ │ │ │ │ │ ├── ObjectWithUidColumnAdapter.java │ │ │ │ │ │ │ │ ├── ObjectWithUidListColumnAdapter.kt │ │ │ │ │ │ │ │ └── TrackedEntityTypeWithUidColumnAdapter.java │ │ │ │ │ │ └── ignore │ │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── DataSetSyncSettingsColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreAnalyticsPeriodBoundaryListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreAnalyticsTeiDataColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreAnalyticsTeiWHODataItemColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreAnalyticsTeiWHONutritionDataColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreAttributeValueFilterListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreAttributeValuesListAdapter.java │ │ │ │ │ │ │ ├── IgnoreBooleanColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreCategoryListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreCategoryOptionComboListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreCategoryOptionListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreCoordinatesColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreDataElementListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreDataElementOperandListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreDataInputPeriodListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreDataSetElementListAdapter.java │ │ │ │ │ │ │ ├── IgnoreDataSyncPeriodColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreEnrollmentListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreEventDataFilterListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreEventListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreExceptionAdapter.java │ │ │ │ │ │ │ ├── IgnoreFileResourceStorageStatusAdapter.kt │ │ │ │ │ │ │ ├── IgnoreIndicatorListAdapter.java │ │ │ │ │ │ │ ├── IgnoreInternalStockUseCaseTransactionListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreLegendListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreMapLayerImageryProviderColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreMetadataSyncPeriodColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreNewRelationshipItemEnrollmentAdapter.kt │ │ │ │ │ │ │ ├── IgnoreNewRelationshipItemEventAdapter.kt │ │ │ │ │ │ │ ├── IgnoreNewRelationshipItemTrackedEntityAdapter.kt │ │ │ │ │ │ │ ├── IgnoreNewRelationshipListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreNewTackerImporterTrackedEntityDataValueListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreNewTrackerImporterEnrollmentListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreNewTrackerImporterEventListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreNewTrackerImporterNoteListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreNewTrackerImporterProgramOwnerListAdapter.java │ │ │ │ │ │ │ ├── IgnoreNewTrackerImporterRelationshipItemAdapter.java │ │ │ │ │ │ │ ├── IgnoreNewTrackerImporterTrackedEntityAttributeValueListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreNoteListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreObjectWithUidColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreObjectWithUidListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreOrganisationUnitGroupListAdapter.java │ │ │ │ │ │ │ ├── IgnoreOrganisationUnitListAdapter.java │ │ │ │ │ │ │ ├── IgnoreProgramIndicatorListAdapter.java │ │ │ │ │ │ │ ├── IgnoreProgramIndicatorListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreProgramOwnerListAdapter.java │ │ │ │ │ │ │ ├── IgnoreProgramRuleActionListAdapter.java │ │ │ │ │ │ │ ├── IgnoreProgramRuleListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreProgramRuleVariableListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreProgramSectionListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreProgramStageDataElementListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreProgramStageListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreProgramStageSectionListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreProgramStageWorkingListAttributeValueFilterListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreProgramStageWorkingListEventDataFilterListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreProgramTrackedEntityAttributeListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreRelationshipConstraintAdapter.java │ │ │ │ │ │ │ ├── IgnoreRelationshipItemAdapter.java │ │ │ │ │ │ │ ├── IgnoreRelationshipListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreSectionListAdapter.java │ │ │ │ │ │ │ ├── IgnoreStateColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreStringColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreTrackedEntityAttributeListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreTrackedEntityAttributeValueListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreTrackedEntityDataValueListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreTrackedEntityInstanceEventFilterListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreTrackedEntityTypeAttributeListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreTrackerVisualizationDimensionListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreUserGroupListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreUserInfoColumnAdapter.kt │ │ │ │ │ │ │ ├── IgnoreUserRoleListColumnAdapter.java │ │ │ │ │ │ │ ├── IgnoreValueTypeRenderingAdapter.java │ │ │ │ │ │ │ ├── IgnoreVisualizationDimensionListColumnAdapter.java │ │ │ │ │ │ │ └── ProgramSyncSettingsColumnAdapter.java │ │ │ │ │ ├── cursors │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── CursorExecutor.kt │ │ │ │ │ │ │ └── CursorExecutorImpl.kt │ │ │ │ │ ├── querybuilders │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── MultipleTableQueryBuilder.java │ │ │ │ │ │ │ ├── OrderByClauseBuilder.java │ │ │ │ │ │ │ ├── ReadOnlySQLStatementBuilder.kt │ │ │ │ │ │ │ ├── SQLStatementBuilder.kt │ │ │ │ │ │ │ ├── SQLStatementBuilderImpl.kt │ │ │ │ │ │ │ └── WhereClauseBuilder.kt │ │ │ │ │ ├── sqlorder │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ └── SQLOrderType.java │ │ │ │ │ ├── stores │ │ │ │ │ │ ├── binders │ │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ │ ├── IdentifiableStatementBinder.java │ │ │ │ │ │ │ │ ├── IdentifiableWithStyleStatementBinder.java │ │ │ │ │ │ │ │ ├── NameableStatementBinder.java │ │ │ │ │ │ │ │ ├── NameableWithStyleStatementBinder.java │ │ │ │ │ │ │ │ ├── StatementBinder.kt │ │ │ │ │ │ │ │ ├── StatementWrapper.java │ │ │ │ │ │ │ │ └── WhereStatementBinder.kt │ │ │ │ │ │ ├── internal │ │ │ │ │ │ │ ├── DeletableStoreWithState.kt │ │ │ │ │ │ │ ├── IdentifiableDataObjectStore.kt │ │ │ │ │ │ │ ├── IdentifiableDataObjectStoreImpl.kt │ │ │ │ │ │ │ ├── IdentifiableDeletableDataObjectStore.kt │ │ │ │ │ │ │ ├── IdentifiableDeletableDataObjectStoreImpl.kt │ │ │ │ │ │ │ ├── IdentifiableObjectStore.kt │ │ │ │ │ │ │ ├── IdentifiableObjectStoreImpl.kt │ │ │ │ │ │ │ ├── LinkChildStore.kt │ │ │ │ │ │ │ ├── LinkChildStoreImpl.kt │ │ │ │ │ │ │ ├── LinkStore.kt │ │ │ │ │ │ │ ├── LinkStoreImpl.kt │ │ │ │ │ │ │ ├── ObjectStore.kt │ │ │ │ │ │ │ ├── ObjectStoreImpl.kt │ │ │ │ │ │ │ ├── ObjectWithUidChildStore.kt │ │ │ │ │ │ │ ├── ObjectWithUidChildStoreImpl.kt │ │ │ │ │ │ │ ├── ObjectWithoutUidStore.kt │ │ │ │ │ │ │ ├── ObjectWithoutUidStoreImpl.kt │ │ │ │ │ │ │ ├── ReadableStore.kt │ │ │ │ │ │ │ ├── ReadableStoreImpl.kt │ │ │ │ │ │ │ ├── SingleParentChildStore.kt │ │ │ │ │ │ │ ├── SingleParentChildStoreImpl.kt │ │ │ │ │ │ │ ├── StoreFactory.kt │ │ │ │ │ │ │ ├── StoreUtils.kt │ │ │ │ │ │ │ └── StoreWithState.kt │ │ │ │ │ │ └── projections │ │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── LinkTableChildProjection.java │ │ │ │ │ │ │ └── SingleParentChildProjection.java │ │ │ │ │ ├── tableinfos │ │ │ │ │ │ └── TableInfo.java │ │ │ │ │ └── uidseeker │ │ │ │ │ │ └── internal │ │ │ │ │ │ └── BaseUidsSeeker.kt │ │ │ │ ├── file │ │ │ │ │ ├── IFileReader.java │ │ │ │ │ └── ResourcesFileReader.java │ │ │ │ ├── handlers │ │ │ │ │ └── internal │ │ │ │ │ │ ├── ChildElementHandler.kt │ │ │ │ │ │ ├── ChildElementHandlerImpl.kt │ │ │ │ │ │ ├── DictionaryTableHandler.kt │ │ │ │ │ │ ├── HandleAction.kt │ │ │ │ │ │ ├── Handler.kt │ │ │ │ │ │ ├── HandlerBaseImpl.kt │ │ │ │ │ │ ├── HandlerWithTransformer.kt │ │ │ │ │ │ ├── IdentifiableDataHandler.kt │ │ │ │ │ │ ├── IdentifiableDataHandlerImpl.kt │ │ │ │ │ │ ├── IdentifiableDataHandlerParams.kt │ │ │ │ │ │ ├── IdentifiableHandlerImpl.kt │ │ │ │ │ │ ├── IdentifiableWithoutDeleteInterfaceHandlerImpl.kt │ │ │ │ │ │ ├── LinkHandler.kt │ │ │ │ │ │ ├── LinkHandlerImpl.kt │ │ │ │ │ │ ├── ObjectWithoutUidHandlerImpl.kt │ │ │ │ │ │ ├── OrderedLinkHandler.kt │ │ │ │ │ │ ├── OrderedLinkHandlerImpl.kt │ │ │ │ │ │ ├── Transformer.kt │ │ │ │ │ │ └── TwoWayTransformer.kt │ │ │ │ ├── helpers │ │ │ │ │ ├── AccessHelper.kt │ │ │ │ │ ├── CollectionsHelper.kt │ │ │ │ │ ├── CoordinateHelper.kt │ │ │ │ │ ├── DateUtils.kt │ │ │ │ │ ├── FileResizerHelper.kt │ │ │ │ │ ├── FileResourceDirectoryHelper.kt │ │ │ │ │ ├── GeometryHelper.kt │ │ │ │ │ ├── Result.kt │ │ │ │ │ ├── UidGenerator.kt │ │ │ │ │ ├── UidGeneratorImpl.kt │ │ │ │ │ ├── UidsHelper.kt │ │ │ │ │ ├── UserHelper.kt │ │ │ │ │ └── internal │ │ │ │ │ │ ├── DataStateHelper.kt │ │ │ │ │ │ ├── EnumHelper.kt │ │ │ │ │ │ ├── MultiDimensionalPartitioner.kt │ │ │ │ │ │ └── UrlLengthHelper.kt │ │ │ │ ├── json │ │ │ │ │ └── internal │ │ │ │ │ │ ├── JSONSerializationDIModule.kt │ │ │ │ │ │ └── KotlinxJsonParser.kt │ │ │ │ ├── modules │ │ │ │ │ └── internal │ │ │ │ │ │ ├── TypedModuleDownloader.kt │ │ │ │ │ │ ├── UntypedModuleDownloader.kt │ │ │ │ │ │ ├── UntypedModuleDownloaderCoroutines.kt │ │ │ │ │ │ ├── UntypedSuspendModuleDownloader.kt │ │ │ │ │ │ └── WithProgressDownloader.kt │ │ │ │ ├── repositories │ │ │ │ │ ├── children │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── ChildrenAppender.kt │ │ │ │ │ │ │ ├── ChildrenAppenderExecutor.kt │ │ │ │ │ │ │ ├── ChildrenAppenderGetter.kt │ │ │ │ │ │ │ └── ChildrenSelection.kt │ │ │ │ │ ├── collection │ │ │ │ │ │ ├── BaseRepository.kt │ │ │ │ │ │ ├── CollectionRepositoryUpload.kt │ │ │ │ │ │ ├── ReadOnlyCollectionRepository.kt │ │ │ │ │ │ ├── ReadOnlyIdentifiableCollectionRepository.kt │ │ │ │ │ │ ├── ReadOnlyNameableCollectionRepository.kt │ │ │ │ │ │ ├── ReadOnlyWithDownloadObjectRepository.kt │ │ │ │ │ │ ├── ReadOnlyWithUidCollectionRepository.kt │ │ │ │ │ │ ├── ReadOnlyWithUploadCollectionRepository.kt │ │ │ │ │ │ ├── ReadWriteWithUidCollectionRepository.kt │ │ │ │ │ │ ├── ReadWriteWithUploadWithUidCollectionRepository.kt │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── BaseReadOnlyWithUidCollectionRepositoryImpl.kt │ │ │ │ │ │ │ ├── BaseRepositoryFactory.kt │ │ │ │ │ │ │ ├── BaseRepositoryImpl.kt │ │ │ │ │ │ │ ├── ReadOnlyCollectionRepositoryImpl.kt │ │ │ │ │ │ │ ├── ReadOnlyIdentifiableCollectionRepositoryImpl.kt │ │ │ │ │ │ │ ├── ReadOnlyNameableCollectionRepositoryImpl.kt │ │ │ │ │ │ │ ├── ReadOnlyWithTransformerCollectionRepositoryImpl.kt │ │ │ │ │ │ │ ├── ReadOnlyWithUidAndTransformerCollectionRepositoryImpl.kt │ │ │ │ │ │ │ ├── ReadOnlyWithUidCollectionRepositoryImpl.kt │ │ │ │ │ │ │ ├── ReadWriteWithUidCollectionRepositoryImpl.kt │ │ │ │ │ │ │ └── ScopedRepositoryFactory.kt │ │ │ │ │ ├── di │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ └── RepositoriesDIModule.kt │ │ │ │ │ ├── filters │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── AbstractFilterConnector.kt │ │ │ │ │ │ │ ├── BaseAbstractFilterConnector.kt │ │ │ │ │ │ │ ├── BaseStringFilterConnector.kt │ │ │ │ │ │ │ ├── BaseSubQueryFilterConnector.kt │ │ │ │ │ │ │ ├── BoolFilterConnector.kt │ │ │ │ │ │ │ ├── BooleanFilterConnector.kt │ │ │ │ │ │ │ ├── DateFilterConnector.kt │ │ │ │ │ │ │ ├── DateTimeFilterConnector.kt │ │ │ │ │ │ │ ├── DeletedFilterConnector.kt │ │ │ │ │ │ │ ├── DoubleFilterConnector.kt │ │ │ │ │ │ │ ├── EnumFilterConnector.kt │ │ │ │ │ │ │ ├── EqFilterConnector.kt │ │ │ │ │ │ │ ├── EqLikeItemFilterConnector.kt │ │ │ │ │ │ │ ├── EventDataFilterConnector.kt │ │ │ │ │ │ │ ├── FilterConnectorFactory.kt │ │ │ │ │ │ │ ├── IdentifiableFilters.kt │ │ │ │ │ │ │ ├── IntegerFilterConnector.kt │ │ │ │ │ │ │ ├── ListFilterConnector.kt │ │ │ │ │ │ │ ├── LongFilterConnector.kt │ │ │ │ │ │ │ ├── NameableFilters.kt │ │ │ │ │ │ │ ├── OrganisationUnitFilterConnector.kt │ │ │ │ │ │ │ ├── PeriodFilterConnector.kt │ │ │ │ │ │ │ ├── PeriodsFilterConnector.kt │ │ │ │ │ │ │ ├── ScopedFilterConnectorFactory.kt │ │ │ │ │ │ │ ├── ScopedRepositoryFilterFactory.kt │ │ │ │ │ │ │ ├── SimpleDateFilterConnector.kt │ │ │ │ │ │ │ ├── StringFilterConnector.kt │ │ │ │ │ │ │ ├── SubQueryFilterConnector.kt │ │ │ │ │ │ │ ├── UnwrappedEqInFilterConnector.kt │ │ │ │ │ │ │ └── ValueSubQueryFilterConnector.kt │ │ │ │ │ ├── object │ │ │ │ │ │ ├── ReadOnlyObjectRepository.kt │ │ │ │ │ │ ├── ReadOnlyOneObjectRepositoryFinalImpl.kt │ │ │ │ │ │ ├── ReadWriteObjectRepository.kt │ │ │ │ │ │ ├── ReadWriteValueObjectRepository.kt │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── ObjectRepositoryFactory.kt │ │ │ │ │ │ │ ├── ReadOnlyAnyObjectWithDownloadRepositoryImpl.kt │ │ │ │ │ │ │ ├── ReadOnlyFirstObjectWithDownloadRepositoryImpl.kt │ │ │ │ │ │ │ ├── ReadOnlyObjectRepositoryImpl.kt │ │ │ │ │ │ │ ├── ReadOnlyOneObjectRepositoryImpl.kt │ │ │ │ │ │ │ ├── ReadOnlyWithTransformerObjectRepositoryImpl.kt │ │ │ │ │ │ │ ├── ReadWriteWithUidDataObjectRepositoryImpl.kt │ │ │ │ │ │ │ ├── ReadWriteWithUidObjectRepositoryImpl.kt │ │ │ │ │ │ │ └── ReadWriteWithValueObjectRepositoryImpl.kt │ │ │ │ │ ├── paging │ │ │ │ │ │ ├── PageConfig.kt │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── RepositoryDataSource.kt │ │ │ │ │ │ │ ├── RepositoryDataSourceWithTransformer.kt │ │ │ │ │ │ │ ├── RepositoryPagingConfig.kt │ │ │ │ │ │ │ ├── RepositoryPagingSource.kt │ │ │ │ │ │ │ └── RepositoryPagingSourceWithTransformer.kt │ │ │ │ │ └── scope │ │ │ │ │ │ ├── BaseScope.kt │ │ │ │ │ │ ├── RepositoryScope.java │ │ │ │ │ │ └── internal │ │ │ │ │ │ ├── BaseScopeFactory.kt │ │ │ │ │ │ ├── FilterItemOperator.kt │ │ │ │ │ │ ├── RepositoryMode.kt │ │ │ │ │ │ ├── RepositoryScopeComplexFilterItem.java │ │ │ │ │ │ ├── RepositoryScopeFilterItem.java │ │ │ │ │ │ ├── RepositoryScopeHelper.kt │ │ │ │ │ │ ├── RepositoryScopeKeyOrderExtractor.kt │ │ │ │ │ │ ├── RepositoryScopeOrderByItem.java │ │ │ │ │ │ └── WhereClauseFromScopeBuilder.kt │ │ │ │ └── storage │ │ │ │ │ └── internal │ │ │ │ │ ├── AndroidInsecureStore.kt │ │ │ │ │ ├── AndroidSecureStore.kt │ │ │ │ │ ├── ChunkedSecureStore.kt │ │ │ │ │ ├── Credentials.kt │ │ │ │ │ ├── CredentialsSecureStore.kt │ │ │ │ │ ├── CredentialsSecureStoreImpl.kt │ │ │ │ │ ├── InMemorySecureStore.kt │ │ │ │ │ ├── InMemoryStore.kt │ │ │ │ │ ├── InMemoryUnsecureStore.kt │ │ │ │ │ ├── InsecureStore.kt │ │ │ │ │ ├── JsonKeyValueStoreImpl.kt │ │ │ │ │ ├── KeyValueStorageDIModule.kt │ │ │ │ │ ├── KeyValueStore.kt │ │ │ │ │ ├── ObjectKeyValueStore.kt │ │ │ │ │ ├── SecureStore.kt │ │ │ │ │ └── UserIdInMemoryStore.kt │ │ │ ├── attribute │ │ │ │ ├── Attribute.java │ │ │ │ ├── AttributeCollectionRepository.kt │ │ │ │ ├── AttributeDIModule.kt │ │ │ │ ├── AttributeModule.kt │ │ │ │ ├── AttributeModuleImpl.kt │ │ │ │ ├── AttributeTableInfo.java │ │ │ │ ├── AttributeValue.java │ │ │ │ ├── AttributeValueUtils.java │ │ │ │ ├── DataElementAttributeValueLink.java │ │ │ │ ├── DataElementAttributeValueLinkTableInfo.java │ │ │ │ ├── ProgramAttributeValueLink.java │ │ │ │ ├── ProgramAttributeValueLinkTableInfo.java │ │ │ │ ├── ProgramStageAttributeValueLink.java │ │ │ │ ├── ProgramStageAttributeValueLinkTableInfo.java │ │ │ │ └── internal │ │ │ │ │ ├── AttributeCall.kt │ │ │ │ │ ├── AttributeHandler.kt │ │ │ │ │ ├── AttributeModuleDownloader.kt │ │ │ │ │ ├── AttributeModuleWiper.kt │ │ │ │ │ ├── AttributeNetworkHandler.kt │ │ │ │ │ ├── AttributeStore.kt │ │ │ │ │ ├── AttributeStoreImpl.kt │ │ │ │ │ ├── AttributeUidsSeeker.kt │ │ │ │ │ ├── DataElementAttributeValueLinkHandler.kt │ │ │ │ │ ├── DataElementAttributeValueLinkStore.kt │ │ │ │ │ ├── DataElementAttributeValueLinkStoreImpl.kt │ │ │ │ │ ├── ProgramAttributeValueLinkHandler.kt │ │ │ │ │ ├── ProgramAttributeValueLinkStore.kt │ │ │ │ │ ├── ProgramAttributeValueLinkStoreImpl.kt │ │ │ │ │ ├── ProgramStageAttributeValueLinkHandler.kt │ │ │ │ │ ├── ProgramStageAttributeValueLinkStore.kt │ │ │ │ │ └── ProgramStageAttributeValueLinkStoreImpl.kt │ │ │ ├── category │ │ │ │ ├── Category.java │ │ │ │ ├── CategoryCategoryComboLink.java │ │ │ │ ├── CategoryCategoryComboLinkTableInfo.java │ │ │ │ ├── CategoryCategoryOptionLink.java │ │ │ │ ├── CategoryCategoryOptionLinkTableInfo.java │ │ │ │ ├── CategoryCollectionRepository.kt │ │ │ │ ├── CategoryCombo.java │ │ │ │ ├── CategoryComboCollectionRepository.kt │ │ │ │ ├── CategoryComboInternalAccessor.kt │ │ │ │ ├── CategoryComboTableInfo.java │ │ │ │ ├── CategoryDIModule.kt │ │ │ │ ├── CategoryDataDimensionType.kt │ │ │ │ ├── CategoryModule.kt │ │ │ │ ├── CategoryOption.java │ │ │ │ ├── CategoryOptionCollectionRepository.kt │ │ │ │ ├── CategoryOptionCombo.java │ │ │ │ ├── CategoryOptionComboCategoryOptionLink.java │ │ │ │ ├── CategoryOptionComboCategoryOptionLinkTableInfo.java │ │ │ │ ├── CategoryOptionComboCollectionRepository.kt │ │ │ │ ├── CategoryOptionComboService.kt │ │ │ │ ├── CategoryOptionComboTableInfo.java │ │ │ │ ├── CategoryOptionOrganisationUnitLink.java │ │ │ │ ├── CategoryOptionOrganisationUnitLinkTableInfo.java │ │ │ │ ├── CategoryOptionTableInfo.java │ │ │ │ ├── CategoryTableInfo.java │ │ │ │ └── internal │ │ │ │ │ ├── CategoryCall.kt │ │ │ │ │ ├── CategoryCategoryComboChildrenAppender.kt │ │ │ │ │ ├── CategoryCategoryComboLinkHandler.kt │ │ │ │ │ ├── CategoryCategoryComboLinkStore.kt │ │ │ │ │ ├── CategoryCategoryComboLinkStoreImpl.kt │ │ │ │ │ ├── CategoryCategoryOptionChildrenAppender.kt │ │ │ │ │ ├── CategoryCategoryOptionLinkHandler.kt │ │ │ │ │ ├── CategoryCategoryOptionLinkPersistor.kt │ │ │ │ │ ├── CategoryCategoryOptionLinkStore.kt │ │ │ │ │ ├── CategoryCategoryOptionLinkStoreImpl.kt │ │ │ │ │ ├── CategoryComboCall.kt │ │ │ │ │ ├── CategoryComboHandler.kt │ │ │ │ │ ├── CategoryComboNetworkHandler.kt │ │ │ │ │ ├── CategoryComboStore.kt │ │ │ │ │ ├── CategoryComboStoreImpl.kt │ │ │ │ │ ├── CategoryComboUidsSeeker.kt │ │ │ │ │ ├── CategoryHandler.kt │ │ │ │ │ ├── CategoryInternalModule.kt │ │ │ │ │ ├── CategoryModuleDownloader.kt │ │ │ │ │ ├── CategoryModuleImpl.kt │ │ │ │ │ ├── CategoryModuleWiper.kt │ │ │ │ │ ├── CategoryNetworkHandler.kt │ │ │ │ │ ├── CategoryOptionCall.kt │ │ │ │ │ ├── CategoryOptionComboCategoryOptionChildrenAppender.kt │ │ │ │ │ ├── CategoryOptionComboCategoryOptionHandler.kt │ │ │ │ │ ├── CategoryOptionComboCategoryOptionLinkStore.kt │ │ │ │ │ ├── CategoryOptionComboCategoryOptionLinkStoreImpl.kt │ │ │ │ │ ├── CategoryOptionComboHandler.kt │ │ │ │ │ ├── CategoryOptionComboIntegrityChecker.kt │ │ │ │ │ ├── CategoryOptionComboOrphanCleaner.kt │ │ │ │ │ ├── CategoryOptionComboStore.kt │ │ │ │ │ ├── CategoryOptionComboStoreImpl.kt │ │ │ │ │ ├── CategoryOptionHandler.kt │ │ │ │ │ ├── CategoryOptionNetworkHandler.kt │ │ │ │ │ ├── CategoryOptionOrganisationUnitChildrenAppender.kt │ │ │ │ │ ├── CategoryOptionOrganisationUnitLinkHandler.kt │ │ │ │ │ ├── CategoryOptionOrganisationUnitLinkStore.kt │ │ │ │ │ ├── CategoryOptionOrganisationUnitLinkStoreImpl.kt │ │ │ │ │ ├── CategoryOptionOrganisationUnitsCall.kt │ │ │ │ │ ├── CategoryOptionStore.kt │ │ │ │ │ ├── CategoryOptionStoreImpl.kt │ │ │ │ │ ├── CategoryParentUidsHelper.kt │ │ │ │ │ ├── CategoryStore.kt │ │ │ │ │ └── CategoryStoreImpl.kt │ │ │ ├── common │ │ │ │ ├── Access.java │ │ │ │ ├── AggregationType.kt │ │ │ │ ├── AnalyticsType.kt │ │ │ │ ├── AssignedUserMode.java │ │ │ │ ├── BaseDataObject.java │ │ │ │ ├── BaseDeletableDataObject.java │ │ │ │ ├── BaseIdentifiableObject.java │ │ │ │ ├── BaseNameableObject.java │ │ │ │ ├── BaseObject.java │ │ │ │ ├── CommonDIModule.kt │ │ │ │ ├── Coordinates.java │ │ │ │ ├── CoreColumns.java │ │ │ │ ├── CoreObject.java │ │ │ │ ├── DataAccess.java │ │ │ │ ├── DataColumns.java │ │ │ │ ├── DataObject.java │ │ │ │ ├── DateFilterPeriod.java │ │ │ │ ├── DateFilterPeriodHelper.kt │ │ │ │ ├── DatePeriodType.java │ │ │ │ ├── DeletableColumns.java │ │ │ │ ├── DeletableDataColumns.java │ │ │ │ ├── DeletableDataObject.java │ │ │ │ ├── FeatureType.kt │ │ │ │ ├── FilterOperators.java │ │ │ │ ├── FilterOperatorsHelper.kt │ │ │ │ ├── FilterPeriod.java │ │ │ │ ├── FilterQueryCriteria.java │ │ │ │ ├── FormType.java │ │ │ │ ├── Geometry.java │ │ │ │ ├── IdentifiableColumns.java │ │ │ │ ├── IdentifiableObject.java │ │ │ │ ├── IdentifiableWithStyleColumns.java │ │ │ │ ├── NameableColumns.java │ │ │ │ ├── NameableObject.java │ │ │ │ ├── NameableWithStyleColumns.java │ │ │ │ ├── ObjectStyle.java │ │ │ │ ├── ObjectWithDeleteInterface.java │ │ │ │ ├── ObjectWithStyle.java │ │ │ │ ├── ObjectWithSyncStateInterface.java │ │ │ │ ├── ObjectWithUid.java │ │ │ │ ├── ObjectWithUidInterface.java │ │ │ │ ├── OrganisationUnitFilter.kt │ │ │ │ ├── RelativeOrganisationUnit.kt │ │ │ │ ├── RelativePeriod.kt │ │ │ │ ├── State.kt │ │ │ │ ├── StorableObjectWithUid.java │ │ │ │ ├── Unit.java │ │ │ │ ├── ValidationStrategy.kt │ │ │ │ ├── ValueType.kt │ │ │ │ ├── ValueTypeDeviceRendering.java │ │ │ │ ├── ValueTypeDeviceRenderingTableInfo.java │ │ │ │ ├── ValueTypeRendering.java │ │ │ │ ├── ValueTypeRenderingType.java │ │ │ │ ├── internal │ │ │ │ │ ├── CommonModuleWiper.kt │ │ │ │ │ ├── DataStatePropagator.kt │ │ │ │ │ ├── DataStatePropagatorImpl.kt │ │ │ │ │ ├── DataStateUidHolder.kt │ │ │ │ │ ├── DateFilterPeriodDAO.kt │ │ │ │ │ ├── NativeLibraryLoader.kt │ │ │ │ │ ├── ObjectWithUidDAO.kt │ │ │ │ │ ├── TrackerDataManager.kt │ │ │ │ │ └── TrackerDataManagerImpl.kt │ │ │ │ ├── objectstyle │ │ │ │ │ └── internal │ │ │ │ │ │ └── TableWithObjectStyle.kt │ │ │ │ ├── tableinfo │ │ │ │ │ └── ItemFilterTableInfo.java │ │ │ │ └── valuetype │ │ │ │ │ ├── devicerendering │ │ │ │ │ └── internal │ │ │ │ │ │ ├── ValueTypeDeviceRenderingHandler.kt │ │ │ │ │ │ ├── ValueTypeDeviceRenderingStore.kt │ │ │ │ │ │ └── ValueTypeDeviceRenderingStoreImpl.kt │ │ │ │ │ ├── rendering │ │ │ │ │ └── internal │ │ │ │ │ │ └── ValueTypeRenderingHandler.kt │ │ │ │ │ └── validation │ │ │ │ │ ├── failures │ │ │ │ │ ├── BooleanFailure.kt │ │ │ │ │ ├── CoordinateFailure.kt │ │ │ │ │ ├── DateFailure.kt │ │ │ │ │ ├── DateTimeFailure.kt │ │ │ │ │ ├── EmailFailure.kt │ │ │ │ │ ├── IntegerFailure.kt │ │ │ │ │ ├── IntegerNegativeFailure.kt │ │ │ │ │ ├── IntegerPositiveFailure.kt │ │ │ │ │ ├── IntegerZeroOrPositiveFailure.kt │ │ │ │ │ ├── LetterFailure.kt │ │ │ │ │ ├── LongTextFailure.kt │ │ │ │ │ ├── NumberFailure.kt │ │ │ │ │ ├── PercentageFailure.kt │ │ │ │ │ ├── PhoneNumberFailure.kt │ │ │ │ │ ├── TextFailure.kt │ │ │ │ │ ├── TimeFailure.kt │ │ │ │ │ ├── TrueOnlyFailure.kt │ │ │ │ │ ├── UidFailure.kt │ │ │ │ │ ├── UnitIntervalFailure.kt │ │ │ │ │ └── UrlFailure.kt │ │ │ │ │ └── validators │ │ │ │ │ ├── BooleanValidator.kt │ │ │ │ │ ├── CoordinateValidator.kt │ │ │ │ │ ├── DateTimeValidator.kt │ │ │ │ │ ├── DateValidator.kt │ │ │ │ │ ├── EmailValidator.kt │ │ │ │ │ ├── IntegerNegativeValidator.kt │ │ │ │ │ ├── IntegerPositiveValidator.kt │ │ │ │ │ ├── IntegerValidator.kt │ │ │ │ │ ├── IntegerValidatorBase.kt │ │ │ │ │ ├── IntegerZeroOrPositiveValidator.kt │ │ │ │ │ ├── LetterValidator.kt │ │ │ │ │ ├── LongTextValidator.kt │ │ │ │ │ ├── NumberValidator.kt │ │ │ │ │ ├── NumberValidatorBase.kt │ │ │ │ │ ├── PercentageValidator.kt │ │ │ │ │ ├── PhoneNumberValidator.kt │ │ │ │ │ ├── TextValidator.kt │ │ │ │ │ ├── TimeValidator.kt │ │ │ │ │ ├── TrueOnlyValidator.kt │ │ │ │ │ ├── UidValidator.kt │ │ │ │ │ ├── UnitIntervalValidator.kt │ │ │ │ │ ├── UrlValidator.kt │ │ │ │ │ └── ValueTypeValidator.kt │ │ │ ├── configuration │ │ │ │ └── internal │ │ │ │ │ ├── Configuration.java │ │ │ │ │ ├── ConfigurationDIModule.kt │ │ │ │ │ ├── ConfigurationStore.kt │ │ │ │ │ ├── ConfigurationStoreImpl.kt │ │ │ │ │ ├── ConfigurationTableInfo.java │ │ │ │ │ ├── DatabaseAccount.java │ │ │ │ │ ├── DatabaseAccountDAO.kt │ │ │ │ │ ├── DatabaseAccountImportDB.java │ │ │ │ │ ├── DatabaseAccountImportDBDAO.kt │ │ │ │ │ ├── DatabaseAccountImportStatus.kt │ │ │ │ │ ├── DatabaseConfigurationHelper.kt │ │ │ │ │ ├── DatabaseConfigurationInsecureStore.kt │ │ │ │ │ ├── DatabaseConfigurationInsecureStoreImpl.kt │ │ │ │ │ ├── DatabaseConfigurationMigration.kt │ │ │ │ │ ├── DatabaseConfigurationTransformer.kt │ │ │ │ │ ├── DatabaseEncryptionPasswordGenerator.java │ │ │ │ │ ├── DatabaseEncryptionPasswordManager.java │ │ │ │ │ ├── DatabaseNameGenerator.kt │ │ │ │ │ ├── DatabaseRenamer.kt │ │ │ │ │ ├── DatabasesConfiguration.java │ │ │ │ │ ├── DatabasesConfigurationDAO.kt │ │ │ │ │ ├── DateProvider.kt │ │ │ │ │ ├── MultiUserDatabaseManager.kt │ │ │ │ │ ├── MultiUserDatabaseManagerForD2Manager.kt │ │ │ │ │ ├── ServerUrlParser.kt │ │ │ │ │ └── migration │ │ │ │ │ ├── DatabaseConfigurationInsecureStoreOld.kt │ │ │ │ │ ├── DatabaseServerConfigurationOldDAO.kt │ │ │ │ │ ├── DatabaseUserConfigurationOldDAO.kt │ │ │ │ │ ├── DatabasesConfigurationOldDAO.kt │ │ │ │ │ └── Migration260.kt │ │ │ ├── constant │ │ │ │ ├── Constant.java │ │ │ │ ├── ConstantCollectionRepository.kt │ │ │ │ ├── ConstantDIModule.kt │ │ │ │ ├── ConstantModule.kt │ │ │ │ ├── ConstantTableInfo.java │ │ │ │ └── internal │ │ │ │ │ ├── ConstantCallFetcher.kt │ │ │ │ │ ├── ConstantCollectionCleaner.kt │ │ │ │ │ ├── ConstantCoroutineCallFactory.kt │ │ │ │ │ ├── ConstantHandler.kt │ │ │ │ │ ├── ConstantModuleDownloader.kt │ │ │ │ │ ├── ConstantModuleImpl.kt │ │ │ │ │ ├── ConstantModuleWiper.kt │ │ │ │ │ ├── ConstantNetworkHandler.kt │ │ │ │ │ ├── ConstantStore.kt │ │ │ │ │ └── ConstantStoreImpl.kt │ │ │ ├── dataapproval │ │ │ │ ├── DataApproval.java │ │ │ │ ├── DataApprovalCollectionRepository.kt │ │ │ │ ├── DataApprovalDIModule.kt │ │ │ │ ├── DataApprovalState.java │ │ │ │ ├── DataApprovalTableInfo.java │ │ │ │ └── internal │ │ │ │ │ ├── DataApprovalCall.kt │ │ │ │ │ ├── DataApprovalHandler.kt │ │ │ │ │ ├── DataApprovalNetworkHandler.kt │ │ │ │ │ ├── DataApprovalQuery.kt │ │ │ │ │ ├── DataApprovalStore.kt │ │ │ │ │ └── DataApprovalStoreImpl.kt │ │ │ ├── dataelement │ │ │ │ ├── DataElement.java │ │ │ │ ├── DataElementCollectionRepository.kt │ │ │ │ ├── DataElementDIModule.kt │ │ │ │ ├── DataElementModule.kt │ │ │ │ ├── DataElementOperand.java │ │ │ │ ├── DataElementOperandTableInfo.java │ │ │ │ ├── DataElementTableInfo.java │ │ │ │ └── internal │ │ │ │ │ ├── DataElementAttributeChildrenAppender.kt │ │ │ │ │ ├── DataElementEndpointCallFactory.kt │ │ │ │ │ ├── DataElementHandler.kt │ │ │ │ │ ├── DataElementLegendSetChildrenAppender.kt │ │ │ │ │ ├── DataElementModuleImpl.kt │ │ │ │ │ ├── DataElementModuleWiper.kt │ │ │ │ │ ├── DataElementNetworkHandler.kt │ │ │ │ │ ├── DataElementOperandHandler.kt │ │ │ │ │ ├── DataElementOperandStore.kt │ │ │ │ │ ├── DataElementOperandStoreImpl.kt │ │ │ │ │ ├── DataElementStore.kt │ │ │ │ │ └── DataElementStoreImpl.kt │ │ │ ├── dataset │ │ │ │ ├── CustomText.java │ │ │ │ ├── DataInputPeriod.java │ │ │ │ ├── DataInputPeriodTableInfo.java │ │ │ │ ├── DataSet.java │ │ │ │ ├── DataSetCollectionRepository.kt │ │ │ │ ├── DataSetCompleteRegistration.java │ │ │ │ ├── DataSetCompleteRegistrationCollectionRepository.kt │ │ │ │ ├── DataSetCompleteRegistrationObjectRepository.kt │ │ │ │ ├── DataSetCompleteRegistrationTableInfo.java │ │ │ │ ├── DataSetCompulsoryDataElementOperandLink.java │ │ │ │ ├── DataSetCompulsoryDataElementOperandLinkTableInfo.java │ │ │ │ ├── DataSetDIModule.kt │ │ │ │ ├── DataSetDataElementLinkTableInfo.java │ │ │ │ ├── DataSetDisplayOptions.java │ │ │ │ ├── DataSetEditableStatus.kt │ │ │ │ ├── DataSetElement.java │ │ │ │ ├── DataSetElementLinkTableInfo.java │ │ │ │ ├── DataSetInstance.java │ │ │ │ ├── DataSetInstanceCollectionRepository.kt │ │ │ │ ├── DataSetInstanceService.kt │ │ │ │ ├── DataSetInstanceSummary.java │ │ │ │ ├── DataSetInstanceSummaryCollectionRepository.kt │ │ │ │ ├── DataSetInternalAccessor.kt │ │ │ │ ├── DataSetModule.kt │ │ │ │ ├── DataSetNonEditableReason.kt │ │ │ │ ├── DataSetOrganisationUnitLink.java │ │ │ │ ├── DataSetOrganisationUnitLinkTableInfo.java │ │ │ │ ├── DataSetTableInfo.java │ │ │ │ ├── Section.java │ │ │ │ ├── SectionCollectionRepository.kt │ │ │ │ ├── SectionDataElementLink.java │ │ │ │ ├── SectionDataElementLinkTableInfo.java │ │ │ │ ├── SectionDisplayOptions.java │ │ │ │ ├── SectionGreyedFieldsLink.java │ │ │ │ ├── SectionGreyedFieldsLinkTableInfo.java │ │ │ │ ├── SectionIndicatorLinkTableInfo.java │ │ │ │ ├── SectionPivotMode.kt │ │ │ │ ├── SectionTableInfo.java │ │ │ │ ├── TabsDirection.kt │ │ │ │ ├── TextAlign.kt │ │ │ │ └── internal │ │ │ │ │ ├── DataInputPeriodChildrenAppender.kt │ │ │ │ │ ├── DataInputPeriodHandler.kt │ │ │ │ │ ├── DataInputPeriodStore.kt │ │ │ │ │ ├── DataInputPeriodStoreImpl.kt │ │ │ │ │ ├── DataSetCollectionCleaner.kt │ │ │ │ │ ├── DataSetCompleteRegistrationCall.kt │ │ │ │ │ ├── DataSetCompleteRegistrationCallProcessor.kt │ │ │ │ │ ├── DataSetCompleteRegistrationHandler.kt │ │ │ │ │ ├── DataSetCompleteRegistrationImportHandler.kt │ │ │ │ │ ├── DataSetCompleteRegistrationNetworkHandler.kt │ │ │ │ │ ├── DataSetCompleteRegistrationPostCall.kt │ │ │ │ │ ├── DataSetCompleteRegistrationQuery.kt │ │ │ │ │ ├── DataSetCompleteRegistrationStore.kt │ │ │ │ │ ├── DataSetCompleteRegistrationStoreImpl.kt │ │ │ │ │ ├── DataSetCompulsoryDataElementOperandChildrenAppender.kt │ │ │ │ │ ├── DataSetCompulsoryDataElementOperandHandler.kt │ │ │ │ │ ├── DataSetCompulsoryDataElementOperandLinkStore.kt │ │ │ │ │ ├── DataSetCompulsoryDataElementOperandLinkStoreImpl.kt │ │ │ │ │ ├── DataSetDisplayOptionsColumnAdapter.kt │ │ │ │ │ ├── DataSetElementChildrenAppender.kt │ │ │ │ │ ├── DataSetElementHandler.kt │ │ │ │ │ ├── DataSetElementStore.kt │ │ │ │ │ ├── DataSetElementStoreImpl.kt │ │ │ │ │ ├── DataSetEndpointCallFactory.kt │ │ │ │ │ ├── DataSetHandler.kt │ │ │ │ │ ├── DataSetInstanceSQLStatementBuilder.kt │ │ │ │ │ ├── DataSetInstanceServiceImpl.kt │ │ │ │ │ ├── DataSetInstanceStore.kt │ │ │ │ │ ├── DataSetInstanceStoreImpl.kt │ │ │ │ │ ├── DataSetInstanceSummarySQLStatementBuilder.kt │ │ │ │ │ ├── DataSetInstanceSummaryStore.kt │ │ │ │ │ ├── DataSetInstanceSummaryStoreImpl.kt │ │ │ │ │ ├── DataSetModuleDownloader.kt │ │ │ │ │ ├── DataSetModuleImpl.kt │ │ │ │ │ ├── DataSetModuleWiper.kt │ │ │ │ │ ├── DataSetNetworkHandler.kt │ │ │ │ │ ├── DataSetOrganisationUnitLinkCleaner.kt │ │ │ │ │ ├── DataSetOrganisationUnitLinkHandler.kt │ │ │ │ │ ├── DataSetOrganisationUnitLinkStore.kt │ │ │ │ │ ├── DataSetOrganisationUnitLinkStoreImpl.kt │ │ │ │ │ ├── DataSetParentUidsHelper.java │ │ │ │ │ ├── DataSetStore.kt │ │ │ │ │ ├── DataSetStoreImpl.kt │ │ │ │ │ ├── SectionDataElementChildrenAppender.kt │ │ │ │ │ ├── SectionDataElementLinkHandler.kt │ │ │ │ │ ├── SectionDataElementLinkStore.kt │ │ │ │ │ ├── SectionDataElementLinkStoreImpl.kt │ │ │ │ │ ├── SectionDisplayOptionsColumnAdapter.kt │ │ │ │ │ ├── SectionGreyedFieldsChildrenAppender.kt │ │ │ │ │ ├── SectionGreyedFieldsLinkHandler.kt │ │ │ │ │ ├── SectionGreyedFieldsLinkStore.kt │ │ │ │ │ ├── SectionGreyedFieldsLinkStoreImpl.kt │ │ │ │ │ ├── SectionHandler.kt │ │ │ │ │ ├── SectionIndicatorLink.java │ │ │ │ │ ├── SectionIndicatorLinkHandler.kt │ │ │ │ │ ├── SectionIndicatorLinkStore.kt │ │ │ │ │ ├── SectionIndicatorLinkStoreImpl.kt │ │ │ │ │ ├── SectionIndicatorsChildrenAppender.kt │ │ │ │ │ ├── SectionOrphanCleaner.kt │ │ │ │ │ ├── SectionStore.kt │ │ │ │ │ └── SectionStoreImpl.kt │ │ │ ├── datastore │ │ │ │ ├── DataStoreCollectionRepository.kt │ │ │ │ ├── DataStoreDIModule.kt │ │ │ │ ├── DataStoreDownloader.kt │ │ │ │ ├── DataStoreEntry.java │ │ │ │ ├── DataStoreEntryTableInfo.kt │ │ │ │ ├── DataStoreModule.kt │ │ │ │ ├── DataStoreObjectRepository.kt │ │ │ │ ├── KeyValuePair.java │ │ │ │ ├── LocalDataStoreCollectionRepository.kt │ │ │ │ ├── LocalDataStoreObjectRepository.kt │ │ │ │ ├── LocalDataStoreTableInfo.kt │ │ │ │ └── internal │ │ │ │ │ ├── DataStoreDownloadCall.kt │ │ │ │ │ ├── DataStoreDownloadParams.kt │ │ │ │ │ ├── DataStoreEntryStore.kt │ │ │ │ │ ├── DataStoreEntryStoreImpl.kt │ │ │ │ │ ├── DataStoreHandler.kt │ │ │ │ │ ├── DataStoreImportHandler.kt │ │ │ │ │ ├── DataStoreModuleImpl.kt │ │ │ │ │ ├── DataStoreModuleWiper.kt │ │ │ │ │ ├── DataStoreNetworkHandler.kt │ │ │ │ │ ├── DataStorePostCall.kt │ │ │ │ │ ├── LocalDataStoreStore.kt │ │ │ │ │ └── LocalDataStoreStoreImpl.kt │ │ │ ├── datavalue │ │ │ │ ├── DataValue.java │ │ │ │ ├── DataValueByDataSetQueryHelper.kt │ │ │ │ ├── DataValueCollectionRepository.kt │ │ │ │ ├── DataValueConflict.java │ │ │ │ ├── DataValueConflictCollectionRepository.kt │ │ │ │ ├── DataValueConflictTableInfo.kt │ │ │ │ ├── DataValueDIModule.kt │ │ │ │ ├── DataValueModule.kt │ │ │ │ ├── DataValueObjectRepository.kt │ │ │ │ ├── DataValueTableInfo.java │ │ │ │ └── internal │ │ │ │ │ ├── DataValueCall.kt │ │ │ │ │ ├── DataValueConflictParser.kt │ │ │ │ │ ├── DataValueConflictStore.kt │ │ │ │ │ ├── DataValueConflictStoreImpl.kt │ │ │ │ │ ├── DataValueFileResourcePostCall.kt │ │ │ │ │ ├── DataValueHandler.kt │ │ │ │ │ ├── DataValueImportHandler.kt │ │ │ │ │ ├── DataValueModuleImpl.kt │ │ │ │ │ ├── DataValueModuleWiper.kt │ │ │ │ │ ├── DataValueNetworkHandler.kt │ │ │ │ │ ├── DataValuePostCall.kt │ │ │ │ │ ├── DataValueQuery.kt │ │ │ │ │ ├── DataValueSet.kt │ │ │ │ │ ├── DataValueStore.kt │ │ │ │ │ ├── DataValueStoreImpl.kt │ │ │ │ │ └── conflicts │ │ │ │ │ ├── DataValueImportConflictItem.kt │ │ │ │ │ ├── IndexedDataValueConflict.kt │ │ │ │ │ ├── InvalidDataElementType37Conflict.kt │ │ │ │ │ ├── InvalidDataElementTypeConflict.kt │ │ │ │ │ ├── LegacyDataValueImportConflictItem.kt │ │ │ │ │ ├── PastExpiryDateConflict.kt │ │ │ │ │ └── PeriodAfterLatestOpenFutureConflict.kt │ │ │ ├── domain │ │ │ │ ├── DomainDIModule.kt │ │ │ │ ├── aggregated │ │ │ │ │ ├── AggregatedModule.kt │ │ │ │ │ ├── data │ │ │ │ │ │ ├── AggregatedD2Progress.kt │ │ │ │ │ │ ├── AggregatedDataDownloader.kt │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── AggregatedD2ProgressManager.kt │ │ │ │ │ │ │ ├── AggregatedDataCall.kt │ │ │ │ │ │ │ ├── AggregatedDataCallBundle.kt │ │ │ │ │ │ │ ├── AggregatedDataCallBundleFactory.kt │ │ │ │ │ │ │ ├── AggregatedDataCallBundleKey.kt │ │ │ │ │ │ │ ├── AggregatedDataDownloaderImpl.kt │ │ │ │ │ │ │ ├── AggregatedDataSync.java │ │ │ │ │ │ │ ├── AggregatedDataSyncHashHelper.kt │ │ │ │ │ │ │ ├── AggregatedDataSyncLastUpdatedCalculator.kt │ │ │ │ │ │ │ ├── AggregatedDataSyncStore.kt │ │ │ │ │ │ │ ├── AggregatedDataSyncStoreImpl.kt │ │ │ │ │ │ │ └── AggregatedDataSyncTableInfo.java │ │ │ │ │ └── internal │ │ │ │ │ │ └── AggregatedModuleImpl.kt │ │ │ │ └── metadata │ │ │ │ │ ├── MetadataCall.kt │ │ │ │ │ └── internal │ │ │ │ │ └── MetadataModuleImpl.kt │ │ │ ├── enrollment │ │ │ │ ├── Enrollment.java │ │ │ │ ├── EnrollmentAccess.kt │ │ │ │ ├── EnrollmentCollectionRepository.kt │ │ │ │ ├── EnrollmentCreateProjection.java │ │ │ │ ├── EnrollmentDIModule.kt │ │ │ │ ├── EnrollmentInternalAccessor.java │ │ │ │ ├── EnrollmentModule.kt │ │ │ │ ├── EnrollmentObjectRepository.kt │ │ │ │ ├── EnrollmentService.kt │ │ │ │ ├── EnrollmentStatus.java │ │ │ │ ├── EnrollmentTableInfo.java │ │ │ │ ├── NewTrackerImporterEnrollment.kt │ │ │ │ ├── NewTrackerImporterEnrollmentTransformer.kt │ │ │ │ └── internal │ │ │ │ │ ├── EnrollmentEndpointCallFactory.kt │ │ │ │ │ ├── EnrollmentHandler.kt │ │ │ │ │ ├── EnrollmentImportHandler.kt │ │ │ │ │ ├── EnrollmentModuleImpl.kt │ │ │ │ │ ├── EnrollmentModuleWiper.kt │ │ │ │ │ ├── EnrollmentNetworkHandler.kt │ │ │ │ │ ├── EnrollmentPersistenceCallFactory.kt │ │ │ │ │ ├── EnrollmentProjectionTransformer.kt │ │ │ │ │ ├── EnrollmentServiceImpl.kt │ │ │ │ │ ├── EnrollmentStore.kt │ │ │ │ │ ├── EnrollmentStoreImpl.kt │ │ │ │ │ ├── EventOrphanCleaner.kt │ │ │ │ │ ├── NewEnrollmentEndpointCallFactory.kt │ │ │ │ │ └── OldEnrollmentEndpointCallFactory.kt │ │ │ ├── event │ │ │ │ ├── Event.java │ │ │ │ ├── EventCollectionRepository.kt │ │ │ │ ├── EventCreateProjection.java │ │ │ │ ├── EventDIModule.kt │ │ │ │ ├── EventDataFilter.java │ │ │ │ ├── EventDownloader.kt │ │ │ │ ├── EventEditableStatus.kt │ │ │ │ ├── EventFilter.java │ │ │ │ ├── EventFilterCollectionRepository.kt │ │ │ │ ├── EventFilterTableInfo.java │ │ │ │ ├── EventInternalAccessor.kt │ │ │ │ ├── EventModule.kt │ │ │ │ ├── EventNonEditableReason.kt │ │ │ │ ├── EventObjectRepository.kt │ │ │ │ ├── EventQueryCriteria.java │ │ │ │ ├── EventService.kt │ │ │ │ ├── EventStatus.java │ │ │ │ ├── EventTableInfo.java │ │ │ │ ├── NewTrackerImporterEvent.kt │ │ │ │ ├── NewTrackerImporterEventTransformer.kt │ │ │ │ ├── internal │ │ │ │ │ ├── EventDataFilterHandler.kt │ │ │ │ │ ├── EventDataFilterStore.kt │ │ │ │ │ ├── EventDataFilterStoreImpl.kt │ │ │ │ │ ├── EventDateUtils.kt │ │ │ │ │ ├── EventDownloadCall.kt │ │ │ │ │ ├── EventEndpointCallFactory.kt │ │ │ │ │ ├── EventFilterCall.kt │ │ │ │ │ ├── EventFilterEventDataFilterChildrenAppender.kt │ │ │ │ │ ├── EventFilterHandler.kt │ │ │ │ │ ├── EventFilterNetworkHandler.kt │ │ │ │ │ ├── EventFilterStore.kt │ │ │ │ │ ├── EventFilterStoreImpl.kt │ │ │ │ │ ├── EventHandler.kt │ │ │ │ │ ├── EventImportHandler.java │ │ │ │ │ ├── EventImportHandler.kt │ │ │ │ │ ├── EventLastUpdatedManager.kt │ │ │ │ │ ├── EventModuleImpl.kt │ │ │ │ │ ├── EventModuleWiper.kt │ │ │ │ │ ├── EventNetworkHandler.kt │ │ │ │ │ ├── EventPersistenceCallFactory.kt │ │ │ │ │ ├── EventPostParentCall.kt │ │ │ │ │ ├── EventPostStateManager.kt │ │ │ │ │ ├── EventProjectionTransformer.kt │ │ │ │ │ ├── EventQueryBundle.java │ │ │ │ │ ├── EventQueryBundleFactory.kt │ │ │ │ │ ├── EventQueryBundleInternalFactory.kt │ │ │ │ │ ├── EventServiceImpl.kt │ │ │ │ │ ├── EventStore.kt │ │ │ │ │ ├── EventStoreImpl.kt │ │ │ │ │ ├── EventSync.java │ │ │ │ │ ├── EventSyncStore.kt │ │ │ │ │ ├── EventSyncStoreImpl.kt │ │ │ │ │ ├── EventSyncTableInfo.java │ │ │ │ │ ├── NewEventEndpointCallFactory.kt │ │ │ │ │ └── OldEventEndpointCallFactory.kt │ │ │ │ └── search │ │ │ │ │ ├── EventCollectionRepositoryAdapter.kt │ │ │ │ │ ├── EventQueryCollectionRepository.kt │ │ │ │ │ ├── EventQueryRepositoryScope.java │ │ │ │ │ ├── EventQueryRepositoryScopeHelper.kt │ │ │ │ │ ├── EventQueryScopeOrderByItem.java │ │ │ │ │ └── EventQueryScopeOrderColumn.java │ │ │ ├── expressiondimensionitem │ │ │ │ ├── ExpressionDimensionItem.java │ │ │ │ ├── ExpressionDimensionItemCollectionRepository.kt │ │ │ │ ├── ExpressionDimensionItemDIModule.kt │ │ │ │ ├── ExpressionDimensionItemModule.kt │ │ │ │ ├── ExpressionDimensionItemTableInfo.kt │ │ │ │ └── internal │ │ │ │ │ ├── ExpressionDimensionItemCall.kt │ │ │ │ │ ├── ExpressionDimensionItemHandler.kt │ │ │ │ │ ├── ExpressionDimensionItemModuleDownloader.kt │ │ │ │ │ ├── ExpressionDimensionItemModuleImpl.kt │ │ │ │ │ ├── ExpressionDimensionItemModuleWiper.kt │ │ │ │ │ ├── ExpressionDimensionItemNetworkHandler.kt │ │ │ │ │ ├── ExpressionDimensionItemStore.kt │ │ │ │ │ ├── ExpressionDimensionItemStoreImpl.kt │ │ │ │ │ └── ExpressionDimensionItemUidsSeeker.kt │ │ │ ├── fileresource │ │ │ │ ├── FileResource.java │ │ │ │ ├── FileResourceCollectionRepository.kt │ │ │ │ ├── FileResourceDIModule.kt │ │ │ │ ├── FileResourceDomain.kt │ │ │ │ ├── FileResourceDownloadConst.kt │ │ │ │ ├── FileResourceDownloader.kt │ │ │ │ ├── FileResourceInternalAccessor.kt │ │ │ │ ├── FileResourceModule.kt │ │ │ │ ├── FileResourceObjectRepository.kt │ │ │ │ ├── FileResourceRoutine.kt │ │ │ │ ├── FileResourceStorageStatus.kt │ │ │ │ ├── FileResourceTableInfo.java │ │ │ │ └── internal │ │ │ │ │ ├── FileResourceDownloadCall.kt │ │ │ │ │ ├── FileResourceDownloadCallHelper.kt │ │ │ │ │ ├── FileResourceDownloadParams.kt │ │ │ │ │ ├── FileResourceHandler.kt │ │ │ │ │ ├── FileResourceHelper.kt │ │ │ │ │ ├── FileResourceModuleImpl.kt │ │ │ │ │ ├── FileResourceModuleWiper.kt │ │ │ │ │ ├── FileResourceNetworkHandler.kt │ │ │ │ │ ├── FileResourcePostCall.kt │ │ │ │ │ ├── FileResourceProjectionTransformer.kt │ │ │ │ │ ├── FileResourceStore.kt │ │ │ │ │ ├── FileResourceStoreImpl.kt │ │ │ │ │ ├── FileResourceUtil.kt │ │ │ │ │ ├── FileResourceValue.kt │ │ │ │ │ └── MissingTrackerAttributeValue.kt │ │ │ ├── icon │ │ │ │ ├── CustomIcon.java │ │ │ │ ├── CustomIconTableInfo.kt │ │ │ │ ├── DefaultIcon.kt │ │ │ │ ├── Icon.kt │ │ │ │ ├── IconCollectionRepository.kt │ │ │ │ ├── IconDIModule.kt │ │ │ │ ├── IconModule.kt │ │ │ │ ├── IconType.kt │ │ │ │ └── internal │ │ │ │ │ ├── CustomIconCall.kt │ │ │ │ │ ├── CustomIconCollectionCleaner.kt │ │ │ │ │ ├── CustomIconHandler.kt │ │ │ │ │ ├── CustomIconModuleDownloader.kt │ │ │ │ │ ├── CustomIconSeeker.kt │ │ │ │ │ ├── CustomIconStore.kt │ │ │ │ │ ├── CustomIconStoreImpl.kt │ │ │ │ │ ├── IconModuleImpl.kt │ │ │ │ │ ├── IconModuleWiper.kt │ │ │ │ │ └── IconNetworkHandler.kt │ │ │ ├── imports │ │ │ │ ├── ImportStatus.java │ │ │ │ ├── ImportsDIModule.kt │ │ │ │ ├── TrackerImportConflict.java │ │ │ │ ├── TrackerImportConflictCollectionRepository.kt │ │ │ │ ├── TrackerImportConflictTableInfo.java │ │ │ │ ├── TrackerJobManager.kt │ │ │ │ └── internal │ │ │ │ │ ├── BaseImportSummaries.java │ │ │ │ │ ├── BaseImportSummary.java │ │ │ │ │ ├── BaseImportSummaryHelper.kt │ │ │ │ │ ├── DataValueImportSummary.java │ │ │ │ │ ├── DataValueImportSummaryWebResponse.kt │ │ │ │ │ ├── EnrollmentImportSummaries.java │ │ │ │ │ ├── EnrollmentImportSummary.java │ │ │ │ │ ├── EventImportSummaries.java │ │ │ │ │ ├── EventImportSummary.java │ │ │ │ │ ├── EventWebResponse.java │ │ │ │ │ ├── HttpMessageResponse.java │ │ │ │ │ ├── ImportConflict.java │ │ │ │ │ ├── ImportCount.java │ │ │ │ │ ├── ImportModule.kt │ │ │ │ │ ├── ImportModuleImpl.kt │ │ │ │ │ ├── ImportModuleWiper.kt │ │ │ │ │ ├── ImportSummaries.java │ │ │ │ │ ├── ImportSummary.java │ │ │ │ │ ├── ItemsWithFileResources.kt │ │ │ │ │ ├── RelationshipDeleteWebResponse.java │ │ │ │ │ ├── RelationshipImportSummaries.java │ │ │ │ │ ├── RelationshipImportSummary.java │ │ │ │ │ ├── RelationshipWebResponse.java │ │ │ │ │ ├── TEIImportSummaries.java │ │ │ │ │ ├── TEIImportSummary.java │ │ │ │ │ ├── TEIWebResponse.java │ │ │ │ │ ├── TEIWebResponseHandler.kt │ │ │ │ │ ├── TEIWebResponseHandlerSummary.kt │ │ │ │ │ ├── TrackerImportConflictParser.kt │ │ │ │ │ ├── TrackerImportConflictStore.kt │ │ │ │ │ ├── TrackerImportConflictStoreImpl.kt │ │ │ │ │ ├── WebResponse.java │ │ │ │ │ └── conflicts │ │ │ │ │ ├── BadAttributePatternConflict.kt │ │ │ │ │ ├── EnrollmentHasInvalidProgramConflict.kt │ │ │ │ │ ├── EnrollmentNotFoundConflict.kt │ │ │ │ │ ├── EventHasInvalidProgramConflict.kt │ │ │ │ │ ├── EventHasInvalidProgramStageConflict.kt │ │ │ │ │ ├── EventNotFoundConflict.kt │ │ │ │ │ ├── FileResourceAlreadyAssignedConflict.kt │ │ │ │ │ ├── FileResourceReferenceNotFoundConflict.kt │ │ │ │ │ ├── InvalidAttributeValueTypeConflict.kt │ │ │ │ │ ├── InvalidDataValueConflict.kt │ │ │ │ │ ├── InvalidTrackedEntityTypeConflict.kt │ │ │ │ │ ├── LackingEnrollmentCascadeDeleteAuthorityConflict.kt │ │ │ │ │ ├── LackingTEICascadeDeleteAuthorityConflict.kt │ │ │ │ │ ├── MissingAttributeConflict.kt │ │ │ │ │ ├── MissingDataElementConflict.kt │ │ │ │ │ ├── NonUniqueAttributeConflict.kt │ │ │ │ │ ├── TrackedEntityInstanceNotFoundConflict.kt │ │ │ │ │ ├── TrackerImportConflictItem.kt │ │ │ │ │ └── TrackerImportConflictItemContext.kt │ │ │ ├── indicator │ │ │ │ ├── DataSetIndicatorLink.java │ │ │ │ ├── DataSetIndicatorLinkTableInfo.java │ │ │ │ ├── Indicator.java │ │ │ │ ├── IndicatorCollectionRepository.kt │ │ │ │ ├── IndicatorDIModule.kt │ │ │ │ ├── IndicatorLegendSetLinkTableInfo.kt │ │ │ │ ├── IndicatorModule.kt │ │ │ │ ├── IndicatorTableInfo.kt │ │ │ │ ├── IndicatorType.java │ │ │ │ ├── IndicatorTypeCollectionRepository.kt │ │ │ │ ├── IndicatorTypeTableInfo.kt │ │ │ │ ├── datasetindicatorengine │ │ │ │ │ ├── DataSetIndicatorEngine.kt │ │ │ │ │ ├── DataSetIndicatorEngineImpl.kt │ │ │ │ │ └── DataSetIndicatorEvaluator.kt │ │ │ │ └── internal │ │ │ │ │ ├── DataSetIndicatorChildrenAppender.kt │ │ │ │ │ ├── DataSetIndicatorLinkHandler.kt │ │ │ │ │ ├── DataSetIndicatorLinkStore.kt │ │ │ │ │ ├── DataSetIndicatorLinkStoreImpl.kt │ │ │ │ │ ├── IndicatorEndpointCallFactory.kt │ │ │ │ │ ├── IndicatorHandler.kt │ │ │ │ │ ├── IndicatorLegendSetChildrenAppender.kt │ │ │ │ │ ├── IndicatorModuleDownloader.kt │ │ │ │ │ ├── IndicatorModuleImpl.kt │ │ │ │ │ ├── IndicatorModuleWiper.kt │ │ │ │ │ ├── IndicatorNetworkHandler.kt │ │ │ │ │ ├── IndicatorStore.kt │ │ │ │ │ ├── IndicatorStoreImpl.kt │ │ │ │ │ ├── IndicatorTypeEndpointCallFactory.kt │ │ │ │ │ ├── IndicatorTypeHandler.kt │ │ │ │ │ ├── IndicatorTypeNetworkHandler.kt │ │ │ │ │ ├── IndicatorTypeStore.kt │ │ │ │ │ ├── IndicatorTypeStoreImpl.kt │ │ │ │ │ └── IndicatorUidsSeeker.kt │ │ │ ├── legendset │ │ │ │ ├── DataElementLegendSetLink.java │ │ │ │ ├── DataElementLegendSetLinkTableInfo.java │ │ │ │ ├── IndicatorLegendSetLink.java │ │ │ │ ├── Legend.java │ │ │ │ ├── LegendCollectionRepository.kt │ │ │ │ ├── LegendSet.java │ │ │ │ ├── LegendSetCollectionRepository.kt │ │ │ │ ├── LegendSetDIModule.kt │ │ │ │ ├── LegendSetModule.kt │ │ │ │ ├── LegendSetTableInfo.java │ │ │ │ ├── LegendTableInfo.java │ │ │ │ ├── ProgramIndicatorLegendSetLink.java │ │ │ │ ├── ProgramIndicatorLegendSetLinkTableInfo.java │ │ │ │ └── internal │ │ │ │ │ ├── DataElementLegendSetLinkHandler.kt │ │ │ │ │ ├── DataElementLegendSetLinkStore.kt │ │ │ │ │ ├── DataElementLegendSetLinkStoreImpl.kt │ │ │ │ │ ├── IndicatorLegendSetLinkHandler.kt │ │ │ │ │ ├── IndicatorLegendSetLinkStore.kt │ │ │ │ │ ├── IndicatorLegendSetLinkStoreImpl.kt │ │ │ │ │ ├── LegendChildrenAppender.kt │ │ │ │ │ ├── LegendHandler.kt │ │ │ │ │ ├── LegendSetCall.kt │ │ │ │ │ ├── LegendSetHandler.kt │ │ │ │ │ ├── LegendSetLegendOrphanCleaner.kt │ │ │ │ │ ├── LegendSetModuleDownloader.kt │ │ │ │ │ ├── LegendSetModuleImpl.kt │ │ │ │ │ ├── LegendSetModuleWiper.kt │ │ │ │ │ ├── LegendSetNetworkHandler.kt │ │ │ │ │ ├── LegendSetStore.kt │ │ │ │ │ ├── LegendSetStoreImpl.kt │ │ │ │ │ ├── LegendSetUidsSeeker.kt │ │ │ │ │ ├── LegendStore.kt │ │ │ │ │ ├── LegendStoreImpl.kt │ │ │ │ │ ├── ProgramIndicatorLegendSetLinkHandler.kt │ │ │ │ │ ├── ProgramIndicatorLegendSetLinkStore.kt │ │ │ │ │ └── ProgramIndicatorLegendSetLinkStoreImpl.kt │ │ │ ├── maintenance │ │ │ │ ├── D2Error.java │ │ │ │ ├── D2ErrorCode.java │ │ │ │ ├── D2ErrorCollectionRepository.kt │ │ │ │ ├── D2ErrorComponent.java │ │ │ │ ├── D2ErrorTableInfo.java │ │ │ │ ├── ForeignKeyViolation.java │ │ │ │ ├── ForeignKeyViolationCollectionRepository.kt │ │ │ │ ├── ForeignKeyViolationTableInfo.java │ │ │ │ ├── MaintenanceDIModule.kt │ │ │ │ ├── MaintenanceModule.kt │ │ │ │ ├── PerformanceHintsService.java │ │ │ │ └── internal │ │ │ │ │ ├── D2ErrorStore.kt │ │ │ │ │ ├── D2ErrorStoreImpl.kt │ │ │ │ │ ├── ForeignKeyCleaner.java │ │ │ │ │ ├── ForeignKeyCleanerImpl.java │ │ │ │ │ ├── ForeignKeyViolationStore.kt │ │ │ │ │ ├── ForeignKeyViolationStoreImpl.kt │ │ │ │ │ ├── MaintenanceModuleImpl.kt │ │ │ │ │ └── MaintenanceModuleWiper.kt │ │ │ ├── map │ │ │ │ ├── MapDIModule.kt │ │ │ │ ├── MapModule.kt │ │ │ │ ├── internal │ │ │ │ │ ├── MapModuleImpl.kt │ │ │ │ │ └── MapModuleWiper.kt │ │ │ │ └── layer │ │ │ │ │ ├── ImageFormat.kt │ │ │ │ │ ├── MapLayer.java │ │ │ │ │ ├── MapLayerCollectionRepository.kt │ │ │ │ │ ├── MapLayerDownloader.kt │ │ │ │ │ ├── MapLayerImageryProvider.java │ │ │ │ │ ├── MapLayerImageryProviderArea.java │ │ │ │ │ ├── MapLayerImageryProviderTableInfo.kt │ │ │ │ │ ├── MapLayerPosition.kt │ │ │ │ │ ├── MapLayerTableInfo.kt │ │ │ │ │ ├── MapService.kt │ │ │ │ │ └── internal │ │ │ │ │ ├── MapLayerCallFactory.kt │ │ │ │ │ ├── MapLayerCollectionCleaner.kt │ │ │ │ │ ├── MapLayerHandler.kt │ │ │ │ │ ├── MapLayerImagerProviderChildrenAppender.kt │ │ │ │ │ ├── MapLayerImageryProviderAreaDAO.kt │ │ │ │ │ ├── MapLayerImageryProviderHandler.kt │ │ │ │ │ ├── MapLayerImageryProviderStore.kt │ │ │ │ │ ├── MapLayerImageryProviderStoreImpl.kt │ │ │ │ │ ├── MapLayerStore.kt │ │ │ │ │ ├── MapLayerStoreImpl.kt │ │ │ │ │ ├── bing │ │ │ │ │ ├── BingBasemap.kt │ │ │ │ │ ├── BingBasemaps.kt │ │ │ │ │ ├── BingCallFactory.kt │ │ │ │ │ └── BingNetworkHandler.kt │ │ │ │ │ ├── externalmap │ │ │ │ │ ├── ExternalMapLayerCallFactory.kt │ │ │ │ │ └── ExternalMapLayerNetworkHandler.kt │ │ │ │ │ └── osm │ │ │ │ │ ├── OSMBaseMap.kt │ │ │ │ │ ├── OSMBaseMaps.kt │ │ │ │ │ └── OSMCallFactory.kt │ │ │ ├── mockwebserver │ │ │ │ ├── Dhis2Dispatcher.kt │ │ │ │ ├── Dhis2MockServer.kt │ │ │ │ └── ResponseController.kt │ │ │ ├── note │ │ │ │ ├── NewTrackerImporterNote.kt │ │ │ │ ├── NewTrackerImporterNoteTransformer.kt │ │ │ │ ├── Note.java │ │ │ │ ├── NoteCollectionRepository.kt │ │ │ │ ├── NoteCreateProjection.java │ │ │ │ ├── NoteDIModule.kt │ │ │ │ ├── NoteModule.kt │ │ │ │ ├── NoteTableInfo.java │ │ │ │ └── internal │ │ │ │ │ ├── NoteDHISVersionManager.kt │ │ │ │ │ ├── NoteForEnrollmentChildrenAppender.kt │ │ │ │ │ ├── NoteForEventChildrenAppender.kt │ │ │ │ │ ├── NoteHandler.kt │ │ │ │ │ ├── NoteModuleImpl.kt │ │ │ │ │ ├── NoteProjectionTransformer.kt │ │ │ │ │ ├── NoteStore.kt │ │ │ │ │ ├── NoteStoreImpl.kt │ │ │ │ │ └── NoteUniquenessManager.java │ │ │ ├── option │ │ │ │ ├── Option.java │ │ │ │ ├── OptionCollectionRepository.kt │ │ │ │ ├── OptionDIModule.kt │ │ │ │ ├── OptionGroup.java │ │ │ │ ├── OptionGroupCollectionRepository.kt │ │ │ │ ├── OptionGroupOptionLink.java │ │ │ │ ├── OptionGroupOptionLinkTableInfo.java │ │ │ │ ├── OptionGroupTableInfo.java │ │ │ │ ├── OptionModule.kt │ │ │ │ ├── OptionService.kt │ │ │ │ ├── OptionServiceImpl.kt │ │ │ │ ├── OptionSet.java │ │ │ │ ├── OptionSetCollectionRepository.kt │ │ │ │ ├── OptionSetTableInfo.java │ │ │ │ ├── OptionTableInfo.java │ │ │ │ └── internal │ │ │ │ │ ├── OptionCall.kt │ │ │ │ │ ├── OptionGroupCall.kt │ │ │ │ │ ├── OptionGroupCollectionCleaner.kt │ │ │ │ │ ├── OptionGroupHandler.kt │ │ │ │ │ ├── OptionGroupNetworkHandler.kt │ │ │ │ │ ├── OptionGroupOptionChildrenAppender.kt │ │ │ │ │ ├── OptionGroupOptionLinkHandler.kt │ │ │ │ │ ├── OptionGroupOptionLinkStore.kt │ │ │ │ │ ├── OptionGroupOptionLinkStoreImpl.kt │ │ │ │ │ ├── OptionGroupStore.kt │ │ │ │ │ ├── OptionGroupStoreImpl.kt │ │ │ │ │ ├── OptionHandler.kt │ │ │ │ │ ├── OptionModuleImpl.kt │ │ │ │ │ ├── OptionModuleWiper.kt │ │ │ │ │ ├── OptionNetworkHandler.kt │ │ │ │ │ ├── OptionSetCall.kt │ │ │ │ │ ├── OptionSetHandler.kt │ │ │ │ │ ├── OptionSetNetworkHandler.kt │ │ │ │ │ ├── OptionSetStore.kt │ │ │ │ │ ├── OptionSetStoreImpl.kt │ │ │ │ │ ├── OptionStore.kt │ │ │ │ │ ├── OptionStoreImpl.kt │ │ │ │ │ └── OptionSubCollectionCleaner.kt │ │ │ ├── organisationunit │ │ │ │ ├── OrganisationUnit.java │ │ │ │ ├── OrganisationUnitCollectionRepository.kt │ │ │ │ ├── OrganisationUnitDIModule.kt │ │ │ │ ├── OrganisationUnitGroup.java │ │ │ │ ├── OrganisationUnitGroupCollectionRepository.kt │ │ │ │ ├── OrganisationUnitGroupTableInfo.java │ │ │ │ ├── OrganisationUnitLevel.java │ │ │ │ ├── OrganisationUnitLevelCollectionRepository.kt │ │ │ │ ├── OrganisationUnitLevelTableInfo.java │ │ │ │ ├── OrganisationUnitMode.java │ │ │ │ ├── OrganisationUnitModule.kt │ │ │ │ ├── OrganisationUnitOrganisationUnitGroupLink.java │ │ │ │ ├── OrganisationUnitOrganisationUnitGroupLinkTableInfo.java │ │ │ │ ├── OrganisationUnitProgramLink.java │ │ │ │ ├── OrganisationUnitProgramLinkTableInfo.java │ │ │ │ ├── OrganisationUnitService.kt │ │ │ │ ├── OrganisationUnitTableInfo.java │ │ │ │ ├── OrganisationUnitTree.java │ │ │ │ └── internal │ │ │ │ │ ├── OrganisationUnitCall.kt │ │ │ │ │ ├── OrganisationUnitCollectionCleaner.kt │ │ │ │ │ ├── OrganisationUnitDataSetChildrenAppender.kt │ │ │ │ │ ├── OrganisationUnitGroupHandler.kt │ │ │ │ │ ├── OrganisationUnitGroupStore.kt │ │ │ │ │ ├── OrganisationUnitGroupStoreImpl.kt │ │ │ │ │ ├── OrganisationUnitHandler.kt │ │ │ │ │ ├── OrganisationUnitLevelEndpointCall.kt │ │ │ │ │ ├── OrganisationUnitLevelHandler.kt │ │ │ │ │ ├── OrganisationUnitLevelNetworkHandler.kt │ │ │ │ │ ├── OrganisationUnitLevelStore.kt │ │ │ │ │ ├── OrganisationUnitLevelStoreImpl.kt │ │ │ │ │ ├── OrganisationUnitModuleDownloader.kt │ │ │ │ │ ├── OrganisationUnitModuleImpl.kt │ │ │ │ │ ├── OrganisationUnitModuleWiper.kt │ │ │ │ │ ├── OrganisationUnitNetworkHandler.kt │ │ │ │ │ ├── OrganisationUnitOrganisationUnitGroupLinkHandler.kt │ │ │ │ │ ├── OrganisationUnitOrganisationUnitGroupLinkStore.kt │ │ │ │ │ ├── OrganisationUnitOrganisationUnitGroupLinkStoreImpl.kt │ │ │ │ │ ├── OrganisationUnitOrganisationUnitGroupProgramChildrenAppender.kt │ │ │ │ │ ├── OrganisationUnitProgramChildrenAppender.kt │ │ │ │ │ ├── OrganisationUnitProgramLinkHandler.kt │ │ │ │ │ ├── OrganisationUnitProgramLinkStore.kt │ │ │ │ │ ├── OrganisationUnitProgramLinkStoreImpl.kt │ │ │ │ │ ├── OrganisationUnitStore.kt │ │ │ │ │ └── OrganisationUnitStoreImpl.kt │ │ │ ├── parser │ │ │ │ └── internal │ │ │ │ │ ├── ParserDIModule.kt │ │ │ │ │ ├── expression │ │ │ │ │ ├── CommonExpressionVisitor.kt │ │ │ │ │ ├── CommonExpressionVisitorScope.kt │ │ │ │ │ ├── CommonParser.kt │ │ │ │ │ ├── ExpressionItem.java │ │ │ │ │ ├── ExpressionItemMethod.kt │ │ │ │ │ ├── ExpressionState.kt │ │ │ │ │ ├── ParserUtils.kt │ │ │ │ │ ├── QueryMods.kt │ │ │ │ │ ├── function │ │ │ │ │ │ ├── FunctionAggregationType.kt │ │ │ │ │ │ ├── FunctionContains.kt │ │ │ │ │ │ ├── FunctionContainsItems.kt │ │ │ │ │ │ ├── FunctionFirstNonNull.kt │ │ │ │ │ │ ├── FunctionGreatest.kt │ │ │ │ │ │ ├── FunctionGreatestOrLeast.kt │ │ │ │ │ │ ├── FunctionIf.kt │ │ │ │ │ │ ├── FunctionIs.kt │ │ │ │ │ │ ├── FunctionIsNotNull.kt │ │ │ │ │ │ ├── FunctionIsNull.kt │ │ │ │ │ │ ├── FunctionLeast.kt │ │ │ │ │ │ ├── FunctionLog.java │ │ │ │ │ │ ├── FunctionLog10.java │ │ │ │ │ │ ├── FunctionMaxDate.kt │ │ │ │ │ │ ├── FunctionMinDate.kt │ │ │ │ │ │ ├── FunctionYearToDate.kt │ │ │ │ │ │ └── PeriodOffset.kt │ │ │ │ │ ├── literal │ │ │ │ │ │ ├── NullLiteral.kt │ │ │ │ │ │ └── RegenerateLiteral.kt │ │ │ │ │ └── operator │ │ │ │ │ │ ├── OperatorCompareEqual.java │ │ │ │ │ │ ├── OperatorCompareGreaterThan.java │ │ │ │ │ │ ├── OperatorCompareGreaterThanOrEqual.java │ │ │ │ │ │ ├── OperatorCompareLessThan.java │ │ │ │ │ │ ├── OperatorCompareLessThanOrEqual.java │ │ │ │ │ │ ├── OperatorCompareNotEqual.java │ │ │ │ │ │ ├── OperatorGroupingParentheses.java │ │ │ │ │ │ ├── OperatorLogicalAnd.java │ │ │ │ │ │ ├── OperatorLogicalNot.java │ │ │ │ │ │ ├── OperatorLogicalOr.java │ │ │ │ │ │ ├── OperatorMathDivide.java │ │ │ │ │ │ ├── OperatorMathMinus.java │ │ │ │ │ │ ├── OperatorMathModulus.java │ │ │ │ │ │ ├── OperatorMathMultiply.java │ │ │ │ │ │ ├── OperatorMathPlus.java │ │ │ │ │ │ └── OperatorMathPower.java │ │ │ │ │ └── service │ │ │ │ │ ├── ExpressionService.kt │ │ │ │ │ ├── ExpressionServiceContext.kt │ │ │ │ │ ├── dataitem │ │ │ │ │ ├── DimItemDataElementAndOperand.kt │ │ │ │ │ ├── DimensionalItem.kt │ │ │ │ │ ├── DimensionalItemId.kt │ │ │ │ │ ├── DimensionalItemType.kt │ │ │ │ │ ├── ItemConstant.kt │ │ │ │ │ ├── ItemDays.kt │ │ │ │ │ ├── ItemOrgUnitGroup.kt │ │ │ │ │ ├── ItemPeriodBase.kt │ │ │ │ │ ├── ItemPeriodInYear.kt │ │ │ │ │ └── ItemYearlyPeriodCount.kt │ │ │ │ │ ├── dataobject │ │ │ │ │ ├── DataElementObject.kt │ │ │ │ │ ├── DataElementOperandObject.kt │ │ │ │ │ └── DimensionalItemObject.kt │ │ │ │ │ └── utils │ │ │ │ │ └── ExpressionHelper.kt │ │ │ ├── period │ │ │ │ ├── DatePeriod.java │ │ │ │ ├── Period.java │ │ │ │ ├── PeriodCollectionRepository.kt │ │ │ │ ├── PeriodDIModule.kt │ │ │ │ ├── PeriodModule.kt │ │ │ │ ├── PeriodTableInfo.java │ │ │ │ ├── PeriodType.kt │ │ │ │ ├── clock │ │ │ │ │ └── internal │ │ │ │ │ │ ├── ClockProvider.kt │ │ │ │ │ │ ├── ClockProviderFactory.kt │ │ │ │ │ │ ├── FixedClockProvider.kt │ │ │ │ │ │ └── RegularClockProvider.kt │ │ │ │ ├── generator │ │ │ │ │ └── internal │ │ │ │ │ │ ├── AbstractPeriodGenerator.kt │ │ │ │ │ │ ├── BiMonthlyPeriodGenerator.kt │ │ │ │ │ │ ├── BiWeeklyPeriodGenerator.kt │ │ │ │ │ │ ├── DailyPeriodGenerator.kt │ │ │ │ │ │ ├── MonthlyPeriodGenerator.kt │ │ │ │ │ │ ├── NMonthlyPeriodGenerator.kt │ │ │ │ │ │ ├── NMonthlyPeriodGeneratorFactory.kt │ │ │ │ │ │ ├── NMonthlyPeriodGenerators.kt │ │ │ │ │ │ ├── PeriodGenerator.kt │ │ │ │ │ │ ├── PeriodKt.kt │ │ │ │ │ │ ├── WeeklyPeriodGenerator.kt │ │ │ │ │ │ ├── WeeklyPeriodGeneratorFactory.kt │ │ │ │ │ │ ├── WeeklyPeriodGeneratorHelper.kt │ │ │ │ │ │ ├── WeeklyPeriodGenerators.kt │ │ │ │ │ │ ├── YearlyPeriodGenerator.kt │ │ │ │ │ │ ├── YearlyPeriodGeneratorFactory.kt │ │ │ │ │ │ └── YearlyPeriodGenerators.kt │ │ │ │ └── internal │ │ │ │ │ ├── InPeriodQueryHelper.kt │ │ │ │ │ ├── ParentPeriodGenerator.kt │ │ │ │ │ ├── ParentPeriodGeneratorImpl.kt │ │ │ │ │ ├── PeriodForDataSetManager.kt │ │ │ │ │ ├── PeriodHandler.kt │ │ │ │ │ ├── PeriodHelper.kt │ │ │ │ │ ├── PeriodKtExtension.kt │ │ │ │ │ ├── PeriodModuleImpl.kt │ │ │ │ │ ├── PeriodModuleWiper.kt │ │ │ │ │ ├── PeriodParser.kt │ │ │ │ │ ├── PeriodStore.kt │ │ │ │ │ └── PeriodStoreImpl.kt │ │ │ ├── program │ │ │ │ ├── AccessLevel.kt │ │ │ │ ├── AnalyticsPeriodBoundary.java │ │ │ │ ├── AnalyticsPeriodBoundaryTableInfo.kt │ │ │ │ ├── AnalyticsPeriodBoundaryType.kt │ │ │ │ ├── BoundaryTargetType.kt │ │ │ │ ├── Program.java │ │ │ │ ├── ProgramCollectionRepository.kt │ │ │ │ ├── ProgramDIModule.kt │ │ │ │ ├── ProgramIndicator.java │ │ │ │ ├── ProgramIndicatorCollectionRepository.kt │ │ │ │ ├── ProgramIndicatorTableInfo.kt │ │ │ │ ├── ProgramInternalAccessor.kt │ │ │ │ ├── ProgramModule.kt │ │ │ │ ├── ProgramRule.java │ │ │ │ ├── ProgramRuleAction.java │ │ │ │ ├── ProgramRuleActionCollectionRepository.kt │ │ │ │ ├── ProgramRuleActionTableInfo.kt │ │ │ │ ├── ProgramRuleActionType.java │ │ │ │ ├── ProgramRuleCollectionRepository.kt │ │ │ │ ├── ProgramRuleTableInfo.java │ │ │ │ ├── ProgramRuleVariable.java │ │ │ │ ├── ProgramRuleVariableCollectionRepository.kt │ │ │ │ ├── ProgramRuleVariableSourceType.java │ │ │ │ ├── ProgramRuleVariableTableInfo.java │ │ │ │ ├── ProgramSection.java │ │ │ │ ├── ProgramSectionAttributeLink.java │ │ │ │ ├── ProgramSectionAttributeLinkTableInfo.java │ │ │ │ ├── ProgramSectionCollectionRepository.kt │ │ │ │ ├── ProgramSectionTableInfo.java │ │ │ │ ├── ProgramStage.java │ │ │ │ ├── ProgramStageCollectionRepository.kt │ │ │ │ ├── ProgramStageDataElement.java │ │ │ │ ├── ProgramStageDataElementCollectionRepository.kt │ │ │ │ ├── ProgramStageDataElementTableInfo.java │ │ │ │ ├── ProgramStageInternalAccessor.kt │ │ │ │ ├── ProgramStageSection.java │ │ │ │ ├── ProgramStageSectionDataElementLink.java │ │ │ │ ├── ProgramStageSectionDataElementLinkTableInfo.java │ │ │ │ ├── ProgramStageSectionProgramIndicatorLink.java │ │ │ │ ├── ProgramStageSectionProgramIndicatorLinkTableInfo.java │ │ │ │ ├── ProgramStageSectionTableInfo.java │ │ │ │ ├── ProgramStageSectionsCollectionRepository.kt │ │ │ │ ├── ProgramStageTableInfo.java │ │ │ │ ├── ProgramTableInfo.java │ │ │ │ ├── ProgramTrackedEntityAttribute.java │ │ │ │ ├── ProgramTrackedEntityAttributeCollectionRepository.kt │ │ │ │ ├── ProgramTrackedEntityAttributeTableInfo.java │ │ │ │ ├── ProgramType.java │ │ │ │ ├── SectionDeviceRendering.java │ │ │ │ ├── SectionRendering.java │ │ │ │ ├── SectionRenderingType.java │ │ │ │ ├── internal │ │ │ │ │ ├── AnalyticsPeriodBoundaryHandler.kt │ │ │ │ │ ├── AnalyticsPeriodBoundaryStore.kt │ │ │ │ │ ├── AnalyticsPeriodBoundaryStoreImpl.kt │ │ │ │ │ ├── DataElementValueTypeRenderingChildrenAppender.kt │ │ │ │ │ ├── ProgramAttributeChildrenAppender.kt │ │ │ │ │ ├── ProgramCall.kt │ │ │ │ │ ├── ProgramCollectionCleaner.kt │ │ │ │ │ ├── ProgramDataDownloadParams.java │ │ │ │ │ ├── ProgramHandler.kt │ │ │ │ │ ├── ProgramIndicatorAnalyticsPeriodBoundaryChildrenAppender.kt │ │ │ │ │ ├── ProgramIndicatorCall.kt │ │ │ │ │ ├── ProgramIndicatorHandler.kt │ │ │ │ │ ├── ProgramIndicatorLegendSetChildrenAppender.kt │ │ │ │ │ ├── ProgramIndicatorModuleDownloader.kt │ │ │ │ │ ├── ProgramIndicatorNetworkHandler.kt │ │ │ │ │ ├── ProgramIndicatorStore.kt │ │ │ │ │ ├── ProgramIndicatorStoreImpl.kt │ │ │ │ │ ├── ProgramIndicatorUidsSeeker.kt │ │ │ │ │ ├── ProgramModuleDownloader.kt │ │ │ │ │ ├── ProgramModuleImpl.kt │ │ │ │ │ ├── ProgramModuleWiper.kt │ │ │ │ │ ├── ProgramNetworkHandler.kt │ │ │ │ │ ├── ProgramOrganisationUnitLinkCleaner.kt │ │ │ │ │ ├── ProgramOrphanCleaner.kt │ │ │ │ │ ├── ProgramParentUidsHelper.java │ │ │ │ │ ├── ProgramRuleActionChildrenAppender.kt │ │ │ │ │ ├── ProgramRuleActionHandler.kt │ │ │ │ │ ├── ProgramRuleActionOrphanCleaner.kt │ │ │ │ │ ├── ProgramRuleActionStore.kt │ │ │ │ │ ├── ProgramRuleActionStoreImpl.kt │ │ │ │ │ ├── ProgramRuleCall.kt │ │ │ │ │ ├── ProgramRuleHandler.kt │ │ │ │ │ ├── ProgramRuleNetworkHandler.kt │ │ │ │ │ ├── ProgramRuleStore.kt │ │ │ │ │ ├── ProgramRuleStoreImpl.kt │ │ │ │ │ ├── ProgramRuleSubCollectionCleaner.kt │ │ │ │ │ ├── ProgramRuleVariableHandler.kt │ │ │ │ │ ├── ProgramRuleVariableOrphanCleaner.kt │ │ │ │ │ ├── ProgramRuleVariableStore.kt │ │ │ │ │ ├── ProgramRuleVariableStoreImpl.kt │ │ │ │ │ ├── ProgramSectionAttributeChildrenAppender.kt │ │ │ │ │ ├── ProgramSectionAttributeLinkHandler.kt │ │ │ │ │ ├── ProgramSectionAttributeLinkStore.kt │ │ │ │ │ ├── ProgramSectionAttributeLinkStoreImpl.kt │ │ │ │ │ ├── ProgramSectionHandler.kt │ │ │ │ │ ├── ProgramSectionOrphanCleaner.kt │ │ │ │ │ ├── ProgramSectionStore.kt │ │ │ │ │ ├── ProgramSectionStoreImpl.kt │ │ │ │ │ ├── ProgramStageAttributeChildrenAppender.kt │ │ │ │ │ ├── ProgramStageAttributeValueChildrenAppender.java │ │ │ │ │ ├── ProgramStageCall.kt │ │ │ │ │ ├── ProgramStageDataElementHandler.kt │ │ │ │ │ ├── ProgramStageDataElementOrphanCleaner.kt │ │ │ │ │ ├── ProgramStageDataElementStore.kt │ │ │ │ │ ├── ProgramStageDataElementStoreImpl.kt │ │ │ │ │ ├── ProgramStageHandler.kt │ │ │ │ │ ├── ProgramStageNetworkHandler.kt │ │ │ │ │ ├── ProgramStageSectionDataElementChildrenAppender.kt │ │ │ │ │ ├── ProgramStageSectionDataElementLinkHandler.kt │ │ │ │ │ ├── ProgramStageSectionDataElementLinkStore.kt │ │ │ │ │ ├── ProgramStageSectionDataElementLinkStoreImpl.kt │ │ │ │ │ ├── ProgramStageSectionHandler.kt │ │ │ │ │ ├── ProgramStageSectionOrphanCleaner.kt │ │ │ │ │ ├── ProgramStageSectionProgramIndicatorChildrenAppender.kt │ │ │ │ │ ├── ProgramStageSectionProgramIndicatorLinkHandler.kt │ │ │ │ │ ├── ProgramStageSectionProgramIndicatorLinkStore.kt │ │ │ │ │ ├── ProgramStageSectionProgramIndicatorLinkStoreImpl.kt │ │ │ │ │ ├── ProgramStageSectionStore.kt │ │ │ │ │ ├── ProgramStageSectionStoreImpl.kt │ │ │ │ │ ├── ProgramStageStore.kt │ │ │ │ │ ├── ProgramStageStoreImpl.kt │ │ │ │ │ ├── ProgramStageSubCollectionCleaner.kt │ │ │ │ │ ├── ProgramStore.kt │ │ │ │ │ ├── ProgramStoreImpl.kt │ │ │ │ │ ├── ProgramTrackedEntityAttributeHandler.kt │ │ │ │ │ ├── ProgramTrackedEntityAttributeOrphanCleaner.kt │ │ │ │ │ ├── ProgramTrackedEntityAttributeStore.kt │ │ │ │ │ ├── ProgramTrackedEntityAttributeStoreImpl.kt │ │ │ │ │ ├── ProgramTrackedEntityAttributeValueTypeRenderingChildrenAppender.kt │ │ │ │ │ ├── ProgramTrackedEntityTypeChildrenAppender.kt │ │ │ │ │ └── ValueTypeRenderingChildrenAppender.kt │ │ │ │ ├── programindicatorengine │ │ │ │ │ ├── ProgramIndicatorEngine.java │ │ │ │ │ └── internal │ │ │ │ │ │ ├── AnalyticsBoundaryParser.kt │ │ │ │ │ │ ├── AnalyticsBoundaryTarget.kt │ │ │ │ │ │ ├── ProgramExpressionItem.kt │ │ │ │ │ │ ├── ProgramIndicatorContext.kt │ │ │ │ │ │ ├── ProgramIndicatorEngineImpl.kt │ │ │ │ │ │ ├── ProgramIndicatorExecutor.kt │ │ │ │ │ │ ├── ProgramIndicatorItemIdsCollector.kt │ │ │ │ │ │ ├── ProgramIndicatorParserUtils.kt │ │ │ │ │ │ ├── ProgramIndicatorSQLContext.kt │ │ │ │ │ │ ├── ProgramIndicatorSQLExecutor.kt │ │ │ │ │ │ ├── ProgramIndicatorSQLUtils.kt │ │ │ │ │ │ ├── dataitem │ │ │ │ │ │ ├── ProgramItemAttribute.kt │ │ │ │ │ │ ├── ProgramItemPsEventdate.kt │ │ │ │ │ │ └── ProgramItemStageElement.kt │ │ │ │ │ │ ├── function │ │ │ │ │ │ ├── D2AddDays.kt │ │ │ │ │ │ ├── D2Ceil.kt │ │ │ │ │ │ ├── D2Concatenate.java │ │ │ │ │ │ ├── D2Condition.kt │ │ │ │ │ │ ├── D2Count.kt │ │ │ │ │ │ ├── D2CountIfCondition.kt │ │ │ │ │ │ ├── D2CountIfValue.kt │ │ │ │ │ │ ├── D2DaysBetween.kt │ │ │ │ │ │ ├── D2Floor.kt │ │ │ │ │ │ ├── D2HasValue.kt │ │ │ │ │ │ ├── D2Left.kt │ │ │ │ │ │ ├── D2Length.java │ │ │ │ │ │ ├── D2MaxValue.kt │ │ │ │ │ │ ├── D2MinValue.kt │ │ │ │ │ │ ├── D2MinutesBetween.kt │ │ │ │ │ │ ├── D2Modulus.kt │ │ │ │ │ │ ├── D2MonthsBetween.kt │ │ │ │ │ │ ├── D2Oizp.kt │ │ │ │ │ │ ├── D2RelationshipCount.kt │ │ │ │ │ │ ├── D2Right.kt │ │ │ │ │ │ ├── D2Round.kt │ │ │ │ │ │ ├── D2Split.kt │ │ │ │ │ │ ├── D2Substring.kt │ │ │ │ │ │ ├── D2ValidatePattern.java │ │ │ │ │ │ ├── D2WeeksBetween.kt │ │ │ │ │ │ ├── D2YearsBetween.kt │ │ │ │ │ │ ├── D2Zing.kt │ │ │ │ │ │ ├── D2Zpvc.kt │ │ │ │ │ │ ├── ProgramBetweenDatesFunction.kt │ │ │ │ │ │ ├── ProgramCountFunction.kt │ │ │ │ │ │ └── ProgramMinMaxFunction.kt │ │ │ │ │ │ ├── literal │ │ │ │ │ │ └── ProgramIndicatorSQLLiteral.kt │ │ │ │ │ │ └── variable │ │ │ │ │ │ ├── ProgramVariableItem.kt │ │ │ │ │ │ ├── VAnalyticsEndDate.kt │ │ │ │ │ │ ├── VAnalyticsStartDate.kt │ │ │ │ │ │ ├── VCompletedDate.kt │ │ │ │ │ │ ├── VCreationDate.kt │ │ │ │ │ │ ├── VCurrentDate.kt │ │ │ │ │ │ ├── VDueDate.kt │ │ │ │ │ │ ├── VEnrollmentCount.kt │ │ │ │ │ │ ├── VEnrollmentDate.kt │ │ │ │ │ │ ├── VEnrollmentStatus.kt │ │ │ │ │ │ ├── VEventCount.kt │ │ │ │ │ │ ├── VEventDate.kt │ │ │ │ │ │ ├── VEventStatus.kt │ │ │ │ │ │ ├── VIncidentDate.kt │ │ │ │ │ │ ├── VOrgUnitCount.kt │ │ │ │ │ │ ├── VProgramStageId.kt │ │ │ │ │ │ ├── VProgramStageName.kt │ │ │ │ │ │ ├── VSyncDate.kt │ │ │ │ │ │ ├── VTeiCount.kt │ │ │ │ │ │ ├── VValueCount.kt │ │ │ │ │ │ └── VZeroPosValueCount.kt │ │ │ │ └── trackerheaderengine │ │ │ │ │ └── internal │ │ │ │ │ └── TrackerHeaderEngine.kt │ │ │ ├── programstageworkinglist │ │ │ │ ├── ProgramStageQueryCriteria.java │ │ │ │ ├── ProgramStageWorkingList.java │ │ │ │ ├── ProgramStageWorkingListAttributeValueFilter.java │ │ │ │ ├── ProgramStageWorkingListCollectionRepository.kt │ │ │ │ ├── ProgramStageWorkingListDIModule.kt │ │ │ │ ├── ProgramStageWorkingListEventDataFilter.java │ │ │ │ └── internal │ │ │ │ │ ├── AttributeValueFilterHelper.kt │ │ │ │ │ ├── ProgramStageWorkingListAttributeValueFilterChildrenAppender.kt │ │ │ │ │ ├── ProgramStageWorkingListAttributeValueFilterHandler.kt │ │ │ │ │ ├── ProgramStageWorkingListAttributeValueFilterStore.kt │ │ │ │ │ ├── ProgramStageWorkingListAttributeValueFilterStoreImpl.kt │ │ │ │ │ ├── ProgramStageWorkingListCall.kt │ │ │ │ │ ├── ProgramStageWorkingListDataFilterChildrenAppender.kt │ │ │ │ │ ├── ProgramStageWorkingListEventDataFilterHandler.kt │ │ │ │ │ ├── ProgramStageWorkingListEventDataFilterStore.kt │ │ │ │ │ ├── ProgramStageWorkingListEventDataFilterStoreImpl.kt │ │ │ │ │ ├── ProgramStageWorkingListHandler.kt │ │ │ │ │ ├── ProgramStageWorkingListModuleWiper.kt │ │ │ │ │ ├── ProgramStageWorkingListNetworkHandler.kt │ │ │ │ │ ├── ProgramStageWorkingListStore.kt │ │ │ │ │ ├── ProgramStageWorkingListStoreImpl.kt │ │ │ │ │ └── ProgramStageWorkingListTableInfo.kt │ │ │ ├── relationship │ │ │ │ ├── BaseRelationship.java │ │ │ │ ├── NewTrackerImporterRelationship.kt │ │ │ │ ├── NewTrackerImporterRelationshipItem.kt │ │ │ │ ├── NewTrackerImporterRelationshipItemEnrollment.kt │ │ │ │ ├── NewTrackerImporterRelationshipItemEvent.kt │ │ │ │ ├── NewTrackerImporterRelationshipItemTrackedEntity.kt │ │ │ │ ├── NewTrackerImporterRelationshipTransformer.kt │ │ │ │ ├── Relationship.java │ │ │ │ ├── RelationshipCollectionRepository.kt │ │ │ │ ├── RelationshipConstraint.java │ │ │ │ ├── RelationshipConstraintTableInfo.java │ │ │ │ ├── RelationshipConstraintType.kt │ │ │ │ ├── RelationshipDIModule.kt │ │ │ │ ├── RelationshipEntityType.java │ │ │ │ ├── RelationshipHelper.java │ │ │ │ ├── RelationshipItem.java │ │ │ │ ├── RelationshipItemEnrollment.java │ │ │ │ ├── RelationshipItemEvent.java │ │ │ │ ├── RelationshipItemTableInfo.java │ │ │ │ ├── RelationshipItemTrackedEntityInstance.java │ │ │ │ ├── RelationshipModule.kt │ │ │ │ ├── RelationshipObjectRepository.kt │ │ │ │ ├── RelationshipService.kt │ │ │ │ ├── RelationshipServiceImpl.kt │ │ │ │ ├── RelationshipTableInfo.java │ │ │ │ ├── RelationshipType.java │ │ │ │ ├── RelationshipTypeCollectionRepository.kt │ │ │ │ ├── RelationshipTypeTableInfo.java │ │ │ │ ├── RelationshipTypeWithEntitySide.kt │ │ │ │ ├── TrackerDataView.java │ │ │ │ └── internal │ │ │ │ │ ├── EnrollmentRelationshipOrphanCleaner.kt │ │ │ │ │ ├── EventRelationshipOrphanCleaner.kt │ │ │ │ │ ├── RelationshipConstraintChildrenAppender.kt │ │ │ │ │ ├── RelationshipConstraintHandler.kt │ │ │ │ │ ├── RelationshipConstraintStore.kt │ │ │ │ │ ├── RelationshipConstraintStoreImpl.kt │ │ │ │ │ ├── RelationshipDHISVersionManager.kt │ │ │ │ │ ├── RelationshipDownloadAndPersistCallFactory.kt │ │ │ │ │ ├── RelationshipHandler.kt │ │ │ │ │ ├── RelationshipImportHandler.kt │ │ │ │ │ ├── RelationshipItemChildrenAppender.kt │ │ │ │ │ ├── RelationshipItemElementStoreSelector.kt │ │ │ │ │ ├── RelationshipItemElementStoreSelectorImpl.kt │ │ │ │ │ ├── RelationshipItemHandler.kt │ │ │ │ │ ├── RelationshipItemRelative.kt │ │ │ │ │ ├── RelationshipItemRelatives.kt │ │ │ │ │ ├── RelationshipItemStore.kt │ │ │ │ │ ├── RelationshipItemStoreImpl.kt │ │ │ │ │ ├── RelationshipManager.kt │ │ │ │ │ ├── RelationshipModuleImpl.kt │ │ │ │ │ ├── RelationshipModuleWiper.kt │ │ │ │ │ ├── RelationshipNetworkHandler.kt │ │ │ │ │ ├── RelationshipOrphanCleaner.kt │ │ │ │ │ ├── RelationshipPostCall.kt │ │ │ │ │ ├── RelationshipStore.kt │ │ │ │ │ ├── RelationshipStoreImpl.kt │ │ │ │ │ ├── RelationshipTypeCall.kt │ │ │ │ │ ├── RelationshipTypeCollectionRepositoryHelper.kt │ │ │ │ │ ├── RelationshipTypeHandler.kt │ │ │ │ │ ├── RelationshipTypeNetworkHandler.kt │ │ │ │ │ ├── RelationshipTypeStore.kt │ │ │ │ │ ├── RelationshipTypeStoreImpl.kt │ │ │ │ │ └── TEIRelationshipOrphanCleaner.kt │ │ │ ├── resource │ │ │ │ └── internal │ │ │ │ │ ├── Resource.java │ │ │ │ │ ├── ResourceDIModule.kt │ │ │ │ │ ├── ResourceHandler.kt │ │ │ │ │ ├── ResourceModuleWiper.kt │ │ │ │ │ ├── ResourceStore.kt │ │ │ │ │ ├── ResourceStoreImpl.kt │ │ │ │ │ └── ResourceTableInfo.java │ │ │ ├── settings │ │ │ │ ├── AnalyticsDhisVisualization.java │ │ │ │ ├── AnalyticsDhisVisualizationScope.kt │ │ │ │ ├── AnalyticsDhisVisualizationTableInfo.kt │ │ │ │ ├── AnalyticsDhisVisualizationType.kt │ │ │ │ ├── AnalyticsDhisVisualizationsGroup.java │ │ │ │ ├── AnalyticsDhisVisualizationsHelper.kt │ │ │ │ ├── AnalyticsDhisVisualizationsSetting.java │ │ │ │ ├── AnalyticsDhisVisualizationsSettingObjectRepository.kt │ │ │ │ ├── AnalyticsSettingObjectRepository.kt │ │ │ │ ├── AnalyticsSettings.java │ │ │ │ ├── AnalyticsTeiAttribute.java │ │ │ │ ├── AnalyticsTeiAttributeTableInfo.java │ │ │ │ ├── AnalyticsTeiData.java │ │ │ │ ├── AnalyticsTeiDataElement.java │ │ │ │ ├── AnalyticsTeiDataElementTableInfo.java │ │ │ │ ├── AnalyticsTeiIndicator.java │ │ │ │ ├── AnalyticsTeiIndicatorTableInfo.java │ │ │ │ ├── AnalyticsTeiSetting.java │ │ │ │ ├── AnalyticsTeiSettingCollectionRepository.kt │ │ │ │ ├── AnalyticsTeiSettingTableInfo.java │ │ │ │ ├── AnalyticsTeiWHONutritionData.java │ │ │ │ ├── AnalyticsTeiWHONutritionDataTableInfo.java │ │ │ │ ├── AnalyticsTeiWHONutritionGender.java │ │ │ │ ├── AnalyticsTeiWHONutritionGenderValues.java │ │ │ │ ├── AnalyticsTeiWHONutritionItem.java │ │ │ │ ├── AppearanceSettings.java │ │ │ │ ├── AppearanceSettingsHelper.kt │ │ │ │ ├── AppearanceSettingsObjectRepository.kt │ │ │ │ ├── ChartType.kt │ │ │ │ ├── CompletionSpinner.java │ │ │ │ ├── CompletionSpinnerSetting.java │ │ │ │ ├── DataSetConfigurationSetting.java │ │ │ │ ├── DataSetConfigurationSettingTableInfo.java │ │ │ │ ├── DataSetConfigurationSettings.java │ │ │ │ ├── DataSetFilter.kt │ │ │ │ ├── DataSetFilters.java │ │ │ │ ├── DataSetSetting.java │ │ │ │ ├── DataSetSettingTableInfo.java │ │ │ │ ├── DataSetSettings.java │ │ │ │ ├── DataSetSettingsObjectRepository.kt │ │ │ │ ├── DataSyncPeriod.kt │ │ │ │ ├── DownloadPeriod.java │ │ │ │ ├── EnrollmentScope.java │ │ │ │ ├── ExperimentalFeature.kt │ │ │ │ ├── FilterSetting.java │ │ │ │ ├── FilterSettingTableInfo.java │ │ │ │ ├── FilterSorting.java │ │ │ │ ├── GeneralSettingObjectRepository.kt │ │ │ │ ├── GeneralSettingTableInfo.kt │ │ │ │ ├── GeneralSettings.java │ │ │ │ ├── HomeFilter.kt │ │ │ │ ├── LatestAppVersion.java │ │ │ │ ├── LatestAppVersionObjectRepository.kt │ │ │ │ ├── LatestAppVersionTableInfo.kt │ │ │ │ ├── LimitScope.java │ │ │ │ ├── MetadataSyncPeriod.kt │ │ │ │ ├── ProgramConfigurationSetting.java │ │ │ │ ├── ProgramConfigurationSettingTableInfo.java │ │ │ │ ├── ProgramConfigurationSettings.java │ │ │ │ ├── ProgramFilter.kt │ │ │ │ ├── ProgramFilters.java │ │ │ │ ├── ProgramItemHeader.java │ │ │ │ ├── ProgramSetting.java │ │ │ │ ├── ProgramSettingTableInfo.java │ │ │ │ ├── ProgramSettings.java │ │ │ │ ├── ProgramSettingsObjectRepository.kt │ │ │ │ ├── QuickAction.java │ │ │ │ ├── SettingModule.kt │ │ │ │ ├── SettingsAppInfo.java │ │ │ │ ├── SettingsDIModule.kt │ │ │ │ ├── SynchronizationSettingObjectRepository.kt │ │ │ │ ├── SynchronizationSettingTableInfo.java │ │ │ │ ├── SynchronizationSettings.java │ │ │ │ ├── SystemSetting.java │ │ │ │ ├── SystemSettingCollectionRepository.kt │ │ │ │ ├── SystemSettingTableInfo.java │ │ │ │ ├── UserSettings.java │ │ │ │ ├── UserSettingsObjectRepository.kt │ │ │ │ ├── UserSettingsTableInfo.java │ │ │ │ ├── WHONutritionChartType.kt │ │ │ │ ├── WHONutritionComponent.kt │ │ │ │ └── internal │ │ │ │ │ ├── AnalyticsDhisVisualizationCleaner.kt │ │ │ │ │ ├── AnalyticsDhisVisualizationSettingHandler.kt │ │ │ │ │ ├── AnalyticsDhisVisualizationStore.kt │ │ │ │ │ ├── AnalyticsDhisVisualizationStoreImpl.kt │ │ │ │ │ ├── AnalyticsSettingCall.kt │ │ │ │ │ ├── AnalyticsTeiAttributeHandler.kt │ │ │ │ │ ├── AnalyticsTeiAttributeStore.kt │ │ │ │ │ ├── AnalyticsTeiAttributeStoreImpl.kt │ │ │ │ │ ├── AnalyticsTeiDataChildrenAppender.kt │ │ │ │ │ ├── AnalyticsTeiDataElementHandler.kt │ │ │ │ │ ├── AnalyticsTeiDataElementStore.kt │ │ │ │ │ ├── AnalyticsTeiDataElementStoreImpl.kt │ │ │ │ │ ├── AnalyticsTeiIndicatorHandler.kt │ │ │ │ │ ├── AnalyticsTeiIndicatorStore.kt │ │ │ │ │ ├── AnalyticsTeiIndicatorStoreImpl.kt │ │ │ │ │ ├── AnalyticsTeiSettingHandler.kt │ │ │ │ │ ├── AnalyticsTeiSettingStore.kt │ │ │ │ │ ├── AnalyticsTeiSettingStoreImpl.kt │ │ │ │ │ ├── AnalyticsTeiWHONutritionDataHandler.kt │ │ │ │ │ ├── AnalyticsTeiWHONutritionDataStore.kt │ │ │ │ │ ├── AnalyticsTeiWHONutritionDataStoreImpl.kt │ │ │ │ │ ├── ApkDistributionNetworkHandler.kt │ │ │ │ │ ├── ApkDistributionVersion.kt │ │ │ │ │ ├── AppearanceSettingCall.kt │ │ │ │ │ ├── BaseSettingCall.kt │ │ │ │ │ ├── DataSetConfigurationSettingHandler.kt │ │ │ │ │ ├── DataSetConfigurationSettingStore.kt │ │ │ │ │ ├── DataSetConfigurationSettingStoreImpl.kt │ │ │ │ │ ├── DataSetSettingCall.kt │ │ │ │ │ ├── DataSetSettingHandler.kt │ │ │ │ │ ├── DataSetSettingStore.kt │ │ │ │ │ ├── DataSetSettingStoreImpl.kt │ │ │ │ │ ├── FilterSettingHandler.kt │ │ │ │ │ ├── FilterSettingStore.kt │ │ │ │ │ ├── FilterSettingStoreImpl.kt │ │ │ │ │ ├── GeneralSettingCall.kt │ │ │ │ │ ├── GeneralSettingHandler.kt │ │ │ │ │ ├── GeneralSettingStore.kt │ │ │ │ │ ├── GeneralSettingStoreImpl.kt │ │ │ │ │ ├── LatestAppVersionCall.kt │ │ │ │ │ ├── LatestAppVersionComparator.kt │ │ │ │ │ ├── LatestAppVersionHandler.kt │ │ │ │ │ ├── LatestAppVersionStore.kt │ │ │ │ │ ├── LatestAppVersionStoreImpl.kt │ │ │ │ │ ├── ProgramConfigurationSettingHandler.kt │ │ │ │ │ ├── ProgramConfigurationSettingStore.kt │ │ │ │ │ ├── ProgramConfigurationSettingStoreImpl.kt │ │ │ │ │ ├── ProgramSettingCall.kt │ │ │ │ │ ├── ProgramSettingHandler.kt │ │ │ │ │ ├── ProgramSettingStore.kt │ │ │ │ │ ├── ProgramSettingStoreImpl.kt │ │ │ │ │ ├── QuickActionDAO.kt │ │ │ │ │ ├── SettingAppService.kt │ │ │ │ │ ├── SettingModuleDownloader.kt │ │ │ │ │ ├── SettingModuleImpl.kt │ │ │ │ │ ├── SettingModuleWiper.kt │ │ │ │ │ ├── SettingsAppDataStoreVersion.kt │ │ │ │ │ ├── SettingsAppHelper.kt │ │ │ │ │ ├── SettingsAppInfoCall.kt │ │ │ │ │ ├── SettingsAppInfoManager.kt │ │ │ │ │ ├── SettingsAppInfoManagerImpl.kt │ │ │ │ │ ├── SettingsAppVersion.kt │ │ │ │ │ ├── SettingsNetworkHandler.kt │ │ │ │ │ ├── SynchronizationSettingCall.kt │ │ │ │ │ ├── SynchronizationSettingHandler.kt │ │ │ │ │ ├── SynchronizationSettingStore.kt │ │ │ │ │ ├── SynchronizationSettingStoreImpl.kt │ │ │ │ │ ├── SystemSettingCall.kt │ │ │ │ │ ├── SystemSettingHandler.kt │ │ │ │ │ ├── SystemSettingStore.kt │ │ │ │ │ ├── SystemSettingStoreImpl.kt │ │ │ │ │ ├── SystemSettingsNetworkHandler.kt │ │ │ │ │ ├── UserSettingsCall.kt │ │ │ │ │ ├── UserSettingsHandler.kt │ │ │ │ │ ├── UserSettingsNetworkHandler.kt │ │ │ │ │ ├── UserSettingsStore.kt │ │ │ │ │ └── UserSettingsStoreImpl.kt │ │ │ ├── sms │ │ │ │ ├── SmsDIModule.kt │ │ │ │ ├── SmsModule.kt │ │ │ │ ├── data │ │ │ │ │ ├── internal │ │ │ │ │ │ └── DeviceStateRepositoryImpl.java │ │ │ │ │ ├── localdbrepository │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── DataSetsStore.java │ │ │ │ │ │ │ ├── FileResourceCleaner.java │ │ │ │ │ │ │ ├── LocalDbRepositoryImpl.kt │ │ │ │ │ │ │ ├── MetadataIdsStore.kt │ │ │ │ │ │ │ ├── OngoingSubmissionsStore.kt │ │ │ │ │ │ │ ├── SMSConfigKey.kt │ │ │ │ │ │ │ ├── SMSConfigStore.kt │ │ │ │ │ │ │ ├── SMSConfigStoreImpl.kt │ │ │ │ │ │ │ ├── SMSConfigTableInfo.kt │ │ │ │ │ │ │ ├── SMSMetadataId.java │ │ │ │ │ │ │ ├── SMSMetadataIdStore.kt │ │ │ │ │ │ │ ├── SMSMetadataIdStoreImpl.kt │ │ │ │ │ │ │ ├── SMSMetadataIdTableInfo.kt │ │ │ │ │ │ │ ├── SMSOngoingSubmission.java │ │ │ │ │ │ │ ├── SMSOngoingSubmissionStore.kt │ │ │ │ │ │ │ ├── SMSOngoingSubmissionStoreImpl.kt │ │ │ │ │ │ │ └── SMSOngoingSubmissionTableInfo.kt │ │ │ │ │ ├── smsrepository │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── SendingStateReceiver.java │ │ │ │ │ │ │ ├── SmsReader.java │ │ │ │ │ │ │ ├── SmsRepositoryImpl.java │ │ │ │ │ │ │ └── Utility.java │ │ │ │ │ └── webapirepository │ │ │ │ │ │ └── internal │ │ │ │ │ │ ├── MetadataIds.kt │ │ │ │ │ │ ├── MetadataNetworkHandler.kt │ │ │ │ │ │ └── WebApiRepositoryImpl.kt │ │ │ │ ├── domain │ │ │ │ │ ├── converter │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── Converter.java │ │ │ │ │ │ │ ├── ConverterUtils.java │ │ │ │ │ │ │ ├── DatasetConverter.java │ │ │ │ │ │ │ ├── DeletionConverter.java │ │ │ │ │ │ │ ├── EnrollmentConverter.java │ │ │ │ │ │ │ ├── RelationshipConverter.java │ │ │ │ │ │ │ ├── SimpleEventConverter.java │ │ │ │ │ │ │ └── TrackerEventConverter.java │ │ │ │ │ ├── interactor │ │ │ │ │ │ ├── ConfigCase.kt │ │ │ │ │ │ ├── QrCodeCase.java │ │ │ │ │ │ └── SmsSubmitCase.java │ │ │ │ │ ├── model │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ └── SMSDataValueSet.java │ │ │ │ │ └── repository │ │ │ │ │ │ ├── SmsRepository.java │ │ │ │ │ │ ├── WebApiRepository.kt │ │ │ │ │ │ └── internal │ │ │ │ │ │ ├── DeviceStateRepository.java │ │ │ │ │ │ ├── LocalDbRepository.kt │ │ │ │ │ │ └── SubmissionType.java │ │ │ │ └── internal │ │ │ │ │ ├── SMSModuleWiper.kt │ │ │ │ │ └── SmsModuleImpl.kt │ │ │ ├── systeminfo │ │ │ │ ├── DHISPatchVersion.kt │ │ │ │ ├── DHISVersion.kt │ │ │ │ ├── DHISVersionManager.kt │ │ │ │ ├── Ping.kt │ │ │ │ ├── SMSVersion.kt │ │ │ │ ├── SystemInfo.java │ │ │ │ ├── SystemInfoDIModule.kt │ │ │ │ ├── SystemInfoModule.kt │ │ │ │ ├── SystemInfoObjectRepository.kt │ │ │ │ ├── SystemInfoTableInfo.java │ │ │ │ └── internal │ │ │ │ │ ├── DHISVersionManagerImpl.kt │ │ │ │ │ ├── PingCall.kt │ │ │ │ │ ├── PingImpl.kt │ │ │ │ │ ├── PingNetworkHandler.kt │ │ │ │ │ ├── SystemInfoCall.kt │ │ │ │ │ ├── SystemInfoHandler.kt │ │ │ │ │ ├── SystemInfoModuleDownloader.kt │ │ │ │ │ ├── SystemInfoModuleImpl.kt │ │ │ │ │ ├── SystemInfoModuleWiper.kt │ │ │ │ │ ├── SystemInfoNetworkHandler.kt │ │ │ │ │ ├── SystemInfoStore.kt │ │ │ │ │ └── SystemInfoStoreImpl.kt │ │ │ ├── trackedentity │ │ │ │ ├── AttributeValueFilter.java │ │ │ │ ├── EntityQueryCriteria.java │ │ │ │ ├── NewTrackerImporterTrackedEntity.kt │ │ │ │ ├── NewTrackerImporterTrackedEntityAttributeValue.kt │ │ │ │ ├── NewTrackerImporterTrackedEntityAttributeValueTransformer.kt │ │ │ │ ├── NewTrackerImporterTrackedEntityDataValue.kt │ │ │ │ ├── NewTrackerImporterTrackedEntityDataValueTransformer.kt │ │ │ │ ├── NewTrackerImporterTrackedEntityTransformer.kt │ │ │ │ ├── NewTrackerImporterUserInfo.kt │ │ │ │ ├── ReservedValueSetting.java │ │ │ │ ├── ReservedValueSettingTableInfo.java │ │ │ │ ├── ReservedValueSummary.java │ │ │ │ ├── TrackedEntityAttribute.java │ │ │ │ ├── TrackedEntityAttributeCollectionRepository.kt │ │ │ │ ├── TrackedEntityAttributeLegendSetLink.java │ │ │ │ ├── TrackedEntityAttributeLegendSetLinkTableInfo.kt │ │ │ │ ├── TrackedEntityAttributeReservedValue.java │ │ │ │ ├── TrackedEntityAttributeReservedValueManager.kt │ │ │ │ ├── TrackedEntityAttributeReservedValueTableInfo.java │ │ │ │ ├── TrackedEntityAttributeTableInfo.java │ │ │ │ ├── TrackedEntityAttributeValue.java │ │ │ │ ├── TrackedEntityAttributeValueCollectionRepository.kt │ │ │ │ ├── TrackedEntityAttributeValueObjectRepository.kt │ │ │ │ ├── TrackedEntityAttributeValueTableInfo.java │ │ │ │ ├── TrackedEntityDIModule.kt │ │ │ │ ├── TrackedEntityDataValue.java │ │ │ │ ├── TrackedEntityDataValueCollectionRepository.kt │ │ │ │ ├── TrackedEntityDataValueObjectRepository.kt │ │ │ │ ├── TrackedEntityDataValueTableInfo.java │ │ │ │ ├── TrackedEntityInstance.java │ │ │ │ ├── TrackedEntityInstanceCollectionRepository.kt │ │ │ │ ├── TrackedEntityInstanceCreateProjection.java │ │ │ │ ├── TrackedEntityInstanceEventFilter.java │ │ │ │ ├── TrackedEntityInstanceEventFilterTableInfo.java │ │ │ │ ├── TrackedEntityInstanceFilter.java │ │ │ │ ├── TrackedEntityInstanceFilterCollectionRepository.kt │ │ │ │ ├── TrackedEntityInstanceFilterTableInfo.java │ │ │ │ ├── TrackedEntityInstanceInternalAccessor.java │ │ │ │ ├── TrackedEntityInstanceObjectRepository.kt │ │ │ │ ├── TrackedEntityInstanceService.java │ │ │ │ ├── TrackedEntityInstanceTableInfo.java │ │ │ │ ├── TrackedEntityModule.kt │ │ │ │ ├── TrackedEntityType.java │ │ │ │ ├── TrackedEntityTypeAttribute.java │ │ │ │ ├── TrackedEntityTypeAttributeCollectionRepository.kt │ │ │ │ ├── TrackedEntityTypeAttributeTableInfo.java │ │ │ │ ├── TrackedEntityTypeCollectionRepository.kt │ │ │ │ ├── TrackedEntityTypeTableInfo.java │ │ │ │ ├── internal │ │ │ │ │ ├── AttributeValueFilterHandler.kt │ │ │ │ │ ├── AttributeValueFilterStore.kt │ │ │ │ │ ├── AttributeValueFilterStoreImpl.kt │ │ │ │ │ ├── NewTrackedEntityEndpointCallFactory.kt │ │ │ │ │ ├── NewTrackerImporterPayload.kt │ │ │ │ │ ├── NewTrackerImporterPayloadWrapper.kt │ │ │ │ │ ├── NewTrackerImporterTrackedEntityPostPayloadGenerator.kt │ │ │ │ │ ├── NewTrackerImporterTrackedEntityPostStateManager.kt │ │ │ │ │ ├── ObjectWithUidWebResponse.java │ │ │ │ │ ├── OldTrackedEntityEndpointCallFactory.kt │ │ │ │ │ ├── OldTrackerImporterFileResourcesPostCall.kt │ │ │ │ │ ├── OldTrackerImporterPayload.kt │ │ │ │ │ ├── OldTrackerImporterPayloadGenerator.kt │ │ │ │ │ ├── OldTrackerImporterPostCall.kt │ │ │ │ │ ├── ProgramOwnerChildrenAppender.kt │ │ │ │ │ ├── ReservedValueSettingStore.kt │ │ │ │ │ ├── ReservedValueSettingStoreImpl.kt │ │ │ │ │ ├── StatePersistorHelper.kt │ │ │ │ │ ├── TrackedEntityAttributeCall.kt │ │ │ │ │ ├── TrackedEntityAttributeHandler.kt │ │ │ │ │ ├── TrackedEntityAttributeLegendSetChildrenAppender.kt │ │ │ │ │ ├── TrackedEntityAttributeLegendSetLinkHandler.kt │ │ │ │ │ ├── TrackedEntityAttributeLegendSetLinkStore.kt │ │ │ │ │ ├── TrackedEntityAttributeLegendSetLinkStoreImpl.kt │ │ │ │ │ ├── TrackedEntityAttributeNetworkHandler.kt │ │ │ │ │ ├── TrackedEntityAttributeReservedValueCallErrorCatcher.kt │ │ │ │ │ ├── TrackedEntityAttributeReservedValueCallProcessor.kt │ │ │ │ │ ├── TrackedEntityAttributeReservedValueEndpointCallFactory.kt │ │ │ │ │ ├── TrackedEntityAttributeReservedValueHandler.kt │ │ │ │ │ ├── TrackedEntityAttributeReservedValueNetworkHandler.kt │ │ │ │ │ ├── TrackedEntityAttributeReservedValueQuery.kt │ │ │ │ │ ├── TrackedEntityAttributeReservedValueStore.kt │ │ │ │ │ ├── TrackedEntityAttributeReservedValueStoreImpl.kt │ │ │ │ │ ├── TrackedEntityAttributeReservedValueValidatorHelper.kt │ │ │ │ │ ├── TrackedEntityAttributeStore.kt │ │ │ │ │ ├── TrackedEntityAttributeStoreImpl.kt │ │ │ │ │ ├── TrackedEntityAttributeValueChildrenAppender.kt │ │ │ │ │ ├── TrackedEntityAttributeValueHandler.kt │ │ │ │ │ ├── TrackedEntityAttributeValueStore.kt │ │ │ │ │ ├── TrackedEntityAttributeValueStoreImpl.kt │ │ │ │ │ ├── TrackedEntityDataValueChildrenAppender.kt │ │ │ │ │ ├── TrackedEntityDataValueHandler.kt │ │ │ │ │ ├── TrackedEntityDataValueStore.kt │ │ │ │ │ ├── TrackedEntityDataValueStoreImpl.kt │ │ │ │ │ ├── TrackedEntityEndpointCallFactory.kt │ │ │ │ │ ├── TrackedEntityEnrollmentOrphanCleaner.kt │ │ │ │ │ ├── TrackedEntityInstanceCallErrorCatcher.kt │ │ │ │ │ ├── TrackedEntityInstanceDownloadCall.kt │ │ │ │ │ ├── TrackedEntityInstanceDownloader.kt │ │ │ │ │ ├── TrackedEntityInstanceEventFilterHandler.kt │ │ │ │ │ ├── TrackedEntityInstanceEventFilterStore.kt │ │ │ │ │ ├── TrackedEntityInstanceEventFilterStoreImpl.kt │ │ │ │ │ ├── TrackedEntityInstanceFilterAttributeValueFilterChildrenAppender.kt │ │ │ │ │ ├── TrackedEntityInstanceFilterCall.kt │ │ │ │ │ ├── TrackedEntityInstanceFilterEvenFilterChildrenAppender.kt │ │ │ │ │ ├── TrackedEntityInstanceFilterHandler.kt │ │ │ │ │ ├── TrackedEntityInstanceFilterNetworkHandler.kt │ │ │ │ │ ├── TrackedEntityInstanceFilterStore.kt │ │ │ │ │ ├── TrackedEntityInstanceFilterStoreImpl.kt │ │ │ │ │ ├── TrackedEntityInstanceHandler.kt │ │ │ │ │ ├── TrackedEntityInstanceImportHandler.kt │ │ │ │ │ ├── TrackedEntityInstanceLastUpdatedManager.kt │ │ │ │ │ ├── TrackedEntityInstanceNetworkHandler.kt │ │ │ │ │ ├── TrackedEntityInstancePersistenceCallFactory.kt │ │ │ │ │ ├── TrackedEntityInstancePostParentCall.kt │ │ │ │ │ ├── TrackedEntityInstanceProjectionTransformer.kt │ │ │ │ │ ├── TrackedEntityInstanceStore.kt │ │ │ │ │ ├── TrackedEntityInstanceStoreImpl.kt │ │ │ │ │ ├── TrackedEntityInstanceSync.java │ │ │ │ │ ├── TrackedEntityInstanceSyncStore.kt │ │ │ │ │ ├── TrackedEntityInstanceSyncStoreImpl.kt │ │ │ │ │ ├── TrackedEntityInstanceSyncTableInfo.java │ │ │ │ │ ├── TrackedEntityInstanceUidHelper.kt │ │ │ │ │ ├── TrackedEntityInstanceUidHelperImpl.kt │ │ │ │ │ ├── TrackedEntityModuleImpl.kt │ │ │ │ │ ├── TrackedEntityModuleWiper.kt │ │ │ │ │ ├── TrackedEntityTypeAttributeChildrenAppender.kt │ │ │ │ │ ├── TrackedEntityTypeAttributeHandler.kt │ │ │ │ │ ├── TrackedEntityTypeAttributeStore.kt │ │ │ │ │ ├── TrackedEntityTypeAttributeStoreImpl.kt │ │ │ │ │ ├── TrackedEntityTypeCall.kt │ │ │ │ │ ├── TrackedEntityTypeCollectionCleaner.kt │ │ │ │ │ ├── TrackedEntityTypeHandler.kt │ │ │ │ │ ├── TrackedEntityTypeNetworkHandler.kt │ │ │ │ │ ├── TrackedEntityTypeStore.kt │ │ │ │ │ ├── TrackedEntityTypeStoreImpl.kt │ │ │ │ │ ├── TrackerBaseSync.java │ │ │ │ │ ├── TrackerBaseSyncColumns.java │ │ │ │ │ ├── TrackerParentCallFactory.kt │ │ │ │ │ ├── TrackerPostStateManager.kt │ │ │ │ │ ├── TrackerQueryBundle.java │ │ │ │ │ ├── TrackerQueryBundleFactory.kt │ │ │ │ │ ├── TrackerQueryBundleInternalFactory.kt │ │ │ │ │ ├── TrackerQueryCommonParams.kt │ │ │ │ │ ├── TrackerQueryFactory.kt │ │ │ │ │ ├── TrackerQueryFactoryCommonHelper.kt │ │ │ │ │ ├── TrackerQueryInternalFactory.kt │ │ │ │ │ └── TrackerSyncLastUpdatedManager.kt │ │ │ │ ├── ownership │ │ │ │ │ ├── NewTrackerImporterProgramOwner.kt │ │ │ │ │ ├── NewTrackerImporterProgramOwnerTransformer.kt │ │ │ │ │ ├── OwnershipManager.kt │ │ │ │ │ ├── OwnershipManagerImpl.kt │ │ │ │ │ ├── OwnershipNetworkHandler.kt │ │ │ │ │ ├── ProgramOwner.java │ │ │ │ │ ├── ProgramOwnerHandler.kt │ │ │ │ │ ├── ProgramOwnerPostCall.kt │ │ │ │ │ ├── ProgramOwnerStore.kt │ │ │ │ │ ├── ProgramOwnerStoreImpl.kt │ │ │ │ │ ├── ProgramOwnerTableInfo.kt │ │ │ │ │ ├── ProgramTempOwner.java │ │ │ │ │ ├── ProgramTempOwnerStore.kt │ │ │ │ │ ├── ProgramTempOwnerStoreImpl.kt │ │ │ │ │ └── ProgramTempOwnerTableInfo.kt │ │ │ │ └── search │ │ │ │ │ ├── TrackedEntityInstanceLocalQueryHelper.kt │ │ │ │ │ ├── TrackedEntityInstanceOnlineCache.kt │ │ │ │ │ ├── TrackedEntityInstanceOnlineResult.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryCallFactory.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryCollectionRepository.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryDataFetcher.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryDataSource.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryDataSourceResult.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryErrorCatcher.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryEventFilter.java │ │ │ │ │ ├── TrackedEntityInstanceQueryOnline.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryOnlineHelper.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryPagingSource.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryRepositoryScope.java │ │ │ │ │ ├── TrackedEntityInstanceQueryRepositoryScopeHelper.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryScopeOrderApiName.kt │ │ │ │ │ ├── TrackedEntityInstanceQueryScopeOrderByItem.java │ │ │ │ │ ├── TrackedEntityInstanceQueryScopeOrderColumn.java │ │ │ │ │ ├── TrackedEntitySearchCollectionRepository.kt │ │ │ │ │ ├── TrackedEntitySearchDataFetcher.kt │ │ │ │ │ ├── TrackedEntitySearchDataFetcherHelper.kt │ │ │ │ │ ├── TrackedEntitySearchDataSource.kt │ │ │ │ │ ├── TrackedEntitySearchDataSourceResult.kt │ │ │ │ │ ├── TrackedEntitySearchItem.kt │ │ │ │ │ ├── TrackedEntitySearchItemAttribute.kt │ │ │ │ │ ├── TrackedEntitySearchItemHelper.kt │ │ │ │ │ ├── TrackedEntitySearchOperators.kt │ │ │ │ │ ├── TrackedEntitySearchPagingSource.kt │ │ │ │ │ └── TrackerQueryResult.kt │ │ │ ├── tracker │ │ │ │ ├── TrackerDIModule.kt │ │ │ │ ├── TrackerExporterVersion.kt │ │ │ │ ├── TrackerImporterVersion.kt │ │ │ │ ├── TrackerPostParentCallHelper.kt │ │ │ │ ├── exporter │ │ │ │ │ ├── BaseTrackerQueryBundle.java │ │ │ │ │ ├── TrackerAPIQuery.kt │ │ │ │ │ ├── TrackerD2Progress.kt │ │ │ │ │ ├── TrackerD2ProgressManager.kt │ │ │ │ │ ├── TrackerDownloadCall.kt │ │ │ │ │ ├── TrackerExporterNetworkHandler.kt │ │ │ │ │ └── TrackerQueryHelper.kt │ │ │ │ └── importer │ │ │ │ │ └── internal │ │ │ │ │ ├── ImporterError.kt │ │ │ │ │ ├── JobQueryCall.kt │ │ │ │ │ ├── JobQueryErrorCatcher.kt │ │ │ │ │ ├── JobReport.kt │ │ │ │ │ ├── JobReportEnrollmentHandler.kt │ │ │ │ │ ├── JobReportEventHandler.kt │ │ │ │ │ ├── JobReportFileResourceHandler.kt │ │ │ │ │ ├── JobReportHandler.kt │ │ │ │ │ ├── JobReportRelationshipHandler.kt │ │ │ │ │ ├── JobReportTrackedEntityHandler.kt │ │ │ │ │ ├── JobReportTypeHandler.kt │ │ │ │ │ ├── TrackerConflictHelper.kt │ │ │ │ │ ├── TrackerImporterBreakTheGlassHelper.kt │ │ │ │ │ ├── TrackerImporterFileResourcesPostCall.kt │ │ │ │ │ ├── TrackerImporterNetworkHandler.kt │ │ │ │ │ ├── TrackerImporterObjectType.kt │ │ │ │ │ ├── TrackerImporterPostCall.kt │ │ │ │ │ ├── TrackerImporterProgramOwnerPostCall.kt │ │ │ │ │ ├── TrackerJobModuleWiper.kt │ │ │ │ │ ├── TrackerJobObject.java │ │ │ │ │ ├── TrackerJobObjectHandler.kt │ │ │ │ │ ├── TrackerJobObjectStore.kt │ │ │ │ │ ├── TrackerJobObjectStoreImpl.kt │ │ │ │ │ ├── TrackerJobObjectTableInfo.java │ │ │ │ │ └── interpreters │ │ │ │ │ ├── DefaultInterpreter.kt │ │ │ │ │ ├── E1000Interpreter.kt │ │ │ │ │ ├── E1001Interpreter.kt │ │ │ │ │ ├── E1002Interpreter.kt │ │ │ │ │ ├── E1003Interpreter.kt │ │ │ │ │ ├── E1005Interpreter.kt │ │ │ │ │ ├── E1006Interpreter.kt │ │ │ │ │ ├── E1007Interpreter.kt │ │ │ │ │ ├── E1008Interpreter.kt │ │ │ │ │ ├── E1009Interpreter.kt │ │ │ │ │ ├── E1032Interpreter.kt │ │ │ │ │ ├── E1063Interpreter.kt │ │ │ │ │ ├── E1064Interpreter.kt │ │ │ │ │ ├── E1069Interpreter.kt │ │ │ │ │ ├── E1081Interpreter.kt │ │ │ │ │ ├── E1084Interpreter.kt │ │ │ │ │ ├── E1100Interpreter.kt │ │ │ │ │ ├── E1103Interpreter.kt │ │ │ │ │ ├── ErrorCodeInterpreter.kt │ │ │ │ │ ├── InterpreterHelper.kt │ │ │ │ │ └── InterpreterSelector.kt │ │ │ ├── usecase │ │ │ │ ├── UseCaseDIModule.kt │ │ │ │ ├── UseCaseModule.kt │ │ │ │ ├── UseCaseModuleDownloader.kt │ │ │ │ ├── internal │ │ │ │ │ ├── UseCaseModuleImpl.kt │ │ │ │ │ └── UseCaseModuleWiper.kt │ │ │ │ └── stock │ │ │ │ │ ├── InternalStockUseCase.java │ │ │ │ │ ├── InternalStockUseCaseTransaction.java │ │ │ │ │ ├── StockUseCase.kt │ │ │ │ │ ├── StockUseCaseCollectionRepository.kt │ │ │ │ │ ├── StockUseCaseTableInfo.kt │ │ │ │ │ ├── StockUseCaseTransaction.kt │ │ │ │ │ ├── StockUseCaseTransactionTableInfo.kt │ │ │ │ │ └── internal │ │ │ │ │ ├── StockUseCaseCall.kt │ │ │ │ │ ├── StockUseCaseHandler.kt │ │ │ │ │ ├── StockUseCaseNetworkHandler.kt │ │ │ │ │ ├── StockUseCaseStore.kt │ │ │ │ │ ├── StockUseCaseStoreImpl.kt │ │ │ │ │ ├── StockUseCaseTransactionChildrenAppender.kt │ │ │ │ │ ├── StockUseCaseTransactionLinkHandler.kt │ │ │ │ │ ├── StockUseCaseTransactionLinkStore.kt │ │ │ │ │ ├── StockUseCaseTransactionLinkStoreImpl.kt │ │ │ │ │ └── StockUseCaseTransformer.kt │ │ │ ├── user │ │ │ │ ├── AccountDeletionReason.kt │ │ │ │ ├── AccountManager.kt │ │ │ │ ├── AuthenticatedUser.java │ │ │ │ ├── AuthenticatedUserObjectRepository.kt │ │ │ │ ├── AuthenticatedUserTableInfo.java │ │ │ │ ├── Authority.java │ │ │ │ ├── AuthorityCollectionRepository.kt │ │ │ │ ├── AuthorityTableInfo.java │ │ │ │ ├── User.java │ │ │ │ ├── UserCredentials.java │ │ │ │ ├── UserCredentialsObjectRepository.kt │ │ │ │ ├── UserDIModule.kt │ │ │ │ ├── UserGroup.java │ │ │ │ ├── UserGroupCollectionRepository.kt │ │ │ │ ├── UserGroupTableInfo.kt │ │ │ │ ├── UserInfo.kt │ │ │ │ ├── UserInternalAccessor.java │ │ │ │ ├── UserModule.kt │ │ │ │ ├── UserObjectRepository.kt │ │ │ │ ├── UserOrganisationUnitLink.java │ │ │ │ ├── UserOrganisationUnitLinkTableInfo.java │ │ │ │ ├── UserRole.java │ │ │ │ ├── UserRoleCollectionRepository.kt │ │ │ │ ├── UserRoleTableInfo.java │ │ │ │ ├── UserTableInfo.java │ │ │ │ ├── internal │ │ │ │ │ ├── AccountManagerHelper.kt │ │ │ │ │ ├── AccountManagerImpl.kt │ │ │ │ │ ├── AuthenticatedUserStore.kt │ │ │ │ │ ├── AuthenticatedUserStoreImpl.kt │ │ │ │ │ ├── AuthorityCallFetcher.kt │ │ │ │ │ ├── AuthorityCallProcessor.kt │ │ │ │ │ ├── AuthorityEndpointCallFactory.kt │ │ │ │ │ ├── AuthorityHandler.kt │ │ │ │ │ ├── AuthorityNetworkHandler.kt │ │ │ │ │ ├── AuthorityStore.kt │ │ │ │ │ ├── AuthorityStoreImpl.kt │ │ │ │ │ ├── IsUserLoggedInCallableFactory.kt │ │ │ │ │ ├── LogInCall.kt │ │ │ │ │ ├── LogInDatabaseManager.kt │ │ │ │ │ ├── LogInExceptions.kt │ │ │ │ │ ├── LogOutCall.kt │ │ │ │ │ ├── UserAccountDisabledErrorCatcher.kt │ │ │ │ │ ├── UserAuthenticateCallErrorCatcher.kt │ │ │ │ │ ├── UserCall.kt │ │ │ │ │ ├── UserGroupChildrenAppender.kt │ │ │ │ │ ├── UserGroupCollectionCleaner.kt │ │ │ │ │ ├── UserGroupHandler.kt │ │ │ │ │ ├── UserGroupStore.kt │ │ │ │ │ ├── UserGroupStoreImpl.kt │ │ │ │ │ ├── UserHandler.kt │ │ │ │ │ ├── UserInternalModule.kt │ │ │ │ │ ├── UserModuleDownloader.kt │ │ │ │ │ ├── UserModuleImpl.kt │ │ │ │ │ ├── UserModuleWiper.kt │ │ │ │ │ ├── UserNetworkHandler.kt │ │ │ │ │ ├── UserOrganisationUnitLinkHandler.kt │ │ │ │ │ ├── UserOrganisationUnitLinkHelper.java │ │ │ │ │ ├── UserOrganisationUnitLinkStore.kt │ │ │ │ │ ├── UserOrganisationUnitLinkStoreImpl.kt │ │ │ │ │ ├── UserRoleChildrenAppender.kt │ │ │ │ │ ├── UserRoleCollectionCleaner.kt │ │ │ │ │ ├── UserRoleHandler.kt │ │ │ │ │ ├── UserRoleStore.kt │ │ │ │ │ ├── UserRoleStoreImpl.kt │ │ │ │ │ ├── UserStore.kt │ │ │ │ │ ├── UserStoreImpl.kt │ │ │ │ │ └── UserUserCredentialsTransformer.kt │ │ │ │ └── openid │ │ │ │ │ ├── IntentWithRequestCode.kt │ │ │ │ │ ├── OpenIDConnectConfig.kt │ │ │ │ │ ├── OpenIDConnectHandler.kt │ │ │ │ │ ├── OpenIDConnectHandlerImpl.kt │ │ │ │ │ ├── OpenIDConnectLogoutHandler.kt │ │ │ │ │ ├── OpenIDConnectRequestHelper.kt │ │ │ │ │ └── OpenIDConnectTokenRefresher.kt │ │ │ ├── util │ │ │ │ ├── CipherUtil.kt │ │ │ │ ├── CollectionExtensions.kt │ │ │ │ ├── DateExtensions.kt │ │ │ │ ├── DateTimeExtensions.kt │ │ │ │ ├── FileExtensions.kt │ │ │ │ ├── FileUtils.kt │ │ │ │ ├── SqlUtils.kt │ │ │ │ └── StringUtils.kt │ │ │ ├── validation │ │ │ │ ├── DataSetValidationRuleLink.java │ │ │ │ ├── DataSetValidationRuleLinkTableInfo.java │ │ │ │ ├── MissingValueStrategy.java │ │ │ │ ├── ValidationDIModule.kt │ │ │ │ ├── ValidationModule.kt │ │ │ │ ├── ValidationRule.java │ │ │ │ ├── ValidationRuleCollectionRepository.kt │ │ │ │ ├── ValidationRuleExpression.java │ │ │ │ ├── ValidationRuleImportance.java │ │ │ │ ├── ValidationRuleOperator.java │ │ │ │ ├── ValidationRuleTableInfo.java │ │ │ │ ├── engine │ │ │ │ │ ├── ValidationEngine.kt │ │ │ │ │ ├── ValidationResult.java │ │ │ │ │ ├── ValidationResultSideEvaluation.java │ │ │ │ │ ├── ValidationResultViolation.java │ │ │ │ │ └── internal │ │ │ │ │ │ ├── ValidationEngineImpl.kt │ │ │ │ │ │ └── ValidationExecutor.kt │ │ │ │ └── internal │ │ │ │ │ ├── DataSetValidationRuleLinkHandler.kt │ │ │ │ │ ├── DataSetValidationRuleLinkStore.kt │ │ │ │ │ ├── DataSetValidationRuleLinkStoreImpl.kt │ │ │ │ │ ├── ValidationModuleImpl.kt │ │ │ │ │ ├── ValidationModuleWiper.kt │ │ │ │ │ ├── ValidationRuleCall.kt │ │ │ │ │ ├── ValidationRuleCollectionCleaner.kt │ │ │ │ │ ├── ValidationRuleHandler.kt │ │ │ │ │ ├── ValidationRuleNetworkHandler.kt │ │ │ │ │ ├── ValidationRuleStore.kt │ │ │ │ │ ├── ValidationRuleStoreImpl.kt │ │ │ │ │ ├── ValidationRuleUidsCallCoroutines.kt │ │ │ │ │ └── ValidationRuleUidsCallImpl.kt │ │ │ ├── visualization │ │ │ │ ├── CategoryDimension.java │ │ │ │ ├── DataDimensionItemType.kt │ │ │ │ ├── DigitGroupSeparator.kt │ │ │ │ ├── DimensionItemType.kt │ │ │ │ ├── DisplayDensity.kt │ │ │ │ ├── HideEmptyItemStrategy.kt │ │ │ │ ├── LayoutPosition.kt │ │ │ │ ├── LegendStrategy.kt │ │ │ │ ├── LegendStyle.kt │ │ │ │ ├── TrackerVisualization.java │ │ │ │ ├── TrackerVisualizationCollectionRepository.kt │ │ │ │ ├── TrackerVisualizationDimension.java │ │ │ │ ├── TrackerVisualizationDimensionRepetition.java │ │ │ │ ├── TrackerVisualizationDimensionTableInfo.kt │ │ │ │ ├── TrackerVisualizationOutputType.kt │ │ │ │ ├── TrackerVisualizationTableInfo.kt │ │ │ │ ├── TrackerVisualizationType.kt │ │ │ │ ├── Visualization.java │ │ │ │ ├── VisualizationCategoryDimensionLink.java │ │ │ │ ├── VisualizationCollectionRepository.kt │ │ │ │ ├── VisualizationDIModule.kt │ │ │ │ ├── VisualizationDimension.java │ │ │ │ ├── VisualizationDimensionItem.java │ │ │ │ ├── VisualizationDimensionItemTableInfo.kt │ │ │ │ ├── VisualizationLegend.java │ │ │ │ ├── VisualizationModule.kt │ │ │ │ ├── VisualizationTableInfo.kt │ │ │ │ ├── VisualizationType.kt │ │ │ │ └── internal │ │ │ │ │ ├── TrackerVisualizationCall.kt │ │ │ │ │ ├── TrackerVisualizationCollectionCleaner.kt │ │ │ │ │ ├── TrackerVisualizationColumnsFiltersChildrenAppender.kt │ │ │ │ │ ├── TrackerVisualizationDimensionHandler.kt │ │ │ │ │ ├── TrackerVisualizationDimensionRepetitionDAO.kt │ │ │ │ │ ├── TrackerVisualizationDimensionStore.kt │ │ │ │ │ ├── TrackerVisualizationDimensionStoreImpl.kt │ │ │ │ │ ├── TrackerVisualizationHandler.kt │ │ │ │ │ ├── TrackerVisualizationModuleDownloader.kt │ │ │ │ │ ├── TrackerVisualizationNetworkHandler.kt │ │ │ │ │ ├── TrackerVisualizationStore.kt │ │ │ │ │ ├── TrackerVisualizationStoreImpl.kt │ │ │ │ │ ├── VisualizationCall.kt │ │ │ │ │ ├── VisualizationCollectionCleaner.kt │ │ │ │ │ ├── VisualizationColumnsRowsFiltersChildrenAppender.kt │ │ │ │ │ ├── VisualizationDimensionItemHandler.kt │ │ │ │ │ ├── VisualizationDimensionItemStore.kt │ │ │ │ │ ├── VisualizationDimensionItemStoreImpl.kt │ │ │ │ │ ├── VisualizationHandler.kt │ │ │ │ │ ├── VisualizationInternalModule.kt │ │ │ │ │ ├── VisualizationModuleDownloader.kt │ │ │ │ │ ├── VisualizationModuleImpl.kt │ │ │ │ │ ├── VisualizationModuleWiper.kt │ │ │ │ │ ├── VisualizationNetworkHandler.kt │ │ │ │ │ ├── VisualizationStore.kt │ │ │ │ │ └── VisualizationStoreImpl.kt │ │ │ └── wipe │ │ │ │ └── internal │ │ │ │ ├── D2ModuleWipers.kt │ │ │ │ ├── ModuleWiper.kt │ │ │ │ ├── TableWiper.kt │ │ │ │ ├── WipeDIModule.kt │ │ │ │ ├── WipeModule.kt │ │ │ │ └── WipeModuleImpl.kt │ │ │ └── network │ │ │ ├── apkdistribution │ │ │ ├── ApkDistributionNetworkHandlerImpl.kt │ │ │ ├── ApkDistributionService.kt │ │ │ ├── ApkDistributionVersionDTO.kt │ │ │ └── LatestAppVersionDTO.kt │ │ │ ├── attribute │ │ │ ├── AttributeDTO.kt │ │ │ ├── AttributeFields.kt │ │ │ ├── AttributeNetworkHandlerImpl.kt │ │ │ ├── AttributeService.kt │ │ │ ├── AttributeValueDTO.kt │ │ │ └── AttributeValueFields.kt │ │ │ ├── authority │ │ │ ├── AuthorityDTO.kt │ │ │ ├── AuthorityNetworkHandlerImpl.kt │ │ │ └── AuthorityService.kt │ │ │ ├── bing │ │ │ ├── BingNetworkHandlerImpl.kt │ │ │ ├── BingServerResponseDTO.kt │ │ │ └── BingService.kt │ │ │ ├── category │ │ │ ├── CategoryDTO.kt │ │ │ ├── CategoryFields.kt │ │ │ ├── CategoryNetworkHandlerImpl.kt │ │ │ ├── CategoryOptionComboDTO.kt │ │ │ ├── CategoryOptionComboFields.kt │ │ │ └── CategoryService.kt │ │ │ ├── categorycombo │ │ │ ├── CategoryComboDTO.kt │ │ │ ├── CategoryComboFields.kt │ │ │ ├── CategoryComboNetworkHandlerImpl.kt │ │ │ └── CategoryComboService.kt │ │ │ ├── categoryoption │ │ │ ├── CategoryOptionDTO.kt │ │ │ ├── CategoryOptionFields.kt │ │ │ ├── CategoryOptionNetworkHandlerImpl.kt │ │ │ ├── CategoryOptionOrganisationUnitsDTO.kt │ │ │ └── CategoryOptionService.kt │ │ │ ├── common │ │ │ ├── JsonWrapper.kt │ │ │ ├── PayloadJson.kt │ │ │ ├── dto │ │ │ │ ├── AccessDTO.kt │ │ │ │ ├── BaseDeletableDataObjectDTO.kt │ │ │ │ ├── BaseIdentifiableObjectDTO.kt │ │ │ │ ├── BaseImportSummariesDTO.kt │ │ │ │ ├── BaseImportSummaryDTO.kt │ │ │ │ ├── BaseNameableObjectDTO.kt │ │ │ │ ├── DataAccessDTO.kt │ │ │ │ ├── DateFilterPeriodDTO.kt │ │ │ │ ├── DateStringDTO.kt │ │ │ │ ├── FilterOperatorsDTO.kt │ │ │ │ ├── FilterQueryCriteriaDTO.kt │ │ │ │ ├── GeometryDTO.kt │ │ │ │ ├── HttpMessageResponseDTO.kt │ │ │ │ ├── ImportConflictDTO.kt │ │ │ │ ├── ImportCountDTO.kt │ │ │ │ ├── ObjectWithStyleDTO.kt │ │ │ │ ├── ObjectWithUidDTO.kt │ │ │ │ ├── PagerDTO.kt │ │ │ │ ├── SimpleDateStringDTO.kt │ │ │ │ ├── ValueDTO.kt │ │ │ │ └── WebResponseDTO.kt │ │ │ ├── fields │ │ │ │ ├── AccessFields.kt │ │ │ │ ├── BaseFields.kt │ │ │ │ ├── DataAccessFields.kt │ │ │ │ ├── DateFilterPeriodFields.kt │ │ │ │ ├── Field.kt │ │ │ │ ├── Fields.kt │ │ │ │ ├── FieldsHelper.kt │ │ │ │ ├── NestedField.kt │ │ │ │ ├── ObjectStyleFields.kt │ │ │ │ └── Property.kt │ │ │ └── filters │ │ │ │ ├── Filter.kt │ │ │ │ ├── InFilter.kt │ │ │ │ └── SingleValueFilter.kt │ │ │ ├── constant │ │ │ ├── ConstantDTO.kt │ │ │ ├── ConstantFields.kt │ │ │ ├── ConstantNetworkHandlerImpl.kt │ │ │ └── ConstantService.kt │ │ │ ├── customicon │ │ │ ├── CustomIconDTO.kt │ │ │ ├── CustomIconFields.kt │ │ │ ├── IconNetworkHandlerImpl.kt │ │ │ └── IconService.kt │ │ │ ├── dataapproval │ │ │ ├── DataApprovalDTO.kt │ │ │ ├── DataApprovalFields.kt │ │ │ ├── DataApprovalNetworkHandlerImpl.kt │ │ │ └── DataApprovalService.kt │ │ │ ├── dataelement │ │ │ ├── DataElementDTO.kt │ │ │ ├── DataElementFields.kt │ │ │ ├── DataElementNetworkHandlerImpl.kt │ │ │ └── DataElementService.kt │ │ │ ├── dataset │ │ │ ├── CustomTextDTO.kt │ │ │ ├── DataElementOperandDTO.kt │ │ │ ├── DataElementOperandFields.kt │ │ │ ├── DataInputPeriodDTO.kt │ │ │ ├── DataInputPeriodFields.kt │ │ │ ├── DataSetDTO.kt │ │ │ ├── DataSetDisplayOptionsDTO.kt │ │ │ ├── DataSetElementDTO.kt │ │ │ ├── DataSetElementFields.kt │ │ │ ├── DataSetFields.kt │ │ │ ├── DataSetNetworkHandlerImpl.kt │ │ │ ├── DataSetService.kt │ │ │ ├── SectionDTO.kt │ │ │ ├── SectionDisplayOptionsDTO.kt │ │ │ └── SectionFields.kt │ │ │ ├── datasetcompleteregistration │ │ │ ├── DataSetCompleteRegistrationDTO.kt │ │ │ ├── DataSetCompleteRegistrationFields.kt │ │ │ ├── DataSetCompleteRegistrationNetworkHandlerImpl.kt │ │ │ └── DataSetCompleteRegistrationService.kt │ │ │ ├── datastore │ │ │ ├── DataStoreEntryDTO.kt │ │ │ ├── DataStoreNetworkHandlerImpl.kt │ │ │ └── DataStoreService.kt │ │ │ ├── datavalue │ │ │ ├── DataValueDTO.kt │ │ │ ├── DataValueFields.kt │ │ │ ├── DataValueImportSummaryDTO.kt │ │ │ ├── DataValueImportSummaryWebResponseDTO.kt │ │ │ ├── DataValueNetworkHandlerImpl.kt │ │ │ ├── DataValueService.kt │ │ │ └── DataValueSetDTO.kt │ │ │ ├── dependencyinjection │ │ │ └── NetworkDIModule.kt │ │ │ ├── enrollment │ │ │ ├── EnrollmentDTO.kt │ │ │ ├── EnrollmentFields.kt │ │ │ ├── EnrollmentImportSummariesDTO.kt │ │ │ ├── EnrollmentImportSummaryDTO.kt │ │ │ ├── EnrollmentNetworkHandlerImpl.kt │ │ │ └── EnrollmentService.kt │ │ │ ├── event │ │ │ ├── EventDTO.kt │ │ │ ├── EventFields.kt │ │ │ ├── EventImportSummariesDTO.kt │ │ │ ├── EventImportSummaryDTO.kt │ │ │ ├── EventNetworkHandlerImpl.kt │ │ │ ├── EventService.kt │ │ │ ├── EventWebResponseDTO.kt │ │ │ ├── TrackedEntityDataValueDTO.kt │ │ │ └── TrackedEntityDataValueFields.kt │ │ │ ├── eventfilter │ │ │ ├── EventDataFilterDTO.kt │ │ │ ├── EventDataFilterFields.kt │ │ │ ├── EventFilterDTO.kt │ │ │ ├── EventFilterFields.kt │ │ │ ├── EventFilterNetworkHandlerImpl.kt │ │ │ ├── EventFilterService.kt │ │ │ ├── EventQueryCriteriaDTO.kt │ │ │ └── EventQueryCriteriaFields.kt │ │ │ ├── expressiondimensionitem │ │ │ ├── ExpressionDimensionItemDTO.kt │ │ │ ├── ExpressionDimensionItemFields.kt │ │ │ ├── ExpressionDimensionItemNetworkHandlerImpl.kt │ │ │ └── ExpressionDimensionItemService.kt │ │ │ ├── externalmaplayer │ │ │ ├── ExternalMapLayerDTO.kt │ │ │ ├── ExternalMapLayerFields.kt │ │ │ ├── ExternalMapLayerNetworkHandlerImpl.kt │ │ │ └── ExternalMapLayerService.kt │ │ │ ├── fileresource │ │ │ ├── FileResourceDTO.kt │ │ │ ├── FileResourceFields.kt │ │ │ ├── FileResourceNetworkHandlerImpl.kt │ │ │ ├── FileResourceResponseDTO.kt │ │ │ ├── FileResourceService.kt │ │ │ └── FileResourceTypeDTO.kt │ │ │ ├── indicator │ │ │ ├── IndicatorDTO.kt │ │ │ ├── IndicatorFields.kt │ │ │ ├── IndicatorNetworkHandlerImpl.kt │ │ │ └── IndicatorService.kt │ │ │ ├── indicatortype │ │ │ ├── IndicatorTypeDTO.kt │ │ │ ├── IndicatorTypeFields.kt │ │ │ ├── IndicatorTypeNetworkHandlerImpl.kt │ │ │ └── IndicatorTypeService.kt │ │ │ ├── legendset │ │ │ ├── LegendDTO.kt │ │ │ ├── LegendFields.kt │ │ │ ├── LegendSetDTO.kt │ │ │ ├── LegendSetFields.kt │ │ │ ├── LegendSetNetworkHandlerImpl.kt │ │ │ └── LegendSetService.kt │ │ │ ├── metadata │ │ │ ├── MetadataIdDTO.kt │ │ │ ├── MetadataIdsDTO.kt │ │ │ ├── MetadataNetworkHandlerImpl.kt │ │ │ ├── MetadataService.kt │ │ │ └── MetadataSystemInfoDTO.kt │ │ │ ├── note │ │ │ ├── NoteDTO.kt │ │ │ └── NoteFields.kt │ │ │ ├── option │ │ │ ├── OptionDTO.kt │ │ │ ├── OptionFields.kt │ │ │ ├── OptionNetworkHandlerImpl.kt │ │ │ └── OptionService.kt │ │ │ ├── optiongroup │ │ │ ├── OptionGroupDTO.kt │ │ │ ├── OptionGroupFields.kt │ │ │ ├── OptionGroupNetworkHandlerImpl.kt │ │ │ └── OptionGroupService.kt │ │ │ ├── optionset │ │ │ ├── OptionSetDTO.kt │ │ │ ├── OptionSetFields.kt │ │ │ ├── OptionSetNetworkHandlerImpl.kt │ │ │ └── OptionSetService.kt │ │ │ ├── organisationunit │ │ │ ├── OrganisationUnitDTO.kt │ │ │ ├── OrganisationUnitFields.kt │ │ │ ├── OrganisationUnitGroupDTO.kt │ │ │ ├── OrganisationUnitGroupFields.kt │ │ │ ├── OrganisationUnitNetworkHandlerImpl.kt │ │ │ └── OrganisationUnitService.kt │ │ │ ├── organisationunitlevel │ │ │ ├── OrganisationUnitLevelDTO.kt │ │ │ ├── OrganisationUnitLevelFields.kt │ │ │ ├── OrganisationUnitLevelNetworkHandlerImpl.kt │ │ │ └── OrganisationUnitLevelService.kt │ │ │ ├── ownership │ │ │ ├── OwnershipNetworkHandlerImpl.kt │ │ │ ├── OwnershipService.kt │ │ │ └── OwnsershipParameterManager.kt │ │ │ ├── ping │ │ │ ├── PingNetworkHandlerImpl.kt │ │ │ └── PingService.kt │ │ │ ├── program │ │ │ ├── ProgramDTO.kt │ │ │ ├── ProgramFields.kt │ │ │ ├── ProgramNetworkHandlerImpl.kt │ │ │ ├── ProgramRuleVariableDTO.kt │ │ │ ├── ProgramRuleVariableFields.kt │ │ │ ├── ProgramSectionDTO.kt │ │ │ ├── ProgramSectionFields.kt │ │ │ ├── ProgramService.kt │ │ │ ├── ProgramTrackedEntityAttributeDTO.kt │ │ │ └── ProgramTrackedEntityAttributeFields.kt │ │ │ ├── programindicator │ │ │ ├── AnalyticsPeriodBoundaryDTO.kt │ │ │ ├── AnalyticsPeriodBoundaryFields.kt │ │ │ ├── ProgramIndicatorDTO.kt │ │ │ ├── ProgramIndicatorFields.kt │ │ │ ├── ProgramIndicatorNetworkHandlerImpl.kt │ │ │ └── ProgramIndicatorService.kt │ │ │ ├── programrule │ │ │ ├── ProgramRuleActionDTO.kt │ │ │ ├── ProgramRuleActionFields.kt │ │ │ ├── ProgramRuleDTO.kt │ │ │ ├── ProgramRuleFields.kt │ │ │ ├── ProgramRuleNetworkHandlerImpl.kt │ │ │ └── ProgramRuleService.kt │ │ │ ├── programstage │ │ │ ├── ProgramStageDTO.kt │ │ │ ├── ProgramStageDataElementDTO.kt │ │ │ ├── ProgramStageDataElementFields.kt │ │ │ ├── ProgramStageFields.kt │ │ │ ├── ProgramStageNetworkHandlerImpl.kt │ │ │ ├── ProgramStageSectionDTO.kt │ │ │ ├── ProgramStageSectionFields.kt │ │ │ ├── ProgramStageService.kt │ │ │ ├── SectionDeviceRenderingDTO.kt │ │ │ ├── SectionRenderingDTO.kt │ │ │ ├── ValueTypeDeviceRenderingDTO.kt │ │ │ └── ValueTypeRenderingDTO.kt │ │ │ ├── programstageworkinglist │ │ │ ├── ProgramStageQueryCriteriaDTO.kt │ │ │ ├── ProgramStageQueryCriteriaFields.kt │ │ │ ├── ProgramStageWorkingListAttributeValueFilterDTO.kt │ │ │ ├── ProgramStageWorkingListAttributeValueFilterFields.kt │ │ │ ├── ProgramStageWorkingListDTO.kt │ │ │ ├── ProgramStageWorkingListEventDataFilterDTO.kt │ │ │ ├── ProgramStageWorkingListEventDataFilterFields.kt │ │ │ ├── ProgramStageWorkingListFields.kt │ │ │ ├── ProgramStageWorkingListNetworkHandlerImpl.kt │ │ │ └── ProgramStageWorkingListService.kt │ │ │ ├── relationship │ │ │ ├── RelationshipDTO.kt │ │ │ ├── RelationshipDeleteWebResponseDTO.kt │ │ │ ├── RelationshipFields.kt │ │ │ ├── RelationshipImportSummariesDTO.kt │ │ │ ├── RelationshipImportSummaryDTO.kt │ │ │ ├── RelationshipItemDTO.kt │ │ │ ├── RelationshipItemEnrollmentDTO.kt │ │ │ ├── RelationshipItemEnrollmentFields.kt │ │ │ ├── RelationshipItemEventDTO.kt │ │ │ ├── RelationshipItemEventFields.kt │ │ │ ├── RelationshipItemFields.kt │ │ │ ├── RelationshipItemTrackedEntityInstanceDTO.kt │ │ │ ├── RelationshipItemTrackedEntityInstanceFields.kt │ │ │ ├── RelationshipNetworkHandlerImpl.kt │ │ │ ├── RelationshipService.kt │ │ │ └── RelationshipWebResponseDTO.kt │ │ │ ├── relationshiptype │ │ │ ├── RelationshipConstraintDTO.kt │ │ │ ├── RelationshipConstraintFields.kt │ │ │ ├── RelationshipTypeDTO.kt │ │ │ ├── RelationshipTypeFields.kt │ │ │ ├── RelationshipTypeNetworkHandlerImpl.kt │ │ │ ├── RelationshipTypeService.kt │ │ │ ├── TrackerDataViewDTO.kt │ │ │ └── TrackerDataViewFields.kt │ │ │ ├── settings │ │ │ ├── AnalyticsDhisVisualizationDTO.kt │ │ │ ├── AnalyticsDhisVisualizationsGroupDTO.kt │ │ │ ├── AnalyticsDhisVisualizationsSettingDTO.kt │ │ │ ├── AnalyticsSettingsDTO.kt │ │ │ ├── AnalyticsTeiDataDTO.kt │ │ │ ├── AnalyticsTeiDeserializers.kt │ │ │ ├── AnalyticsTeiSettingDTO.kt │ │ │ ├── AnalyticsTeiWHONutritionDataDTO.kt │ │ │ ├── AnalyticsTeiWHONutritionGenderDTO.kt │ │ │ ├── AnalyticsTeiWHONutritionGenderValuesDTO.kt │ │ │ ├── AnalyticsTeiWHONutritionItemDTO.kt │ │ │ ├── AppearanceSettingsDTO.kt │ │ │ ├── CompletionSpinnerDTO.kt │ │ │ ├── CompletionSpinnerSettingDTO.kt │ │ │ ├── DataSetConfigurationSettingDTO.kt │ │ │ ├── DataSetConfigurationSettingsDTO.kt │ │ │ ├── DataSetFiltersDTO.kt │ │ │ ├── DataSetSettingDTO.kt │ │ │ ├── DataSetSettingsDTO.kt │ │ │ ├── FilterSettingDTO.kt │ │ │ ├── FilterSortingDTO.kt │ │ │ ├── GeneralSettingsDTO.kt │ │ │ ├── ProgramConfigurationSettingDTO.kt │ │ │ ├── ProgramConfigurationSettingsDTO.kt │ │ │ ├── ProgramFiltersDTO.kt │ │ │ ├── ProgramItemHeaderDTO.kt │ │ │ ├── ProgramSettingDTO.kt │ │ │ ├── ProgramSettingsDTO.kt │ │ │ ├── QuickActionDTO.kt │ │ │ ├── SettingsAppInfoDTO.kt │ │ │ ├── SettingsEnumMaps.kt │ │ │ ├── SettingsNetworkHandlerImpl.kt │ │ │ ├── SettingsService.kt │ │ │ └── SynchronizationSettingsDTO.kt │ │ │ ├── systeminfo │ │ │ ├── SystemInfoDTO.kt │ │ │ ├── SystemInfoFields.kt │ │ │ ├── SystemInfoNetworkHandlerImpl.kt │ │ │ └── SystemInfoService.kt │ │ │ ├── systemsettings │ │ │ ├── SystemSettingsDTO.kt │ │ │ ├── SystemSettingsFields.kt │ │ │ ├── SystemSettingsNetworkHandlerImpl.kt │ │ │ └── SystemSettingsService.kt │ │ │ ├── trackedentityattribute │ │ │ ├── TrackedEntityAttributeDTO.kt │ │ │ ├── TrackedEntityAttributeFields.kt │ │ │ ├── TrackedEntityAttributeNetworkHandlerImpl.kt │ │ │ └── TrackedEntityAttributeService.kt │ │ │ ├── trackedentityattributereservedvalue │ │ │ ├── TrackedEntityAttributeReservedValueDTO.kt │ │ │ ├── TrackedEntityAttributeReservedValueNetworkHandlerImpl.kt │ │ │ └── TrackedEntityAttributeReservedValueService.kt │ │ │ ├── trackedentityinstance │ │ │ ├── ProgramOwnerDTO.kt │ │ │ ├── SearchGridDTO.kt │ │ │ ├── SearchGridHeaderDTO.kt │ │ │ ├── SearchGridMetadataDTO.kt │ │ │ ├── TEIImportSummariesDTO.kt │ │ │ ├── TEIImportSummaryDTO.kt │ │ │ ├── TEIWebResponseDTO.kt │ │ │ ├── TrackedEntityAttributeValueDTO.kt │ │ │ ├── TrackedEntityAttributeValueFields.kt │ │ │ ├── TrackedEntityInstanceDTO.kt │ │ │ ├── TrackedEntityInstanceFields.kt │ │ │ ├── TrackedEntityInstanceNetworkHandlerImpl.kt │ │ │ └── TrackedEntityInstanceService.kt │ │ │ ├── trackedentityinstancefilter │ │ │ ├── AttributeValueFilterDTO.kt │ │ │ ├── AttributeValueFilterFields.kt │ │ │ ├── EntityQueryCriteriaDTO.kt │ │ │ ├── EntityQueryCriteriaFields.kt │ │ │ ├── FilterPeriodDTO.kt │ │ │ ├── TrackedEntityInstanceEventFilterDTO.kt │ │ │ ├── TrackedEntityInstanceEventFilterFields.kt │ │ │ ├── TrackedEntityInstanceFilter37DTO.kt │ │ │ ├── TrackedEntityInstanceFilterDTO.kt │ │ │ ├── TrackedEntityInstanceFilterFields.kt │ │ │ ├── TrackedEntityInstanceFilterNetworkHandlerImpl.kt │ │ │ └── TrackedEntityInstanceFilterService.kt │ │ │ ├── trackedentitytype │ │ │ ├── TrackedEntityTypeAttributeDTO.kt │ │ │ ├── TrackedEntityTypeAttributeFields.kt │ │ │ ├── TrackedEntityTypeDTO.kt │ │ │ ├── TrackedEntityTypeFields.kt │ │ │ ├── TrackedEntityTypeNetworkHandlerImpl.kt │ │ │ └── TrackedEntityTypeService.kt │ │ │ ├── tracker │ │ │ ├── JobProgressDTO.kt │ │ │ ├── JobReportDTO.kt │ │ │ ├── NewEnrollmentDTO.kt │ │ │ ├── NewEnrollmentFields.kt │ │ │ ├── NewEventDTO.kt │ │ │ ├── NewEventFields.kt │ │ │ ├── NewNoteDTO.kt │ │ │ ├── NewNoteFields.kt │ │ │ ├── NewProgramOwnerDTO.kt │ │ │ ├── NewRelationshipDTO.kt │ │ │ ├── NewRelationshipFields.kt │ │ │ ├── NewRelationshipItemDTO.kt │ │ │ ├── NewRelationshipItemEnrollmentDTO.kt │ │ │ ├── NewRelationshipItemEnrollmentFields.kt │ │ │ ├── NewRelationshipItemEventDTO.kt │ │ │ ├── NewRelationshipItemEventFields.kt │ │ │ ├── NewRelationshipItemFields.kt │ │ │ ├── NewRelationshipItemTrackedEntityDTO.kt │ │ │ ├── NewRelationshipItemTrackedEntityInstanceFields.kt │ │ │ ├── NewTrackedEntityAttributeValueDTO.kt │ │ │ ├── NewTrackedEntityAttributeValueFields.kt │ │ │ ├── NewTrackedEntityDTO.kt │ │ │ ├── NewTrackedEntityDataValueDTO.kt │ │ │ ├── NewTrackedEntityDataValueFields.kt │ │ │ ├── NewTrackedEntityInstanceFields.kt │ │ │ ├── NewTrackerImporterPayloadDTO.kt │ │ │ ├── NewUserInfoDTO.kt │ │ │ ├── ObjectWithUidWebResponseDTO.kt │ │ │ ├── TrackerExporterNetworkHandlerImpl.kt │ │ │ ├── TrackerExporterParameterManager.kt │ │ │ ├── TrackerExporterService.kt │ │ │ ├── TrackerImporterNetworkHandlerImpl.kt │ │ │ ├── TrackerImporterService.kt │ │ │ └── UserInfoDTO.kt │ │ │ ├── trackervisualization │ │ │ ├── TrackerVisualizationDTO.kt │ │ │ ├── TrackerVisualizationDimensionDTO.kt │ │ │ ├── TrackerVisualizationDimensionFields.kt │ │ │ ├── TrackerVisualizationDimensionRepetitionDTO.kt │ │ │ ├── TrackerVisualizationDimensionRepetitionFields.kt │ │ │ ├── TrackerVisualizationFields.kt │ │ │ ├── TrackerVisualizationNetworkHandlerImpl.kt │ │ │ └── TrackerVisualizationService.kt │ │ │ ├── usecase │ │ │ └── stock │ │ │ │ ├── StockUseCaseDTO.kt │ │ │ │ ├── StockUseCaseNetworkHandlerImpl.kt │ │ │ │ ├── StockUseCaseService.kt │ │ │ │ └── StockUseCaseTransactionDTO.kt │ │ │ ├── user │ │ │ ├── UserCredentialsDTO.kt │ │ │ ├── UserCredentialsFields.kt │ │ │ ├── UserDTO.kt │ │ │ ├── UserFields.kt │ │ │ ├── UserGroupDTO.kt │ │ │ ├── UserGroupFields.kt │ │ │ ├── UserNetworkHandlerImpl.kt │ │ │ ├── UserRoleDTO.kt │ │ │ ├── UserRoleFields.kt │ │ │ └── UserService.kt │ │ │ ├── usersettings │ │ │ ├── UserSettingsDTO.kt │ │ │ ├── UserSettingsFields.kt │ │ │ ├── UserSettingsNetworkHandlerImpl.kt │ │ │ └── UserSettingsService.kt │ │ │ ├── validationrule │ │ │ ├── ValidationRuleDTO.kt │ │ │ ├── ValidationRuleExpressionDTO.kt │ │ │ ├── ValidationRuleExpressionFields.kt │ │ │ ├── ValidationRuleFields.kt │ │ │ ├── ValidationRuleNetworkHandlerImpl.kt │ │ │ └── ValidationRuleService.kt │ │ │ └── visualization │ │ │ ├── Visualization36DTO.kt │ │ │ ├── VisualizationDTO.kt │ │ │ ├── VisualizationDimensionDTO.kt │ │ │ ├── VisualizationDimensionFields.kt │ │ │ ├── VisualizationDimensionItemDTO.kt │ │ │ ├── VisualizationDimensionItemFields.kt │ │ │ ├── VisualizationFields.kt │ │ │ ├── VisualizationLegendDTO.kt │ │ │ ├── VisualizationNetworkHandlerImpl.kt │ │ │ └── VisualizationService.kt │ └── res │ │ ├── drawable │ │ ├── afghanistan.png │ │ ├── africare.png │ │ ├── akros.png │ │ ├── algeria.png │ │ ├── angola.png │ │ ├── armenia.png │ │ ├── bangladesh.png │ │ ├── benin.png │ │ ├── bhutan.png │ │ ├── botswana.png │ │ ├── burkina_faso.png │ │ ├── burkina_faso_coat_of_arms.png │ │ ├── burundi.png │ │ ├── cambodia.png │ │ ├── cameroon.png │ │ ├── cape_verde.png │ │ ├── chad.png │ │ ├── china.png │ │ ├── colombia.png │ │ ├── congo_brazzaville.png │ │ ├── congo_kinshasa.png │ │ ├── cordaid.png │ │ ├── demoland.png │ │ ├── denmark.png │ │ ├── dhis2.png │ │ ├── east_africa_community.png │ │ ├── ecowas.png │ │ ├── ecuador.png │ │ ├── egypt.png │ │ ├── engender_health.png │ │ ├── equatorial_guinea.png │ │ ├── eritrea.png │ │ ├── ethiopia.png │ │ ├── fhi360.png │ │ ├── forut.png │ │ ├── gambia.png │ │ ├── ghana.png │ │ ├── global_fund.png │ │ ├── grenada.png │ │ ├── guinea.png │ │ ├── guinea_bissau.png │ │ ├── haiti.png │ │ ├── honduras.png │ │ ├── ic_2g_negative.xml │ │ ├── ic_2g_outline.xml │ │ ├── ic_2g_positive.xml │ │ ├── ic_3g_negative.xml │ │ ├── ic_3g_outline.xml │ │ ├── ic_3g_positive.xml │ │ ├── ic_4x4_negative.xml │ │ ├── ic_4x4_outline.xml │ │ ├── ic_4x4_positive.xml │ │ ├── ic_agriculture_negative.xml │ │ ├── ic_agriculture_outline.xml │ │ ├── ic_agriculture_positive.xml │ │ ├── ic_agriculture_worker_negative.xml │ │ ├── ic_agriculture_worker_outline.xml │ │ ├── ic_agriculture_worker_positive.xml │ │ ├── ic_alert_circle_negative.xml │ │ ├── ic_alert_circle_outline.xml │ │ ├── ic_alert_circle_positive.xml │ │ ├── ic_alert_negative.xml │ │ ├── ic_alert_outline.xml │ │ ├── ic_alert_positive.xml │ │ ├── ic_alert_triangle_negative.xml │ │ ├── ic_alert_triangle_outline.xml │ │ ├── ic_alert_triangle_positive.xml │ │ ├── ic_ambulance_negative.xml │ │ ├── ic_ambulance_outline.xml │ │ ├── ic_ambulance_positive.xml │ │ ├── ic_ambulatory_clinic_negative.xml │ │ ├── ic_ambulatory_clinic_outline.xml │ │ ├── ic_ambulatory_clinic_positive.xml │ │ ├── ic_ancv_negative.xml │ │ ├── ic_ancv_outline.xml │ │ ├── ic_ancv_positive.xml │ │ ├── ic_baby_female_0203m_negative.xml │ │ ├── ic_baby_female_0203m_outline.xml │ │ ├── ic_baby_female_0203m_positive.xml │ │ ├── ic_baby_female_0306m_negative.xml │ │ ├── ic_baby_female_0306m_outline.xml │ │ ├── ic_baby_female_0306m_positive.xml │ │ ├── ic_baby_female_0609m_negative.xml │ │ ├── ic_baby_female_0609m_outline.xml │ │ ├── ic_baby_female_0609m_positive.xml │ │ ├── ic_baby_male_0203m_negative.xml │ │ ├── ic_baby_male_0203m_outline.xml │ │ ├── ic_baby_male_0203m_positive.xml │ │ ├── ic_baby_male_0306m_negative.xml │ │ ├── ic_baby_male_0306m_outline.xml │ │ ├── ic_baby_male_0306m_positive.xml │ │ ├── ic_baby_male_0609m_negative.xml │ │ ├── ic_baby_male_0609m_outline.xml │ │ ├── ic_baby_male_0609m_positive.xml │ │ ├── ic_basic_motorcycle_negative.xml │ │ ├── ic_basic_motorcycle_outline.xml │ │ ├── ic_basic_motorcycle_positive.xml │ │ ├── ic_bike_negative.xml │ │ ├── ic_bike_outline.xml │ │ ├── ic_bike_positive.xml │ │ ├── ic_bills_negative.xml │ │ ├── ic_bills_outline.xml │ │ ├── ic_bills_positive.xml │ │ ├── ic_blister_pills_oval_x14_negative.xml │ │ ├── ic_blister_pills_oval_x14_outline.xml │ │ ├── ic_blister_pills_oval_x14_positive.xml │ │ ├── ic_blister_pills_oval_x16_negative.xml │ │ ├── ic_blister_pills_oval_x16_outline.xml │ │ ├── ic_blister_pills_oval_x16_positive.xml │ │ ├── ic_blister_pills_oval_x1_negative.xml │ │ ├── ic_blister_pills_oval_x1_outline.xml │ │ ├── ic_blister_pills_oval_x1_positive.xml │ │ ├── ic_blister_pills_oval_x4_negative.xml │ │ ├── ic_blister_pills_oval_x4_outline.xml │ │ ├── ic_blister_pills_oval_x4_positive.xml │ │ ├── ic_blister_pills_round_x14_negative.xml │ │ ├── ic_blister_pills_round_x14_outline.xml │ │ ├── ic_blister_pills_round_x14_positive.xml │ │ ├── ic_blister_pills_round_x16_negative.xml │ │ ├── ic_blister_pills_round_x16_outline.xml │ │ ├── ic_blister_pills_round_x16_positive.xml │ │ ├── ic_blister_pills_round_x1_negative.xml │ │ ├── ic_blister_pills_round_x1_outline.xml │ │ ├── ic_blister_pills_round_x1_positive.xml │ │ ├── ic_blister_pills_round_x4_negative.xml │ │ ├── ic_blister_pills_round_x4_outline.xml │ │ ├── ic_blister_pills_round_x4_positive.xml │ │ ├── ic_blood_a_n_negative.xml │ │ ├── ic_blood_a_n_outline.xml │ │ ├── ic_blood_a_n_positive.xml │ │ ├── ic_blood_a_p_negative.xml │ │ ├── ic_blood_a_p_outline.xml │ │ ├── ic_blood_a_p_positive.xml │ │ ├── ic_blood_ab_n_negative.xml │ │ ├── ic_blood_ab_n_outline.xml │ │ ├── ic_blood_ab_n_positive.xml │ │ ├── ic_blood_ab_p_negative.xml │ │ ├── ic_blood_ab_p_outline.xml │ │ ├── ic_blood_ab_p_positive.xml │ │ ├── ic_blood_b_n_negative.xml │ │ ├── ic_blood_b_n_outline.xml │ │ ├── ic_blood_b_n_positive.xml │ │ ├── ic_blood_b_p_negative.xml │ │ ├── ic_blood_b_p_outline.xml │ │ ├── ic_blood_b_p_positive.xml │ │ ├── ic_blood_o_n_negative.xml │ │ ├── ic_blood_o_n_outline.xml │ │ ├── ic_blood_o_n_positive.xml │ │ ├── ic_blood_o_p_negative.xml │ │ ├── ic_blood_o_p_outline.xml │ │ ├── ic_blood_o_p_positive.xml │ │ ├── ic_blood_pressure_2_negative.xml │ │ ├── ic_blood_pressure_2_outline.xml │ │ ├── ic_blood_pressure_2_positive.xml │ │ ├── ic_blood_pressure_monitor_negative.xml │ │ ├── ic_blood_pressure_monitor_outline.xml │ │ ├── ic_blood_pressure_monitor_positive.xml │ │ ├── ic_blood_pressure_negative.xml │ │ ├── ic_blood_pressure_outline.xml │ │ ├── ic_blood_pressure_positive.xml │ │ ├── ic_blood_rh_n_negative.xml │ │ ├── ic_blood_rh_n_outline.xml │ │ ├── ic_blood_rh_n_positive.xml │ │ ├── ic_blood_rh_p_negative.xml │ │ ├── ic_blood_rh_p_outline.xml │ │ ├── ic_blood_rh_p_positive.xml │ │ ├── ic_boy_0105y_negative.xml │ │ ├── ic_boy_0105y_outline.xml │ │ ├── ic_boy_0105y_positive.xml │ │ ├── ic_boy_1015y_negative.xml │ │ ├── ic_boy_1015y_outline.xml │ │ ├── ic_boy_1015y_positive.xml │ │ ├── ic_breeding_sites_negative.xml │ │ ├── ic_breeding_sites_outline.xml │ │ ├── ic_breeding_sites_positive.xml │ │ ├── ic_calendar_negative.xml │ │ ├── ic_calendar_outline.xml │ │ ├── ic_calendar_positive.xml │ │ ├── ic_cardiogram_e_negative.xml │ │ ├── ic_cardiogram_e_outline.xml │ │ ├── ic_cardiogram_e_positive.xml │ │ ├── ic_cardiogram_negative.xml │ │ ├── ic_cardiogram_outline.xml │ │ ├── ic_cardiogram_positive.xml │ │ ├── ic_cervical_cancer_negative.xml │ │ ├── ic_cervical_cancer_outline.xml │ │ ├── ic_cervical_cancer_positive.xml │ │ ├── ic_child_care_negative.xml │ │ ├── ic_child_care_outline.xml │ │ ├── ic_child_care_positive.xml │ │ ├── ic_child_program_negative.xml │ │ ├── ic_child_program_outline.xml │ │ ├── ic_child_program_positive.xml │ │ ├── ic_chills_negative.xml │ │ ├── ic_chills_outline.xml │ │ ├── ic_chills_positive.xml │ │ ├── ic_cholera_negative.xml │ │ ├── ic_cholera_outline.xml │ │ ├── ic_cholera_positive.xml │ │ ├── ic_church_negative.xml │ │ ├── ic_church_outline.xml │ │ ├── ic_church_positive.xml │ │ ├── ic_circle_large_negative.xml │ │ ├── ic_circle_large_outline.xml │ │ ├── ic_circle_large_positive.xml │ │ ├── ic_circle_medium_negative.xml │ │ ├── ic_circle_medium_outline.xml │ │ ├── ic_circle_medium_positive.xml │ │ ├── ic_circle_small_negative.xml │ │ ├── ic_circle_small_outline.xml │ │ ├── ic_circle_small_positive.xml │ │ ├── ic_city_negative.xml │ │ ├── ic_city_outline.xml │ │ ├── ic_city_positive.xml │ │ ├── ic_city_worker_negative.xml │ │ ├── ic_city_worker_outline.xml │ │ ├── ic_city_worker_positive.xml │ │ ├── ic_clean_hands_negative.xml │ │ ├── ic_clean_hands_outline.xml │ │ ├── ic_clean_hands_positive.xml │ │ ├── ic_clinical_a_negative.xml │ │ ├── ic_clinical_a_outline.xml │ │ ├── ic_clinical_a_positive.xml │ │ ├── ic_clinical_f_negative.xml │ │ ├── ic_clinical_f_outline.xml │ │ ├── ic_clinical_f_positive.xml │ │ ├── ic_clinical_fe_negative.xml │ │ ├── ic_clinical_fe_outline.xml │ │ ├── ic_clinical_fe_positive.xml │ │ ├── ic_coins_negative.xml │ │ ├── ic_coins_outline.xml │ │ ├── ic_coins_positive.xml │ │ ├── ic_cold_chain_negative.xml │ │ ├── ic_cold_chain_outline.xml │ │ ├── ic_cold_chain_positive.xml │ │ ├── ic_communication_negative.xml │ │ ├── ic_communication_outline.xml │ │ ├── ic_communication_positive.xml │ │ ├── ic_cone_test_on_nets_negative.xml │ │ ├── ic_cone_test_on_nets_outline.xml │ │ ├── ic_cone_test_on_nets_positive.xml │ │ ├── ic_cone_test_on_walls_negative.xml │ │ ├── ic_cone_test_on_walls_outline.xml │ │ ├── ic_cone_test_on_walls_positive.xml │ │ ├── ic_construction_negative.xml │ │ ├── ic_construction_outline.xml │ │ ├── ic_construction_positive.xml │ │ ├── ic_construction_worker_negative.xml │ │ ├── ic_construction_worker_outline.xml │ │ ├── ic_construction_worker_positive.xml │ │ ├── ic_contact_support_negative.xml │ │ ├── ic_contact_support_outline.xml │ │ ├── ic_contact_support_positive.xml │ │ ├── ic_contraceptive_diaphragm_negative.xml │ │ ├── ic_contraceptive_diaphragm_outline.xml │ │ ├── ic_contraceptive_diaphragm_positive.xml │ │ ├── ic_contraceptive_injection_negative.xml │ │ ├── ic_contraceptive_injection_outline.xml │ │ ├── ic_contraceptive_injection_positive.xml │ │ ├── ic_contraceptive_patch_negative.xml │ │ ├── ic_contraceptive_patch_outline.xml │ │ ├── ic_contraceptive_patch_positive.xml │ │ ├── ic_contraceptive_voucher_negative.xml │ │ ├── ic_contraceptive_voucher_outline.xml │ │ ├── ic_contraceptive_voucher_positive.xml │ │ ├── ic_copper_iud_negative.xml │ │ ├── ic_copper_iud_outline.xml │ │ ├── ic_copper_iud_positive.xml │ │ ├── ic_coughing_negative.xml │ │ ├── ic_coughing_outline.xml │ │ ├── ic_coughing_positive.xml │ │ ├── ic_credit_card_negative.xml │ │ ├── ic_credit_card_outline.xml │ │ ├── ic_credit_card_positive.xml │ │ ├── ic_cross_country_motorcycle_negative.xml │ │ ├── ic_cross_country_motorcycle_outline.xml │ │ ├── ic_cross_country_motorcycle_positive.xml │ │ ├── ic_default_negative.xml │ │ ├── ic_default_outline.xml │ │ ├── ic_default_positive.xml │ │ ├── ic_dhis2_logo_negative.xml │ │ ├── ic_dhis2_logo_outline.xml │ │ ├── ic_dhis2_logo_positive.xml │ │ ├── ic_diarrhea_negative.xml │ │ ├── ic_diarrhea_outline.xml │ │ ├── ic_diarrhea_positive.xml │ │ ├── ic_discriminating_concentration_bioassays_negative.xml │ │ ├── ic_discriminating_concentration_bioassays_outline.xml │ │ ├── ic_discriminating_concentration_bioassays_positive.xml │ │ ├── ic_doctor_negative.xml │ │ ├── ic_doctor_outline.xml │ │ ├── ic_doctor_positive.xml │ │ ├── ic_domestic_worker_negative.xml │ │ ├── ic_domestic_worker_outline.xml │ │ ├── ic_domestic_worker_positive.xml │ │ ├── ic_donkey_negative.xml │ │ ├── ic_donkey_outline.xml │ │ ├── ic_donkey_positive.xml │ │ ├── ic_drone_negative.xml │ │ ├── ic_drone_outline.xml │ │ ├── ic_drone_positive.xml │ │ ├── ic_eco_care_negative.xml │ │ ├── ic_eco_care_outline.xml │ │ ├── ic_eco_care_positive.xml │ │ ├── ic_elderly_negative.xml │ │ ├── ic_elderly_outline.xml │ │ ├── ic_elderly_positive.xml │ │ ├── ic_electricity_negative.xml │ │ ├── ic_electricity_outline.xml │ │ ├── ic_electricity_positive.xml │ │ ├── ic_emergency_post_negative.xml │ │ ├── ic_emergency_post_outline.xml │ │ ├── ic_emergency_post_positive.xml │ │ ├── ic_expectorate_negative.xml │ │ ├── ic_expectorate_outline.xml │ │ ├── ic_expectorate_positive.xml │ │ ├── ic_factory_worker_negative.xml │ │ ├── ic_factory_worker_outline.xml │ │ ├── ic_factory_worker_positive.xml │ │ ├── ic_family_planning_negative.xml │ │ ├── ic_family_planning_outline.xml │ │ ├── ic_family_planning_positive.xml │ │ ├── ic_female_and_male_negative.xml │ │ ├── ic_female_and_male_outline.xml │ │ ├── ic_female_and_male_positive.xml │ │ ├── ic_female_condom_negative.xml │ │ ├── ic_female_condom_outline.xml │ │ ├── ic_female_condom_positive.xml │ │ ├── ic_female_sex_worker_negative.xml │ │ ├── ic_female_sex_worker_outline.xml │ │ ├── ic_female_sex_worker_positive.xml │ │ ├── ic_fetus_negative.xml │ │ ├── ic_fetus_outline.xml │ │ ├── ic_fetus_positive.xml │ │ ├── ic_fever_2_negative.xml │ │ ├── ic_fever_2_outline.xml │ │ ├── ic_fever_2_positive.xml │ │ ├── ic_fever_chills_negative.xml │ │ ├── ic_fever_chills_outline.xml │ │ ├── ic_fever_chills_positive.xml │ │ ├── ic_fever_negative.xml │ │ ├── ic_fever_outline.xml │ │ ├── ic_fever_positive.xml │ │ ├── ic_forest_negative.xml │ │ ├── ic_forest_outline.xml │ │ ├── ic_forest_persons_negative.xml │ │ ├── ic_forest_persons_outline.xml │ │ ├── ic_forest_persons_positive.xml │ │ ├── ic_forest_positive.xml │ │ ├── ic_forum_negative.xml │ │ ├── ic_forum_outline.xml │ │ ├── ic_forum_positive.xml │ │ ├── ic_girl_0105y_negative.xml │ │ ├── ic_girl_0105y_outline.xml │ │ ├── ic_girl_0105y_positive.xml │ │ ├── ic_girl_1015y_negative.xml │ │ ├── ic_girl_1015y_outline.xml │ │ ├── ic_girl_1015y_positive.xml │ │ ├── ic_group_discussion_meeting_negative.xml │ │ ├── ic_group_discussion_meeting_outline.xml │ │ ├── ic_group_discussion_meeting_positive.xml │ │ ├── ic_group_discussion_meetingx3_negative.xml │ │ ├── ic_group_discussion_meetingx3_outline.xml │ │ ├── ic_group_discussion_meetingx3_positive.xml │ │ ├── ic_happy_negative.xml │ │ ├── ic_happy_outline.xml │ │ ├── ic_happy_positive.xml │ │ ├── ic_hazardous_negative.xml │ │ ├── ic_hazardous_outline.xml │ │ ├── ic_hazardous_positive.xml │ │ ├── ic_headache_negative.xml │ │ ├── ic_headache_outline.xml │ │ ├── ic_headache_positive.xml │ │ ├── ic_health_worker_form_negative.xml │ │ ├── ic_health_worker_form_outline.xml │ │ ├── ic_health_worker_form_positive.xml │ │ ├── ic_health_worker_negative.xml │ │ ├── ic_health_worker_outline.xml │ │ ├── ic_health_worker_positive.xml │ │ ├── ic_heart_cardiogram_negative.xml │ │ ├── ic_heart_cardiogram_outline.xml │ │ ├── ic_heart_cardiogram_positive.xml │ │ ├── ic_heart_negative.xml │ │ ├── ic_heart_outline.xml │ │ ├── ic_heart_positive.xml │ │ ├── ic_helicopter_negative.xml │ │ ├── ic_helicopter_outline.xml │ │ ├── ic_helicopter_positive.xml │ │ ├── ic_high_bars_negative.xml │ │ ├── ic_high_bars_outline.xml │ │ ├── ic_high_bars_positive.xml │ │ ├── ic_high_level_negative.xml │ │ ├── ic_high_level_outline.xml │ │ ├── ic_high_level_positive.xml │ │ ├── ic_hiv_ind_negative.xml │ │ ├── ic_hiv_ind_outline.xml │ │ ├── ic_hiv_ind_positive.xml │ │ ├── ic_hiv_neg_negative.xml │ │ ├── ic_hiv_neg_outline.xml │ │ ├── ic_hiv_neg_positive.xml │ │ ├── ic_hiv_pos_negative.xml │ │ ├── ic_hiv_pos_outline.xml │ │ ├── ic_hiv_pos_positive.xml │ │ ├── ic_hiv_self_test_negative.xml │ │ ├── ic_hiv_self_test_outline.xml │ │ ├── ic_hiv_self_test_positive.xml │ │ ├── ic_home_negative.xml │ │ ├── ic_home_outline.xml │ │ ├── ic_home_positive.xml │ │ ├── ic_hormonal_ring_negative.xml │ │ ├── ic_hormonal_ring_outline.xml │ │ ├── ic_hormonal_ring_positive.xml │ │ ├── ic_hospital_negative.xml │ │ ├── ic_hospital_outline.xml │ │ ├── ic_hospital_positive.xml │ │ ├── ic_hospitalized_negative.xml │ │ ├── ic_hospitalized_outline.xml │ │ ├── ic_hospitalized_positive.xml │ │ ├── ic_hot_meal_negative.xml │ │ ├── ic_hot_meal_outline.xml │ │ ├── ic_hot_meal_positive.xml │ │ ├── ic_hpv_negative.xml │ │ ├── ic_hpv_outline.xml │ │ ├── ic_hpv_positive.xml │ │ ├── ic_i_certificate_paper_negative.xml │ │ ├── ic_i_certificate_paper_outline.xml │ │ ├── ic_i_certificate_paper_positive.xml │ │ ├── ic_i_documents_accepted_negative.xml │ │ ├── ic_i_documents_accepted_outline.xml │ │ ├── ic_i_documents_accepted_positive.xml │ │ ├── ic_i_documents_denied_negative.xml │ │ ├── ic_i_documents_denied_outline.xml │ │ ├── ic_i_documents_denied_positive.xml │ │ ├── ic_i_exam_multiple_choice_negative.xml │ │ ├── ic_i_exam_multiple_choice_outline.xml │ │ ├── ic_i_exam_multiple_choice_positive.xml │ │ ├── ic_i_exam_qualification_negative.xml │ │ ├── ic_i_exam_qualification_outline.xml │ │ ├── ic_i_exam_qualification_positive.xml │ │ ├── ic_i_groups_perspective_crowd_negative.xml │ │ ├── ic_i_groups_perspective_crowd_outline.xml │ │ ├── ic_i_groups_perspective_crowd_positive.xml │ │ ├── ic_i_note_action_negative.xml │ │ ├── ic_i_note_action_outline.xml │ │ ├── ic_i_note_action_positive.xml │ │ ├── ic_i_schedule_school_date_time_negative.xml │ │ ├── ic_i_schedule_school_date_time_outline.xml │ │ ├── ic_i_schedule_school_date_time_positive.xml │ │ ├── ic_i_training_class_negative.xml │ │ ├── ic_i_training_class_outline.xml │ │ ├── ic_i_training_class_positive.xml │ │ ├── ic_i_utensils_negative.xml │ │ ├── ic_i_utensils_outline.xml │ │ ├── ic_i_utensils_positive.xml │ │ ├── ic_imm_negative.xml │ │ ├── ic_imm_outline.xml │ │ ├── ic_imm_positive.xml │ │ ├── ic_implant_negative.xml │ │ ├── ic_implant_outline.xml │ │ ├── ic_implant_positive.xml │ │ ├── ic_info_negative.xml │ │ ├── ic_info_outline.xml │ │ ├── ic_info_positive.xml │ │ ├── ic_information_campaign_negative.xml │ │ ├── ic_information_campaign_outline.xml │ │ ├── ic_information_campaign_positive.xml │ │ ├── ic_inpatient_negative.xml │ │ ├── ic_inpatient_outline.xml │ │ ├── ic_inpatient_positive.xml │ │ ├── ic_insecticide_resistance_negative.xml │ │ ├── ic_insecticide_resistance_outline.xml │ │ ├── ic_insecticide_resistance_positive.xml │ │ ├── ic_intensity_concentration_bioassays_negative.xml │ │ ├── ic_intensity_concentration_bioassays_outline.xml │ │ ├── ic_intensity_concentration_bioassays_positive.xml │ │ ├── ic_iud_negative.xml │ │ ├── ic_iud_outline.xml │ │ ├── ic_iud_positive.xml │ │ ├── ic_justice_negative.xml │ │ ├── ic_justice_outline.xml │ │ ├── ic_justice_positive.xml │ │ ├── ic_lactation_negative.xml │ │ ├── ic_lactation_outline.xml │ │ ├── ic_lactation_positive.xml │ │ ├── ic_letrina_negative.xml │ │ ├── ic_letrina_outline.xml │ │ ├── ic_letrina_positive.xml │ │ ├── ic_llin_negative.xml │ │ ├── ic_llin_outline.xml │ │ ├── ic_llin_positive.xml │ │ ├── ic_low_bars_negative.xml │ │ ├── ic_low_bars_outline.xml │ │ ├── ic_low_bars_positive.xml │ │ ├── ic_low_level_negative.xml │ │ ├── ic_low_level_outline.xml │ │ ├── ic_low_level_positive.xml │ │ ├── ic_machinery_negative.xml │ │ ├── ic_machinery_outline.xml │ │ ├── ic_machinery_positive.xml │ │ ├── ic_magnifying_glass_negative.xml │ │ ├── ic_magnifying_glass_outline.xml │ │ ├── ic_magnifying_glass_positive.xml │ │ ├── ic_malaria_mixed_microscope_negative.xml │ │ ├── ic_malaria_mixed_microscope_outline.xml │ │ ├── ic_malaria_mixed_microscope_positive.xml │ │ ├── ic_malaria_negative_microscope_negative.xml │ │ ├── ic_malaria_negative_microscope_outline.xml │ │ ├── ic_malaria_negative_microscope_positive.xml │ │ ├── ic_malaria_outbreak_negative.xml │ │ ├── ic_malaria_outbreak_outline.xml │ │ ├── ic_malaria_outbreak_positive.xml │ │ ├── ic_malaria_pf_microscope_negative.xml │ │ ├── ic_malaria_pf_microscope_outline.xml │ │ ├── ic_malaria_pf_microscope_positive.xml │ │ ├── ic_malaria_pv_microscope_negative.xml │ │ ├── ic_malaria_pv_microscope_outline.xml │ │ ├── ic_malaria_pv_microscope_positive.xml │ │ ├── ic_malaria_testing_negative.xml │ │ ├── ic_malaria_testing_outline.xml │ │ ├── ic_malaria_testing_positive.xml │ │ ├── ic_male_and_female_negative.xml │ │ ├── ic_male_and_female_outline.xml │ │ ├── ic_male_and_female_positive.xml │ │ ├── ic_male_condom_negative.xml │ │ ├── ic_male_condom_outline.xml │ │ ├── ic_male_condom_positive.xml │ │ ├── ic_male_sex_worker_negative.xml │ │ ├── ic_male_sex_worker_outline.xml │ │ ├── ic_male_sex_worker_positive.xml │ │ ├── ic_man_negative.xml │ │ ├── ic_man_outline.xml │ │ ├── ic_man_positive.xml │ │ ├── ic_market_stall_negative.xml │ │ ├── ic_market_stall_outline.xml │ │ ├── ic_market_stall_positive.xml │ │ ├── ic_mask_negative.xml │ │ ├── ic_mask_outline.xml │ │ ├── ic_mask_positive.xml │ │ ├── ic_measles_negative.xml │ │ ├── ic_measles_outline.xml │ │ ├── ic_measles_positive.xml │ │ ├── ic_medicines_negative.xml │ │ ├── ic_medicines_outline.xml │ │ ├── ic_medicines_positive.xml │ │ ├── ic_medium_bars_negative.xml │ │ ├── ic_medium_bars_outline.xml │ │ ├── ic_medium_bars_positive.xml │ │ ├── ic_medium_level_negative.xml │ │ ├── ic_medium_level_outline.xml │ │ ├── ic_medium_level_positive.xml │ │ ├── ic_megaphone_negative.xml │ │ ├── ic_megaphone_outline.xml │ │ ├── ic_megaphone_positive.xml │ │ ├── ic_mental_disorders_negative.xml │ │ ├── ic_mental_disorders_outline.xml │ │ ├── ic_mental_disorders_positive.xml │ │ ├── ic_microscope_negative.xml │ │ ├── ic_microscope_outline.xml │ │ ├── ic_microscope_positive.xml │ │ ├── ic_military_worker_negative.xml │ │ ├── ic_military_worker_outline.xml │ │ ├── ic_military_worker_positive.xml │ │ ├── ic_miner_worker_negative.xml │ │ ├── ic_miner_worker_outline.xml │ │ ├── ic_miner_worker_positive.xml │ │ ├── ic_mobile_clinic_negative.xml │ │ ├── ic_mobile_clinic_outline.xml │ │ ├── ic_mobile_clinic_positive.xml │ │ ├── ic_money_bag_negative.xml │ │ ├── ic_money_bag_outline.xml │ │ ├── ic_money_bag_positive.xml │ │ ├── ic_mosquito_collection_negative.xml │ │ ├── ic_mosquito_collection_outline.xml │ │ ├── ic_mosquito_collection_positive.xml │ │ ├── ic_mosquito_negative.xml │ │ ├── ic_mosquito_outline.xml │ │ ├── ic_mosquito_positive.xml │ │ ├── ic_msm_negative.xml │ │ ├── ic_msm_outline.xml │ │ ├── ic_msm_positive.xml │ │ ├── ic_nausea_negative.xml │ │ ├── ic_nausea_outline.xml │ │ ├── ic_nausea_positive.xml │ │ ├── ic_negative_negative.xml │ │ ├── ic_negative_outline.xml │ │ ├── ic_negative_positive.xml │ │ ├── ic_network_4g_negative.xml │ │ ├── ic_network_4g_outline.xml │ │ ├── ic_network_4g_positive.xml │ │ ├── ic_network_5g_negative.xml │ │ ├── ic_network_5g_outline.xml │ │ ├── ic_network_5g_positive.xml │ │ ├── ic_neurology_negative.xml │ │ ├── ic_neurology_outline.xml │ │ ├── ic_neurology_positive.xml │ │ ├── ic_neutral_negative.xml │ │ ├── ic_neutral_outline.xml │ │ ├── ic_neutral_positive.xml │ │ ├── ic_no_negative.xml │ │ ├── ic_no_outline.xml │ │ ├── ic_no_positive.xml │ │ ├── ic_not_ok_negative.xml │ │ ├── ic_not_ok_outline.xml │ │ ├── ic_not_ok_positive.xml │ │ ├── ic_nurse_negative.xml │ │ ├── ic_nurse_outline.xml │ │ ├── ic_nurse_positive.xml │ │ ├── ic_observation_negative.xml │ │ ├── ic_observation_outline.xml │ │ ├── ic_observation_positive.xml │ │ ├── ic_odontology_implant_negative.xml │ │ ├── ic_odontology_implant_outline.xml │ │ ├── ic_odontology_implant_positive.xml │ │ ├── ic_odontology_negative.xml │ │ ├── ic_odontology_outline.xml │ │ ├── ic_odontology_positive.xml │ │ ├── ic_officer_negative.xml │ │ ├── ic_officer_outline.xml │ │ ├── ic_officer_positive.xml │ │ ├── ic_ok_negative.xml │ │ ├── ic_ok_outline.xml │ │ ├── ic_ok_positive.xml │ │ ├── ic_old_man_negative.xml │ │ ├── ic_old_man_outline.xml │ │ ├── ic_old_man_positive.xml │ │ ├── ic_old_woman_negative.xml │ │ ├── ic_old_woman_outline.xml │ │ ├── ic_old_woman_positive.xml │ │ ├── ic_oral_contraception_pillsx21_negative.xml │ │ ├── ic_oral_contraception_pillsx21_outline.xml │ │ ├── ic_oral_contraception_pillsx21_positive.xml │ │ ├── ic_oral_contraception_pillsx28_negative.xml │ │ ├── ic_oral_contraception_pillsx28_outline.xml │ │ ├── ic_oral_contraception_pillsx28_positive.xml │ │ ├── ic_outpatient_negative.xml │ │ ├── ic_outpatient_outline.xml │ │ ├── ic_outpatient_positive.xml │ │ ├── ic_overweight_negative.xml │ │ ├── ic_overweight_outline.xml │ │ ├── ic_overweight_positive.xml │ │ ├── ic_palm_branches_roof_negative.xml │ │ ├── ic_palm_branches_roof_outline.xml │ │ ├── ic_palm_branches_roof_positive.xml │ │ ├── ic_pave_road_negative.xml │ │ ├── ic_pave_road_outline.xml │ │ ├── ic_pave_road_positive.xml │ │ ├── ic_peace_negative.xml │ │ ├── ic_peace_outline.xml │ │ ├── ic_peace_positive.xml │ │ ├── ic_people_negative.xml │ │ ├── ic_people_outline.xml │ │ ├── ic_people_positive.xml │ │ ├── ic_person_negative.xml │ │ ├── ic_person_outline.xml │ │ ├── ic_person_positive.xml │ │ ├── ic_phone_negative.xml │ │ ├── ic_phone_outline.xml │ │ ├── ic_phone_positive.xml │ │ ├── ic_pill_1_negative.xml │ │ ├── ic_pill_1_outline.xml │ │ ├── ic_pill_1_positive.xml │ │ ├── ic_pills_2_negative.xml │ │ ├── ic_pills_2_outline.xml │ │ ├── ic_pills_2_positive.xml │ │ ├── ic_pills_3_negative.xml │ │ ├── ic_pills_3_outline.xml │ │ ├── ic_pills_3_positive.xml │ │ ├── ic_pills_4_negative.xml │ │ ├── ic_pills_4_outline.xml │ │ ├── ic_pills_4_positive.xml │ │ ├── ic_plantation_worker_negative.xml │ │ ├── ic_plantation_worker_outline.xml │ │ ├── ic_plantation_worker_positive.xml │ │ ├── ic_polygon_negative.xml │ │ ├── ic_polygon_outline.xml │ │ ├── ic_polygon_positive.xml │ │ ├── ic_positive_negative.xml │ │ ├── ic_positive_outline.xml │ │ ├── ic_positive_positive.xml │ │ ├── ic_pregnant_0812w_negative.xml │ │ ├── ic_pregnant_0812w_outline.xml │ │ ├── ic_pregnant_0812w_positive.xml │ │ ├── ic_pregnant_2426w_negative.xml │ │ ├── ic_pregnant_2426w_outline.xml │ │ ├── ic_pregnant_2426w_positive.xml │ │ ├── ic_pregnant_32w_negative.xml │ │ ├── ic_pregnant_32w_outline.xml │ │ ├── ic_pregnant_32w_positive.xml │ │ ├── ic_pregnant_3638w_negative.xml │ │ ├── ic_pregnant_3638w_outline.xml │ │ ├── ic_pregnant_3638w_positive.xml │ │ ├── ic_pregnant_negative.xml │ │ ├── ic_pregnant_outline.xml │ │ ├── ic_pregnant_positive.xml │ │ ├── ic_prisoner_negative.xml │ │ ├── ic_prisoner_outline.xml │ │ ├── ic_prisoner_positive.xml │ │ ├── ic_proper_roof_negative.xml │ │ ├── ic_proper_roof_outline.xml │ │ ├── ic_proper_roof_positive.xml │ │ ├── ic_provider_fst_negative.xml │ │ ├── ic_provider_fst_outline.xml │ │ ├── ic_provider_fst_positive.xml │ │ ├── ic_pwid_negative.xml │ │ ├── ic_pwid_outline.xml │ │ ├── ic_pwid_positive.xml │ │ ├── ic_question_circle_negative.xml │ │ ├── ic_question_circle_outline.xml │ │ ├── ic_question_circle_positive.xml │ │ ├── ic_question_negative.xml │ │ ├── ic_question_outline.xml │ │ ├── ic_question_positive.xml │ │ ├── ic_question_triangle_negative.xml │ │ ├── ic_question_triangle_outline.xml │ │ ├── ic_question_triangle_positive.xml │ │ ├── ic_rdt_result_invalid_negative.xml │ │ ├── ic_rdt_result_invalid_outline.xml │ │ ├── ic_rdt_result_invalid_positive.xml │ │ ├── ic_rdt_result_mixed_invalid_negative.xml │ │ ├── ic_rdt_result_mixed_invalid_outline.xml │ │ ├── ic_rdt_result_mixed_invalid_positive.xml │ │ ├── ic_rdt_result_mixed_invalid_rectangular_negative.xml │ │ ├── ic_rdt_result_mixed_invalid_rectangular_outline.xml │ │ ├── ic_rdt_result_mixed_invalid_rectangular_positive.xml │ │ ├── ic_rdt_result_mixed_negative.xml │ │ ├── ic_rdt_result_mixed_outline.xml │ │ ├── ic_rdt_result_mixed_positive.xml │ │ ├── ic_rdt_result_mixed_rectangular_negative.xml │ │ ├── ic_rdt_result_mixed_rectangular_outline.xml │ │ ├── ic_rdt_result_mixed_rectangular_positive.xml │ │ ├── ic_rdt_result_neg_invalid_negative.xml │ │ ├── ic_rdt_result_neg_invalid_outline.xml │ │ ├── ic_rdt_result_neg_invalid_positive.xml │ │ ├── ic_rdt_result_neg_invalid_rectangular_negative.xml │ │ ├── ic_rdt_result_neg_invalid_rectangular_outline.xml │ │ ├── ic_rdt_result_neg_invalid_rectangular_positive.xml │ │ ├── ic_rdt_result_neg_negative.xml │ │ ├── ic_rdt_result_neg_outline.xml │ │ ├── ic_rdt_result_neg_positive.xml │ │ ├── ic_rdt_result_neg_rectangular_negative.xml │ │ ├── ic_rdt_result_neg_rectangular_outline.xml │ │ ├── ic_rdt_result_neg_rectangular_positive.xml │ │ ├── ic_rdt_result_negative_negative.xml │ │ ├── ic_rdt_result_negative_outline.xml │ │ ├── ic_rdt_result_negative_positive.xml │ │ ├── ic_rdt_result_no_test_negative.xml │ │ ├── ic_rdt_result_no_test_outline.xml │ │ ├── ic_rdt_result_no_test_positive.xml │ │ ├── ic_rdt_result_out_stock_negative.xml │ │ ├── ic_rdt_result_out_stock_outline.xml │ │ ├── ic_rdt_result_out_stock_positive.xml │ │ ├── ic_rdt_result_pf_invalid_negative.xml │ │ ├── ic_rdt_result_pf_invalid_outline.xml │ │ ├── ic_rdt_result_pf_invalid_positive.xml │ │ ├── ic_rdt_result_pf_invalid_rectangular_negative.xml │ │ ├── ic_rdt_result_pf_invalid_rectangular_outline.xml │ │ ├── ic_rdt_result_pf_invalid_rectangular_positive.xml │ │ ├── ic_rdt_result_pf_negative.xml │ │ ├── ic_rdt_result_pf_outline.xml │ │ ├── ic_rdt_result_pf_positive.xml │ │ ├── ic_rdt_result_pf_rectangular_negative.xml │ │ ├── ic_rdt_result_pf_rectangular_outline.xml │ │ ├── ic_rdt_result_pf_rectangular_positive.xml │ │ ├── ic_rdt_result_positive_negative.xml │ │ ├── ic_rdt_result_positive_outline.xml │ │ ├── ic_rdt_result_positive_positive.xml │ │ ├── ic_rdt_result_pv_invalid_negative.xml │ │ ├── ic_rdt_result_pv_invalid_outline.xml │ │ ├── ic_rdt_result_pv_invalid_positive.xml │ │ ├── ic_rdt_result_pv_invalid_rectangular_negative.xml │ │ ├── ic_rdt_result_pv_invalid_rectangular_outline.xml │ │ ├── ic_rdt_result_pv_invalid_rectangular_positive.xml │ │ ├── ic_rdt_result_pv_negative.xml │ │ ├── ic_rdt_result_pv_outline.xml │ │ ├── ic_rdt_result_pv_positive.xml │ │ ├── ic_rdt_result_pv_rectangular_negative.xml │ │ ├── ic_rdt_result_pv_rectangular_outline.xml │ │ ├── ic_rdt_result_pv_rectangular_positive.xml │ │ ├── ic_referral_negative.xml │ │ ├── ic_referral_outline.xml │ │ ├── ic_referral_positive.xml │ │ ├── ic_refused_negative.xml │ │ ├── ic_refused_outline.xml │ │ ├── ic_refused_positive.xml │ │ ├── ic_ribbon_negative.xml │ │ ├── ic_ribbon_outline.xml │ │ ├── ic_ribbon_positive.xml │ │ ├── ic_rmnh_negative.xml │ │ ├── ic_rmnh_outline.xml │ │ ├── ic_rmnh_positive.xml │ │ ├── ic_running_water_negative.xml │ │ ├── ic_running_water_outline.xml │ │ ├── ic_running_water_positive.xml │ │ ├── ic_rural_post_negative.xml │ │ ├── ic_rural_post_outline.xml │ │ ├── ic_rural_post_positive.xml │ │ ├── ic_sad_negative.xml │ │ ├── ic_sad_outline.xml │ │ ├── ic_sad_positive.xml │ │ ├── ic_sanitizer_negative.xml │ │ ├── ic_sanitizer_outline.xml │ │ ├── ic_sanitizer_positive.xml │ │ ├── ic_sayana_press_negative.xml │ │ ├── ic_sayana_press_outline.xml │ │ ├── ic_sayana_press_positive.xml │ │ ├── ic_security_worker_negative.xml │ │ ├── ic_security_worker_outline.xml │ │ ├── ic_security_worker_positive.xml │ │ ├── ic_sexual_reproductive_health_negative.xml │ │ ├── ic_sexual_reproductive_health_outline.xml │ │ ├── ic_sexual_reproductive_health_positive.xml │ │ ├── ic_small_plane_negative.xml │ │ ├── ic_small_plane_outline.xml │ │ ├── ic_small_plane_positive.xml │ │ ├── ic_social_distancing_negative.xml │ │ ├── ic_social_distancing_outline.xml │ │ ├── ic_social_distancing_positive.xml │ │ ├── ic_spraying_negative.xml │ │ ├── ic_spraying_outline.xml │ │ ├── ic_spraying_positive.xml │ │ ├── ic_square_large_negative.xml │ │ ├── ic_square_large_outline.xml │ │ ├── ic_square_large_positive.xml │ │ ├── ic_square_medium_negative.xml │ │ ├── ic_square_medium_outline.xml │ │ ├── ic_square_medium_positive.xml │ │ ├── ic_square_small_negative.xml │ │ ├── ic_square_small_outline.xml │ │ ├── ic_square_small_positive.xml │ │ ├── ic_star_large_negative.xml │ │ ├── ic_star_large_outline.xml │ │ ├── ic_star_large_positive.xml │ │ ├── ic_star_medium_negative.xml │ │ ├── ic_star_medium_outline.xml │ │ ├── ic_star_medium_positive.xml │ │ ├── ic_star_small_negative.xml │ │ ├── ic_star_small_outline.xml │ │ ├── ic_star_small_positive.xml │ │ ├── ic_stethoscope_negative.xml │ │ ├── ic_stethoscope_outline.xml │ │ ├── ic_stethoscope_positive.xml │ │ ├── ic_sti_negative.xml │ │ ├── ic_sti_outline.xml │ │ ├── ic_sti_positive.xml │ │ ├── ic_stock_out_negative.xml │ │ ├── ic_stock_out_outline.xml │ │ ├── ic_stock_out_positive.xml │ │ ├── ic_stop_negative.xml │ │ ├── ic_stop_outline.xml │ │ ├── ic_stop_positive.xml │ │ ├── ic_surgical_sterilization_negative.xml │ │ ├── ic_surgical_sterilization_outline.xml │ │ ├── ic_surgical_sterilization_positive.xml │ │ ├── ic_sweating_negative.xml │ │ ├── ic_sweating_outline.xml │ │ ├── ic_sweating_positive.xml │ │ ├── ic_symptom_negative.xml │ │ ├── ic_symptom_outline.xml │ │ ├── ic_symptom_positive.xml │ │ ├── ic_synergist_insecticide_bioassays_negative.xml │ │ ├── ic_synergist_insecticide_bioassays_outline.xml │ │ ├── ic_synergist_insecticide_bioassays_positive.xml │ │ ├── ic_syringe_negative.xml │ │ ├── ic_syringe_outline.xml │ │ ├── ic_syringe_positive.xml │ │ ├── ic_tac_negative.xml │ │ ├── ic_tac_outline.xml │ │ ├── ic_tac_positive.xml │ │ ├── ic_tb_negative.xml │ │ ├── ic_tb_outline.xml │ │ ├── ic_tb_positive.xml │ │ ├── ic_transgender_negative.xml │ │ ├── ic_transgender_outline.xml │ │ ├── ic_transgender_positive.xml │ │ ├── ic_traumatism_negative.xml │ │ ├── ic_traumatism_outline.xml │ │ ├── ic_traumatism_positive.xml │ │ ├── ic_travel_negative.xml │ │ ├── ic_travel_outline.xml │ │ ├── ic_travel_positive.xml │ │ ├── ic_treated_water_negative.xml │ │ ├── ic_treated_water_outline.xml │ │ ├── ic_treated_water_positive.xml │ │ ├── ic_triangle_large_negative.xml │ │ ├── ic_triangle_large_outline.xml │ │ ├── ic_triangle_large_positive.xml │ │ ├── ic_triangle_medium_negative.xml │ │ ├── ic_triangle_medium_outline.xml │ │ ├── ic_triangle_medium_positive.xml │ │ ├── ic_triangle_small_negative.xml │ │ ├── ic_triangle_small_outline.xml │ │ ├── ic_triangle_small_positive.xml │ │ ├── ic_truck_driver_negative.xml │ │ ├── ic_truck_driver_outline.xml │ │ ├── ic_truck_driver_positive.xml │ │ ├── ic_un_pave_road_negative.xml │ │ ├── ic_un_pave_road_outline.xml │ │ ├── ic_un_pave_road_positive.xml │ │ ├── ic_underweight_negative.xml │ │ ├── ic_underweight_outline.xml │ │ ├── ic_underweight_positive.xml │ │ ├── ic_vespa_motorcycle_negative.xml │ │ ├── ic_vespa_motorcycle_outline.xml │ │ ├── ic_vespa_motorcycle_positive.xml │ │ ├── ic_vih_aids_negative.xml │ │ ├── ic_vih_aids_outline.xml │ │ ├── ic_vih_aids_positive.xml │ │ ├── ic_virus_negative.xml │ │ ├── ic_virus_outline.xml │ │ ├── ic_virus_positive.xml │ │ ├── ic_vomiting_negative.xml │ │ ├── ic_vomiting_outline.xml │ │ ├── ic_vomiting_positive.xml │ │ ├── ic_war_negative.xml │ │ ├── ic_war_outline.xml │ │ ├── ic_war_positive.xml │ │ ├── ic_wash_hands_negative.xml │ │ ├── ic_wash_hands_outline.xml │ │ ├── ic_wash_hands_positive.xml │ │ ├── ic_water_sanitation_negative.xml │ │ ├── ic_water_sanitation_outline.xml │ │ ├── ic_water_sanitation_positive.xml │ │ ├── ic_water_treatment_negative.xml │ │ ├── ic_water_treatment_outline.xml │ │ ├── ic_water_treatment_positive.xml │ │ ├── ic_weight_negative.xml │ │ ├── ic_weight_outline.xml │ │ ├── ic_weight_positive.xml │ │ ├── ic_wold_care_negative.xml │ │ ├── ic_wold_care_outline.xml │ │ ├── ic_wold_care_positive.xml │ │ ├── ic_woman_negative.xml │ │ ├── ic_woman_outline.xml │ │ ├── ic_woman_positive.xml │ │ ├── ic_yes_negative.xml │ │ ├── ic_yes_outline.xml │ │ ├── ic_yes_positive.xml │ │ ├── ic_young_people_negative.xml │ │ ├── ic_young_people_outline.xml │ │ ├── ic_young_people_positive.xml │ │ ├── icap.png │ │ ├── ima.png │ │ ├── india.png │ │ ├── indonesia.png │ │ ├── international_hiv_aids_alliance.png │ │ ├── ippf.png │ │ ├── iran.png │ │ ├── iraq.png │ │ ├── irc.png │ │ ├── ivory_coast.png │ │ ├── jhpiego.png │ │ ├── kenya.png │ │ ├── kiribati.png │ │ ├── kurdistan.png │ │ ├── laos.png │ │ ├── lesotho.png │ │ ├── liberia.png │ │ ├── malawi.png │ │ ├── maldives.png │ │ ├── mali.png │ │ ├── mauritania.png │ │ ├── mhrp.png │ │ ├── mongolia.png │ │ ├── mozambique.png │ │ ├── msf.png │ │ ├── msh.png │ │ ├── msh_white.png │ │ ├── msi.png │ │ ├── myanmar.png │ │ ├── namibia.png │ │ ├── nepal.png │ │ ├── nicaragua.png │ │ ├── niger.png │ │ ├── nigeria.png │ │ ├── norway.png │ │ ├── pakistan.png │ │ ├── palestine.png │ │ ├── palladium.png │ │ ├── paraguay.png │ │ ├── pathfinder.png │ │ ├── pepfar.png │ │ ├── peru.png │ │ ├── philippines.png │ │ ├── planned_parenthood.png │ │ ├── psi.png │ │ ├── puntland.png │ │ ├── republic_of_trinidad_and_tobago.png │ │ ├── rwanda.png │ │ ├── save_the_children.png │ │ ├── senegal.png │ │ ├── sierra_leone.png │ │ ├── sierra_leone_coat_of_arms.png │ │ ├── solomon_islands.png │ │ ├── somalia.png │ │ ├── somaliland.png │ │ ├── south_africa.png │ │ ├── south_africa_department_of_health.png │ │ ├── south_sudan.png │ │ ├── sri_lanka.png │ │ ├── sudan.png │ │ ├── swaziland.png │ │ ├── sweden.png │ │ ├── tajikistan.png │ │ ├── tanzania.png │ │ ├── timor_leste.png │ │ ├── togo.png │ │ ├── tonga.png │ │ ├── uganda.png │ │ ├── usaid.png │ │ ├── vanuatu.png │ │ ├── vietnam.png │ │ ├── who.png │ │ ├── zambia.png │ │ ├── zanzibar.png │ │ └── zimbabwe.png │ │ ├── raw │ │ ├── isrgrootx1.pem │ │ └── isrgrootx2.pem │ │ ├── values-cs │ │ └── strings.xml │ │ ├── values-es │ │ └── strings.xml │ │ ├── values-pt │ │ └── strings.xml │ │ ├── values-uk │ │ └── strings.xml │ │ ├── values-uz │ │ └── strings.xml │ │ ├── values-vi │ │ └── strings.xml │ │ ├── values-zh-rCN │ │ └── strings.xml │ │ ├── values-zh │ │ └── strings.xml │ │ ├── values │ │ └── strings.xml │ │ └── xml │ │ └── network_security_configuration.xml │ ├── sharedTest │ ├── java │ │ └── org │ │ │ └── hisp │ │ │ └── dhis │ │ │ └── android │ │ │ └── core │ │ │ ├── data │ │ │ ├── attribute │ │ │ │ ├── AttributeSamples.java │ │ │ │ ├── DataElementAttributeValueLinkSamples.java │ │ │ │ ├── ProgramAttributeValueLinkSamples.java │ │ │ │ └── ProgramStageAttributeValueLinkSamples.java │ │ │ ├── category │ │ │ │ ├── CategoryCategoryComboLinkSamples.java │ │ │ │ ├── CategoryCategoryOptionLinkSamples.java │ │ │ │ ├── CategoryComboSamples.java │ │ │ │ ├── CategoryOptionComboCategoryOptionLinkSamples.java │ │ │ │ ├── CategoryOptionComboSamples.java │ │ │ │ ├── CategoryOptionOrganisationUnitLinkSamples.kt │ │ │ │ ├── CategoryOptionSamples.java │ │ │ │ └── CategorySamples.kt │ │ │ ├── common │ │ │ │ └── ValueTypeDeviceRenderingSamples.java │ │ │ ├── configuration │ │ │ │ └── ConfigurationSamples.java │ │ │ ├── constant │ │ │ │ └── ConstantSamples.java │ │ │ ├── dataapproval │ │ │ │ └── DataApprovalSamples.kt │ │ │ ├── dataelement │ │ │ │ ├── DataElementOperandSamples.java │ │ │ │ └── DataElementSamples.java │ │ │ ├── dataset │ │ │ │ ├── DataInputPeriodSamples.java │ │ │ │ ├── DataSetCompleteRegistrationSamples.java │ │ │ │ ├── DataSetCompulsoryDataElementOperandLinkSamples.java │ │ │ │ ├── DataSetElementSamples.java │ │ │ │ ├── DataSetOrganisationUnitLinkSamples.java │ │ │ │ ├── DataSetSamples.java │ │ │ │ ├── SectionDataElementLinkSamples.java │ │ │ │ ├── SectionDisplayOptionsSamples.kt │ │ │ │ ├── SectionGreyedFieldsLinkSamples.java │ │ │ │ ├── SectionIndicatorLinkSamples.kt │ │ │ │ └── SectionSamples.java │ │ │ ├── datastore │ │ │ │ ├── DataStoreEntrySamples.kt │ │ │ │ └── KeyValuePairSamples.kt │ │ │ ├── datavalue │ │ │ │ ├── DataValueConflictSamples.kt │ │ │ │ ├── DataValueSamples.kt │ │ │ │ └── DataValueUtils.kt │ │ │ ├── enrollment │ │ │ │ └── EnrollmentSamples.java │ │ │ ├── event │ │ │ │ ├── EventDataFilterSamples.kt │ │ │ │ └── EventFilterSamples.kt │ │ │ ├── expressiondimensionitem │ │ │ │ └── ExpressionDimensionItemSamples.kt │ │ │ ├── fileresource │ │ │ │ ├── FileResourceSamples.kt │ │ │ │ └── RandomGeneratedInputStream.java │ │ │ ├── icon │ │ │ │ └── CustomIconSamples.kt │ │ │ ├── imports │ │ │ │ └── TrackerImportConflictSamples.java │ │ │ ├── indicator │ │ │ │ ├── DataSetIndicatorLinkSamples.java │ │ │ │ ├── IndicatorSamples.kt │ │ │ │ └── IndicatorTypeSamples.kt │ │ │ ├── legendset │ │ │ │ ├── DataElementLegendSetLinkSamples.java │ │ │ │ ├── IndicatorLegendSetLinkSamples.kt │ │ │ │ ├── LegendSamples.java │ │ │ │ ├── LegendSetSamples.java │ │ │ │ └── ProgramIndicatorLegendSetLinkSamples.java │ │ │ ├── maintenance │ │ │ │ ├── D2ErrorSamples.java │ │ │ │ └── ForeignKeyViolationSamples.java │ │ │ ├── maps │ │ │ │ ├── MapLayerImageryProviderSamples.kt │ │ │ │ └── MapLayerSamples.kt │ │ │ ├── note │ │ │ │ └── NoteSamples.java │ │ │ ├── option │ │ │ │ ├── OptionGroupOptionLinkSamples.java │ │ │ │ ├── OptionGroupSamples.java │ │ │ │ ├── OptionSamples.kt │ │ │ │ └── OptionSetSamples.kt │ │ │ ├── organisationunit │ │ │ │ ├── OrganisationUnitGroupSamples.java │ │ │ │ ├── OrganisationUnitLevelSamples.java │ │ │ │ ├── OrganisationUnitOrganisationUnitGroupLinkSamples.java │ │ │ │ ├── OrganisationUnitProgramLinkSamples.java │ │ │ │ └── OrganisationUnitSamples.java │ │ │ ├── period │ │ │ │ └── PeriodSamples.java │ │ │ ├── program │ │ │ │ ├── AnalyticsPeriodBoundarySamples.java │ │ │ │ ├── ProgramIndicatorSamples.java │ │ │ │ ├── ProgramRuleActionSamples.kt │ │ │ │ ├── ProgramRuleSamples.java │ │ │ │ ├── ProgramRuleVariableSamples.java │ │ │ │ ├── ProgramSamples.java │ │ │ │ ├── ProgramSectionAttributeLinkSamples.java │ │ │ │ ├── ProgramSectionSamples.kt │ │ │ │ ├── ProgramStageDataElementSamples.java │ │ │ │ ├── ProgramStageSamples.java │ │ │ │ ├── ProgramStageSectionDataElementLinkSamples.java │ │ │ │ ├── ProgramStageSectionProgramIndicatorLinkSamples.kt │ │ │ │ ├── ProgramStageSectionSamples.kt │ │ │ │ └── ProgramTrackedEntityAttributeSamples.java │ │ │ ├── programstageworkinglist │ │ │ │ ├── ProgramStageWorkingListAttributeValueFilterSamples.kt │ │ │ │ ├── ProgramStageWorkingListEventDataFilterSamples.kt │ │ │ │ └── ProgramStageWorkingListSamples.kt │ │ │ ├── relationship │ │ │ │ ├── RelationshipConstraintSamples.kt │ │ │ │ ├── RelationshipItemSamples.java │ │ │ │ ├── RelationshipSamples.java │ │ │ │ └── RelationshipTypeSamples.kt │ │ │ ├── resource │ │ │ │ └── ResourceSamples.java │ │ │ ├── settings │ │ │ │ ├── AnalyticsSettingsSamples.kt │ │ │ │ ├── DataSetConfigurationSettingSamples.kt │ │ │ │ ├── DataSetConfigurationSettingStoreIntegrationShould.kt │ │ │ │ ├── DataSetSettingSamples.java │ │ │ │ ├── FilterSettingSamples.java │ │ │ │ ├── GeneralSettingsSamples.kt │ │ │ │ ├── LatestAppVersionSamples.kt │ │ │ │ ├── ProgramConfigurationSettingSamples.kt │ │ │ │ ├── ProgramSettingSamples.java │ │ │ │ ├── SynchronizationSettingsSamples.java │ │ │ │ ├── SystemSettingSamples.java │ │ │ │ └── UserSettingsSamples.java │ │ │ ├── sms │ │ │ │ ├── SMSMetadataIdSample.kt │ │ │ │ └── SMSOngoingSubmissionSample.kt │ │ │ ├── systeminfo │ │ │ │ └── SystemInfoSamples.java │ │ │ ├── trackedentity │ │ │ │ ├── AttributeValueFilterSamples.kt │ │ │ │ ├── EventSamples.java │ │ │ │ ├── ReservedValueSettingSamples.java │ │ │ │ ├── TrackedEntityAttributeLegendSetLinkSamples.kt │ │ │ │ ├── TrackedEntityAttributeSamples.java │ │ │ │ ├── TrackedEntityAttributeValueSamples.java │ │ │ │ ├── TrackedEntityDataValueSamples.java │ │ │ │ ├── TrackedEntityInstanceEventFilterSamples.java │ │ │ │ ├── TrackedEntityInstanceFilterSamples.java │ │ │ │ ├── TrackedEntityInstanceSamples.java │ │ │ │ ├── TrackedEntityTypeAttributeSamples.java │ │ │ │ ├── TrackedEntityTypeSamples.java │ │ │ │ ├── internal │ │ │ │ │ └── TrackerQueryCommonParamsSamples.kt │ │ │ │ └── ownership │ │ │ │ │ ├── ProgramOwnerSamples.kt │ │ │ │ │ └── ProgramTempOwnerSamples.kt │ │ │ ├── tracker │ │ │ │ └── importer │ │ │ │ │ └── internal │ │ │ │ │ └── TrackerJobObjectSamples.kt │ │ │ ├── usecase │ │ │ │ └── stock │ │ │ │ │ ├── InternalStockUseCaseSamples.kt │ │ │ │ │ └── InternalStockUseCaseTransactionSamples.kt │ │ │ ├── user │ │ │ │ ├── AuthenticatedUserSamples.java │ │ │ │ ├── AuthoritySamples.kt │ │ │ │ ├── UserGroupSamples.java │ │ │ │ ├── UserOrganisationUnitLinkSamples.java │ │ │ │ ├── UserRoleSamples.java │ │ │ │ └── UserSamples.java │ │ │ ├── utils │ │ │ │ └── FillPropertiesTestUtils.kt │ │ │ ├── validation │ │ │ │ ├── DataSetValidationRuleLinkSamples.kt │ │ │ │ └── ValidationRuleSamples.java │ │ │ └── visualization │ │ │ │ ├── TrackerVisualizationDimensionSamples.kt │ │ │ │ ├── TrackerVisualizationSamples.kt │ │ │ │ ├── VisualizationCategoryDimensionLinkSamples.kt │ │ │ │ ├── VisualizationDimensionItemSamples.kt │ │ │ │ └── VisualizationSamples.kt │ │ │ ├── domain │ │ │ └── aggregated │ │ │ │ └── data │ │ │ │ └── internal │ │ │ │ └── AggregatedDataSyncSamples.kt │ │ │ ├── event │ │ │ └── internal │ │ │ │ └── EventSyncSamples.java │ │ │ └── trackedentity │ │ │ └── internal │ │ │ └── TrackedEntityInstanceSyncSamples.java │ └── resources │ │ ├── attribute │ │ ├── attribute.json │ │ ├── attributeValue.json │ │ └── attributes.json │ │ ├── authority │ │ └── authorities.json │ │ ├── category │ │ ├── categories.json │ │ ├── category.json │ │ ├── category_combo.json │ │ ├── category_combos.json │ │ ├── category_option.json │ │ ├── category_option_combo.json │ │ ├── category_option_orgunits.json │ │ └── category_options.json │ │ ├── common │ │ ├── access.json │ │ ├── api_schema.json │ │ ├── api_schemas.json │ │ ├── data_access.json │ │ ├── empty_object.json │ │ ├── object_style.json │ │ ├── value_type_device_rendering.json │ │ └── value_type_rendering.json │ │ ├── configuration │ │ ├── databases_configuration.json │ │ └── databases_configuration_old.json │ │ ├── constant │ │ ├── constant.json │ │ └── constants.json │ │ ├── dataapproval │ │ ├── data_approval.json │ │ └── data_approvals_multiple.json │ │ ├── dataelement │ │ ├── data_element.json │ │ ├── data_element_operand.json │ │ └── data_elements.json │ │ ├── dataset │ │ ├── data_input_period.json │ │ ├── data_set.json │ │ ├── data_set_complete_registration.json │ │ ├── data_set_complete_registration_with_completed.json │ │ ├── data_set_complete_registrations.json │ │ ├── data_sets.json │ │ └── section.json │ │ ├── datastore │ │ ├── actions │ │ │ ├── namespace_key_deleted_200.json │ │ │ ├── namespace_key_deleted_not_found_404.json │ │ │ ├── namespace_key_post_201.json │ │ │ ├── namespace_key_post_already_exists_409.json │ │ │ ├── namespace_key_put_200.json │ │ │ └── namespace_key_put_not_found_404.json │ │ ├── namespace_capture.json │ │ ├── namespace_scorecard.json │ │ └── namespaces.json │ │ ├── datavalue │ │ ├── data_value.json │ │ ├── data_values.json │ │ ├── data_values_monthly.json │ │ ├── data_values_only_common_fields.json │ │ ├── data_values_single_period.json │ │ └── data_values_weekly.json │ │ ├── datavalueset │ │ ├── data_value_set_success.json │ │ └── data_value_set_warning.json │ │ ├── enrollment │ │ ├── enrollment.json │ │ └── new_tracker_importer_enrollment.json │ │ ├── event │ │ ├── event.json │ │ ├── event_1_with_all_data_values.json │ │ ├── event_filter.json │ │ ├── event_filters.json │ │ ├── events.json │ │ ├── events_1.json │ │ ├── events_1_with_removed_data_values.json │ │ ├── events_with_uids.json │ │ ├── new_tracker_importer_event.json │ │ ├── new_tracker_importer_events.json │ │ ├── new_tracker_importer_events_1.json │ │ ├── new_tracker_importer_events_greater_equal_v41.json │ │ ├── new_tracker_importer_events_lower_v41.json │ │ ├── new_tracker_importer_events_with_uids.json │ │ ├── new_tracker_importer_two_events_first_good_second_wrong_foreign_key.json │ │ └── two_events_first_good_second_wrong_foreign_key.json │ │ ├── expressiondimensionitem │ │ ├── expression_dimension_item.json │ │ └── expression_dimension_items.json │ │ ├── fileresource │ │ └── file_resource.json │ │ ├── icon │ │ ├── custom_icon.json │ │ └── custom_icons.json │ │ ├── imports │ │ ├── data_value_import_summary_web_response.json │ │ ├── import_conflict.json │ │ ├── import_count.json │ │ ├── import_enrollment.json │ │ ├── import_event.json │ │ ├── import_summaries.json │ │ ├── import_summary_with_event_conflicts.json │ │ ├── import_summary_with_tei_conflicts.json │ │ ├── relationship_delete_web_response.json │ │ ├── relationship_web_response.json │ │ ├── relationship_web_response_with_errors.json │ │ ├── tracker-importer │ │ │ ├── event-conflict-new.json │ │ │ ├── event-conflict-old.json │ │ │ ├── event-ok-new.json │ │ │ ├── event-ok-old.json │ │ │ ├── job_response.json │ │ │ ├── job_response_completed.json │ │ │ ├── tei-new.json │ │ │ ├── tei-old.json │ │ │ └── tei-with-enrollment-error-new.json │ │ ├── web_response.json │ │ ├── web_response_with_empty_events.json │ │ ├── web_response_with_event_import_conflicts.json │ │ ├── web_response_with_event_import_conflicts2.json │ │ ├── web_response_with_event_import_conflicts2_new.json │ │ ├── web_response_with_event_import_conflicts_new.json │ │ ├── web_response_with_import_conflicts.json │ │ ├── web_response_with_import_conflicts_2.json │ │ └── web_response_with_import_conflicts_3.json │ │ ├── indicators │ │ ├── indicator.json │ │ ├── indicator_type.json │ │ ├── indicator_types.json │ │ └── indicators.json │ │ ├── legendset │ │ ├── legend.json │ │ ├── legend_set.json │ │ └── legend_sets.json │ │ ├── map │ │ └── layer │ │ │ ├── bing │ │ │ └── bing_server_response.json │ │ │ └── externalmap │ │ │ └── external_map_layers.json │ │ ├── note │ │ ├── new_tracker_importer_note.json │ │ └── note_30.json │ │ ├── option │ │ ├── option.json │ │ ├── option_group.json │ │ ├── option_groups.json │ │ ├── option_set.json │ │ ├── option_sets.json │ │ └── options.json │ │ ├── organisationunit │ │ ├── admin_organisation_units.json │ │ ├── organisation_unit.json │ │ ├── organisation_unit_group.json │ │ ├── organisation_unit_level.json │ │ ├── organisation_unit_levels.json │ │ ├── organisation_unit_with_feature_type_and_coordinates.json │ │ └── organisation_units.json │ │ ├── program │ │ ├── program.json │ │ ├── program_indicator.json │ │ ├── program_indicators.json │ │ ├── program_payload.json │ │ ├── program_rule.json │ │ ├── program_rule_action.json │ │ ├── program_rule_variable.json │ │ ├── program_rules.json │ │ ├── program_section.json │ │ ├── program_section_32_and_previous.json │ │ ├── program_stage.json │ │ ├── program_stage_data_element.json │ │ ├── program_stage_section.json │ │ ├── program_stages.json │ │ ├── program_tracked_entity_attribute.json │ │ └── programs.json │ │ ├── programstageworkinglist │ │ ├── program_stage_working_list.json │ │ └── program_stage_working_lists.json │ │ ├── relationship │ │ ├── new_relationship.json │ │ ├── relationship_30.json │ │ ├── relationship_type_30.json │ │ ├── relationship_type_32.json │ │ └── relationship_types.json │ │ ├── settings │ │ ├── analytics_settings.json │ │ ├── analytics_settings_v2.json │ │ ├── analytics_settings_v3.json │ │ ├── app_info.json │ │ ├── appearance_settings_v1.json │ │ ├── appearance_settings_v2.json │ │ ├── dataset_settings.json │ │ ├── general_settings_v1.json │ │ ├── general_settings_v2.json │ │ ├── general_settings_with_unknown_options.json │ │ ├── latest_app_version.json │ │ ├── program_settings.json │ │ ├── synchronization_settings.json │ │ ├── system_settings.json │ │ ├── user_settings.json │ │ ├── version.json │ │ └── versions.json │ │ ├── sms │ │ └── metadata_ids.json │ │ ├── systeminfo │ │ └── system_info.json │ │ ├── trackedentity │ │ ├── glass │ │ │ ├── break_glass_successful.json │ │ │ ├── closed_program_failure.json │ │ │ └── glass_protected_tei_failure.json │ │ ├── new_tracker_importer_tracked_entities.json │ │ ├── new_tracker_importer_tracked_entities_greater_equal_v41.json │ │ ├── new_tracker_importer_tracked_entities_lower_v41.json │ │ ├── new_tracker_importer_tracked_entity.json │ │ ├── new_tracker_importer_tracked_entity_attribute_value.json │ │ ├── new_tracker_importer_tracked_entity_collection.json │ │ ├── new_tracker_importer_tracked_entity_data_value.json │ │ ├── new_tracker_importer_tracked_entity_with_relationship.json │ │ ├── new_tracker_importer_tracked_entity_with_removed_data_single.json │ │ ├── new_tracker_transformer_new_tracked_entity.json │ │ ├── new_tracker_transformer_old_tracked_entity.json │ │ ├── ownership │ │ │ └── program_owner.json │ │ ├── search │ │ │ ├── filter_by_events.json │ │ │ └── new_tracker_importer_filter_by_events.json │ │ ├── search_grid.json │ │ ├── tracked_entity_attribute.json │ │ ├── tracked_entity_attribute_reserved_value.json │ │ ├── tracked_entity_attribute_reserved_values.json │ │ ├── tracked_entity_attribute_value.json │ │ ├── tracked_entity_attribute_value_image.png │ │ ├── tracked_entity_attribute_value_image_resource.json │ │ ├── tracked_entity_attribute_value_image_resources.json │ │ ├── tracked_entity_attribute_value_missing.json │ │ ├── tracked_entity_attribute_value_null.json │ │ ├── tracked_entity_attributes.json │ │ ├── tracked_entity_data_value.json │ │ ├── tracked_entity_instance.json │ │ ├── tracked_entity_instance_2.json │ │ ├── tracked_entity_instance_collection.json │ │ ├── tracked_entity_instance_filter.json │ │ ├── tracked_entity_instance_filter_v_37.json │ │ ├── tracked_entity_instance_filters.json │ │ ├── tracked_entity_instance_filters_v_37.json │ │ ├── tracked_entity_instance_single.json │ │ ├── tracked_entity_instance_with_removed_data_single.json │ │ ├── tracked_entity_instances.json │ │ ├── tracked_entity_instances_with_relationship.json │ │ ├── tracked_entity_type.json │ │ ├── tracked_entity_type_attribute.json │ │ └── tracked_entity_types.json │ │ ├── tracker │ │ └── importer │ │ │ ├── jobinfo.json │ │ │ ├── jobreport-error.json │ │ │ └── jobreport-success.json │ │ ├── usecase.stock │ │ ├── stock_use_case.json │ │ └── stock_use_cases.json │ │ ├── user │ │ ├── user37.json │ │ ├── user38.json │ │ ├── user_credentials.json │ │ ├── user_disabled.json │ │ ├── user_group.json │ │ ├── user_role.json │ │ └── user_unauthorized.json │ │ ├── validation │ │ ├── validation_rule.json │ │ ├── validation_rule_broken.json │ │ ├── validation_rule_uids.json │ │ └── validation_rules.json │ │ └── visualization │ │ ├── tracker_visualization.json │ │ ├── tracker_visualizations_1.json │ │ ├── visualization.json │ │ ├── visualization_api_36.json │ │ ├── visualizations_1.json │ │ └── visualizations_2.json │ └── test │ ├── AndroidManifest.xml │ ├── java │ └── org │ │ └── hisp │ │ └── dhis │ │ └── android │ │ └── core │ │ ├── analytics │ │ ├── aggregated │ │ │ ├── AnalyticsRepositoryShould.kt │ │ │ └── internal │ │ │ │ ├── AnalyticsOrganisationUnitHelperShould.kt │ │ │ │ ├── AnalyticsServiceDimensionHelperShould.kt │ │ │ │ ├── AnalyticsServiceHelperSamples.kt │ │ │ │ ├── AnalyticsServiceMetadataHelperShould.kt │ │ │ │ ├── AnalyticsVisualizationsServiceDimensionHelperShould.kt │ │ │ │ └── evaluator │ │ │ │ └── AnalyticsDimensionHelperShould.kt │ │ ├── internal │ │ │ └── AnalyticsRegexShould.kt │ │ ├── linelist │ │ │ └── EventLineListRepositoryShould.kt │ │ └── trackerlinelist │ │ │ ├── TrackerLineListRepositoryShould.kt │ │ │ └── internal │ │ │ ├── TrackerLineListParamsShould.kt │ │ │ └── TrackerVisualizationMapperShould.kt │ │ ├── arch │ │ ├── api │ │ │ ├── authentication │ │ │ │ └── internal │ │ │ │ │ ├── CookieAuthenticatorShould.kt │ │ │ │ │ └── ParentAuthenticatorPluginShould.kt │ │ │ ├── executors │ │ │ │ └── internal │ │ │ │ │ ├── CoroutineAPICallExecutorMock.kt │ │ │ │ │ └── CoroutineAPICallExecutorShould.kt │ │ │ ├── fields │ │ │ │ └── internal │ │ │ │ │ ├── FieldShould.kt │ │ │ │ │ ├── FieldsShould.kt │ │ │ │ │ └── FieldsStringGenerationShould.kt │ │ │ ├── filters │ │ │ │ └── internal │ │ │ │ │ ├── FilterShould.kt │ │ │ │ │ ├── InFilterShould.kt │ │ │ │ │ └── SingleValueFilterShould.kt │ │ │ ├── httpservice │ │ │ │ └── internal │ │ │ │ │ ├── HttpServiceClientShould.kt │ │ │ │ │ └── RequestBuilderShould.kt │ │ │ ├── paging │ │ │ │ └── internal │ │ │ │ │ └── ApiPagingEngineShould.kt │ │ │ └── testutils │ │ │ │ └── HttpServiceClientFactory.kt │ │ ├── db │ │ │ ├── MultipleTableQueryBuilderShould.java │ │ │ ├── WhereClauseBuilderShould.kt │ │ │ ├── access │ │ │ │ └── internal │ │ │ │ │ ├── TransactionImplShould.java │ │ │ │ │ ├── UnencryptedDatabaseAdapterShould.java │ │ │ │ │ └── migrations │ │ │ │ │ └── DatabaseCodeMigration133HelperShould.kt │ │ │ └── querybuilders │ │ │ │ └── internal │ │ │ │ └── SQLStatementBuilderShould.kt │ │ ├── domain │ │ │ ├── DomainClasses.kt │ │ │ └── DomainClassesShould.kt │ │ ├── helpers │ │ │ ├── CoordinateHelperShould.kt │ │ │ ├── DateUtilsShould.kt │ │ │ ├── GeometryHelperShould.kt │ │ │ ├── ResultShould.kt │ │ │ ├── UidGeneratorShould.kt │ │ │ ├── UserHelperShould.kt │ │ │ ├── UtilsShould.kt │ │ │ └── internal │ │ │ │ └── MultiDimensionalPartitionerShould.kt │ │ ├── repositories │ │ │ ├── collection │ │ │ │ └── RepositoryPagingShould.kt │ │ │ ├── filters │ │ │ │ └── internal │ │ │ │ │ ├── BooleanFilterConnectorShould.java │ │ │ │ │ └── UnwrappedEqInFilterConnectorShould.java │ │ │ └── scope │ │ │ │ └── WhereClauseFromScopeBuilderShould.kt │ │ └── storage │ │ │ └── internal │ │ │ └── ChunkedSecureStoreShould.kt │ │ ├── attribute │ │ ├── AttributeShould.kt │ │ └── AttributeValueShould.kt │ │ ├── authority │ │ └── AuthorityShould.kt │ │ ├── category │ │ ├── CategoryComboShould.kt │ │ ├── CategoryOptionComboServiceShould.kt │ │ ├── CategoryOptionComboShould.kt │ │ ├── CategoryOptionOrganisationUnitsShould.kt │ │ ├── CategoryOptionShould.kt │ │ ├── CategoryShould.kt │ │ └── internal │ │ │ └── CategoryComboHandlerShould.kt │ │ ├── common │ │ ├── AccessShould.kt │ │ ├── BaseCallShould.kt │ │ ├── BaseObjectKotlinxShould.kt │ │ ├── DataAccessShould.kt │ │ ├── DateFilterPeriodHelperShould.kt │ │ ├── FilterOperatorsHelperShould.kt │ │ ├── ObjectShould.java │ │ ├── ValueTypeDeviceRenderingShould.kt │ │ ├── ValueTypeRenderingShould.kt │ │ ├── internal │ │ │ └── TrackerDataManagerShould.kt │ │ └── valuetype │ │ │ ├── rendering │ │ │ └── internal │ │ │ │ └── ValueTypeRenderingHandlerShould.java │ │ │ └── validation │ │ │ └── validators │ │ │ ├── BooleanValidatorShould.kt │ │ │ ├── CoordinateValidatorShould.kt │ │ │ ├── DateTimeValidatorShould.kt │ │ │ ├── DateValidatorShould.kt │ │ │ ├── EmailValidatorShould.kt │ │ │ ├── IntegerNegativeValidatorShould.kt │ │ │ ├── IntegerPositiveValidatorShould.kt │ │ │ ├── IntegerValidatorShould.kt │ │ │ ├── IntegerZeroOrPositiveValidatorShould.kt │ │ │ ├── LetterValidatorShould.kt │ │ │ ├── LongTextValidatorShould.kt │ │ │ ├── NumberValidatorShould.kt │ │ │ ├── PercentageValidatorShould.kt │ │ │ ├── PhoneNumberValidatorShould.kt │ │ │ ├── TextValidatorShould.kt │ │ │ ├── TimeValidatorShould.kt │ │ │ ├── TrueOnlyValidatorShould.kt │ │ │ ├── UidValidatorShould.kt │ │ │ ├── UnitIntervalValidatorShould.kt │ │ │ ├── UrlValidatorShould.kt │ │ │ ├── ValidatorShouldHelper.kt │ │ │ └── ValueTypeValidatorGetterShould.kt │ │ ├── configuration │ │ └── internal │ │ │ ├── DatabaseNameGeneratorShould.kt │ │ │ ├── DatabasesConfigurationHelperShould.kt │ │ │ ├── DatabasesConfigurationShould.kt │ │ │ ├── DatabasesConfigurationUtil.kt │ │ │ ├── MultiUserDatabaseManagerForD2ManagerUnitShould.kt │ │ │ ├── MultiUserDatabaseManagerUnitShould.kt │ │ │ ├── ServerUrlParserShould.kt │ │ │ └── migration │ │ │ └── DatabasesConfigurationOldShould.kt │ │ ├── constant │ │ └── ConstantShould.kt │ │ ├── dataapproval │ │ └── DataApprovalShould.kt │ │ ├── dataelement │ │ ├── DataElementOperandShould.kt │ │ ├── DataElementShould.kt │ │ └── internal │ │ │ └── DataElementHandlerShould.kt │ │ ├── dataset │ │ ├── DataInputPeriodShould.kt │ │ ├── DataSetCompleteRegistrationShould.kt │ │ ├── DataSetCompleteRegistrationWithCompletedShould.kt │ │ ├── DataSetInstanceServiceShould.kt │ │ ├── DataSetShould.kt │ │ ├── SectionShould.kt │ │ └── internal │ │ │ ├── DataSetCompleteRegistrationImportHandlerShould.java │ │ │ ├── DataSetHandlerShould.java │ │ │ └── SectionHandlerShould.java │ │ ├── datavalue │ │ ├── DataValueSetEmptyShould.kt │ │ ├── DataValueSetOnlyCommonFieldsShould.kt │ │ ├── DataValueSetShould.kt │ │ ├── DataValueSetSinglePeriodShould.kt │ │ ├── DataValueShould.kt │ │ └── internal │ │ │ ├── DataValueImportHandlerShould.java │ │ │ └── conflicts │ │ │ ├── DataValueImportConflictSamples.kt │ │ │ ├── IndexedDataValueConflictShould.kt │ │ │ ├── InvalidDataElementTypeConflictShould.kt │ │ │ ├── PastExpiryDateConflictShould.kt │ │ │ └── PeriodAfterLatestOpenFutureConflictShould.kt │ │ ├── domain │ │ ├── aggregated │ │ │ └── data │ │ │ │ └── internal │ │ │ │ ├── AggregatedDataCallBundleFactoryShould.kt │ │ │ │ ├── AggregatedDataSyncLastUpdatedCalculatorShould.kt │ │ │ │ └── DataSetSamples.kt │ │ └── metadata │ │ │ └── MetadataCallShould.kt │ │ ├── enrollment │ │ ├── EnrollmentServiceShould.kt │ │ ├── EnrollmentShould.kt │ │ ├── NewTrackerImporterEnrollmentShould.kt │ │ └── internal │ │ │ ├── EnrollmentHandlerShould.kt │ │ │ └── EnrollmentImportHandlerShould.kt │ │ ├── event │ │ ├── EventDownloaderShould.kt │ │ ├── EventFilterShould.kt │ │ ├── EventServiceShould.kt │ │ ├── EventShould.kt │ │ ├── NewTrackerImporterEventPayloadGreaterEqualV41Should.kt │ │ ├── NewTrackerImporterEventPayloadLowerV41Should.kt │ │ ├── NewTrackerImporterEventShould.kt │ │ ├── internal │ │ │ ├── EventDateUtilsShould.kt │ │ │ ├── EventEndpointCallShould.kt │ │ │ ├── EventFilterHandlerShould.kt │ │ │ ├── EventHandlerShould.kt │ │ │ ├── EventImportHandlerShould.kt │ │ │ └── EventQueryBundleFactoryShould.kt │ │ └── search │ │ │ ├── EventCollectionRepositoryAdapterShould.kt │ │ │ ├── EventQueryCollectionRepositoryShould.kt │ │ │ └── EventQueryRepositoryScopeHelperShould.kt │ │ ├── expressiondimensionitem │ │ └── ExpressionDimensionItemShould.kt │ │ ├── fileresource │ │ ├── FileResourceDownloaderShould.kt │ │ ├── FileResourceShould.kt │ │ └── internal │ │ │ └── FileResourceUtilShould.kt │ │ ├── icon │ │ └── CustomIconShould.kt │ │ ├── imports │ │ └── internal │ │ │ ├── DataValueImportSummaryWebResponseShould.kt │ │ │ ├── EnrollmentImportEnrollmentShould.kt │ │ │ ├── EventImportEventShould.kt │ │ │ ├── HttpMessageBreakGlassSuccessfulShould.kt │ │ │ ├── HttpMessageClosedProgramShould.kt │ │ │ ├── HttpMessageOwnershipDeniedShould.kt │ │ │ ├── ImportConflictShould.kt │ │ │ ├── ImportCountShould.kt │ │ │ ├── RelationshipDeleteWebResponseShould.kt │ │ │ ├── RelationshipWebResponseShould.kt │ │ │ ├── TEIImportSummariesShould.kt │ │ │ ├── TEIImportSummaryShouldwithEventConflicts.kt │ │ │ ├── TEIImportSummaryShouldwithTeiConflicts.kt │ │ │ ├── TEIWebResponseShould.kt │ │ │ ├── TEIWebResponseShouldWithImportConflicts.kt │ │ │ └── conflicts │ │ │ ├── BadAttributePatternConflictShould.kt │ │ │ ├── BaseConflictShould.kt │ │ │ ├── EnrollmentHasInvalidProgramConflictShould.kt │ │ │ ├── EnrollmentNotFoundConflictShould.kt │ │ │ ├── EventHasInvalidProgramConflictShould.kt │ │ │ ├── EventHasInvalidProgramStageConflictShould.kt │ │ │ ├── EventNotFoundConflictShould.kt │ │ │ ├── FileResourceAlreadyAssignedConflictShould.kt │ │ │ ├── FileResourceReferenceNotFoundConflictShould.kt │ │ │ ├── InvalidAttributeValueTypeConflictShould.kt │ │ │ ├── InvalidDataValueConflictShould.kt │ │ │ ├── InvalidTrackedEntityTypeConflictShould.kt │ │ │ ├── LackingEnrollmentCascadeDeleteAuthorityConflictShould.kt │ │ │ ├── LackingTEICascadeDeleteAuthorityConflictShould.kt │ │ │ ├── MissingAttributeConflictShould.kt │ │ │ ├── MissingDataElementConflictShould.kt │ │ │ ├── NonUniqueAttributeConflictShould.kt │ │ │ ├── TrackedEntityInstanceNotFoundConflictShould.kt │ │ │ └── TrackedImportConflictSamples.kt │ │ ├── indicator │ │ ├── IndicatorShould.kt │ │ ├── IndicatorTypeShould.kt │ │ └── datasetindicatorengine │ │ │ └── DataSetIndicatorEvaluatorShould.kt │ │ ├── legendset │ │ ├── LegendSetShould.kt │ │ ├── LegendShould.kt │ │ └── internal │ │ │ └── LegendSetHandlerShould.java │ │ ├── maintenance │ │ ├── D2ErrorSamples.java │ │ └── PerformanceHintsServiceShould.java │ │ ├── map │ │ └── layer │ │ │ └── internal │ │ │ ├── MapLayerHandlerShould.kt │ │ │ └── bing │ │ │ └── BingServerResponseShould.kt │ │ ├── note │ │ ├── NewTrackerImporterNoteShould.kt │ │ └── NoteShould.kt │ │ ├── option │ │ ├── OptionGroupShould.kt │ │ ├── OptionSetShould.kt │ │ ├── OptionShould.kt │ │ └── internal │ │ │ └── OptionHandlerShould.java │ │ ├── organisationunit │ │ ├── OrganisationUnitGroupShould.kt │ │ ├── OrganisationUnitLevelShould.kt │ │ ├── OrganisationUnitServiceShould.kt │ │ ├── OrganisationUnitShould.kt │ │ ├── OrganisationUnitTreeShould.java │ │ └── internal │ │ │ ├── OrganisationUnitCallUnitShould.kt │ │ │ └── OrganisationUnitHandlerShould.kt │ │ ├── parser │ │ └── internal │ │ │ ├── expression │ │ │ ├── ExpressionServiceShould.kt │ │ │ └── ParserUtilsShould.kt │ │ │ └── service │ │ │ └── utils │ │ │ └── ExpressionHelperShould.kt │ │ ├── payload │ │ └── ProgramPayloadShould.kt │ │ ├── period │ │ ├── clock │ │ │ └── internal │ │ │ │ └── ClockProviderFactoryExtension.kt │ │ ├── generator │ │ │ └── internal │ │ │ │ ├── BiMonthlyPeriodGeneratorShould.kt │ │ │ │ ├── BiWeeklyPeriodGeneratorShould.kt │ │ │ │ ├── DailyPeriodGeneratorShould.kt │ │ │ │ ├── MonthlyPeriodGeneratorShould.kt │ │ │ │ ├── PeriodGeneratorShould.kt │ │ │ │ ├── QuarterlyNovPeriodGeneratorShould.kt │ │ │ │ ├── QuarterlyPeriodGeneratorShould.kt │ │ │ │ ├── SixMonthlyPeriodGeneratorShould.kt │ │ │ │ ├── WeeklyPeriodGeneratorShould.kt │ │ │ │ ├── YearlyFinancialAprilPeriodGeneratorShould.kt │ │ │ │ ├── YearlyFinancialJulyPeriodGeneratorShould.kt │ │ │ │ ├── YearlyFinancialNovemberPeriodGeneratorShould.kt │ │ │ │ ├── YearlyFinancialOctoberPeriodGeneratorShould.kt │ │ │ │ └── YearlyPeriodGeneratorShould.kt │ │ └── internal │ │ │ ├── InPeriodQueryHelperShould.kt │ │ │ ├── PeriodHandlerShould.java │ │ │ ├── PeriodHelperShould.kt │ │ │ └── RelativePeriodGeneratorImplShould.kt │ │ ├── program │ │ ├── ProgramIndicatorShould.kt │ │ ├── ProgramRuleActionShould.kt │ │ ├── ProgramRuleShould.kt │ │ ├── ProgramRuleVariableShould.kt │ │ ├── ProgramSection32Should.kt │ │ ├── ProgramSectionShould.kt │ │ ├── ProgramShould.kt │ │ ├── ProgramStageDataElementShould.kt │ │ ├── ProgramStageShould.kt │ │ ├── ProgramTrackedEntityAttributeShould.kt │ │ ├── internal │ │ │ ├── ProgramEndpointCallShould.kt │ │ │ ├── ProgramHandlerShould.java │ │ │ ├── ProgramIndicatorHandlerShould.java │ │ │ ├── ProgramModuleDownloaderShould.kt │ │ │ ├── ProgramRuleHandlerShould.kt │ │ │ ├── ProgramSectionHandlerShould.java │ │ │ ├── ProgramStageDataElementHandlerShould.java │ │ │ ├── ProgramStageHandlerShould.java │ │ │ ├── ProgramStageSectionHandlerShould.java │ │ │ └── ProgramTrackedEntityAttributeHandlerShould.java │ │ └── programindicatorengine │ │ │ └── internal │ │ │ ├── AnalyticsBoundaryParserShould.kt │ │ │ ├── ProgramIndicatorExecutorShould.kt │ │ │ └── function │ │ │ ├── D2AddDaysShould.kt │ │ │ ├── D2CeilShould.kt │ │ │ ├── D2ConcatenateShould.java │ │ │ ├── D2DaysBetweenShould.kt │ │ │ ├── D2FloorShould.kt │ │ │ ├── D2LeftShould.kt │ │ │ ├── D2LengthShould.java │ │ │ ├── D2MinutesBetweenShould.kt │ │ │ ├── D2ModulusShould.kt │ │ │ ├── D2MonthsBetweenShould.kt │ │ │ ├── D2OizpShould.kt │ │ │ ├── D2RightShould.kt │ │ │ ├── D2RoundShould.kt │ │ │ ├── D2SplitShould.kt │ │ │ ├── D2SubStringShould.kt │ │ │ ├── D2ValidatePatternShould.java │ │ │ ├── D2WeeksBetweenShould.kt │ │ │ ├── D2YearsBetweenShould.kt │ │ │ ├── D2ZingShould.kt │ │ │ └── D2ZpvcShould.kt │ │ ├── programstageworkinglist │ │ ├── ProgramStageWorkingListShould.kt │ │ └── internal │ │ │ └── ProgramStageWorkingListHandlerShould.kt │ │ ├── relationship │ │ ├── NewTrackerImporterRelationshipShould.kt │ │ ├── Relationship30Should.kt │ │ ├── RelationshipItemShould.kt │ │ ├── RelationshipServiceShould.kt │ │ ├── RelationshipType30Should.kt │ │ ├── RelationshipType32Should.kt │ │ └── internal │ │ │ ├── RelationshipDHISVersionManagerShould.kt │ │ │ ├── RelationshipHandlerShould.kt │ │ │ ├── RelationshipImportHandlerShould.kt │ │ │ ├── RelationshipSamples.kt │ │ │ └── RelationshipTypeCollectionRepositoryHelperShould.kt │ │ ├── resource │ │ └── internal │ │ │ └── ResourceHandlerShould.java │ │ ├── settings │ │ ├── AnalyticsSettingAsserts.kt │ │ ├── AnalyticsSettingV1Should.kt │ │ ├── AnalyticsSettingV2Should.kt │ │ ├── AnalyticsSettingV3Should.kt │ │ ├── AppearanceSettingsV1Should.kt │ │ ├── AppearanceSettingsV2Should.kt │ │ ├── DataSetConfigurationSettingSamples.kt │ │ ├── DataSetSettingsShould.kt │ │ ├── GeneralSettingsV1Should.kt │ │ ├── GeneralSettingsV2Should.kt │ │ ├── LatestAppVersionSettingsShould.kt │ │ ├── ProgramConfigurationSettingSamples.kt │ │ ├── ProgramSettingsShould.kt │ │ ├── SettingsAppInfoShould.kt │ │ ├── SynchronizationSettingsShould.kt │ │ ├── SystemSettingsShould.kt │ │ ├── UserSettingsShould.kt │ │ ├── VersionsSettingsShould.kt │ │ └── internal │ │ │ ├── AnalyticsSettingCallShould.kt │ │ │ ├── AnalyticsTeiSettingHandlerShould.kt │ │ │ ├── AnalyticsTeiWHONutritionDataHandlerShould.kt │ │ │ ├── AppearanceSettingsCallShould.kt │ │ │ ├── DataSetConfigurationSettingHandlerShould.kt │ │ │ ├── DataSetSettingCallShould.kt │ │ │ ├── DataSetSettingHandlerShould.java │ │ │ ├── FilterSettingHandlerShould.kt │ │ │ ├── GeneralSettingCallShould.kt │ │ │ ├── GeneralSettingsHandlerShould.kt │ │ │ ├── LatestAppVersionCallShould.kt │ │ │ ├── LatestAppVersionComparatorShould.kt │ │ │ ├── ProgramConfigurationSettingHandlerShould.kt │ │ │ ├── ProgramSettingCallShould.kt │ │ │ ├── ProgramSettingHandlerShould.java │ │ │ ├── SettingsAppInfoCallShould.kt │ │ │ ├── SettingsAppInfoManagerShould.kt │ │ │ ├── SynchronizationSettingCallShould.kt │ │ │ ├── SynchronizationSettingsHandlerShould.kt │ │ │ └── SystemSettingSplitterShould.kt │ │ ├── sms │ │ ├── ConvertTest.java │ │ ├── InitTest.java │ │ ├── SubmitTest.java │ │ ├── data │ │ │ └── webapirepository │ │ │ │ └── internal │ │ │ │ ├── MetadataIdsShould.kt │ │ │ │ └── WebApiRepositoryImplShould.kt │ │ └── mockrepos │ │ │ ├── MockDeviceStateRepository.java │ │ │ ├── MockLocalDbRepository.kt │ │ │ ├── MockSmsRepository.java │ │ │ ├── MockWebApiRepository.java │ │ │ └── testobjects │ │ │ ├── MockMetadata.java │ │ │ └── MockObjects.java │ │ ├── systeminfo │ │ ├── SMSVersionShould.kt │ │ ├── SystemInfoShould.kt │ │ └── internal │ │ │ ├── DHISVersionManagerShould.kt │ │ │ ├── DHISVersionShould.kt │ │ │ ├── PingImplShould.kt │ │ │ └── SystemInfoCallShould.kt │ │ ├── trackedentity │ │ ├── NewTrackerImporterTrackedEntityAttributeValueShould.kt │ │ ├── NewTrackerImporterTrackedEntityDataValueShould.kt │ │ ├── NewTrackerImporterTrackedEntityPayloadGreaterEqualV41Should.kt │ │ ├── NewTrackerImporterTrackedEntityPayloadLowerV41Should.kt │ │ ├── NewTrackerImporterTrackedEntityShould.kt │ │ ├── NewTrackerImporterTrackedEntityTransformerShould.kt │ │ ├── TrackedEntityAttributeReservedValueShould.kt │ │ ├── TrackedEntityAttributeShould.kt │ │ ├── TrackedEntityAttributeValueShould.kt │ │ ├── TrackedEntityDataValueShould.kt │ │ ├── TrackedEntityInstanceFilter37Should.kt │ │ ├── TrackedEntityInstanceFilterCommonShould.kt │ │ ├── TrackedEntityInstanceFilterShould.kt │ │ ├── TrackedEntityInstanceShould.kt │ │ ├── TrackedEntityTypeAttributeShould.kt │ │ ├── TrackedEntityTypeShould.kt │ │ ├── internal │ │ │ ├── TrackedEntityAttributeHandlerShould.java │ │ │ ├── TrackedEntityAttributeReservedValueValidatorHelperShould.kt │ │ │ ├── TrackedEntityInstanceDownloaderShould.kt │ │ │ ├── TrackedEntityInstanceFilterHandlerShould.java │ │ │ ├── TrackedEntityInstanceHandlerShould.kt │ │ │ ├── TrackedEntityInstanceImportHandlerShould.kt │ │ │ ├── TrackedEntityInstanceQueryFactoryShould.kt │ │ │ ├── TrackedEntityInstanceUidHelperShould.java │ │ │ └── TrackerQueryCommonParamsSamples.kt │ │ ├── ownership │ │ │ ├── OwnershipManagerShould.kt │ │ │ └── ProgramOwnerShould.kt │ │ └── search │ │ │ ├── QueryPageUserModeMatcher.kt │ │ │ ├── QueryUserModeMatcher.kt │ │ │ ├── SearchGridMapperShould.kt │ │ │ ├── SearchGridShould.kt │ │ │ ├── TrackedEntityInstanceLocalQueryHelperShould.kt │ │ │ ├── TrackedEntityInstanceQueryCallShould.kt │ │ │ ├── TrackedEntityInstanceQueryDataSourceShould.kt │ │ │ ├── TrackedEntityInstanceQueryErrorCatcherShould.kt │ │ │ ├── TrackedEntityInstanceQueryOnlineHelperShould.kt │ │ │ └── TrackedEntityInstanceQueryRepositoryScopeHelperShould.kt │ │ ├── tracker │ │ ├── TrackerPostParentCallHelperShould.kt │ │ └── importer │ │ │ ├── JobReportErrorShould.kt │ │ │ ├── JobReportSuccessShould.kt │ │ │ ├── TrackerConflictHelperShould.kt │ │ │ └── TrackerImporterFileResourcesPostCallShould.kt │ │ ├── usecase │ │ └── stock │ │ │ ├── InternalStockUseCaseShould.kt │ │ │ └── StockUseCaseCallShould.kt │ │ ├── user │ │ ├── AuthenticatedUserShould.java │ │ ├── User37Should.kt │ │ ├── User38Should.kt │ │ ├── UserCredentialShould.kt │ │ ├── UserGroupShould.kt │ │ ├── UserRoleShould.kt │ │ └── internal │ │ │ ├── IsUserLoggedInCallableShould.kt │ │ │ ├── LogInCallErrorCatcherShould.kt │ │ │ ├── LogInCallUnitShould.kt │ │ │ ├── LogOutCallShould.kt │ │ │ ├── UserAccountDisabledErrorCatcherShould.kt │ │ │ ├── UserCallShould.kt │ │ │ └── UserHandlerShould.kt │ │ ├── validation │ │ ├── ValidationRuleBrokenShould.kt │ │ ├── ValidationRuleShould.kt │ │ └── engine │ │ │ └── internal │ │ │ └── ValidationExecutorShould.kt │ │ ├── visualization │ │ ├── TrackerVisualizationShould.kt │ │ ├── Visualization36DTOShould.kt │ │ ├── VisualizationShould.kt │ │ └── internal │ │ │ ├── TrackerVisualizationHandlerShould.kt │ │ │ └── VisualizationHandlerShould.kt │ │ └── wipe │ │ └── internal │ │ └── WipeModuleShould.java │ └── resources │ └── mockito-extensions │ └── org.mockito.plugins.MockMaker ├── docs ├── .gitignore ├── content │ ├── dev │ │ ├── architecture.md │ │ ├── coverage-report.md │ │ ├── development.md │ │ └── synchronization.md │ └── developer │ │ ├── about-this-guide.md │ │ ├── analytics.md │ │ ├── apk-distribution.md │ │ ├── compatibility-strategy.md │ │ ├── compatibility.md │ │ ├── data-store.md │ │ ├── database.md │ │ ├── db-interaction.md │ │ ├── debugging.md │ │ ├── dhis2-services.md │ │ ├── error-management.md │ │ ├── getting-started.md │ │ ├── known-issues.md │ │ ├── maps.md │ │ ├── modules-and-repositories.md │ │ ├── object-style.md │ │ ├── overview.md │ │ ├── program-indicator-engine.md │ │ ├── program-rule-engine.md │ │ ├── public-api.md │ │ ├── resources │ │ └── images │ │ │ └── analytics_visualization.png │ │ ├── settings.md │ │ ├── sms.md │ │ ├── use-case-configuration.md │ │ ├── validation-rule-engine.md │ │ ├── web-api-interaction.md │ │ └── workflow.md ├── dhis2_android_sdk_dev_guide_INDEX.md ├── dhis2_android_sdk_developer_guide_INDEX.yml └── scripts │ └── mobileSDKprocessor.js ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── instrumented-test-app ├── build.gradle.kts ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── org │ │ └── hisp │ │ └── dhis │ │ └── android │ │ └── instrumentedTestApp │ │ └── TestLabActivity.kt │ └── res │ └── values │ └── strings.xml ├── runChecks.sh ├── scripts ├── browserstackJenkins.sh ├── config_jenkins.init ├── hooks │ ├── pre-commit │ └── prepare-commit-msg └── sonarqube.sh ├── settings.gradle.kts └── tasks.gradle.kts /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.{kt,kts}] 2 | max_line_length = 120 3 | ktlint_standard_no-wildcard-imports = disabled 4 | ktlint_standard_package-name = disabled 5 | ktlint_standard_no-unit-return = disabled 6 | -------------------------------------------------------------------------------- /.github/workflows/dokka.yml: -------------------------------------------------------------------------------- 1 | name: Deploy API docs 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | 8 | workflow_dispatch: 9 | 10 | jobs: 11 | api-docs: 12 | uses: dhis2/workflows/.github/workflows/publish-dokka-to-github-pages.yml@a0b4d50d9606c734b785451774a325846931f1ee 13 | with: 14 | java_version: 17 15 | gradle_args: "-PremoveSnapshotSuffix" 16 | gradle_module: "core" 17 | output_folder: "api" 18 | -------------------------------------------------------------------------------- /.github/workflows/rebuild-docs.yml: -------------------------------------------------------------------------------- 1 | name: 'Rebuild developer docs' 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'docs/**' 9 | 10 | concurrency: 11 | group: ${{ github.workflow}}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | rebuild-docs: 16 | runs-on: ubuntu-latest 17 | steps: 18 | - run: curl -X POST -d {} https://api.netlify.com/build_hooks/${{ secrets.NETLIFY_DEVELOPER_DOCS_TOKEN }} -------------------------------------------------------------------------------- /.github/workflows/scripts/publish-maven.sh: -------------------------------------------------------------------------------- 1 | set -x 2 | 3 | branch=$(git rev-parse --abbrev-ref HEAD) 4 | 5 | if [ "$branch" = "main" ] || [ "$branch" = "master" ]; then 6 | ./gradlew :core:publishToSonatype closeAndReleaseSonatypeStagingRepository -PremoveSnapshotSuffix 7 | else 8 | ./gradlew :core:publishToSonatype 9 | fi 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Eclipse 2 | .project 3 | .classpath 4 | .settings 5 | 6 | # IntelliJ IDEA 7 | *.iml 8 | *.ipr 9 | *.iws 10 | out 11 | 12 | # ignore .idea directory, except copyright 13 | !.idea 14 | .idea/* 15 | !.idea/copyright 16 | !.idea/gradle.xml 17 | !.idea/scopes 18 | .idea/scopes/* 19 | !.idea/scopes/copyright.xml 20 | 21 | # Ant 22 | build.xml 23 | local.properties 24 | proguard.cfg 25 | 26 | # Gradle 27 | .gradle 28 | build 29 | 30 | # OSX 31 | .DS_Store 32 | 33 | # Android 34 | *.apk 35 | 36 | #Kotlin 37 | .kotlin 38 | 39 | # Secret keys 40 | secrets.properties 41 | 42 | core/src/main/java/org/hisp/dhis/android/core/trackedentity/TeisEndPointCall.java 43 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | lang_map = fa_AF: prs, uz@Cyrl: uz, uz@Latn: uz_Latn, zh_CN: zh-rCN 4 | 5 | [o:hisp-uio:p:dhis2-android-sdk:r:strings-xml] 6 | file_filter = core/src/main/res/values-/strings.xml 7 | source_file = core/src/main/res/values/strings.xml 8 | source_lang = en 9 | type = ANDROID 10 | minimum_perc = 0 11 | 12 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -xe 3 | 4 | # You can run it from any directory. 5 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 6 | PROJECT_DIR=$DIR/ 7 | 8 | # This will: compile the project, run lint, run tests under JVM, package apk, check the code quality and run tests on the device/emulator. 9 | "$PROJECT_DIR"/gradlew clean ktlintCheck detekt checkstyleDebug pmdDebug lintDebug testDebug connectedDebugAndroidTest compileReleaseKotlin 10 | -------------------------------------------------------------------------------- /core/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | gradle/wrapper 3 | gradlew 4 | gradlew.bat 5 | -------------------------------------------------------------------------------- /core/src/androidTest/assets/databases/corrupted-database.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/androidTest/assets/databases/corrupted-database.zip -------------------------------------------------------------------------------- /core/src/androidTest/assets/databases/export-database.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/androidTest/assets/databases/export-database.zip -------------------------------------------------------------------------------- /core/src/androidTest/assets/databases/test-database.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/androidTest/assets/databases/test-database.db -------------------------------------------------------------------------------- /core/src/androidTest/java/org/hisp/dhis/android/core/option/OptionCallShould.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/androidTest/java/org/hisp/dhis/android/core/option/OptionCallShould.java -------------------------------------------------------------------------------- /core/src/androidTest/java/org/hisp/dhis/android/core/option/OptionSetCallShould.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/androidTest/java/org/hisp/dhis/android/core/option/OptionSetCallShould.java -------------------------------------------------------------------------------- /core/src/androidTest/java/org/hisp/dhis/android/core/trackedentity/TrackedEntityInstanceModelShould.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/androidTest/java/org/hisp/dhis/android/core/trackedentity/TrackedEntityInstanceModelShould.java -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/1.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | down: -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/10.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - CREATE TABLE Note (_id INTEGER PRIMARY KEY AUTOINCREMENT, enrollment TEXT,value TEXT,storedBy TEXT,storedDate TEXT, FOREIGN KEY (enrollment) REFERENCES Enrollment (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (enrollment, value, storedBy, storedDate)); -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/11.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - ALTER TABLE ProgramStage ADD COLUMN periodType TEXT; -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/12.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - ALTER TABLE ProgramStage ADD COLUMN accessDataWrite INTEGER; -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/13.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - DROP TABLE IF EXISTS TrackedEntityInstance; 3 | - CREATE TABLE TrackedEntityInstance (_id INTEGER PRIMARY KEY AUTOINCREMENT,uid TEXT NOT NULL UNIQUE,created TEXT, lastUpdated TEXT,createdAtClient TEXT,lastUpdatedAtClient TEXT,organisationUnit TEXT NOT NULL,trackedEntity TEXT NOT NULL,coordinates TEXT,featureType TEXT,state TEXT, FOREIGN KEY (organisationUnit) REFERENCES OrganisationUnit (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED FOREIGN KEY (trackedEntity) REFERENCES TrackedEntity (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/14.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - ALTER TABLE OrganisationUnit ADD COLUMN displayNamePath TEXT; -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/16.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - DROP TABLE IF EXISTS CategoryOption; 3 | - CREATE TABLE CategoryOption (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, code TEXT, name TEXT, displayName TEXT, created TEXT, lastUpdated TEXT, shortName TEXT, displayShortName TEXT, description TEXT, displayDescription TEXT, startDate TEXT,endDate TEXT); -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/19.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - ALTER TABLE ProgramStage ADD COLUMN remindCompleted INTEGER; -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/20.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - CREATE TABLE SystemSetting (_id INTEGER PRIMARY KEY AUTOINCREMENT, key TEXT,value TEXT, UNIQUE (key)); -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/21.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - CREATE TABLE TrackedEntityAttributeReservedValue (_id INTEGER PRIMARY KEY AUTOINCREMENT, ownerObject TEXT,ownerUid TEXT,key TEXT,value TEXT,created TEXT,expiryDate TEXT,organisationUnit TEXT); -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/22.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - ALTER TABLE Program ADD COLUMN minAttributesRequiredToSearch INTEGER; -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/23.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - ALTER TABLE ProgramTrackedEntityAttribute ADD COLUMN searchable INTEGER; -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/24.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - ALTER TABLE Program ADD COLUMN maxTeiCountToReturn INTEGER; -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/4.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - CREATE TABLE DataSetOrganisationUnitLink (_id INTEGER PRIMARY KEY AUTOINCREMENT, dataSet TEXT NOT NULL,organisationUnit TEXT NOT NULL, FOREIGN KEY (dataSet) REFERENCES DataSet (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (organisationUnit) REFERENCES OrganisationUnit (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (dataSet, organisationUnit)); -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/8.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - CREATE TABLE ObjectStyle (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT,objectTable TEXT,color TEXT,icon TEXT, UNIQUE (uid)); -------------------------------------------------------------------------------- /core/src/androidTest/resources/migrations/old_migrations/9.yaml: -------------------------------------------------------------------------------- 1 | up: 2 | - DROP TABLE IF EXISTS ProgramStageSection; 3 | - CREATE TABLE ProgramStageSection (_id INTEGER PRIMARY KEY AUTOINCREMENT,uid TEXT NOT NULL UNIQUE,code TEXT,name TEXT,displayName TEXT,created TEXT,lastUpdated TEXT,sortOrder INTEGER,programStage TEXT NOT NULL,desktopRenderType TEXT,mobileRenderType TEXT, FOREIGN KEY ( programStage) REFERENCES ProgramStage (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 4 | - CREATE TABLE ValueTypeDeviceRendering (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT,objectTable TEXT,deviceType TEXT,type TEXT,min INTEGER,max INTEGER,step INTEGER,decimalPoints INTEGER, UNIQUE (uid, deviceType)); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/10.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE DataSetCompulsoryDataElementOperandsLink (_id INTEGER PRIMARY KEY AUTOINCREMENT, dataSet TEXT NOT NULL, dataElementOperand TEXT NOT NULL, FOREIGN KEY (dataSet) REFERENCES DataSet (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (dataElementOperand) REFERENCES DataElementOperand (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (dataSet, dataElementOperand)); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/100.sql: -------------------------------------------------------------------------------- 1 | # Fix for Nigeria issue ANDROSDK-1396 2 | UPDATE Event SET state = 'TO_UPDATE' WHERE state = 'UPLOADING'; 3 | 4 | UPDATE Enrollment SET state = 'TO_UPDATE' WHERE state = 'UPLOADING' OR uid IN (SELECT enrollment FROM Event WHERE state IN ('TO_POST', 'TO_UPDATE')); 5 | UPDATE Enrollment SET state = 'ERROR' WHERE uid IN (SELECT enrollment FROM Event WHERE state IN ('ERROR', 'WARNING')); 6 | 7 | UPDATE TrackedEntityInstance SET state = 'TO_UPDATE' WHERE state = 'UPLOADING' OR uid IN (SELECT trackedEntityInstance FROM Enrollment WHERE state IN ('TO_POST', 'TO_UPDATE')); 8 | UPDATE TrackedEntityInstance SET state = 'ERROR' WHERE uid IN (SELECT trackedEntityInstance FROM Enrollment WHERE state IN ('ERROR', 'WARNING')); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/102.sql: -------------------------------------------------------------------------------- 1 | # New table for tracker importer 2 | DROP TABLE TrackerJob; 3 | CREATE TABLE TrackerJobObject (_id INTEGER PRIMARY KEY AUTOINCREMENT, trackerType TEXT NOT NULL, objectUid TEXT NOT NULL, jobUid TEXT NOT NULL, lastUpdated TEXT NOT NULL); 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/103.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE DataValueConflict (_id INTEGER PRIMARY KEY AUTOINCREMENT, conflict TEXT, value TEXT, attributeOptionCombo TEXT, categoryOptionCombo TEXT, dataElement TEXT, period TEXT, orgUnit TEXT, errorCode TEXT, status TEXT, created TEXT, displayDescription TEXT); 2 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/105.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE AnalyticsDhisVisualization (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT, scopeUid TEXT, scope TEXT, groupUid TEXT, groupName TEXT, timestamp TEXT); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/107.sql: -------------------------------------------------------------------------------- 1 | # Add foreign key for visualization(uid) 2 | 3 | ALTER TABLE AnalyticsDhisVisualization RENAME TO AnalyticsDhisVisualization_Old; 4 | CREATE TABLE AnalyticsDhisVisualization (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL, scopeUid TEXT, scope TEXT, groupUid TEXT, groupName TEXT, timestamp TEXT, FOREIGN KEY (uid) REFERENCES Visualization (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 5 | INSERT INTO AnalyticsDhisVisualization (_id, uid, scopeUid, scope, groupUid, groupName, timestamp) SELECT _id, uid, scopeUid, scope, groupUid, groupName, timestamp FROM AnalyticsDhisVisualization_Old; 6 | DROP TABLE IF EXISTS AnalyticsDhisVisualization_Old; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/108.sql: -------------------------------------------------------------------------------- 1 | # Add local data store table 2 | 3 | CREATE TABLE LocalDataStore (_id INTEGER PRIMARY KEY AUTOINCREMENT, key TEXT NOT NULL UNIQUE, value TEXT); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/11.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE Option ADD COLUMN sortOrder INTEGER; 2 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/110.sql: -------------------------------------------------------------------------------- 1 | # Add allowScreenCapture to GeneralSetting 2 | 3 | ALTER TABLE GeneralSetting ADD COLUMN allowScreenCapture INTEGER; 4 | 5 | ALTER TABLE SynchronizationSetting RENAME TO SynchronizationSetting_Old; 6 | CREATE TABLE SynchronizationSetting (_id INTEGER PRIMARY KEY AUTOINCREMENT, dataSync TEXT, metadataSync TEXT, trackerImporterVersion TEXT); 7 | INSERT INTO SynchronizationSetting (_id, dataSync, metadataSync, trackerImporterVersion) SELECT _id, dataSync, metadataSync, null FROM SynchronizationSetting_Old; 8 | 9 | DROP TABLE SynchronizationSetting_Old; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/111.sql: -------------------------------------------------------------------------------- 1 | # Add userAssigned to UserOrganisationUnit 2 | 3 | ALTER TABLE UserOrganisationUnit RENAME TO UserOrganisationUnit_Old; 4 | CREATE TABLE UserOrganisationUnit (_id INTEGER PRIMARY KEY AUTOINCREMENT, user TEXT NOT NULL, organisationUnit TEXT NOT NULL, organisationUnitScope TEXT NOT NULL, root INTEGER, userAssigned INTEGER, FOREIGN KEY (user) REFERENCES User (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (organisationUnit) REFERENCES OrganisationUnit (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (organisationUnitScope, user, organisationUnit)); 5 | INSERT INTO UserOrganisationUnit (_id, user, organisationUnit, organisationUnitScope, root, userAssigned) SELECT _id, user, organisationUnit, organisationUnitScope, root, root FROM UserOrganisationUnit_Old; 6 | DROP TABLE IF EXISTS UserOrganisationUnit_Old; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/112.sql: -------------------------------------------------------------------------------- 1 | # Add title and subtitle to visualizations (ANDROSDK-1453) 2 | 3 | ALTER TABLE Visualization ADD COLUMN title TEXT; 4 | ALTER TABLE Visualization ADD COLUMN displayTitle TEXT; 5 | ALTER TABLE Visualization ADD COLUMN subtitle TEXT; 6 | ALTER TABLE Visualization ADD COLUMN displaySubtitle TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/114.sql: -------------------------------------------------------------------------------- 1 | # Add custom name for AnalyticsDhisVisualizations (ANDROSDK-1478) 2 | 3 | ALTER TABLE AnalyticsDhisVisualization ADD COLUMN name TEXT; 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/116.sql: -------------------------------------------------------------------------------- 1 | # NTI: Support granular sync of fileResources (ANDROSDK-1488) 2 | 3 | ALTER TABLE TrackerJobObject ADD COLUMN fileResources TEXT; 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/117.sql: -------------------------------------------------------------------------------- 1 | # Add IndicatorLegendSetLink table (ANDROSDK-1469) 2 | 3 | CREATE TABLE IndicatorLegendSetLink(_id INTEGER PRIMARY KEY AUTOINCREMENT, indicator TEXT NOT NULL, legendSet TEXT NOT NULL, FOREIGN KEY (indicator) REFERENCES Indicator (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (legendSet) REFERENCES LegendSet (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (indicator, legendSet)); 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/118.sql: -------------------------------------------------------------------------------- 1 | # Add legendSet info to visualizations (ANDROSDK-1472) 2 | 3 | ALTER TABLE Visualization ADD COLUMN legendShowKey TEXT; 4 | ALTER TABLE Visualization ADD COLUMN legendStyle TEXT; 5 | ALTER TABLE Visualization ADD COLUMN legendSetId TEXT; 6 | ALTER TABLE Visualization ADD COLUMN legendStrategy TEXT; 7 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/119.sql: -------------------------------------------------------------------------------- 1 | # Add renderType to ProgramSection (ANDROSDK-1492) 2 | 3 | ALTER TABLE ProgramSection ADD COLUMN desktopRenderType TEXT; 4 | ALTER TABLE ProgramSection ADD COLUMN mobileRenderType TEXT; 5 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/12.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE ProgramStage ADD COLUMN description TEXT; 2 | ALTER TABLE ProgramStage ADD COLUMN displayDescription TEXT; 3 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/120.sql: -------------------------------------------------------------------------------- 1 | # Add sortOrder to LegendSet Links, (ANDROSDK-1470) 2 | 3 | ALTER TABLE DataElementLegendSetLink ADD COLUMN sortOrder INTEGER; 4 | ALTER TABLE IndicatorLegendSetLink ADD COLUMN sortOrder INTEGER; 5 | ALTER TABLE ProgramIndicatorLegendSetLink ADD COLUMN sortOrder INTEGER; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/121.sql: -------------------------------------------------------------------------------- 1 | # Add ProgramTempOwner (ANDROSDK-1504) 2 | 3 | CREATE TABLE ProgramTempOwner (_id INTEGER PRIMARY KEY AUTOINCREMENT, program TEXT NOT NULL, trackedEntityInstance TEXT NOT NULL, created TEXT NOT NULL, validUntil TEXT NOT NULL, reason TEXT NOT NULL, FOREIGN KEY (program) REFERENCES Program (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/122.sql: -------------------------------------------------------------------------------- 1 | # Add messageOfTheDay (ANDROSDK-1500); add ProgramConfigurationSetting (ANDROSDK-1501) 2 | 3 | ALTER TABLE GeneralSetting ADD COLUMN messageOfTheDay TEXT; 4 | 5 | CREATE TABLE ProgramConfigurationSetting (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT, completionSpinner INTEGER, optionalSearch INTEGER); 6 | INSERT INTO ProgramConfigurationSetting(_id, uid, completionSpinner) SELECT _id, uid, visible FROM CompletionSpinner; 7 | 8 | DROP TABLE IF EXISTS CompletionSpinner; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/123.sql: -------------------------------------------------------------------------------- 1 | # Include SMS config in database (ANDROSDK-1370) 2 | 3 | CREATE TABLE SMSConfig (_id INTEGER PRIMARY KEY AUTOINCREMENT, key TEXT NOT NULL UNIQUE, value TEXT); 4 | CREATE TABLE SmsMetadataId (_id INTEGER PRIMARY KEY AUTOINCREMENT, type TEXT, uid TEXT); 5 | CREATE TABLE SMSOngoingSubmission (_id INTEGER PRIMARY KEY AUTOINCREMENT, submissionId INTEGER, type TEXT); 6 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/124.sql: -------------------------------------------------------------------------------- 1 | # Add restriction (ANDROSDK-1523); 2 | 3 | ALTER TABLE CategoryOptionOrganisationUnitLink RENAME TO CategoryOptionOrganisationUnitLink_Old; 4 | CREATE TABLE CategoryOptionOrganisationUnitLink (_id INTEGER PRIMARY KEY AUTOINCREMENT, categoryOption TEXT NOT NULL, organisationUnit TEXT, restriction TEXT, FOREIGN KEY (categoryOption) REFERENCES CategoryOption (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (organisationUnit) REFERENCES OrganisationUnit (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (categoryOption, organisationUnit)); 5 | INSERT INTO CategoryOptionOrganisationUnitLink (_id, organisationUnit, categoryOption) SELECT _id, organisationUnit, categoryOption FROM CategoryOptionOrganisationUnitLink_Old; 6 | DROP TABLE IF EXISTS CategoryOptionOrganisationUnitLink_Old; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/125.sql: -------------------------------------------------------------------------------- 1 | # Add TrackedEntityAttributeLegendSetLink (ANDROSDK-1546); 2 | 3 | CREATE TABLE TrackedEntityAttributeLegendSetLink (_id INTEGER PRIMARY KEY AUTOINCREMENT, trackedEntityAttribute TEXT NOT NULL, legendSet TEXT NOT NULL, sortOrder INTEGER, FOREIGN KEY (trackedEntityAttribute) REFERENCES TrackedEntityAttribute (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (legendSet) REFERENCES LegendSet (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (trackedEntityAttribute, legendSet)); 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/128.sql: -------------------------------------------------------------------------------- 1 | # Manage program ownership (ANDROSDK-1545); 2 | 3 | CREATE TABLE ProgramOwner (_id INTEGER PRIMARY KEY AUTOINCREMENT, program TEXT NOT NULL, trackedEntityInstance TEXT NOT NULL, ownerOrgUnit TEXT NOT NULL, syncState TEXT, FOREIGN KEY (program) REFERENCES Program (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (trackedEntityInstance) REFERENCES TrackedEntityInstance (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (ownerOrgUnit) REFERENCES OrganisationUnit (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (program, trackedEntityInstance)); 4 | INSERT INTO ProgramOwner (program, trackedEntityInstance, ownerOrgUnit, syncState) SELECT program, trackedEntityInstance, MAX(organisationUnit), MAX('SYNCED') FROM Enrollment GROUP BY program, trackedEntityInstance; 5 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/129.sql: -------------------------------------------------------------------------------- 1 | # Manage any file resource (ANDROSDK-1465); 2 | 3 | ALTER TABLE FileResource RENAME TO FileResource_Old; 4 | CREATE TABLE FileResource (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, name TEXT, created TEXT, lastUpdated TEXT, contentType TEXT, contentLength INTEGER, path TEXT, syncState TEXT, domain TEXT); 5 | INSERT INTO FileResource (_id, uid, name, created, lastUpdated, contentType, contentLength, path, syncState, domain) SELECT _id, uid, name, created, lastUpdated, contentType, contentLength, path, syncState, 'DATA_VALUE' FROM FileResource_Old; 6 | DROP TABLE IF EXISTS FileResource_Old; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/13.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE DataInputPeriod (_id INTEGER PRIMARY KEY AUTOINCREMENT, dataSet TEXT NOT NULL, period TEXT NOT NULL, openingDate TEXT, closingDate TEXT, FOREIGN KEY (dataSet) REFERENCES DataSet (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/131.sql: -------------------------------------------------------------------------------- 1 | # Add aggregationType to Visualization (ANDROSDK-1572); 2 | 3 | ALTER TABLE Visualization ADD COLUMN aggregationType TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/132.sql: -------------------------------------------------------------------------------- 1 | # Remove organisationUnit FK in UserOrganisationUnit (ANDROSDK-1414); 2 | 3 | ALTER TABLE UserOrganisationUnit RENAME TO UserOrganisationUnit_Old; 4 | CREATE TABLE UserOrganisationUnit (_id INTEGER PRIMARY KEY AUTOINCREMENT, user TEXT NOT NULL, organisationUnit TEXT NOT NULL, organisationUnitScope TEXT NOT NULL, root INTEGER, userAssigned INTEGER, FOREIGN KEY (user) REFERENCES User (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (organisationUnitScope, user, organisationUnit)); 5 | INSERT INTO UserOrganisationUnit (_id, user, organisationUnit, organisationUnitScope, root, userAssigned) SELECT _id, user, organisationUnit, organisationUnitScope, root, userAssigned FROM UserOrganisationUnit_Old; 6 | DROP TABLE IF EXISTS UserOrganisationUnit_Old; 7 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/133.sql: -------------------------------------------------------------------------------- 1 | # Code migration for (ANDROSDK-1582). Remove leading zeros for numeric values 2 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/134.sql: -------------------------------------------------------------------------------- 1 | # Add Manage StockUseCases (ANDROSDK-1602); 2 | 3 | CREATE TABLE StockUseCase (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, itemCode TEXT, itemDescription TEXT, programType TEXT, description TEXT, stockOnHand TEXT, FOREIGN KEY (uid) REFERENCES Program (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 4 | CREATE TABLE StockUseCaseTransaction (_id INTEGER PRIMARY KEY AUTOINCREMENT, programUid TEXT NOT NULL, sortOrder INTEGER, transactionType TEXT, distributedTo TEXT, stockDistributed TEXT, stockDiscarded TEXT, stockCorrected TEXT, FOREIGN KEY (programUid) REFERENCES StockUseCase (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 5 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/135.sql: -------------------------------------------------------------------------------- 1 | # Add Add built-in map layers (ANDROSDK-1605); 2 | 3 | CREATE TABLE MapLayer (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, name TEXT NOT NULL, displayName TEXT NOT NULL, external INTEGER, mapLayerPosition TEXT NOT NULL, style TEXT, imageUrl TEXT NOT NULL, subdomains TEXT, subdomainPlaceholder TEXT); 4 | CREATE TABLE MapLayerImageryProvider (_id INTEGER PRIMARY KEY AUTOINCREMENT, mapLayer TEXT NOT NULL, attribution TEXT NOT NULL, coverageAreas TEXT, FOREIGN KEY (mapLayer) REFERENCES MapLayer (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 5 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/136.sql: -------------------------------------------------------------------------------- 1 | # Add confidential to TrackedEntityAttribute (ANDROSDK-1613); 2 | 3 | ALTER TABLE TrackedEntityAttribute ADD COLUMN confidential INTEGER; 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/137.sql: -------------------------------------------------------------------------------- 1 | # Remove UserCredentials model (ANDROSDK-1584); 2 | 3 | ALTER TABLE User ADD COLUMN username TEXT; 4 | UPDATE User SET username = (SELECT username FROM UserCredentials) WHERE uid IS NOT NULL; 5 | DROP TABLE IF EXISTS UserCredentials; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/138.sql: -------------------------------------------------------------------------------- 1 | # Refactor stockCorrected by stockCount (ANDROSDK-1638); 2 | 3 | DELETE FROM StockUseCaseTransaction; 4 | DELETE FROM StockUseCase; 5 | 6 | DROP TABLE IF EXISTS StockUseCaseTransaction; 7 | CREATE TABLE StockUseCaseTransaction (_id INTEGER PRIMARY KEY AUTOINCREMENT, programUid TEXT NOT NULL, sortOrder INTEGER, transactionType TEXT, distributedTo TEXT, stockDistributed TEXT, stockDiscarded TEXT, stockCount TEXT, FOREIGN KEY (programUid) REFERENCES StockUseCase (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/139.sql: -------------------------------------------------------------------------------- 1 | # Add dataStore (ANDROSDK-1588); 2 | 3 | CREATE TABLE DataStore (_id INTEGER PRIMARY KEY AUTOINCREMENT, namespace TEXT NOT NULL, key TEXT NOT NULL, value TEXT, syncState TEXT, deleted INTEGER, UNIQUE(namespace, key)); 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/141.sql: -------------------------------------------------------------------------------- 1 | # Add validationStrategy property to programStages (ANDROSDK-1648); 2 | 3 | ALTER TABLE ProgramStage ADD COLUMN validationStrategy TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/142.sql: -------------------------------------------------------------------------------- 1 | # Add trackerExporterVersion property to synchronizationSetting (ANDROSDK-1652); 2 | 3 | ALTER TABLE SynchronizationSetting ADD COLUMN trackerExporterVersion TEXT; 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/143.sql: -------------------------------------------------------------------------------- 1 | # Add LatestAppVersion (ANDROSDK-1651); 2 | 3 | CREATE TABLE LatestAppVersion (_id INTEGER PRIMARY KEY AUTOINCREMENT, downloadURL TEXT, version TEXT); 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/144.sql: -------------------------------------------------------------------------------- 1 | # Add completedBy in Event table (ANDROSDK-1659) 2 | 3 | ALTER TABLE Event ADD COLUMN completedBy TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/145.sql: -------------------------------------------------------------------------------- 1 | # Add fileMaxLengthBytes in SynchronizationSetting table (ANDROSDK-1664) 2 | 3 | ALTER TABLE SynchronizationSetting ADD COLUMN fileMaxLengthBytes INTEGER; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/147.sql: -------------------------------------------------------------------------------- 1 | # Missing Visualization (ANDROSDK-1692) 2 | 3 | DELETE FROM AnalyticsDhisVisualization where uid NOT IN (SELECT uid FROM Visualization); 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/148.sql: -------------------------------------------------------------------------------- 1 | # Add style properties in Indicator table (ANDROSDK-1688) 2 | 3 | ALTER TABLE Indicator ADD COLUMN color TEXT; 4 | ALTER TABLE Indicator ADD COLUMN icon TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/149.sql: -------------------------------------------------------------------------------- 1 | # Add disableReferrals and collapsibleSections in ProgramConfigurationSetting table (ANDROSDK-1723 and ANDROSDK-1724) 2 | 3 | ALTER TABLE ProgramConfigurationSetting ADD COLUMN disableReferrals INTEGER; 4 | ALTER TABLE ProgramConfigurationSetting ADD COLUMN disableCollapsibleSections INTEGER; 5 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/15.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE ProgramStage ADD COLUMN featureType TEXT; 2 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/150.sql: -------------------------------------------------------------------------------- 1 | # Add description and displayDescription properties in ProgramStageSection table (ANDROSDK-1725) 2 | 3 | ALTER TABLE ProgramStageSection ADD COLUMN description TEXT; 4 | ALTER TABLE ProgramStageSection ADD COLUMN displayDescription TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/151.sql: -------------------------------------------------------------------------------- 1 | # Add itemHeaderProgramIndicator in ProgramStageSection table (ANDROSDK-1728) 2 | 3 | ALTER TABLE ProgramConfigurationSetting ADD COLUMN itemHeaderProgramIndicator TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/153.sql: -------------------------------------------------------------------------------- 1 | # Add experimentalFeatures in GeneralSetting (ANDROSDK-1786) 2 | 3 | ALTER TABLE GeneralSetting ADD COLUMN experimentalFeatures TEXT; 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/154.sql: -------------------------------------------------------------------------------- 1 | # Make dimensionItem not mandatory (ANDROSDK-1790) 2 | 3 | ALTER TABLE VisualizationDimensionItem RENAME TO VisualizationDimensionItem_Old; 4 | CREATE TABLE VisualizationDimensionItem(_id INTEGER PRIMARY KEY AUTOINCREMENT, visualization TEXT NOT NULL, position TEXT NOT NULL, dimension TEXT NOT NULL, dimensionItem TEXT, dimensionItemType TEXT, FOREIGN KEY (visualization) REFERENCES Visualization (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 5 | INSERT INTO VisualizationDimensionItem(_id, visualization, position, dimension, dimensionItem, dimensionItemType) SELECT _id, visualization, position, dimension, dimensionItem, dimensionItemType FROM VisualizationDimensionItem_Old; 6 | DROP TABLE IF EXISTS VisualizationDimensionItem_Old; 7 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/155.sql: -------------------------------------------------------------------------------- 1 | # Add syncState to TrackedEntityDataValue and TrackedEntityAttributeValue (ANDROSDK-1564) 2 | 3 | ALTER TABLE TrackedEntityDataValue ADD COLUMN syncState TEXT; 4 | UPDATE TrackedEntityDataValue SET syncState = (SELECT CASE ev.syncState WHEN 'SYNCED' THEN 'SYNCED' ELSE 'TO_UPDATE' END FROM Event ev WHERE ev.uid = event); 5 | 6 | ALTER TABLE TrackedEntityAttributeValue ADD COLUMN syncState TEXT; 7 | UPDATE TrackedEntityAttributeValue SET syncState = (SELECT CASE tei.syncState WHEN 'SYNCED' THEN 'SYNCED' ELSE 'TO_UPDATE' END FROM TrackedEntityInstance tei WHERE tei.uid = trackedEntityInstance); 8 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/156.sql: -------------------------------------------------------------------------------- 1 | # Add trackerDataView to RelationshipConstraint (ANDROSDK-1695) 2 | 3 | ALTER TABLE RelationshipConstraint ADD COLUMN trackerDataViewAttributes TEXT; 4 | ALTER TABLE RelationshipConstraint ADD COLUMN trackerDataViewDataElements TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/157.sql: -------------------------------------------------------------------------------- 1 | # Add tracker terminology (ANDROSDK-1806) 2 | 3 | ALTER TABLE Program ADD COLUMN enrollmentLabel TEXT; 4 | ALTER TABLE Program ADD COLUMN followUpLabel TEXT; 5 | ALTER TABLE Program ADD COLUMN orgUnitLabel TEXT; 6 | ALTER TABLE Program ADD COLUMN relationshipLabel TEXT; 7 | ALTER TABLE Program ADD COLUMN noteLabel TEXT; 8 | ALTER TABLE Program ADD COLUMN trackedEntityAttributeLabel TEXT; 9 | ALTER TABLE Program ADD COLUMN programStageLabel TEXT; 10 | ALTER TABLE Program ADD COLUMN eventLabel TEXT; 11 | 12 | ALTER TABLE ProgramStage ADD COLUMN programStageLabel TEXT; 13 | ALTER TABLE ProgramStage ADD COLUMN eventLabel TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/16.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE DataSetDataElementLink ADD COLUMN categoryCombo TEXT REFERENCES CategoryCombo (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/160.sql: -------------------------------------------------------------------------------- 1 | # Add CustomIcon model (ANDROSDK-1630) 2 | 3 | CREATE TABLE CustomIcon(_id INTEGER PRIMARY KEY AUTOINCREMENT, key TEXT NOT NULL, fileResource TEXT NOT NULL, href TEXT NOT NULL); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/161.sql: -------------------------------------------------------------------------------- 1 | # Add TrackerVisualization to ASWA (ANDROSDK-1811) 2 | 3 | ALTER TABLE AnalyticsDhisVisualization RENAME TO AnalyticsDhisVisualization_Old; 4 | CREATE TABLE AnalyticsDhisVisualization (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL, scopeUid TEXT, scope TEXT, groupUid TEXT, groupName TEXT, timestamp TEXT, name TEXT, type TEXT NOT NULL); 5 | INSERT INTO AnalyticsDhisVisualization(_id, uid, scopeUid, scope, groupUid, groupName, timestamp, name, type) SELECT _id, uid, scopeUid, scope, groupUid, groupName, timestamp, name, 'VISUALIZATION' FROM AnalyticsDhisVisualization_Old; 6 | DROP TABLE IF EXISTS AnalyticsDhisVisualization_Old; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/162.sql: -------------------------------------------------------------------------------- 1 | # Add UserGroup (ANDROSDK-1817) 2 | 3 | CREATE TABLE UserGroup (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, code TEXT, name TEXT, displayName TEXT, created TEXT, lastUpdated TEXT); 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/163.sql: -------------------------------------------------------------------------------- 1 | # Add bypassDHIS2VersionCheck to General Settings (ANDROSDK-1750) 2 | 3 | ALTER TABLE GeneralSetting ADD COLUMN bypassDHIS2VersionCheck INTEGER; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/165.sql: -------------------------------------------------------------------------------- 1 | # Add minimumLocationAccuracy and disableManualLocation to ProgramConfigurationSetting table (ANDROSDK-1897) 2 | 3 | ALTER TABLE ProgramConfigurationSetting ADD COLUMN minimumLocationAccuracy INTEGER; 4 | ALTER TABLE ProgramConfigurationSetting ADD COLUMN disableManualLocation INTEGER; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/166.sql: -------------------------------------------------------------------------------- 1 | # Add displayContent to ProgramRuleAction table (ANDROSDK-1908) 2 | 3 | ALTER TABLE ProgramRuleAction ADD COLUMN displayContent TEXT; 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/167.sql: -------------------------------------------------------------------------------- 1 | # Add quickActions to ProgramConfigurationSetting table (ANDROSDK-1971) 2 | 3 | ALTER TABLE ProgramConfigurationSetting ADD COLUMN quickActions TEXT; 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/168.sql: -------------------------------------------------------------------------------- 1 | # Add DataSetConfigurationSetting (ANDROSDK-1920) 2 | 3 | CREATE TABLE DataSetConfigurationSetting (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT, minimumLocationAccuracy INTEGER, disableManualLocation INTEGER); 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/169.sql: -------------------------------------------------------------------------------- 1 | # Add disableDataElementAutoGrouping and optionGroup items to Section table (ANDROSDK-1935) 2 | 3 | ALTER TABLE Section ADD COLUMN disableDataElementAutoGroup INTEGER; 4 | ALTER TABLE Section ADD COLUMN pivotMode TEXT; 5 | ALTER TABLE Section ADD COLUMN pivotedCategory TEXT; 6 | ALTER TABLE Section ADD COLUMN afterSectionText TEXT; 7 | ALTER TABLE Section ADD COLUMN beforeSectionText TEXT; 8 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/17.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE SystemInfo ADD COLUMN systemName TEXT; 2 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/170.sql: -------------------------------------------------------------------------------- 1 | # Add displayOptions to DataSet table (ANDROSDK-2031) 2 | 3 | ALTER TABLE DataSet ADD COLUMN header TEXT; 4 | ALTER TABLE DataSet ADD COLUMN subHeader TEXT; 5 | ALTER TABLE DataSet ADD COLUMN customTextAlign TEXT; 6 | ALTER TABLE DataSet ADD COLUMN tabsDirection TEXT; 7 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/18.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE OrganisationUnitGroup (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, code TEXT, name TEXT, displayName TEXT, created TEXT, lastUpdated TEXT, shortName TEXT, displayShortName TEXT); 2 | CREATE TABLE OrganisationUnitOrganisationUnitGroupLink (_id INTEGER PRIMARY KEY AUTOINCREMENT, organisationUnit TEXT NOT NULL, organisationUnitGroup TEXT NOT NULL, FOREIGN KEY (organisationUnit) REFERENCES OrganisationUnit (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (organisationUnitGroup) REFERENCES OrganisationUnitGroup (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (organisationUnit, organisationUnitGroup)); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/19.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE DataSetCompleteRegistration (_id INTEGER PRIMARY KEY AUTOINCREMENT, period TEXT NOT NULL, dataSet TEXT NOT NULL, organisationUnit TEXT NOT NULL, attributeOptionCombo TEXT, date TEXT, storedBy TEXT, state TEXT, FOREIGN KEY (dataSet) REFERENCES DataSet (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (period) REFERENCES Period (periodId), FOREIGN KEY (organisationUnit) REFERENCES OrganisationUnit (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (attributeOptionCombo) REFERENCES CategoryOptionCombo (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (period, dataSet, organisationUnit, attributeOptionCombo)); 2 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/2.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE TrackedEntityAttributeReservedValue (_id INTEGER PRIMARY KEY AUTOINCREMENT, ownerObject TEXT, ownerUid TEXT, key TEXT, value TEXT, created TEXT, expiryDate TEXT, organisationUnit TEXT); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/20.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE DataValue ADD COLUMN state TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/21.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE ProgramIndicator ADD COLUMN aggregationType TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/23.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE CategoryCategoryOptionLink ADD COLUMN sortOrder INTEGER; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/24.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE CategoryCategoryComboLink ADD COLUMN sortOrder INTEGER; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/25.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE SectionDataElementLink ADD COLUMN sortOrder INTEGER; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/26.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE DataElementOperand RENAME TO DataElementOperand_Old; 2 | CREATE TABLE DataElementOperand (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, dataElement TEXT, categoryOptionCombo TEXT, FOREIGN KEY (dataElement) REFERENCES DataElement (uid) DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (categoryOptionCombo) REFERENCES CategoryOptionCombo (uid) DEFERRABLE INITIALLY DEFERRED); 3 | INSERT INTO DataElementOperand (_id, uid, dataElement, categoryOptionCombo) SELECT _id, uid, dataElement, categoryOptionCombo FROM DataElementOperand_Old; 4 | DROP TABLE DataElementOperand_Old; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/27.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE IndicatorType RENAME TO IndicatorType_Old; 2 | CREATE TABLE IndicatorType (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, code TEXT, name TEXT, displayName TEXT, created TEXT, lastUpdated TEXT, number INTEGER, factor INTEGER); 3 | INSERT INTO IndicatorType (_id, uid, code, name, displayName, created, lastUpdated, number, factor) SELECT _id, uid, code, name, displayName, created, lastUpdated, number, factor FROM IndicatorType_Old; 4 | DROP TABLE IndicatorType_Old; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/29.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE CategoryOption ADD COLUMN accessDataWrite INTEGER; 2 | UPDATE CategoryOption SET accessDataWrite = 1; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/3.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE UserOrganisationUnit ADD COLUMN root INTEGER; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/31.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE Note ADD COLUMN uid TEXT; 2 | ALTER TABLE Note ADD COLUMN state TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/32.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE ForeignKeyViolation (_id INTEGER PRIMARY KEY AUTOINCREMENT, fromTable TEXT, fromColumn TEXT, toTable TEXT, toColumn TEXT, notFoundValue TEXT, fromObjectUid TEXT, fromObjectRow TEXT, created TEXT); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/33.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE D2Error (_id INTEGER PRIMARY KEY AUTOINCREMENT, resourceType TEXT, uid TEXT, url TEXT, errorComponent TEXT, errorCode TEXT, errorDescription TEXT, httpErrorCode INTEGER); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/34.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE D2Error ADD COLUMN created TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/35.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE Authority (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/36.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE TrackedEntityTypeAttribute (_id INTEGER PRIMARY KEY AUTOINCREMENT, trackedEntityType TEXT, trackedEntityAttribute TEXT, displayInList INTEGER, mandatory INTEGER, searchable INTEGER, sortOrder INTEGER, FOREIGN KEY (trackedEntityType) REFERENCES TrackedEntityType (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (trackedEntityAttribute) REFERENCES TrackedEntityAttribute (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/37.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE Relationship_temp (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, name TEXT, created TEXT, lastUpdated TEXT, relationshipType TEXT NOT NULL, FOREIGN KEY (relationshipType) REFERENCES RelationshipType (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 2 | INSERT INTO Relationship_temp SELECT _id, uid, name, created, lastUpdated, relationshipType FROM Relationship; 3 | DROP TABLE IF EXISTS Relationship; 4 | ALTER TABLE Relationship_temp RENAME TO Relationship; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/39.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE OptionGroup (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, code TEXT, name TEXT, displayName TEXT, created TEXT, lastUpdated TEXT, optionSet TEXT NOT NULL, FOREIGN KEY (optionSet) REFERENCES OptionSet (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 2 | CREATE TABLE OptionGroupOptionLink (_id INTEGER PRIMARY KEY AUTOINCREMENT, optionGroup TEXT NOT NULL, option TEXT NOT NULL, FOREIGN KEY (optionGroup) REFERENCES OptionGroup (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (option) REFERENCES Option (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (optionGroup, option)); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/4.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE TrackedEntityAttributeReservedValue ADD COLUMN temporalValidityDate TEXT; 2 | 3 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/41.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE OrganisationUnitLevel (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, code TEXT, name TEXT, displayName TEXT, created TEXT, lastUpdated TEXT, level INTEGER); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/43.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE Program ADD COLUMN featureType TEXT; 2 | UPDATE Program set featureType = CASE WHEN captureCoordinates THEN 'POINT' ELSE 'NONE' END; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/44.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE ProgramSection RENAME TO ProgramSection_Old; 2 | CREATE TABLE ProgramSection (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, code TEXT, name TEXT, displayName TEXT, created TEXT, lastUpdated TEXT, description TEXT, program TEXT, sortOrder INTEGER, formName TEXT, FOREIGN KEY (program) REFERENCES Program (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 3 | INSERT INTO ProgramSection (_id, uid, code, name, displayName, created, lastUpdated, description, program, sortOrder, formName) SELECT _id, uid, code, name, displayName, created, lastUpdated, description, program, sortOrder, formName FROM ProgramSection_Old; 4 | DROP TABLE ProgramSection_Old; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/45.sql: -------------------------------------------------------------------------------- 1 | CREATE UNIQUE INDEX event_data_element ON TrackedEntityDataValue(event, dataElement); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/46.sql: -------------------------------------------------------------------------------- 1 | CREATE UNIQUE INDEX tracked_entity_instance_attribute ON TrackedEntityAttributeValue(trackedEntityInstance, trackedEntityAttribute); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/47.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE DataSet ADD COLUMN workflow TEXT; 2 | CREATE TABLE DataApproval (_id INTEGER PRIMARY KEY AUTOINCREMENT, workflow TEXT NOT NULL, organisationUnit TEXT NOT NULL, period TEXT NOT NULL, attributeOptionCombo TEXT NOT NULL, state TEXT, FOREIGN KEY (attributeOptionCombo) REFERENCES CategoryOptionCombo (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (period) REFERENCES Period (periodId), FOREIGN KEY (organisationUnit) REFERENCES OrganisationUnit (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (attributeOptionCombo, period, organisationUnit, workflow)); 3 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/49.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE TrackerImportConflict (_id INTEGER PRIMARY KEY AUTOINCREMENT, conflict TEXT, value TEXT, trackedEntityInstance TEXT, enrollment TEXT, event TEXT, tableReference TEXT, errorCode TEXT, status TEXT, created TEXT, FOREIGN KEY (trackedEntityInstance) REFERENCES TrackedEntityInstance (uid) DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (enrollment) REFERENCES Enrollment (uid) DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (event) REFERENCES Event (uid) DEFERRABLE INITIALLY DEFERRED); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/5.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE CategoryOptionComboCategoryOptionLink (_id INTEGER PRIMARY KEY AUTOINCREMENT, categoryOptionCombo TEXT NOT NULL, categoryOption TEXT NOT NULL, FOREIGN KEY (categoryOptionCombo) REFERENCES CategoryOptionCombo (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (categoryOption) REFERENCES CategoryOption (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (categoryOptionCombo, categoryOption)); 2 | INSERT INTO CategoryOptionComboCategoryOptionLink (_id, categoryOptionCombo, categoryOption) SELECT _id, categoryOptionCombo, category FROM CategoryOptionComboCategoryLink; 3 | DROP TABLE IF EXISTS CategoryOptionComboCategoryLink; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/52.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE ProgramOrganisationUnitLastUpdated (_id INTEGER PRIMARY KEY AUTOINCREMENT, program TEXT NOT NULL, organisationUnit TEXT NOT NULL, lastSynced TEXT, FOREIGN KEY (program) REFERENCES Program (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (organisationUnit) REFERENCES OrganisationUnit (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (organisationUnit, program)); 2 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/53.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE RelationshipType RENAME TO RelationshipType_Old; 2 | CREATE TABLE RelationshipType (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, code TEXT, name TEXT, displayName TEXT, created TEXT, lastUpdated TEXT, fromToName TEXT, toFromName TEXT, bidirectional INTEGER, accessDataWrite INTEGER ); 3 | INSERT INTO RelationshipType (_id, uid, code, name, displayName, created, lastUpdated, fromToName, toFromName, bidirectional, accessDataWrite) SELECT _id, uid, code, name, displayName, created, lastUpdated, bIsToA, AIsToB, 0, 1 FROM RelationshipType_Old; 4 | DROP TABLE RelationshipType_Old; 5 | DELETE FROM Resource WHERE resourceType = 'RELATIONSHIP_TYPE'; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/59.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE DataElement ADD COLUMN fieldMask TEXT; 2 | ALTER TABLE TrackedEntityAttribute ADD COLUMN fieldMask TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/6.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE ProgramStageSectionProgramIndicatorLinkTable RENAME TO ProgramStageSectionProgramIndicatorLink; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/60.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE FileResource (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, name TEXT, created TEXT, lastUpdated TEXT, contentType TEXT, contentLength INTEGER, path TEXT, state TEXT); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/62.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE SectionGreyedFieldsLink RENAME TO SectionGreyedFieldsLink_old; 2 | CREATE TABLE SectionGreyedFieldsLink (_id INTEGER PRIMARY KEY AUTOINCREMENT, section TEXT NOT NULL, dataElementOperand TEXT NOT NULL, categoryOptionCombo TEXT, FOREIGN KEY (section) REFERENCES Section (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (dataElementOperand) REFERENCES DataElementOperand (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (categoryOptionCombo) REFERENCES CategoryOptionCombo (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (section, dataElementOperand, categoryOptionCombo)); 3 | INSERT INTO SectionGreyedFieldsLink (_id, section, dataElementOperand) SELECT _id, section, dataElementOperand FROM SectionGreyedFieldsLink_old; 4 | DROP TABLE IF EXISTS SectionGreyedFieldsLink_old; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/63.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE AuthenticatedUser_temp (_id INTEGER PRIMARY KEY AUTOINCREMENT, user TEXT NOT NULL UNIQUE, hash TEXT, FOREIGN KEY (user) REFERENCES User (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 2 | INSERT INTO AuthenticatedUser_temp (_id, user, hash) SELECT _id, user, hash FROM AuthenticatedUser; 3 | DROP TABLE IF EXISTS AuthenticatedUser; 4 | ALTER TABLE AuthenticatedUser_temp RENAME TO AuthenticatedUser; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/65.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE OrganisationUnit ADD COLUMN geometryType TEXT; 2 | ALTER TABLE OrganisationUnit ADD COLUMN geometryCoordinates TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/66.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/assets/migrations/66.sql -------------------------------------------------------------------------------- /core/src/main/assets/migrations/67.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE ProgramStage ADD COLUMN enableUserAssignment INTEGER; 2 | ALTER TABLE Event ADD COLUMN assignedUser TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/69.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE Note_temp (_id INTEGER PRIMARY KEY AUTOINCREMENT, noteType TEXT, event TEXT, enrollment TEXT, value TEXT, storedBy TEXT, storedDate TEXT, uid TEXT, state TEXT, deleted INTEGER, FOREIGN KEY (event) REFERENCES Event (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (enrollment) REFERENCES Enrollment (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (noteType, event, enrollment, value, storedBy, storedDate)); 2 | INSERT INTO Note_temp (_id, noteType, enrollment, value, storedBy, storedDate, uid, state, deleted) SELECT _id, 'ENROLLMENT_NOTE', enrollment, value, storedBy, storedDate, uid, state, 0 FROM Note; 3 | DROP TABLE IF EXISTS Note; 4 | ALTER TABLE Note_temp RENAME TO Note; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/7.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE Section (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, code TEXT, name TEXT, displayName TEXT, created TEXT, lastUpdated TEXT, description TEXT, sortOrder INTEGER, dataSet TEXT NOT NULL, showRowTotals INTEGER, showColumnTotals INTEGER, FOREIGN KEY (dataSet) REFERENCES DataSet (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 2 | CREATE TABLE SectionDataElementLink (_id INTEGER PRIMARY KEY AUTOINCREMENT, section TEXT NOT NULL, dataElement TEXT NOT NULL, FOREIGN KEY (section) REFERENCES Section (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (dataElement) REFERENCES DataElement (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (section, dataElement)); 3 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/70.sql: -------------------------------------------------------------------------------- 1 | # State and deleted columns in Relationships to track changes and delete them individually 2 | ALTER TABLE Relationship ADD COLUMN state TEXT; 3 | ALTER TABLE Relationship ADD COLUMN deleted INTEGER; 4 | UPDATE Relationship SET state = 'SYNCED', deleted = 0; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/71.sql: -------------------------------------------------------------------------------- 1 | # Create index to speed up common option queries 2 | CREATE INDEX optionset_optioncode ON Option(optionSet, code); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/72.sql: -------------------------------------------------------------------------------- 1 | # Related to ANDROSDK-1138 2 | UPDATE D2Error SET errorComponent = 'SDK' WHERE errorComponent IS NULL; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/73.sql: -------------------------------------------------------------------------------- 1 | # Related to ANDROSDK-1151 2 | UPDATE DataSetCompleteRegistration SET date = date() || 'T00:00:00.000' WHERE date IS NULL; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/74.sql: -------------------------------------------------------------------------------- 1 | # Related to ANDROSDK-1147 2 | ALTER TABLE ProgramSectionAttributeLink ADD COLUMN sortOrder INTEGER; 3 | UPDATE ProgramSectionAttributeLink SET sortOrder=_id; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/75.sql: -------------------------------------------------------------------------------- 1 | # Related to ANDROSDK-831 2 | ALTER TABLE TrackedEntityAttribute ADD COLUMN displayFormName TEXT; 3 | UPDATE TrackedEntityAttribute SET displayFormName=displayName; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/77.sql: -------------------------------------------------------------------------------- 1 | # Creates the user settings table 2 | CREATE TABLE UserSettings (_id INTEGER PRIMARY KEY AUTOINCREMENT, keyUiLocale TEXT, keyDbLocale TEXT); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/78.sql: -------------------------------------------------------------------------------- 1 | # Creates the table AggregatedDataSync 2 | CREATE TABLE AggregatedDataSync (_id INTEGER PRIMARY KEY AUTOINCREMENT, dataSet TEXT NOT NULL UNIQUE, periodType TEXT NOT NULL, pastPeriods INTEGER NOT NULL, futurePeriods INTEGER NOT NULL, dataElementsHash INTEGER NOT NULL, organisationUnitsHash INTEGER NOT NULL, lastUpdated TEXT NOT NULL, FOREIGN KEY (dataSet) REFERENCES DataSet (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/79.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE Enrollment ADD COLUMN completedDate TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/8.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE AuthenticatedUser_temp (_id INTEGER PRIMARY KEY AUTOINCREMENT, user TEXT NOT NULL UNIQUE, credentials TEXT, hash TEXT, FOREIGN KEY (user) REFERENCES User (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 2 | INSERT INTO AuthenticatedUser_temp (_id, user, credentials) SELECT _id, user, credentials FROM AuthenticatedUser; 3 | DROP TABLE IF EXISTS AuthenticatedUser; 4 | ALTER TABLE AuthenticatedUser_temp RENAME TO AuthenticatedUser; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/80.sql: -------------------------------------------------------------------------------- 1 | # Creates the table TrackedEntityInstanceSync 2 | CREATE TABLE TrackedEntityInstanceSync (_id INTEGER PRIMARY KEY AUTOINCREMENT, program TEXT UNIQUE, downloadLimit INTEGER NOT NULL, lastUpdated TEXT NOT NULL, FOREIGN KEY (program) REFERENCES Program (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/81.sql: -------------------------------------------------------------------------------- 1 | # Creates the table TrackedEntityInstanceSync 2 | CREATE TABLE EventSync (_id INTEGER PRIMARY KEY AUTOINCREMENT, program TEXT UNIQUE, downloadLimit INTEGER NOT NULL, lastUpdated TEXT NOT NULL, FOREIGN KEY (program) REFERENCES Program (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/82.sql: -------------------------------------------------------------------------------- 1 | # Adds pattern to TrackedEntityAttributeReservedValue 2 | ALTER TABLE TrackedEntityAttributeReservedValue ADD COLUMN pattern TEXT; 3 | update TrackedEntityAttributeReservedValue set pattern = key; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/83.sql: -------------------------------------------------------------------------------- 1 | # Adds displayDescription to TrackerImportConflict 2 | ALTER TABLE TrackerImportConflict ADD COLUMN displayDescription TEXT; 3 | ALTER TABLE TrackerImportConflict ADD COLUMN trackedEntityAttribute TEXT; 4 | ALTER TABLE TrackerImportConflict ADD COLUMN dataElement TEXT; 5 | UPDATE TrackerImportConflict SET displayDescription = conflict; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/84.sql: -------------------------------------------------------------------------------- 1 | # Adds accessDataWrite to TrackedEntityType 2 | ALTER TABLE TrackedEntityType ADD COLUMN accessDataWrite INTEGER; 3 | UPDATE TrackedEntityType SET accessDataWrite = 1; 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/85.sql: -------------------------------------------------------------------------------- 1 | # Creates table CategoryOptionOrganisationUnitLink 2 | CREATE TABLE CategoryOptionOrganisationUnitLink (_id INTEGER PRIMARY KEY AUTOINCREMENT, categoryOption TEXT NOT NULL, organisationUnit TEXT NOT NULL, FOREIGN KEY (categoryOption) REFERENCES CategoryOption (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (organisationUnit) REFERENCES OrganisationUnit (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (categoryOption, organisationUnit)); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/88.sql: -------------------------------------------------------------------------------- 1 | # Drops unused table ProgramOrganisationUnitLastUpdated 2 | DROP TABLE ProgramOrganisationUnitLastUpdated; 3 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/89.sql: -------------------------------------------------------------------------------- 1 | # Add organisationUnitId hash to TrackedEntityInstanceSync and EventSync 2 | DROP TABLE TrackedEntityInstanceSync; 3 | DROP TABLE EventSync; 4 | CREATE TABLE TrackedEntityInstanceSync (_id INTEGER PRIMARY KEY AUTOINCREMENT, program TEXT, organisationUnitIdsHash INTEGER, downloadLimit INTEGER NOT NULL, lastUpdated TEXT NOT NULL, FOREIGN KEY (program) REFERENCES Program (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (program, organisationUnitIdsHash)); 5 | CREATE TABLE EventSync (_id INTEGER PRIMARY KEY AUTOINCREMENT, program TEXT, organisationUnitIdsHash INTEGER, downloadLimit INTEGER NOT NULL, lastUpdated TEXT NOT NULL, FOREIGN KEY (program) REFERENCES Program (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (program, organisationUnitIdsHash)); 6 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/9.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE DataElementOperand (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT NOT NULL UNIQUE, name TEXT, displayName TEXT, created TEXT, lastUpdated TEXT, shortName TEXT, displayShortName TEXT, dataElement TEXT, categoryOptionCombo TEXT, FOREIGN KEY (dataElement) REFERENCES DataElement (uid) DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (categoryOptionCombo) REFERENCES CategoryOptionCombo (uid) DEFERRABLE INITIALLY DEFERRED); 2 | CREATE TABLE SectionGreyedFieldsLink (_id INTEGER PRIMARY KEY AUTOINCREMENT, section TEXT NOT NULL, dataElementOperand TEXT NOT NULL, FOREIGN KEY (section) REFERENCES Section (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (dataElementOperand) REFERENCES DataElementOperand (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (section, dataElementOperand)); -------------------------------------------------------------------------------- /core/src/main/assets/migrations/90.sql: -------------------------------------------------------------------------------- 1 | # Adds decimals to Indicator 2 | ALTER TABLE Indicator ADD COLUMN decimals INTEGER; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/91.sql: -------------------------------------------------------------------------------- 1 | # Creates the a table to save the number of the values to reserve for attribute 2 | CREATE TABLE ReservedValueSetting (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT UNIQUE, numberOfValuesToReserve INTEGER, FOREIGN KEY (uid) REFERENCES TrackedEntityAttribute (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED); 3 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/92.sql: -------------------------------------------------------------------------------- 1 | # Adds jobs for new tracker importer 2 | CREATE TABLE TrackerJob (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT UNIQUE); 3 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/93.sql: -------------------------------------------------------------------------------- 1 | # Adds table SectionIndicatorLink 2 | CREATE TABLE SectionIndicatorLink (_id INTEGER PRIMARY KEY AUTOINCREMENT, section TEXT NOT NULL, indicator TEXT NOT NULL, FOREIGN KEY (section) REFERENCES Section (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (indicator) REFERENCES Indicator (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (section, indicator)); 3 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/94.sql: -------------------------------------------------------------------------------- 1 | # Add Data Element Legend Set Link 2 | CREATE TABLE DataElementLegendSetLink (_id INTEGER PRIMARY KEY AUTOINCREMENT, dataElement TEXT NOT NULL, legendSet TEXT NOT NULL, FOREIGN KEY (dataElement) REFERENCES DataElement (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY (legendSet) REFERENCES LegendSet (uid) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, UNIQUE (dataElement, legendSet)); 3 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/97.sql: -------------------------------------------------------------------------------- 1 | # Create filter settings for remote filters configuration 2 | CREATE TABLE FilterSetting (_id INTEGER PRIMARY KEY AUTOINCREMENT, scope TEXT, filterType TEXT, uid TEXT, sort INTEGER, filter INTEGER); 3 | CREATE TABLE CompletionSpinner (_id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT, visible INTEGER); 4 | -------------------------------------------------------------------------------- /core/src/main/assets/migrations/98.sql: -------------------------------------------------------------------------------- 1 | # Adds column ValidationRule.organisationUnitLevels, which was missing in migration 76 2 | ALTER TABLE ValidationRule ADD COLUMN organisationUnitLevels TEXT; -------------------------------------------------------------------------------- /core/src/main/assets/migrations/99.sql: -------------------------------------------------------------------------------- 1 | # Adds column ProgramStage.dueDateLabel 2 | ALTER TABLE ProgramStage ADD COLUMN dueDateLabel TEXT; -------------------------------------------------------------------------------- /core/src/main/java/org/hisp/dhis/android/core/arch/db/adapters/custom/internal/DataDeleteColumnAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/java/org/hisp/dhis/android/core/arch/db/adapters/custom/internal/DataDeleteColumnAdapter.java -------------------------------------------------------------------------------- /core/src/main/java/org/hisp/dhis/android/core/event/internal/EventImportHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/java/org/hisp/dhis/android/core/event/internal/EventImportHandler.java -------------------------------------------------------------------------------- /core/src/main/res/drawable/afghanistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/afghanistan.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/africare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/africare.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/akros.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/akros.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/algeria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/algeria.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/angola.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/angola.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/armenia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/armenia.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/bangladesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/bangladesh.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/benin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/benin.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/bhutan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/bhutan.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/botswana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/botswana.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/burkina_faso.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/burkina_faso.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/burkina_faso_coat_of_arms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/burkina_faso_coat_of_arms.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/burundi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/burundi.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/cambodia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/cambodia.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/cameroon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/cameroon.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/cape_verde.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/cape_verde.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/chad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/chad.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/china.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/china.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/colombia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/colombia.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/congo_brazzaville.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/congo_brazzaville.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/congo_kinshasa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/congo_kinshasa.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/cordaid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/cordaid.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/demoland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/demoland.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/denmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/denmark.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/dhis2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/dhis2.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/east_africa_community.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/east_africa_community.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/ecowas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/ecowas.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/ecuador.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/ecuador.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/egypt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/egypt.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/engender_health.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/engender_health.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/equatorial_guinea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/equatorial_guinea.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/eritrea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/eritrea.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/ethiopia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/ethiopia.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/fhi360.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/fhi360.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/forut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/forut.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/gambia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/gambia.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/ghana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/ghana.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/global_fund.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/global_fund.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/grenada.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/grenada.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/guinea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/guinea.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/guinea_bissau.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/guinea_bissau.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/haiti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/haiti.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/honduras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/honduras.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_alert_circle_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_alert_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_alert_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_alert_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_ambulatory_clinic_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_church_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_church_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_circle_large_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_circle_medium_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_circle_medium_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_circle_medium_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_circle_small_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_circle_small_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_circle_small_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_clinical_a_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_clinical_a_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_credit_card_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_credit_card_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_credit_card_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_forum_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_forum_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_heart_cardiogram_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_heart_cardiogram_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_heart_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_heart_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_high_bars_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_home_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_i_utensils_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_implant_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_implant_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_implant_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_info_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_info_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_iud_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_iud_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_magnifying_glass_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_negative_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_negative_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 14 | 15 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_negative_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_peace_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_peace_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_person_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_person_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_phone_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_phone_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_pill_1_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_pill_1_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_positive_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_provider_fst_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_provider_fst_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_provider_fst_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_refused_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_running_water_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_running_water_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_rural_post_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_sayana_press_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_sayana_press_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_square_large_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_square_large_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_square_large_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_square_medium_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_square_medium_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_square_medium_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_square_small_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_square_small_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_square_small_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_triangle_large_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_triangle_large_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_triangle_large_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_triangle_medium_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_triangle_medium_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_triangle_medium_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_triangle_small_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_triangle_small_outline.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_triangle_small_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_yes_negative.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_yes_positive.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/drawable/icap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/icap.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/ima.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/ima.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/india.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/india.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/indonesia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/indonesia.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/international_hiv_aids_alliance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/international_hiv_aids_alliance.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/ippf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/ippf.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/iran.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/iran.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/iraq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/iraq.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/irc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/irc.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/ivory_coast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/ivory_coast.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/jhpiego.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/jhpiego.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/kenya.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/kenya.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/kiribati.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/kiribati.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/kurdistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/kurdistan.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/laos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/laos.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/lesotho.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/lesotho.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/liberia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/liberia.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/malawi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/malawi.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/maldives.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/maldives.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/mali.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/mali.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/mauritania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/mauritania.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/mhrp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/mhrp.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/mongolia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/mongolia.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/mozambique.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/mozambique.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/msf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/msf.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/msh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/msh.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/msh_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/msh_white.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/msi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/msi.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/myanmar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/myanmar.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/namibia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/namibia.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/nepal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/nepal.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/nicaragua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/nicaragua.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/niger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/niger.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/nigeria.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/nigeria.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/norway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/norway.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/pakistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/pakistan.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/palestine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/palestine.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/palladium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/palladium.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/paraguay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/paraguay.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/pathfinder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/pathfinder.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/pepfar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/pepfar.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/peru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/peru.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/philippines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/philippines.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/planned_parenthood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/planned_parenthood.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/psi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/psi.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/puntland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/puntland.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/republic_of_trinidad_and_tobago.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/republic_of_trinidad_and_tobago.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/rwanda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/rwanda.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/save_the_children.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/save_the_children.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/senegal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/senegal.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/sierra_leone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/sierra_leone.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/sierra_leone_coat_of_arms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/sierra_leone_coat_of_arms.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/solomon_islands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/solomon_islands.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/somalia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/somalia.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/somaliland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/somaliland.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/south_africa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/south_africa.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/south_africa_department_of_health.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/south_africa_department_of_health.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/south_sudan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/south_sudan.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/sri_lanka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/sri_lanka.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/sudan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/sudan.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/swaziland.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/swaziland.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/sweden.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/sweden.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/tajikistan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/tajikistan.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/tanzania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/tanzania.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/timor_leste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/timor_leste.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/togo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/togo.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/tonga.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/tonga.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/uganda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/uganda.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/usaid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/usaid.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/vanuatu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/vanuatu.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/vietnam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/vietnam.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/who.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/who.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/zambia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/zambia.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/zanzibar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/zanzibar.png -------------------------------------------------------------------------------- /core/src/main/res/drawable/zimbabwe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/main/res/drawable/zimbabwe.png -------------------------------------------------------------------------------- /core/src/sharedTest/resources/attribute/attributeValue.json: -------------------------------------------------------------------------------- 1 | { 2 | "value": "value_test", 3 | "attribute": { 4 | "id": "r6KOit2qCGw" 5 | } 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/authority/authorities.json: -------------------------------------------------------------------------------- 1 | [ 2 | "F_ENROLLMENT_CASCADE_DELETE", 3 | "F_TEI_CASCADE_DELETE" 4 | ] -------------------------------------------------------------------------------- /core/src/sharedTest/resources/category/category_option.json: -------------------------------------------------------------------------------- 1 | { 2 | "lastUpdated": "2016-08-08T11:17:59.448", 3 | "id": "cQYFfHX9oIT", 4 | "created": "2016-08-08T11:17:59.448", 5 | "name": "Green", 6 | "shortName": "Green", 7 | "displayName": "Green", 8 | "displayShortName": "Green", 9 | "startDate": "2016-04-01T00:00:00.000", 10 | "endDate": "2016-05-01T00:00:00.000", 11 | "externalAccess": false, 12 | "dimensionItem": "cQYFfHX9oIT", 13 | "dimensionItemType": "CATEGORY_OPTION", 14 | "categories": [], 15 | "organisationUnits": [], 16 | "categoryOptionCombos": [], 17 | "categoryOptionGroups": [] 18 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/category/category_option_combo.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": "COC_358963", 3 | "lastUpdated": "2011-12-24T12:24:25.319", 4 | "id": "S34ULMcHMca", 5 | "created": "2011-12-24T12:24:25.319", 6 | "name": "0-11m", 7 | "displayName": "0-11m", 8 | "externalAccess": false, 9 | "ignoreApproval": false, 10 | "dimensionItem": "S34ULMcHMca", 11 | "categoryCombo": { 12 | "id": "t3aNCvHsoSn" 13 | }, 14 | "translations": [], 15 | "categoryOptions": [ 16 | { 17 | "id": "FbLZS3ueWbQ" 18 | } 19 | ], 20 | "userGroupAccesses": [], 21 | "attributeValues": [] 22 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/category/category_option_orgunits.json: -------------------------------------------------------------------------------- 1 | { 2 | "as6ygGvUGNg": [ 3 | "DiszpKrYNg8" 4 | ], 5 | "TNYQzTHdoxL": [ 6 | "DiszpKrYNg8" 7 | ], 8 | "TXGfLxZlInA":[ 9 | null 10 | ] 11 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/common/access.json: -------------------------------------------------------------------------------- 1 | { 2 | "read": true, 3 | "update": true, 4 | "externalize": false, 5 | "delete": true, 6 | "write": true, 7 | "manage": true, 8 | "data": { 9 | "read": true, 10 | "write": true 11 | } 12 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/common/data_access.json: -------------------------------------------------------------------------------- 1 | { 2 | "read": true, 3 | "write": false 4 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/common/empty_object.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/common/object_style.json: -------------------------------------------------------------------------------- 1 | { 2 | "style": { 3 | "color": "#fff", 4 | "icon": "my-icon-name" 5 | } 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/common/value_type_device_rendering.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "VERTICAL_RADIOBUTTONS", 3 | "min": 0, 4 | "max": 10, 5 | "step": 1, 6 | "decimalPoints": 0 7 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/common/value_type_rendering.json: -------------------------------------------------------------------------------- 1 | { 2 | "DESKTOP": { 3 | "type": "VERTICAL_RADIOBUTTONS", 4 | "min": 0, 5 | "max": 10, 6 | "step": 1, 7 | "decimalPoints": 0 8 | }, 9 | "MOBILE": { 10 | "type": "SHARED_HEADER_RADIOBUTTONS", 11 | "min": 3, 12 | "max": 15, 13 | "step": 2, 14 | "decimalPoints": 1 15 | } 16 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/configuration/databases_configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "versionCode": 260, 3 | "maxAccounts": 3, 4 | "accounts": [ 5 | { 6 | "username": "user1", 7 | "serverUrl": "server1", 8 | "databaseName": "dbname1.db", 9 | "encrypted": true, 10 | "databaseCreationDate": "2014-06-06T20:44:21.375" 11 | }, 12 | { 13 | "username": "user2", 14 | "serverUrl": "server2", 15 | "databaseName": "dbname2.db", 16 | "encrypted": true, 17 | "databaseCreationDate": "2014-06-04T20:44:21.375" 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/configuration/databases_configuration_old.json: -------------------------------------------------------------------------------- 1 | { 2 | "loggedServerUrl": "https://dhis2.org", 3 | "servers": [ 4 | { 5 | "serverUrl": "https://dhis2.org", 6 | "users": [ 7 | { 8 | "username": "user", 9 | "databaseName": "dbname.db", 10 | "encrypted": true, 11 | "databaseCreationDate": "2014-06-06T20:44:21.375" 12 | } 13 | ] 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/constant/constant.json: -------------------------------------------------------------------------------- 1 | { 2 | "created": "2013-03-11T16:39:33.083", 3 | "lastUpdated": "2013-03-11T16:39:33.083", 4 | "name": "Pi", 5 | "href": "https://play.dhis2.org/demo/api/constants/bCqvfPR02Im", 6 | "id": "bCqvfPR02Im", 7 | "displayName": "Pi", 8 | "externalAccess": false, 9 | "value": 3.14, 10 | "access": { 11 | "read": true, 12 | "updateWithSection": false, 13 | "externalize": false, 14 | "delete": false, 15 | "write": false, 16 | "manage": false 17 | }, 18 | "userGroupAccesses": [], 19 | "attributeValues": [], 20 | "translations": [] 21 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/dataapproval/data_approval.json: -------------------------------------------------------------------------------- 1 | { 2 | "aoc": "sSeEjeQ0Rgt", 3 | "pe": "2019", 4 | "ou": "YuQRtpLP10I", 5 | "permissions": { 6 | "mayApprove": false, 7 | "mayUnapprove": false, 8 | "mayAccept": false, 9 | "mayUnaccept": false, 10 | "mayReadData": true 11 | }, 12 | "state": "UNAPPROVED_WAITING", 13 | "wf": "SGPwZDBfBDT" 14 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/dataapproval/data_approvals_multiple.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "aoc": "Gmbgme7z9BF", 4 | "pe": "2018", 5 | "ou": "DiszpKrYNg8", 6 | "permissions": { 7 | "mayApprove": false, 8 | "mayUnapprove": false, 9 | "mayAccept": false, 10 | "mayUnaccept": false, 11 | "mayReadData": true 12 | }, 13 | "state": "UNAPPROVED_ABOVE", 14 | "wf": "rIUL3hYOjJc" 15 | } 16 | ] -------------------------------------------------------------------------------- /core/src/sharedTest/resources/dataelement/data_element_operand.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "ca8lfO062zg.Prlt0C1RF0s", 3 | "deleted": false, 4 | "categoryOptionCombo": { 5 | "id": "Prlt0C1RF0s" 6 | }, 7 | "dataElement": { 8 | "id": "ca8lfO062zg" 9 | } 10 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/dataset/data_input_period.json: -------------------------------------------------------------------------------- 1 | { 2 | "closingDate": "2018-01-09T23:00:00.000", 3 | "openingDate": "2017-12-31T23:00:00.000", 4 | "period": { 5 | "id": "201801" 6 | } 7 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/dataset/data_set_complete_registration.json: -------------------------------------------------------------------------------- 1 | { 2 | "period": "201703", 3 | "dataSet": "BfMAe6Itzgt", 4 | "organisationUnit": "DiszpKrYNg8", 5 | "attributeOptionCombo": "HllvX50cXC0", 6 | "date": "2010-04-05", 7 | "storedBy": "admin" 8 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/dataset/data_set_complete_registration_with_completed.json: -------------------------------------------------------------------------------- 1 | { 2 | "period": "201703", 3 | "dataSet": "BfMAe6Itzgt", 4 | "organisationUnit": "DiszpKrYNg8", 5 | "attributeOptionCombo": "HllvX50cXC0", 6 | "date": "2010-04-05", 7 | "storedBy": "admin", 8 | "completed": false 9 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/datastore/actions/namespace_key_deleted_200.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpStatus": "OK", 3 | "httpStatusCode": 200, 4 | "status": "OK", 5 | "message": "Key 'config' deleted from namespace 'android'" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/datastore/actions/namespace_key_deleted_not_found_404.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpStatus": "Not Found", 3 | "httpStatusCode": 404, 4 | "status": "ERROR", 5 | "message": "Key 'config' not found in namespace 'android'" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/datastore/actions/namespace_key_post_201.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpStatus": "Created", 3 | "httpStatusCode": 201, 4 | "status": "OK", 5 | "message": "Key created: 'config'" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/datastore/actions/namespace_key_post_already_exists_409.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpStatus": "Conflict", 3 | "httpStatusCode": 409, 4 | "status": "ERROR", 5 | "message": "Key 'config' already exists in namespace 'android'" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/datastore/actions/namespace_key_put_200.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpStatus": "OK", 3 | "httpStatusCode": 200, 4 | "status": "OK", 5 | "message": "Key updated: 'config'" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/datastore/actions/namespace_key_put_not_found_404.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpStatus": "Not Found", 3 | "httpStatusCode": 404, 4 | "status": "ERROR", 5 | "message": "Key 'config' not found in namespace 'android'" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/datastore/namespace_scorecard.json: -------------------------------------------------------------------------------- 1 | { 2 | "pager": { 3 | "page": 1, 4 | "pageSize": 50 5 | }, 6 | "entries": [ 7 | { 8 | "key": "savedObjects", 9 | "value": {} 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/datastore/namespaces.json: -------------------------------------------------------------------------------- 1 | ["capture", "scorecard"] -------------------------------------------------------------------------------- /core/src/sharedTest/resources/datavalue/data_value.json: -------------------------------------------------------------------------------- 1 | { 2 | "dataElement": "s46m5MS0hxu", 3 | "period": "201712", 4 | "orgUnit": "DiszpKrYNg8", 5 | "categoryOptionCombo": "Prlt0C1RF0s", 6 | "attributeOptionCombo": "bRowv6yZOF2", 7 | "value": "12", 8 | "storedBy": "bodata1", 9 | "created": "2011-01-11T00:00:00.000+0000", 10 | "lastUpdated": "2011-01-11T00:00:00.000+0000", 11 | "comment": "", 12 | "followup": false, 13 | "deleted": false 14 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/datavalue/data_values_only_common_fields.json: -------------------------------------------------------------------------------- 1 | { 2 | "dataSet": "Nyh6laLdBEJ", 3 | "period": "2021W10", 4 | "orgUnit": "DiszpKrYNg8" 5 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/datavalue/data_values_weekly.json: -------------------------------------------------------------------------------- 1 | { 2 | "dataValues": [ 3 | { 4 | "dataElement": "g9eOBujte1U", 5 | "period": "2019W43", 6 | "orgUnit": "g8upMTyEZGZ", 7 | "categoryOptionCombo": "Gmbgme7z9BF", 8 | "attributeOptionCombo": "Gmbgme7z9BF", 9 | "value": "5", 10 | "storedBy": "bodata1", 11 | "created": "2012-08-11T00:00:00.000+0000", 12 | "lastUpdated": "2012-08-11T00:00:00.000+0000", 13 | "followup": false 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/enrollment/new_tracker_importer_enrollment.json: -------------------------------------------------------------------------------- 1 | { 2 | "enrollment": "KpknKHptul0", 3 | "createdAt": "2018-01-20T10:44:02.929", 4 | "createdAtClient": "2017-02-20T10:44:02.929", 5 | "updatedAt": "2018-01-20T10:44:33.776", 6 | "updatedAtClient": "2018-02-20T10:44:33.776", 7 | "trackedEntity": "vOxUH373fy5", 8 | "program": "IpHINAT79UW", 9 | "status": "COMPLETED", 10 | "orgUnit": "DiszpKrYNg8", 11 | "orgUnitName": "Ngelehun CHC", 12 | "enrolledAt": "2023-01-10T00:00:00.000", 13 | "occurredAt": "2023-01-10T00:00:00.000", 14 | "followUp": true, 15 | "completedBy": "tracker", 16 | "completedAt": "2023-01-20T10:44:33.776", 17 | "deleted": false, 18 | "events": [], 19 | "relationships": [], 20 | "attributes": [], 21 | "notes": [] 22 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/expressiondimensionitem/expression_dimension_item.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "MUcDTQTYanb", 3 | "name": "ANC 1 + 2", 4 | "displayName": "ANC 1 + 2 display", 5 | "code": "ANC_code", 6 | "created": "2023-05-16T00:42:44.670", 7 | "lastUpdated": "2023-05-16T00:42:44.670", 8 | "expression": "#{fbfJHSPpUQD}+#{cYeuwXTCPkU}", 9 | "attributeValues": [] 10 | } 11 | -------------------------------------------------------------------------------- /core/src/sharedTest/resources/expressiondimensionitem/expression_dimension_items.json: -------------------------------------------------------------------------------- 1 | { 2 | "expressionDimensionItems": [ 3 | { 4 | "id": "yYo5Gy4sZa0", 5 | "name": "Double ANC visit", 6 | "displayName": "Double ANC visit", 7 | "code": "ANC_code", 8 | "created": "2023-05-16T00:42:44.670", 9 | "lastUpdated": "2023-05-16T00:42:44.670", 10 | "expression": "#{g9eOBujte1U} * 2", 11 | "attributeValues": [] 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/icon/custom_icon.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "childIcon", 3 | "fileResource": { 4 | "id": "lNrwSpIy1Q9" 5 | }, 6 | "href": "https://play.im.dhis2.org/dev/api/icons/childIcon/icon" 7 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/icon/custom_icons.json: -------------------------------------------------------------------------------- 1 | { 2 | "pager": { 3 | "page": 1, 4 | "pageCount": 1, 5 | "total": 2, 6 | "pageSize": 50 7 | }, 8 | "icons": [ 9 | { 10 | "key": "antenatal_icon", 11 | "fileResource": { 12 | "id": "lNrwSpIy1Q9" 13 | }, 14 | "href": "https://play.im.dhis2.org/dev/api/icons/antenatal_icon/icon" 15 | }, 16 | { 17 | "key": "visit_icon", 18 | "fileResource": { 19 | "id": "yx5Vm0DBjFr" 20 | }, 21 | "href": "https://play.im.dhis2.org/dev/api/icons/visit_icon/icon" 22 | } 23 | ] 24 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/imports/import_conflict.json: -------------------------------------------------------------------------------- 1 | { 2 | "object": "UOlfIjgN8X6", 3 | "objects": { 4 | "dataElement": "UOlfIjgN8X6", 5 | "value": "value_not_numeric" 6 | }, 7 | "value": "Value must match data element's `UOlfIjgN8X6` type constraints: Data value is not numeric", 8 | "errorCode": "E7619", 9 | "property": "value", 10 | "indexes": [ 11 | 2, 12 | 7 13 | ] 14 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/imports/import_count.json: -------------------------------------------------------------------------------- 1 | { 2 | "imported": 0, 3 | "updated": 0, 4 | "ignored": 1, 5 | "deleted": 0 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/imports/relationship_delete_web_response.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpStatus": "OK", 3 | "httpStatusCode": 200, 4 | "status": "OK", 5 | "message": "Import was successful.", 6 | "response": { 7 | "responseType": "ImportSummary", 8 | "status": "SUCCESS", 9 | "description": "Deletion of relationship wOhCbIpmVCp was successful", 10 | "importCount": { 11 | "imported": 0, 12 | "updated": 0, 13 | "ignored": 0, 14 | "deleted": 1 15 | }, 16 | "conflicts": [], 17 | "reference": "wOhCbIpmVCp" 18 | } 19 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/imports/tracker-importer/event-conflict-new.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "ERROR", 3 | "validationReport": { 4 | "errorReports": [ 5 | { 6 | "message": "Event OrganisationUnit: `OrganisationUnit (ABJTilhqOCW)`, and Program: `Program (q04UBOqq3rp)`, dont match.", 7 | "errorCode": "E1029", 8 | "trackerType": "EVENT", 9 | "uid": "STPIK5YTi4f" 10 | } 11 | ] 12 | }, 13 | "stats": { 14 | "created": 0, 15 | "updated": 0, 16 | "deleted": 0, 17 | "ignored": 1, 18 | "total": 1 19 | } 20 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/imports/tracker-importer/job_response.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpStatus": "OK", 3 | "httpStatusCode": 200, 4 | "status": "OK", 5 | "message": "Tracker job added", 6 | "response": { 7 | "responseType": "TrackerJob", 8 | "id": "LkXBUdIgbe3", 9 | "location": "https://play.dhis2.org/dev/api/tracker/jobs/LkXBUdIgbe3" 10 | } 11 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/imports/tracker-importer/tei-with-enrollment-error-new.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "ERROR", 3 | "validationReport": { 4 | "errorReports": [ 5 | { 6 | "message": "Enrollment OrganisationUnit: `OrganisationUnit (ABJTilhqOCW)`, and Program: `Program (IpHINAT79UW)`, dont match.", 7 | "errorCode": "E1041", 8 | "trackerType": "ENROLLMENT", 9 | "uid": "XJPm2lZzxtq" 10 | } 11 | ] 12 | }, 13 | "stats": { 14 | "created": 0, 15 | "updated": 0, 16 | "deleted": 0, 17 | "ignored": 2, 18 | "total": 2 19 | } 20 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/indicators/indicator_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "created": "2011-12-24T12:24:22.592", 3 | "lastUpdated": "2013-03-15T16:08:57.670", 4 | "name": "Per cent", 5 | "id": "bWuNrMHEoZ0", 6 | "displayName": "Per cent", 7 | "number": false, 8 | "factor": 100 9 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/indicators/indicator_types.json: -------------------------------------------------------------------------------- 1 | { 2 | "indicatorTypes": [ 3 | { 4 | "created": "2011-12-24T12:24:22.592", 5 | "lastUpdated": "2013-03-15T16:08:57.670", 6 | "name": "Per cent", 7 | "id": "bWuNrMHEoZ0", 8 | "displayName": "Per cent", 9 | "number": false, 10 | "factor": 100 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/legendset/legend.json: -------------------------------------------------------------------------------- 1 | { 2 | "lastUpdated": "2017-06-02T11:40:44.279", 3 | "id": "ZUUGJnvX40X", 4 | "created": "2017-06-02T11:40:44.279", 5 | "name": "30 - 40", 6 | "endValue": 40, 7 | "color": "#d9f0a3", 8 | "displayName": "30 - 40", 9 | "startValue": 30.5 10 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/legendset/legend_set.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": "AGE15YINT", 3 | "created": "2017-06-02T11:40:33.452", 4 | "lastUpdated": "2017-06-02T11:41:01.999", 5 | "name": "Age 15y interval", 6 | "id": "TiOkbpGEud4", 7 | "displayName": "Age 15y interval", 8 | "symbolizer": "color", 9 | "legends": [ 10 | { 11 | "id": "BzQkRWHS7lu", 12 | "name": "45 - 60" 13 | }, 14 | { 15 | "id": "kEf6QhFVMab", 16 | "name": "15 - 30" 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/note/new_tracker_importer_note.json: -------------------------------------------------------------------------------- 1 | { 2 | "note": "zCBxfBfjnQZ", 3 | "storedAt": "2022-09-28T14:44:15.320", 4 | "value": "This is a note", 5 | "createdBy": { 6 | "uid": "xE7jOejl9FI", 7 | "username": "admin", 8 | "firstName": "John", 9 | "surname": "Traore" 10 | }, 11 | "storedBy": "admin" 12 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/note/note_30.json: -------------------------------------------------------------------------------- 1 | { 2 | "note": "noteUid", 3 | "storedDate": "2018-03-19T15:20:55.058", 4 | "storedBy": "android", 5 | "value": "Note" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/option/option.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": "0-14 years", 3 | "created": "2014-08-18T12:39:16.000", 4 | "lastUpdated": "2014-08-18T12:39:16.000", 5 | "name": "0-14 years", 6 | "href": "https://play.dhis2.org/2.29/api/options/Y1ILwhy5VDY", 7 | "id": "Y1ILwhy5VDY", 8 | "displayName": "0-14 years", 9 | "externalAccess": false, 10 | "sortOrder": 1, 11 | "favorite": false, 12 | "access": { 13 | "read": true, 14 | "update": true, 15 | "externalize": false, 16 | "delete": true, 17 | "write": true, 18 | "manage": true 19 | }, 20 | "optionSet": { 21 | "id": "VQ2lai3OfVG" 22 | }, 23 | "style": { 24 | "color": "#000", 25 | "icon": "my-icon-name" 26 | } 27 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/option/option_group.json: -------------------------------------------------------------------------------- 1 | { 2 | "lastUpdated": "2019-02-15T13:55:55.665", 3 | "created": "2019-02-15T13:55:55.665", 4 | "name": "Option group", 5 | "id": "j3JYGVCIEdz", 6 | "displayName": "Option group", 7 | "optionSet": { 8 | "id": "VQ2lai3OfVG" 9 | }, 10 | "options": [ 11 | { 12 | "id": "Y1ILwhy5VDY" 13 | }, 14 | { 15 | "id": "egT1YqFWsVk" 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/option/option_groups.json: -------------------------------------------------------------------------------- 1 | { 2 | "optionGroups": [ 3 | { 4 | "lastUpdated": "2019-02-15T13:55:55.665", 5 | "created": "2019-02-15T13:55:55.665", 6 | "name": "Option group", 7 | "id": "j3JYGVCIEdz", 8 | "displayName": "Option group", 9 | "optionSet": { 10 | "id": "VQ2lai3OfVG" 11 | }, 12 | "options": [ 13 | { 14 | "id": "Y1ILwhy5VDY" 15 | }, 16 | { 17 | "id": "egT1YqFWsVk" 18 | } 19 | ] 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/option/option_sets.json: -------------------------------------------------------------------------------- 1 | { 2 | "optionSets": [ 3 | { 4 | "lastUpdated": "2015-08-06T14:23:38.789", 5 | "created": "2014-06-22T10:59:26.564", 6 | "name": "Age category", 7 | "id": "VQ2lai3OfVG", 8 | "displayName": "Age category", 9 | "valueType": "TEXT", 10 | "version": 1 11 | }, 12 | { 13 | "lastUpdated": "2015-08-06T14:23:38.789", 14 | "created": "2014-06-22T10:59:26.564", 15 | "name": "One option", 16 | "id": "TQ2lai3OfVG", 17 | "displayName": "One option", 18 | "valueType": "NUMBER", 19 | "version": 2 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/organisationunit/organisation_unit_level.json: -------------------------------------------------------------------------------- 1 | { 2 | "level": 1, 3 | "created": "2011-12-24T12:24:22.935", 4 | "lastUpdated": "2015-08-09T12:58:05.003", 5 | "name": "National", 6 | "id": "H1KlN4QIauv", 7 | "displayName": "National" 8 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/program/program_rule_variable.json: -------------------------------------------------------------------------------- 1 | { 2 | "created": "2015-08-07T18:38:12.931", 3 | "lastUpdated": "2015-08-07T18:38:12.932", 4 | "name": "age", 5 | "href": "https://play.dhis2.org/dev/api/programRuleVariables/RycV5uDi66i", 6 | "id": "RycV5uDi66i", 7 | "displayName": "age", 8 | "programRuleVariableSourceType": "DATAELEMENT_NEWEST_EVENT_PROGRAM", 9 | "externalAccess": false, 10 | "access": { 11 | "read": true, 12 | "updateWithSection": true, 13 | "externalize": false, 14 | "delete": true, 15 | "write": true, 16 | "manage": false 17 | }, 18 | "program": { 19 | "id": "eBAyeGv0exc" 20 | }, 21 | "dataElement": { 22 | "id": "qrur9Dvnyt5" 23 | }, 24 | "userGroupAccesses": [], 25 | "attributeValues": [], 26 | "translations": [] 27 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/relationship/relationship_30.json: -------------------------------------------------------------------------------- 1 | { 2 | "relationship": "nEenWmSyUEp", 3 | "relationshipName": "Mother-Child", 4 | "created": "2014-06-06T20:44:21.375", 5 | "lastUpdated": "2015-10-15T11:32:27.242", 6 | "relationshipType": "V2kkHafqs8G", 7 | "from": { 8 | "trackedEntityInstance": { 9 | "trackedEntityInstance": "o51cUNONthg" 10 | } 11 | }, 12 | "to": { 13 | "enrollment": { 14 | "enrollment": "lxAQ7Zs9VYR" 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /core/src/sharedTest/resources/settings/app_info.json: -------------------------------------------------------------------------------- 1 | { 2 | "dataStoreVersion": "2.0", 3 | "androidSettingsVersion": "2.0.0" 4 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/settings/dataset_settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "globalSettings": { 3 | "lastUpdated": "2020-01-31T22:42:57.763Z", 4 | "periodDSDownload": 30, 5 | "periodDSDBTrimming": 40 6 | }, 7 | "specificSettings": { 8 | "BfMAe6Itzgt": { 9 | "id": "BfMAe6Itzgt", 10 | "name": "Child Health", 11 | "lastUpdated": "2020-01-31T22:38:20.210Z", 12 | "periodDSDownload": 10, 13 | "periodDSDBTrimming": 15 14 | }, 15 | "EKWVBc5C0ms": { 16 | "id": "lyLU2wR22tC", 17 | "name": "ART monthly summary", 18 | "lastUpdated": "2020-01-23T20:01:53.667Z", 19 | "periodDSDownload": 10, 20 | "periodDSDBTrimming": 2 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/settings/general_settings_v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "dataSync": "24h", 3 | "encryptDB": false, 4 | "lastUpdated": "2020-01-13T16:52:05.144Z", 5 | "metadataSync": "manual", 6 | "reservedValues": 100, 7 | "numberSmsToSend": "98456123", 8 | "numberSmsConfirmation": "98456122" 9 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/settings/general_settings_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "matomoID": 123, 3 | "encryptDB": false, 4 | "matomoURL": "https://www.matomo.org", 5 | "smsGateway": "+84566464", 6 | "reservedValues": 40, 7 | "smsResultSender": "+9456498778", 8 | "allowScreenCapture": true, 9 | "messageOfTheDay": "Message of the day", 10 | "experimentalFeatures": [ 11 | "newFormLayout" 12 | ], 13 | "bypassDHIS2VersionCheck": true 14 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/settings/general_settings_with_unknown_options.json: -------------------------------------------------------------------------------- 1 | { 2 | "dataSync": "new_option", 3 | "encryptDB": false, 4 | "lastUpdated": "2020-01-13T16:52:05.144Z", 5 | "metadataSync": "new_option", 6 | "reservedValues": 100, 7 | "numberSmsToSend": "98456123", 8 | "numberSmsConfirmation": "98456122" 9 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/settings/latest_app_version.json: -------------------------------------------------------------------------------- 1 | { 2 | "downloadURL": "https://github.com/dhis2/dhis2-android-capture-app/releases/download/2.7.1.1/dhis2-v2.7.1.1.apk", 3 | "version": "v2.7.1.1" 4 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/settings/system_settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "keyFlag": "sierra_leone", 3 | "keyStyle": "light_blue/light_blue.css", 4 | "keyDefaultBaseMap": "keyDefaultBaseMap", 5 | "keyBingMapsApiKey": "keyBingMapsApiKey" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/settings/user_settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "keyDbLocale": "en", 3 | "keyUiLocale": "es" 4 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/settings/version.json: -------------------------------------------------------------------------------- 1 | { 2 | "downloadURL": "https://github.com/dhis2/dhis2-android-capture-app/releases/download/40.1/dhis2-40.1.apk", 3 | "version": "40.1", 4 | "isDefault": true, 5 | "userGroups": ["Kk12LkEWtXp"] 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/sms/metadata_ids.json: -------------------------------------------------------------------------------- 1 | { 2 | "system": { 3 | "id": "eed3d451-4ff5-4193-b951-ffcc68954299", 4 | "rev": "a9daf3f", 5 | "version": "2.31.4-SNAPSHOT", 6 | "date": "2019-05-14T17:09:24.704" 7 | }, 8 | "categoryOptionCombos": [ 9 | { 10 | "id": "lxAQ7Zs9VYR" 11 | } 12 | ], 13 | "organisationUnits": [ 14 | { 15 | "id": "lxAQ7Zs9VYR" 16 | } 17 | ], 18 | "dataElements": [ 19 | { 20 | "id": "lxAQ7Zs9VYR" 21 | } 22 | ], 23 | "trackedEntityTypes": [ 24 | { 25 | "id": "lxAQ7Zs9VYR" 26 | } 27 | ], 28 | "trackedEntityAttributes": [ 29 | { 30 | "id": "lxAQ7Zs9VYR" 31 | } 32 | ], 33 | "programs": [ 34 | { 35 | "id": "lxAQ7Zs9VYR" 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/glass/break_glass_successful.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpStatus": "OK", 3 | "httpStatusCode": 200, 4 | "status": "OK", 5 | "message": "Temporary Ownership granted" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/glass/closed_program_failure.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpStatus": "Unauthorized", 3 | "httpStatusCode": 401, 4 | "status": "ERROR", 5 | "message": "PROGRAM_ACCESS_CLOSED" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/glass/glass_protected_tei_failure.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpStatus": "Unauthorized", 3 | "httpStatusCode": 401, 4 | "status": "ERROR", 5 | "message": "OWNERSHIP_ACCESS_DENIED" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/new_tracker_importer_tracked_entities_lower_v41.json: -------------------------------------------------------------------------------- 1 | { 2 | "page": 1, 3 | "pageSize": 50, 4 | "instances": [ 5 | { 6 | "trackedEntityType": "nEenWmSyUEp", 7 | "orgUnit": "DiszpKrYNg8", 8 | "trackedEntity": "nWrB0TfWlvh", 9 | "deleted": false, 10 | "attributes": [ 11 | { 12 | "attribute": "cejWyOfXge6", 13 | "value": "4081507" 14 | } 15 | ] 16 | }, 17 | { 18 | "trackedEntityType": "nEenWmSyUEp", 19 | "orgUnit": "DiszpKrYNg8", 20 | "trackedEntity": "nWrB0TfWlvD", 21 | "deleted": false, 22 | "attributes": [ 23 | { 24 | "attribute": "cejWyOfXge6", 25 | "value": "654321" 26 | } 27 | ] 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/new_tracker_importer_tracked_entity_attribute_value.json: -------------------------------------------------------------------------------- 1 | { 2 | "attribute": "zDhUuAYrxNC", 3 | "displayName": "Last name", 4 | "createdAt": "2017-05-26T11:46:22.371", 5 | "updatedAt": "2017-05-26T11:46:22.371", 6 | "valueType": "TEXT", 7 | "value": "Ryder" 8 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/new_tracker_importer_tracked_entity_data_value.json: -------------------------------------------------------------------------------- 1 | { 2 | "createdAt": "2017-01-20T10:44:03.231", 3 | "updatedAt": "2022-09-28T14:23:29.016", 4 | "providedElsewhere": false, 5 | "dataElement": "UXz7xuGCEhU", 6 | "value": "4322", 7 | "storedBy": "xE7jOejl9FI", 8 | "createdBy": { 9 | "uid": "xE7jOejl9FI", 10 | "username": "admin", 11 | "firstName": "John", 12 | "surname": "Traore" 13 | }, 14 | "updatedBy": { 15 | "uid": "xE7jOejl9FI", 16 | "username": "admin", 17 | "firstName": "John", 18 | "surname": "Traore" 19 | } 20 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/ownership/program_owner.json: -------------------------------------------------------------------------------- 1 | { 2 | "ownerOrgUnit": "DiszpKrYNg8", 3 | "program": "lxAQ7Zs9VYR", 4 | "trackedEntityInstance": "PgmUFEQYZdt" 5 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/tracked_entity_attribute_reserved_value.json: -------------------------------------------------------------------------------- 1 | { 2 | "ownerObject": "TRACKEDENTITYATTRIBUTE", 3 | "ownerUid": "xeG4wH2I676", 4 | "key": "RANDOM(###)", 5 | "value": "046", 6 | "created": "2018-04-26T14:54:53.344", 7 | "expiryDate": "2018-06-25T14:54:53.344" 8 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/tracked_entity_attribute_reserved_values.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "ownerObject": "TRACKEDENTITYATTRIBUTE", 4 | "ownerUid": "xeG4wH2I676", 5 | "key": "RANDOM(###)", 6 | "value": "046", 7 | "created": "2018-04-26T14:54:53.344", 8 | "expiryDate": "2018-06-25T14:54:53.344" 9 | } 10 | ] -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/tracked_entity_attribute_value.json: -------------------------------------------------------------------------------- 1 | { 2 | "lastUpdated": "2019-12-12T07:35:12.904", 3 | "created": "2019-12-12T07:35:11.366", 4 | "attribute": "cejWyOfXge6", 5 | "value": "11" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/tracked_entity_attribute_value_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/core/src/sharedTest/resources/trackedentity/tracked_entity_attribute_value_image.png -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/tracked_entity_attribute_value_missing.json: -------------------------------------------------------------------------------- 1 | { 2 | "lastUpdated": "2019-12-12T07:35:12.904", 3 | "created": "2019-12-12T07:35:11.366", 4 | "attribute": "cejWyOfXge6" 5 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/tracked_entity_attribute_value_null.json: -------------------------------------------------------------------------------- 1 | { 2 | "lastUpdated": "2019-12-12T07:35:12.904", 3 | "created": "2019-12-12T07:35:11.366", 4 | "attribute": "cejWyOfXge6", 5 | "value": null 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/tracked_entity_data_value.json: -------------------------------------------------------------------------------- 1 | { 2 | "lastUpdated": "2014-11-16T14:55:23.779", 3 | "storedBy": "admin", 4 | "created": "2014-11-15T14:55:23.779", 5 | "dataElement": "msodh3rEMJa", 6 | "value": "2013-05-18", 7 | "providedElsewhere": false 8 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/tracked_entity_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "created": "2014-08-20T12:28:56.409", 3 | "lastUpdated": "2015-10-14T13:36:53.063", 4 | "name": "Person", 5 | "href": "https://play.dhis2.org/dev/api/getTrackedEntityTypes/nEenWmSyUEp", 6 | "id": "nEenWmSyUEp", 7 | "displayDescription": "Person", 8 | "displayName": "Person", 9 | "description": "Person", 10 | "featureType": "NONE", 11 | "externalAccess": false, 12 | "access": { 13 | "read": true, 14 | "updateWithSection": true, 15 | "externalize": false, 16 | "delete": true, 17 | "write": true, 18 | "manage": false, 19 | "data": { 20 | "read": true, 21 | "write": true 22 | } 23 | }, 24 | "userGroupAccesses": [], 25 | "attributeValues": [], 26 | "translations": [] 27 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/trackedentity/tracked_entity_type_attribute.json: -------------------------------------------------------------------------------- 1 | { 2 | "displayInList": true, 3 | "searchable": true, 4 | "mandatory": false, 5 | "trackedEntityType": { 6 | "id": "nEenWmSyUEp" 7 | }, 8 | "trackedEntityAttribute": { 9 | "id": "w75KJ2mc4zz" 10 | } 11 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/tracker/importer/jobinfo.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "id", 3 | "uid": "uid", 4 | "level": "INFO", 5 | "category": "TRACKER_IMPORT_JOB", 6 | "time": "2021-01-25T12:09:18.571", 7 | "message": "(android) Import:Done took 0.360910 sec.", 8 | "completed": true 9 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/tracker/importer/jobreport-error.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "ERROR", 3 | "validationReport": { 4 | "errorReports": [ 5 | { 6 | "message": "Event: `PXi7gfVIk1p`, Enrollment value is NULL.", 7 | "errorCode": "E1033", 8 | "trackerType": "EVENT", 9 | "uid": "PXi7gfVIk1p" 10 | } 11 | ] 12 | }, 13 | "stats": { 14 | "created": 0, 15 | "updated": 0, 16 | "deleted": 0, 17 | "ignored": 1, 18 | "total": 1 19 | } 20 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/usecase.stock/stock_use_case.json: -------------------------------------------------------------------------------- 1 | { 2 | "programUid": "IpHINAT79UW", 3 | "itemCode": "wBr4wccNBj1", 4 | "itemDescription": "MBczRWvfM46", 5 | "programType": "logistics", 6 | "description": "this is a logistics program, stock management", 7 | "stockOnHand": "ypCQAFr1a5l", 8 | "transactions": [ 9 | { 10 | "sortOrder": 0, 11 | "transactionType": "DISTRIBUTED", 12 | "distributedTo": "yfsEseIcEXr", 13 | "stockDistributed": "lpGYJoVUudr" 14 | }, 15 | { 16 | "sortOrder": 1, 17 | "transactionType": "CORRECTED", 18 | "stockCount": "ej1YwWaYGmm" 19 | }, 20 | { 21 | "sortOrder": 2, 22 | "transactionType": "DISCARDED", 23 | "stockDiscarded": "I7cmT3iXT0y" 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /core/src/sharedTest/resources/usecase.stock/stock_use_cases.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "programUid": "IpHINAT79UW", 4 | "itemCode": "wBr4wccNBj1", 5 | "itemDescription": "MBczRWvfM46", 6 | "programType": "logistics", 7 | "description": "this is a logistics program, stock management", 8 | "stockOnHand": "ypCQAFr1a5l", 9 | "transactions": [ 10 | { 11 | "sortOrder": 0, 12 | "transactionType": "DISTRIBUTED", 13 | "distributedTo": "yfsEseIcEXr", 14 | "stockDistributed": "lpGYJoVUudr" 15 | }, 16 | { 17 | "sortOrder": 1, 18 | "transactionType": "CORRECTED", 19 | "stockCount": "ej1YwWaYGmm" 20 | }, 21 | { 22 | "sortOrder": 2, 23 | "transactionType": "DISCARDED", 24 | "stockDiscarded": "I7cmT3iXT0y" 25 | } 26 | ] 27 | } 28 | ] -------------------------------------------------------------------------------- /core/src/sharedTest/resources/user/user_credentials.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": "admin", 3 | "created": "2013-04-18T17:15:08.401", 4 | "lastUpdated": "2016-10-25T09:21:33.884", 5 | "id": "ZyjSDLHGPv4", 6 | "lastLogin": "2016-10-25T09:21:33.881", 7 | "passwordLastUpdated": "2014-12-18T20:56:05.264", 8 | "invitation": false, 9 | "externalAuth": false, 10 | "selfRegistered": false, 11 | "disabled": false, 12 | "username": "admin", 13 | "userInfo": { 14 | "id": "xE7jOejl9FI" 15 | }, 16 | "user": { 17 | "id": "xE7jOejl9FI" 18 | }, 19 | "cogsDimensionConstraints": [], 20 | "catDimensionConstraints": [], 21 | "userRoles": [ 22 | { 23 | "id": "Ufph3mGRmMo" 24 | }, 25 | { 26 | "id": "UYXOT4A7JMI" 27 | }, 28 | { 29 | "id": "aNk5AyC7ydy" 30 | } 31 | ] 32 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/user/user_disabled.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpStatus": "Unauthorized", 3 | "httpStatusCode": 401, 4 | "status": "ERROR", 5 | "message": "Account disabled" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/user/user_role.json: -------------------------------------------------------------------------------- 1 | { 2 | "created": "2012-11-13T18:10:26.881", 3 | "lastUpdated": "2016-10-12T19:59:11.734", 4 | "name": "Superuser", 5 | "id": "Ufph3mGRmMo", 6 | "displayName": "Superuser", 7 | "description": "Superuser", 8 | "externalAccess": false, 9 | "user": { 10 | "id": "GOLswS44mh8" 11 | }, 12 | "userGroupAccesses": [], 13 | "attributeValues": [], 14 | "users": [ 15 | { 16 | "id": "cddnwKV2gm9" 17 | }, 18 | { 19 | "id": "DXyJmlo9rge" 20 | }, 21 | { 22 | "id": "oXD88WWSQpR" 23 | }, 24 | { 25 | "id": "xE7jOejl9FI" 26 | }, 27 | { 28 | "id": "awtnYWiVEd5" 29 | } 30 | ], 31 | "translations": [] 32 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/user/user_unauthorized.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpStatus": "Unauthorized", 3 | "httpStatusCode": 401, 4 | "status": "ERROR", 5 | "message": "Unauthorized" 6 | } -------------------------------------------------------------------------------- /core/src/sharedTest/resources/validation/validation_rule_uids.json: -------------------------------------------------------------------------------- 1 | { 2 | "validationRules": [ 3 | { 4 | "id": "P2igXCbites" 5 | }, 6 | { 7 | "id": "sWlF63K4G6c" 8 | } 9 | ] 10 | } -------------------------------------------------------------------------------- /core/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker: -------------------------------------------------------------------------------- 1 | mock-maker-inline -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | -------------------------------------------------------------------------------- /docs/content/developer/program-rule-engine.md: -------------------------------------------------------------------------------- 1 | # Program rule engine { #android_sdk_program_rule_engine } 2 | 3 | The program rule engine is not provided within the SDK. It is implemented in a separate library, so the same code is used by backend and android apps. 4 | 5 | > **Important** 6 | > 7 | > The DHIS2 Android SDK and the Program Rule Engine use a common library to parse the DHIS2 expressions, the [DHIS2 Antlr Expression Parser](https://github.com/dhis2/dhis2-antlr-expression-parser). If the application imports both the the SDK and the Rule Engine, it is important that their parser versions match exactly; otherwise it could cause an unexpected behavior in the evaluation. 8 | > 9 | > Check compatibility table [here](#android_sdk_compatibility). 10 | 11 | More info [dhis2-rule-engine](https://github.com/dhis2/dhis2-rule-engine). 12 | -------------------------------------------------------------------------------- /docs/content/developer/public-api.md: -------------------------------------------------------------------------------- 1 | # API documentation {#api_documentation} 2 | 3 | DHIS2 Android SDK API documentation is hosted 4 | in [Github repository](https://dhis2.github.io/dhis2-android-sdk/api/index.html). 5 | 6 | This documentation provides information about the DHIS2 Android SDK's public API, including 7 | available data models and the methods for interacting with them. It serves as a reference for 8 | developers integrating the SDK into their applications. -------------------------------------------------------------------------------- /docs/content/developer/resources/images/analytics_visualization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/docs/content/developer/resources/images/analytics_visualization.png -------------------------------------------------------------------------------- /docs/content/developer/use-case-configuration.md: -------------------------------------------------------------------------------- 1 | # Use case configuration { #android_sdk_use_cases } 2 | The web app [Use Case Configuratin](https://apps.dhis2.org/app/7df6f344-0487-469c-abe6-53c6e729abcf) is used to assign use cases to programs/dataSets. This information can be used by the app in order to display the information using a different layout or to apply different business logic. 3 | 4 | The SDK downloads the information generated by this app and exposes it in the UseCaseModule. The particular use case logic or UI must be implemented at application level. 5 | 6 | Check more information about the app in the [docs](https://docs.dhis2.org/en/use/android-app/use-case-configuration.html). -------------------------------------------------------------------------------- /docs/dhis2_android_sdk_dev_guide_INDEX.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | !INCLUDE "content/dev/development.md" 4 | !INCLUDE "content/dev/architecture.md" 5 | !INCLUDE "content/dev/synchronization.md" -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | 6 | # For more details on how to configure your build environment visit 7 | # http://www.gradle.org/docs/current/userguide/build_environment.html 8 | # Specifies the JVM arguments used for the daemon process. 9 | # The setting is particularly useful for tweaking memory settings. 10 | org.gradle.jvmargs=-Xmx8g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 11 | # Enable AndroidX 12 | android.useAndroidX=true 13 | # Enable Gradle Daemon 14 | org.gradle.daemon=true 15 | # Enable Configure on demand 16 | org.gradle.configureondemand=true 17 | # Enable parallel builds 18 | org.gradle.parallel=true 19 | android.nonTransitiveRClass=false 20 | android.nonFinalResIds=false 21 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhis2/dhis2-android-sdk/ecd06e7bec2d718970e84c3a4e7fb69e6fcaf9b7/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Aug 31 00:09:15 CEST 2023 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /scripts/config_jenkins.init: -------------------------------------------------------------------------------- 1 | build_time_average=120 2 | polling_interval=10 3 | browserstack_device_list="\"Google Pixel 4-10.0\"" 4 | browserstack_video=false 5 | browserstack_local=false 6 | browserstack_deviceLogs=true 7 | browserstack_mock_server=true 8 | browserstack_package="\"org.hisp.dhis.android\"" 9 | browserstack_singleRunnerInvocation=true 10 | browserstack_coverage=true -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | include(":core") 2 | include(":instrumented-test-app") 3 | --------------------------------------------------------------------------------