mdatool
LibraryBlogPricing
mdatool
mdatool

Healthcare data architecture platform for data engineers, architects, and analysts building modern health systems.

HIPAA-AlignedEnterprise Ready

Tools

  • SQL Linter
  • DDL Converter
  • Bulk Sanitizer
  • Naming Auditor
  • Name Generator
  • AI Data Modeling
  • HCC Calculator

Library

  • Glossary
  • Guides
  • Blog

Company

  • About
  • Contact
  • Pricing

Account

  • Sign Up Free
  • Sign In
  • Upgrade to Pro
  • Dashboard

Legal

  • Privacy Policy
  • Terms of Service

© 2026 mdatool. All rights reserved.

Built for healthcare data engineers & architects.

BlogData ArchitectureTelehealth Data Architecture: Complete Guide for Data Engineers (2026)
Data Architecture

Telehealth Data Architecture: Complete Guide for Data Engineers (2026)

A complete guide to building a telehealth data architecture — core schema design, HL7 and FHIR integration, HIPAA compliance, HCC risk adjustment, and the common mistakes that cause claim denials.

mdatool Team·April 24, 2026·12 min read
telehealthdata architectureHL7FHIRHIPAAhealthcare data engineeringschema design

What Makes Telehealth Data Architecture Different

Telehealth platforms generate a distinct mix of data that traditional healthcare data models weren't designed for. A single virtual visit produces:

  • A scheduling record (appointment time, platform, provider NPI)
  • A video session log (duration, connection quality, participant IDs)
  • An encounter record (linked to the EHR)
  • Clinical notes (unstructured text, often dictated)
  • One or more ICD-10 diagnosis codes
  • CPT procedure codes for billing
  • An HL7 or FHIR message sent to the payer
  • A claims record for adjudication
📋

Free Tool

Parse this HL7 message →

Each of these hits a different system, in a different format, at a different time. The data architecture challenge is bringing them together into a coherent, queryable model while maintaining HIPAA compliance and audit trails.


Core Entities in a Telehealth Data Model

Members / Patients

The patient table is the anchor of any telehealth schema. Key columns:

CREATE TABLE member (
    member_id        VARCHAR(36)   NOT NULL PRIMARY KEY,
    first_name       VARCHAR(100)  NOT NULL,
    last_name        VARCHAR(100)  NOT NULL,
    date_of_birth    DATE          NOT NULL,
    gender_cd        CHAR(1),
    zip_cd           CHAR(5),
    plan_id          VARCHAR(36),
    medicaid_id      VARCHAR(20),
    medicare_id      VARCHAR(20),
    created_at       TIMESTAMP     NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at       TIMESTAMP     NOT NULL DEFAULT CURRENT_TIMESTAMP
);
🔄

Free Tool

Convert this DDL to Snowflake, BigQuery, or PostgreSQL instantly →

Telehealth-specific addition: track whether the member has a patient portal account and consented to telehealth visits — this matters for care gap reporting and outreach.


Providers

Every telehealth visit is tied to a licensed provider identified by their NPI (National Provider Identifier). Your provider table must store the NPI and validate it against the NPPES registry.

CREATE TABLE provider (
    provider_id      VARCHAR(36)   NOT NULL PRIMARY KEY,
    npi              CHAR(10)      NOT NULL UNIQUE,
    first_name       VARCHAR(100),
    last_name        VARCHAR(100),
    specialty_cd     VARCHAR(20),
    taxonomy_cd      VARCHAR(20),
    state_license_no VARCHAR(30),
    telehealth_eligible BOOLEAN   NOT NULL DEFAULT FALSE,
    created_at       TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP
);

NPI validation is non-negotiable for claims — an invalid NPI will reject at the clearinghouse. Use the NPI Lookup tool to validate provider NPIs before loading them into your warehouse.


Appointments and Encounters

The appointment is what's scheduled; the encounter is what actually happened. Keep these as separate tables — appointments are often cancelled or no-showed, and you need both for operational reporting.

