Data Migration Strategy & Execution
Plan, cleanse, transform, load, and validate master and transactional data from legacy systems (or paper) into Bio Ecko.
February 2026 · 18 min
Manual area
FC Training Programme
Coverage
8 sections
Operator notes
3 implementation notes
Why Data Migration Is the Riskiest Phase
Data migration is where most ERP implementations fail silently. The system works perfectly in testing with clean test data, but collapses on go-live day when real-world dirty data flows in.
Common data quality issues in Indian hospitals:
- Patient records with no phone number or invalid phone numbers
- Duplicate patients (same person registered multiple times with different MRNs)
- Drug names with inconsistent spelling (Paracetamol vs Paracetmol vs PCM)
- Service charges with no department mapping
- Insurance panels with expired agreements
- Employee records with missing joining dates or role assignments
Migration Scope Assessment
First, decide what gets migrated and what starts fresh:
| Data Category | Migrate? | Typical Decision | Rationale |
|---|---|---|---|
| Patient Master | Yes (active patients) | Migrate patients seen in last 2-3 years | Returning patients need their MRN and history |
| Patient Visit History | Selective | Only summary data, not full EMR notes | Legacy EMR format rarely matches new system |
| Doctor/Staff Master | Yes | All active employees | Needed for scheduling, prescribing, login |
| Drug Master | Yes | Full formulary | Pharmacy cannot operate without it |
| Service Charge Master | Yes | Current tariff only | Historical tariffs not needed in new system |
| Inventory Opening Stock | Yes | Current stock with batch and expiry | Critical for pharmacy and store operations |
| Insurance & TPA Master | Yes | Active panels only | Expired panels create confusion |
| Outstanding Bills | Selective | Open receivables only | Needed for accounts receivable continuity |
| Financial Balances | Yes | Opening balances as of cutover date | GL continuity for accounting |
| Old Lab/Radiology Results | Rarely | Usually not migrated | Patients can carry paper reports; not worth the effort |
Key principle: Migrate the minimum data needed for the new system to function on day one. Legacy data can remain accessible in the old system (read-only) for reference.
The 5-Step Migration Process
Follow this systematic process:
- Extract -- Pull data from the source system (old ERP database, Excel files, paper registers that need manual entry). Export as CSV/Excel
- Cleanse -- Fix data quality issues: remove duplicates, fill missing mandatory fields, standardize formats, validate against reference data
- Transform -- Map source fields to Bio Ecko target fields. Convert data types, units, codes. Generate any derived fields
- Load -- Import into Bio Ecko staging environment using the admin import tools or database scripts
- Validate -- Compare source record counts with loaded counts. Spot-check 10% of records for accuracy. Get stakeholder sign-off
Each step should be documented with:
- Input (source file/table)
- Transformation rules applied
- Output (target table in Bio Ecko)
- Record counts (source vs loaded vs rejected)
- Rejection reasons and resolution
Patient Data Cleansing Rules
Patient master is usually the messiest dataset. Apply these cleansing rules:
- Phone Number: Must be 10 digits (Indian mobile). Remove +91 prefix, spaces, dashes. If missing, flag for manual update
- Name Standardization: Title case (Rajesh Kumar, not RAJESH KUMAR). Remove extra spaces. Split first/last name correctly
- Aadhaar: Validate 12-digit format with Verhoeff checksum. Mask in storage (show only last 4 digits)
- Date of Birth: Standardize to YYYY-MM-DD. Flag impossible dates (future dates, age > 120). For unknown DOB, use estimated year of birth
- Gender: Map to M/F/O (Other). Resolve inconsistencies
- Duplicate Detection: Match on Phone + Name (fuzzy) + DOB. Flag potential duplicates for manual review by hospital staff
- Address: Standardize pincode (6 digits). City and state should come from pincode lookup
Approach for duplicate resolution:
- Export potential duplicate pairs with similarity score
- Hospital's MRD (Medical Records Department) reviews and decides which to merge
- Merge operation preserves all visit history under the surviving MRN
- Deprecated MRN redirects to surviving MRN (alias mapping)
Drug Master Migration
The drug master requires special attention because errors here directly impact patient safety:
- Source Data: Export from old system or compile from hospital's formulary book
- Standardization: Map every drug to its INN (International Nonproprietary Name) generic name. Use the WHO INN database as reference
- Strength Validation: Ensure numeric consistency -- 500mg, not 500 mg, not 0.5g, not 500MG
- Schedule Assignment: Cross-reference with DDA (Drug and Drug Administration) schedule classification. Every drug must have the correct H/H1/X/G schedule
- Formulation Coding: Standardize to a fixed list: Tablet, Capsule, Syrup, Injection, Cream, Ointment, Drops, Inhaler, Suppository, Patch, etc.
- Reorder Levels: If not available from old system, use consumption-based calculation: average monthly consumption x 1.5 as reorder level
- Batch and Expiry: For opening stock, every item must have batch number and expiry date. Items without expiry data cannot be loaded
| Validation Check | Rule | Action if Failed |
|---|---|---|
| Generic name not empty | Mandatory field | Reject record, report to pharmacist |
| Strength is numeric + unit | Regex: `^[0-9.]+\s*(mg | g |
| Schedule is valid | One of: G, H, H1, X, OTC | Default to H, flag for review |
| No duplicate (generic + strength + form) | Unique constraint | Merge duplicates, keep one |
Opening Stock Migration
For pharmacy and central store, opening stock must be loaded with:
- Drug/Item reference (must already exist in drug master)
- Batch number
- Expiry date
- Quantity on hand
- Purchase price per unit
- MRP (Maximum Retail Price)
- Storage location (which pharmacy/store)
The FC must coordinate a physical stock count at the hospital before cutover:
- Schedule the count on a weekend or low-volume day
- Hospital pharmacy staff counts all items physically
- Compare physical count with old system balance
- Resolve variances (stock adjustments in old system)
- Use the verified count as the opening stock for Bio Ecko
- Load into Bio Ecko staging, verify totals match
- On go-live day, any stock movement between count date and go-live must be manually adjusted
This is non-negotiable. Going live with inaccurate opening stock means every subsequent stock report will be wrong.
Migration Testing & Validation
Never trust the data just because the import succeeded. Validate at multiple levels:
- Record Count Validation -- Source count == Loaded count + Rejected count. No records lost
- Field-Level Spot Check -- Randomly pick 50 patient records, 30 drug records, 20 service records. Compare every field between source and Bio Ecko. Flag discrepancies
- Referential Integrity -- Every patient should have a valid branch. Every drug should have a valid category. Every user should have a valid role
- Business Logic Validation -- Run key reports in Bio Ecko with migrated data:
- Patient count by registration year should match historical trends
- Drug master should have no orphan entries (items with no category)
- Service charge total should match hospital's published tariff book
- User Validation -- Ask 2-3 hospital staff to look up their known patients, verify the data is correct
- Sign-Off -- Formal sign-off from the hospital's data owner (MRD Head for patients, Chief Pharmacist for drugs, Finance Head for financial data)
Cutover Planning
The cutover is the critical window between stopping the old system and starting Bio Ecko:
| Activity | When | Duration | Responsible |
|---|---|---|---|
| Final data extract from old system | Friday evening (before go-live weekend) | 2-4 hours | FC + IT |
| Data cleansing and transformation | Friday night | 4-6 hours | FC |
| Load into Bio Ecko production | Saturday morning | 2-4 hours | FC + Technical team |
| Validation checks | Saturday afternoon | 3-4 hours | FC + Hospital champions |
| Fix any issues | Saturday evening | As needed | FC |
| Go/No-Go decision | Sunday morning | 1 hour meeting | Project Sponsor |
| Go-Live (if approved) | Monday morning | - | Everyone |
Always have a rollback plan: If the Go/No-Go decision is No-Go, the old system continues as before. Bio Ecko data is wiped and re-migrated in the next window. This is why you never decommission the old system until after hypercare.
Notes
Warning
Never load data directly into Bio Ecko production without first loading and validating in a staging/test environment. A bad data load in production can corrupt referential integrity and require a full database restore.
Tip
The physical stock count is the single most important pre-go-live activity for pharmacy. Start planning it 2 weeks in advance. It requires pharmacy to operate in slow mode for half a day -- get hospital management approval early.
Info
Bio Ecko's Admin > Data Import section provides CSV templates for Patient, Drug, Service, User, and Inventory imports. Always use these templates rather than creating your own format -- the import tool validates against expected columns and data types.
Related topics
FC Training Programme
This training programme is designed to take a complete fresher -- someone with no prior healthcare or ERP background -- and transform them into a confident...
Configuration Workbook & System Setup
How to create, maintain, and execute the configuration workbook -- the FC's blueprint for translating business requirements into Bio Ecko system settings.
Testing Methodology: SIT, UAT & CRP
How to write test scripts, execute System Integration Testing, facilitate User Acceptance Testing, and run a Conference Room Pilot for hospital ERP.
Accounts Receivable
Accounts Receivable (AR) tracks all money owed to the hospital -- patient outstanding balances, insurance claim receivables, corporate credit accounts, and...
Opening Balances
Opening Balances are the starting financial position when you begin using Bio Ecko. Every account in the Chart of Accounts needs an opening balance that...
Radiology
The Radiology module manages imaging workflows -- from order entry to report delivery. It supports X-ray, ultrasound, CT, MRI, and other imaging modalities...
Configuration Workbook & System Setup
How to create, maintain, and execute the configuration workbook -- the FC's blueprint for translating business requirements into Bio Ecko system settings.
Testing Methodology: SIT, UAT & CRP
How to write test scripts, execute System Integration Testing, facilitate User Acceptance Testing, and run a Conference Room Pilot for hospital ERP.