Senior Data Engineer — Healthcare / EHR Data Migration (Python + GCP)
Budget: $20.0 - $45.0
HOURLY / FULL_TIME
⭐ 4.93 (28)
United States
python, etl-pipelines, google-cloud-platform, mysql, hipaa, fhir
🏥 Senior Data Engineer — Healthcare / EHR Data Migration (Python + GCP)
We're a GCP-based healthcare technology company. We're hiring a senior data engineer to help medical practices move onto OpenEMR — an open-source, ONC-certified electronic health record system.
Each engagement onboards one practice: consolidating their existing records into OpenEMR using standard healthcare data formats, then validating everything before go-live. You'll build this as a repeatable, HIPAA-compliant data pipeline — designed once, then reused for each new practice. This is a hands-on build-and-run role.
──────────────────────────────────────────────
🧰 Tech stack
• Language: Python (expert)
• Databases: SQL — MySQL / MariaDB (OpenEMR's large ~280-table schema)
• Healthcare interoperability: HL7 FHIR R4 (Bulk Data, NDJSON, US Core / USCDI), C-CDA / CCD documents, REST APIs + OAuth2
• Integration engine: Open Integration Engine (OIE) or Mirth Connect
• Clinical code systems: ICD-10, CPT, RxNorm, LOINC, CVX
• Cloud: Google Cloud Platform — Cloud Run Jobs / Cloud Composer, Cloud Storage, Cloud SQL, Secret Manager, VPC-SC (HIPAA-eligible, under BAA)
• Pipeline design: landing / staging zones, idempotent re-runs, batch + delta loads
• AI (optional): supervising AI agents that draft data mappings and flag exceptions — you review and approve
We are all-in on GCP — real Google Cloud experience is important.
──────────────────────────────────────────────
🧱 What you'll do
1. Work with each practice's records through standard, vendor-supported healthcare data formats (HL7 FHIR, C-CDA, standard reports)
2. Map source fields to the OpenEMR schema (clean / lossy / manual)
3. Build the Python pipeline + integration-engine channels + load paths (REST API, C-CDA import, database import)
4. Validate & reconcile every batch (counts, rules, known-answer checks — as gating checks)
5. Manage a safe go-live (parallel run, final sync, go / no-go, hypercare, rollback)
6. Deploy and run the pipeline on GCP, and package it for reuse across practices
──────────────────────────────────────────────
✅ Must-have
• Expert Python (5+ yrs) — pipeline clients, transforms, validators, loaders
• Advanced SQL — MySQL / MariaDB, staging design, dependency-ordered loads with FK integrity
• ETL / ELT design — idempotent re-runs keyed on source IDs, batch + delta
• HL7 FHIR R4 — Bulk Data, NDJSON, US Core / USCDI, SMART / OAuth2 backend auth
• C-CDA / clinical documents — parsing & generating CCDs
• REST API integration — OAuth2 client-credentials, batching / rate control
• Clinical code systems — ICD-10, CPT, RxNorm, LOINC, CVX
• Integration engine — OIE or Mirth Connect (or equivalent)
• Solid GCP experience — Cloud Run / Composer, Cloud Storage, Cloud SQL, Secret Manager, VPC-SC
• Data-quality engineering — count / rule / known-answer validation + reconciliation
• HIPAA-aware data handling — encryption, audit logging, minimum-necessary, BAA-bounded work
• Git + documentation discipline — versioned mappings (YAML), runbooks, reusable skill docs
➕ Nice-to-have
• Prior EHR / clinical-data migration experience (OpenEMR or another ambulatory EHR — eClinicalWorks a plus)
• Agentic AI / LLM tooling — supervising AI that drafts mappings / triages exceptions, and knowing where AI must NOT be trusted
• Broader interoperability — HL7 v2 (ADT / SIU / ORU / DFT), X12 837 / 835 awareness
• PHP literacy (enough to read OpenEMR source)
──────────────────────────────────────────────
⏱️ Engagement
Project-based: ~8 weeks of development within a ~13–15-week project. Remote OK, within a BAA-covered environment. Strong potential for repeat engagements as we onboard more practices.
──────────────────────────────────────────────
❓ Screening questions
1. Describe an EHR or clinical-data migration you owned end to end.
2. How have you worked with HL7 FHIR Bulk Data and/or C-CDA documents?
3. What's your GCP experience? Which services have you run in production?
4. How do you design a data pipeline for safe, idempotent re-runs (batch + delta)?
Apri su Upwork