A healthcare provider
Unified customer data platform.
Results
87%
Duplicates resolved
1
Source of truth
16 wk
End to end
DSGVO
Privacy-by-design
The challenge
4 CRMs, 3 billing platforms, no unified view. Every department had its own version of the patient — and none of them agreed. Marketing sent duplicate mailings. Billing couldn't reconcile accounts. Clinical teams worked from partial records.
The root cause wasn't just technical fragmentation — it was organizational. Each department had chosen its own system over the past decade. Nobody had authority to merge them, so they'd built point-to-point integrations that silently broke and produced conflicting data. A patient could have three different addresses across four systems, and nobody knew which was current.
Our approach
Data archaeology
Audited all 7 source systems. Mapped entity relationships, identified overlap, and catalogued every field that contributed to the "who is this patient?" question.
Identity resolution
Built a probabilistic matching pipeline in Python — not just name + DOB, but address history, contact patterns, and billing identifiers. Validated against a 500-record manually verified sample.
Platform build
Unified data layer in Snowflake with pseudonymisation, consent tracking, and full DSGVO audit trails. Fivetran for ingestion, dbt for transformation, Terraform for infrastructure.
API & handover
Created API endpoints so downstream systems pull from the unified platform instead of each other. Documented everything. Trained internal team to maintain the pipeline.
Three of the seven systems had overlapping patient IDs in different formats. The worst case: two systems used the same ID field name but assigned them from different sequences. Patient #10042 in the CRM was a completely different person than Patient #10042 in billing. We caught it during validation — if we hadn't, the unified platform would have merged two strangers' medical records.
Tech stack
SnowflakedbtPythonFivetranTerraformAPI integrationsPrivacy-first architecture Have a similar challenge?
20 minutes. We'll tell you what we'd do, what it costs, and whether you actually need us.