CREATE TABLE appointment (
    appointment_id   VARCHAR(36)   NOT NULL PRIMARY KEY,
    member_id        VARCHAR(36)   NOT NULL REFERENCES member(member_id),
    provider_id      VARCHAR(36)   NOT NULL REFERENCES provider(provider_id),
    scheduled_dt     TIMESTAMP     NOT NULL,
    visit_type_cd    VARCHAR(20)   NOT NULL,
    platform_cd      VARCHAR(30),
    status_cd        VARCHAR(20)   NOT NULL,
    created_at       TIMESTAMP     NOT NULL DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE encounter (
    encounter_id     VARCHAR(36)   NOT NULL PRIMARY KEY,
    appointment_id   VARCHAR(36)   REFERENCES appointment(appointment_id),
    member_id        VARCHAR(36)   NOT NULL REFERENCES member(member_id),
    provider_id      VARCHAR(36)   NOT NULL REFERENCES provider(provider_id),
    encounter_dt     DATE          NOT NULL,
    encounter_type   VARCHAR(20)   NOT NULL,
    session_min      INT,
    place_of_svc_cd  CHAR(2)       NOT NULL,
    created_at       TIMESTAMP     NOT NULL DEFAULT CURRENT_TIMESTAMP
);

Place of service codes matter for billing. CMS uses code 02 for telehealth provided in a facility setting and 10 for telehealth provided in a patient's home. Getting this wrong causes claim denials.


Diagnoses and Procedures

CREATE TABLE encounter_diagnosis (
    encounter_diag_id  VARCHAR(36)  NOT NULL PRIMARY KEY,
    encounter_id       VARCHAR(36)  NOT NULL REFERENCES encounter(encounter_id),
    icd10_cd           VARCHAR(10)  NOT NULL,
    diag_seq_no        SMALLINT     NOT NULL,
    poa_ind            CHAR(1),
    created_at         TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE encounter_procedure (
    encounter_proc_id  VARCHAR(36)  NOT NULL PRIMARY KEY,
    encounter_id       VARCHAR(36)  NOT NULL REFERENCES encounter(encounter_id),
    cpt_cd             VARCHAR(10)  NOT NULL,
    proc_seq_no        SMALLINT     NOT NULL,
    units              SMALLINT     NOT NULL DEFAULT 1,
    modifier_cd        VARCHAR(10),
    created_at         TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP
);

For telehealth, certain CPT codes require telehealth-specific modifiers (95, GT). Your procedure table should capture these modifiers — they affect reimbursement.


HL7 and FHIR Integration

Telehealth platforms exchange clinical data via HL7 v2 messages or FHIR APIs. The two most common message types:

ADT A04 (Patient Registration) — fired when a patient is registered for a telehealth visit. Contains demographics, insurance, and provider assignment.

ORU R01 (Observation Result) — used to transmit clinical notes, vitals, and lab results back to the EHR after the visit.

If your platform receives HL7 v2 messages, you need a parser to extract structured data before it can land in your warehouse. Use the HL7 Parser tool to validate and parse HL7 messages before ingestion.

For FHIR R4 APIs, the key FHIR resources for telehealth are:

FHIR ResourceWhat It Maps To
Patientmember / patient demographics
Practitionerprovider with NPI
Appointmentscheduled visit
Encountercompleted visit with diagnoses
Conditionactive diagnosis list
Claimbilling record sent to payer
ExplanationOfBenefitadjudicated claim result

HIPAA Compliance Considerations

Telehealth data is PHI from end to end. Architecture requirements:

Encryption:

  • At rest: AES-256 minimum for all tables containing PHI columns
  • In transit: TLS 1.2+ for all API calls and data transfers

Access controls:

  • Column-level security on date_of_birth, diagnosis columns in Snowflake/BigQuery
  • Row-level security so analysts only see members in their assigned population
  • Audit logging for every SELECT on PHI tables

Data retention:

  • Clinical records: 7 years minimum (state laws vary — some require 10)
  • Billing records: 7 years per CMS requirements

HCC Risk Adjustment for Telehealth Populations

If you're a payer managing a Medicare Advantage or Medicaid managed care population, telehealth encounters must feed your HCC (Hierarchical Condition Category) risk adjustment pipeline.

Key rule: only diagnoses from qualified encounter types count for RAF scoring. Telehealth visits qualify if they meet CMS criteria — but your ETL must flag and validate this correctly. A diagnosis captured in a video visit that isn't classified as a qualifying encounter type won't count toward the member's risk score.

Use the HCC Calculator tool to model risk score changes as you ingest telehealth encounter data.


Common Mistakes in Telehealth Schema Design

1. Conflating appointment and encounter tables. Appointments and encounters are different business events with different lifecycles. Separate them from the start.

2. Not capturing place of service code at the encounter level. POS code drives reimbursement rates and claim validity. It must be stored at the encounter, not derived later.

3. Storing NPI without validation. An invalid NPI will cause claim rejections. Validate at load time, not after the fact.

4. Missing telehealth modifiers on procedure codes. CPT modifier 95 (synchronous telehealth) must be captured with the procedure. Without it, some payers will deny the claim.

5. Inconsistent column naming across telehealth and in-person encounter tables. Enforce consistent naming standards with the Naming Auditor tool.


Where to Start

If you're building a telehealth data architecture from scratch:

  1. Define your source systems — EHR, scheduling platform, video platform, clearinghouse.
  2. Model your core entities — member, provider, appointment, encounter, diagnosis, procedure. Get naming conventions right before you write the first CREATE TABLE.
  3. Build your HL7/FHIR ingestion layer — parse and validate incoming messages before loading.
  4. Add HIPAA controls — encryption, access control, audit logging from day one.
  5. Connect to your claims pipeline — telehealth encounters must flow into your claims adjudication and risk adjustment pipelines correctly.

Tools like mdatool can accelerate steps 2–3: generating DDL from your schema designs, converting between database dialects, validating NPI numbers, and parsing HL7 messages before they hit your warehouse.

M

mdatool Team

The mdatool team builds free tools for healthcare data engineers — DDL converters, SQL linters, naming auditors, and AI-powered data modeling guides.

Related Guides

HL7 & FHIR Interoperability

HL7 message formats, FHIR resources, and healthcare data exchange standards.

Read Guide

HIPAA Compliance

HIPAA Privacy and Security Rules, PHI handling, and compliance frameworks.

Read Guide

More in Data Architecture

Azure Synapse vs Snowflake for Healthcare Data Architecture: Which Platform Fits Your Team?

Azure Synapse Analytics and Snowflake both promise a unified cloud data platform — but they make different architectural bets that matter enormously in healthcare. This guide compares them across HIPAA compliance, FHIR integration, PHI governance, cost model, and team fit, with concrete SQL examples and a decision framework built for healthcare data engineers.

Read more

Oracle vs Databricks for Healthcare Data Architecture: Which Platform Should You Choose?

Oracle brings four decades of enterprise database maturity, deep EHR integration, and a proven HIPAA compliance story. Databricks brings a unified lakehouse, native AI/ML pipelines, and the ability to handle FHIR, HL7, and unstructured clinical data at scale. This guide breaks down which platform wins in each healthcare scenario — and when you need both.

Read more

Data Vault vs Traditional Data Warehouse: Which Architecture Should You Choose?

Data Vault and traditional data warehouses both store enterprise data — but they solve fundamentally different problems. This guide breaks down when to use each, how they compare to data lakes, and which architecture wins for healthcare and regulated industries.

Read more

Free Tools

Free HL7 v2 Parser

Paste any HL7 v2 message and decode every segment into labeled fields.

Try it free

Free DDL Converter

Translate SQL schemas between Snowflake, BigQuery, Oracle, and SQL Server.

Try it free

Ready to improve your data architecture?

Free tools for DDL conversion, SQL analysis, naming standards, and more.

Get Started Free

On this page

  • What Makes Telehealth Data Architecture Different
  • Core Entities in a Telehealth Data Model
  • Members / Patients
  • Providers
  • Appointments and Encounters
  • Diagnoses and Procedures
  • HL7 and FHIR Integration
  • HIPAA Compliance Considerations
  • HCC Risk Adjustment for Telehealth Populations
  • Common Mistakes in Telehealth Schema Design
  • Where to Start

Share

Share on XShare on LinkedIn

Engineering Tools

Convert DDL, lint SQL, and audit naming conventions — free.

Explore Tools