Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Full CRM data migration for a Medicare insurance brokerage: RadiusBob → GoHighLevel + HealthSherpa
---
The Situation
A Medicare insurance brokerage with ~1,600 clients ran operations across three disconnected systems: RadiusBob (legacy CRM), GoHighLevel (new CRM), and HealthSherpa Medicare (enrollment platform). Agents manually cross-referenced all three daily — no single source of truth, no automation possible.

The Problem
Years of client history lived in RadiusBob: 1,593 contacts, 1,222 insurance policies, 32,507 interaction notes, and 793 relationships between contacts. This wasn't a CSV export — it was a full reconstruction across three APIs with different auth, rate limits, and data formats.

Any lost record meant compliance risk. Manual migration would take months and introduce errors at every step.

The Solution
I built a resumable migration pipeline in Python (Docker + Supabase as sync state tracker). Every record's status was tracked individually — if the process stopped at record 500, it resumed at 501 with zero duplication.
Contact deduplication: GoHighLevel enforces unique phone/email, but RadiusBob allowed shared numbers (married couples). The pipeline caught duplicates from API error responses, updated existing records, and generated a report (163 duplicate groups) for client review.
HealthSherpa matching: Three-pass strategy — first by Medicare Beneficiary ID (highest confidence), then by name + DOB/email/phone, then creating new records for unmatched contacts. Each match saved a direct enrollment URL for one-click access from GHL.
Policy records: Custom Object schema in GHL with 15 fields. Discovered and handled undocumented API quirks through systematic testing.

32,507 notes: Parallel processing with 8 concurrent API requests cut import time from 9+ hours to ~1 hour while staying within rate limits.
793 relationships: Mapped 10 relationship types handling both bidirectional (Spouse) and directional (Parent-Child) associations. 260 unmapped types documented for client review.
Tech Stack: Python 3.11, Docker, Supabase (PostgreSQL), GoHighLevel API, HealthSherpa Medicare API, asyncio

The Results
- ~37,000 total records migrated across 3 platforms
- 100% of contacts imported (1,593/1,593)
- 100% of notes preserved (32,507/32,507)
- 99.3% of policies imported (1,214/1,222)
- 8x faster note import through parallel processing
- Zero data loss — every importable record migrated with full history
- 2-week delivery from kickoff to completion
- One-click Medicare enrollment links on every client record

How It Works
1. Extract — Pull all data from RadiusBob API
2. Transform — Normalize formats, clean data, validate fields, deduplicate
3. Load — Push contacts to GHL, match to HealthSherpa via 3-pass strategy
4. Link — Create policy records, attach notes, build relationship associations
5. Verify — Reconciliation counts, duplicate report, validation audit trail

Every step is idempotent and resumable. The pipeline can re-run without duplicates or lost progress.
Детали работы
Добавлена 19 марта
85 просмотров
Фрилансер
Андрей Бойко
Украина Харьков
Нет отзывов

Свободен для работы Свободен для работы
На сервисе 9 лет