This guide provides a structured approach to migrating existing data into ActivityInfo, ensuring data integrity, minimizing disruptions, and enabling reliable reporting after transition.
Introduction
When an organization transitions from legacy systems such as spreadsheets or custom information management software to ActivityInfo, proper planning and execution of data migration are critical. A successful migration improves data management, security, reporting, data use, and overall workflow efficiency.
This guide outlines steps before, during, and after migration with practical insights from past migrations to help you avoid common pitfalls.
Why migrate your data?
Migrating your data to ActivityInfo helps you:
- Keep all project information in one place.
- Make reporting easier and more reliable.
- Improve decision-making with well-structured information.
- Strengthen data security in a role-based setup, especially for confidential data.
- Consolidate data from multiple project partners.
- Move to a faster and more efficient system that can handle larger workloads.
Preparing for migration
Before moving any data, thorough preparation will save time, reduce errors, and ensure a smoother transition.
Review existing data
- Data entities: Identify the type of information that you want to migrate. This might be master/reference data, metadata, transactional data or event data.
- Data structure and types: Note the field types that you currently have in your data such as text, numeric, date, boolean (true/false), etc.
- Data model/relationships: Understand how various datasets relate (e.g. parent-child links, reference tables).
Define target data structure in ActivityInfo
- You need to design your forms before you can import data into ActivityInfo.
- Clarify relationships among forms: choose between subforms, reference fields, reverse-reference or multiple reference fields.
- Plan which fields will be single or multiple-select fields vs reference fields, required vs optional fields will be modeled.
Identify transformations needed
Define which fields in the legacy system need conversion (e.g., text to numeric, changing date formats).
Decide whether the data transformation will be done in the source files before import, during, or after import into ActivityInfo.
Updating selection options or reference record values to the desired values after import.
Using calculated fields to derive new values from previous fields.
Working with the Interactive Table view to make quick edits after migrating data from a spreadsheet.
Using the Duplicate Scanner after import to identify and resolve duplicate records.
Prepare templates or scripts to align your data the ActivityInfo structure.
Resource planning
- Identify key stakeholders to participate in the data migration process.
- Assign responsibilities for cleaning, mapping, importing, validating, and leading.
- Set timelines: Deadlines for migrating specific datasets, go-live date, and reporting.
Migration strategy
- Decide whether to use a “Big Bang” (all data at once), “Ladder” (data migrated in logical order) or a “Trickle” (data is migrated gradually, often by time period) approach.
- The “Ladder” approach is recommended especially if you have more time for migration.
- Identify datasets that are critical for you to start using ActivityInfo versus those that can be migrated later.
- Reflect on whether all datasets need to be migrated or if some data will not be used in ActivityInfo and may not be worth the effort to migrate.
- Allow buffer time for unexpected issues.
Executing the migration
This is the stage where data is moved, tested, and validated.
Small-scale testing
- Start with a simple dataset to test import, schema mapping, and required validations.
- Pause any routine data collection in the legacy system.
- Check for missing required fields, data-type mismatches, and formatting issues.
- Correct any errors identified and keep track of any modifications.
- Keep stakeholders informed and re-evaluate the timeline if needed.
Data import
- Use correct templates or forms in ActivityInfo.
- Ensure that mandatory fields are set to optional to facilitate the import. These fields can be set to mandatory after the import.
- If your forms are already defined, import directly or use XLS Forms where applicable.
- Ensure that imported data aligns with the schema and referencing between forms works correctly.
Validation during migration
After importing each dataset or form, verify:
Record counts match the legacy system.
Field values are accurate (e.g., dates, reference fields, numeric fields).
Relationships and references work as expected.
Logs are kept for errors, transformations, and modifications.
Stakeholder communication
- Keep stakeholders informed of the progress, issues, and any schedule adjustments to manage expectations.
- Hold regular check-ins between the teams and users to review the progress.
Verifying and finalizing migration
Once most data is migrated, focus on resolving gaps, ensuring usability, and preparing for operational use.
Full data integrity check
- Verify entire datasets, references, and integrity of parent/child links or relational data.
- Confirm that all required data has been migrated.
- Compare standard reports from the legacy system and ActivityInfo to check consistency.
- Ensure that reports and visualizations work or are adapted.
User feedback & training
- Train stakeholders on new processes, forms, and naming conventions.
- Involve end users such as administrators, data entry staff, and reporting staff to test the new workflows in ActivityInfo.
Post-go-live corrections
- Allocate resources for correcting issues that arise after go-live.
- Set up a process for reporting, fixing, and documenting errors.
Recommended practices and lessons learned from previous ActivityInfo migrations
- The new database structure in ActivityInfo is likely to differ from the legacy systems, so restructuring may be unavoidable.
- Frequent communication between teams and key stakeholders is important to resolve blockers, reduce errors, and manage expectations.
- Allow enough time for testing and correction phases.
- Be prepared for old data inconsistencies to surface during migration; keep an audit log for changes.
- Plan additional resources for the post-migration period, as more corrections may be needed than anticipated.