├── .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 |
--------------------------------------------------------------------------------