Supergood | eMDs API

Supergood | eMDs API

Programmatically access patients, scheduling, charge capture, and claims in CGM eMDs with a stable REST API. Supergood builds and operates production-grade, unofficial eMDs integrations so your team can automate EHR and billing workflows without heavy custom engineering.

eMDs (now part of CompuGroup Medical, CGM) is an ambulatory electronic health record (EHR) and practice management platform used by clinics, provider groups, and billing services to run front office scheduling, clinical documentation, and revenue cycle processes end to end. With an unofficial API, you could synchronize patient demographics and insurance, manage appointment schedules, create encounters and procedure charges, assemble and submit claims via your configured channel, and reconcile payments from electronic remittances.

If you’re a healthcare tech startup in billing, practice management, or serving providers, integrating your product with eMDs unlocks concrete data flows and features:

  • Pull: Patient charts and demographics, insurance policies, provider rosters, appointment schedules and statuses, encounter summaries, diagnoses/procedures (ICD-10/CPT/HCPCS), claim statuses, ERA remittances (835) for posting, clinical documents (C-CDA), task/messages metadata
  • Push: New/updated patients and coverage, scheduled appointments and status changes, encounter metadata and attachments, claim submissions referencing charges and diagnoses, notes tied to encounters, prior authorization numbers on claims
  • Build: Automated intake and registration, eligibility-aware scheduling, charge capture and coding QA, 837P claims batching, payment posting and reconciliation dashboards

What is eMDs?

eMDs provides EHR and practice management software for ambulatory practices. It spans charting and orders, e-prescribing, lab interfaces, scheduling, registration, charge entry, claims submission, remittance posting, reporting, and quality programs.

Core product areas include:

  • EHR charting and orders (notes, problem lists, medications, allergies, labs, imaging)
  • Practice management and scheduling (registration, appointments, reminders, waitlists)
  • Billing/RCM (charge capture, claim generation, clearinghouse submission, ERA posting)
  • Patient communications and portal (documents, messaging, intake forms)
  • Reporting and compliance (MIPS/MACRA, operational reports)

Common data entities:

  • Patients and insurance policies
  • Providers, locations, and payer master data
  • Appointments and schedules
  • Encounters/visits, diagnoses (ICD-10), and procedures (CPT/HCPCS)
  • Charges, claims (837P/I artifacts), and remittances (835 payments/adjustments)
  • Documents (C-CDA, PDFs), tasks, and messages

The eMDs Integration Challenge

Organizations rely on eMDs daily, but turning portal-based EHR/PM workflows into automated pipelines is non-trivial:

  • Deployment variety: Hosted vs. on-prem variants and version differences impact authentication and data access
  • Strong enterprise security: SSO/MFA and network controls complicate headless automation
  • Portal-first workflows: Registration, scheduling, charge entry, and claim review often live in web apps without unified public APIs
  • Batch and clearinghouse coupling: EDI timing windows, batching constraints, and delivery confirmations must be respected
  • Code set and payer rules: ICD/CPT mapping, modifiers, and payer-specific edits require normalization
  • Compliance nuances: PHI handling, audit trails, and retention policies demand care

How Supergood Creates eMDs APIs

Supergood reverse-engineers authenticated browser flows, batch interfaces, and network interactions to deliver a resilient API endpoint layer.

  • Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
  • Maintains session continuity with automated refresh and change detection
  • Normalizes patients, appointments, encounters, charges, claims, and remittances into consistent schemas
  • Aligns with customer entitlements and licensing constraints to ensure compliant access
  • Bridges HL7/C-CDA exports and SFTP/EDI flows with signed URL retrieval and delivery

Use Cases

EHR/PM Synchronization

  • Push or pull patient demographics and coverage to keep registration in sync
  • Align provider/location rosters, payer lists, and plan mappings
  • Maintain a single source of truth for patient and insurance data

Eligibility-Aware Scheduling

  • Validate insurance eligibility before or during scheduling
  • Surface copays, plan type, and coverage dates to front office staff
  • Reduce denied visits and downstream billing issues

Charge Capture and Coding QA

  • Create encounters and attach diagnoses/procedures with correct POS and modifiers
  • Run payer-specific coding checks before claims are generated
  • Attach documentation and notes for audit readiness

Claims Generation and Reimbursement Automation

  • Bundle charges and diagnoses into 837P claims with payer-specific formatting
  • Submit via the configured channel (clearinghouse, payer portal, or file export)
  • Track claim statuses and reconcile ERAs with automated posting rules

Audit and Compliance

  • Export encounter packets with notes, diagnoses, procedures, and attachments
  • Maintain machine-readable audit trails by user and timestamp
  • Prove claim provenance with linked encounter and documentation records

Available Endpoints

Authentication

POST /sessions: Establish a session using credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/OAuth when enabled. Returns a short-lived auth token maintained by the platform.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/sessions \
  --header 'Authorization: Basic <Base64 encoded token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "username": "[email protected]",
    "password": "<password>",
    "mfa": {
      "type": "totp",
      "code": "123456"
    }
  }'

Example response

{
  "authToken": "eyJhbGciOi...",
  "expiresIn": 3600,
  "user": {
    "id": "u_41c2ab",
    "name": "PM Admin",
    "entitlements": ["patients", "appointments", "claims"]
  }
}

Patients

GET /patients: Retrieve patients with demographics, coverage, and primary relationships. Use this to populate your CRM, registration, or intake workflows.

Query parameters

  • mrn: string (exact match)
  • name: string (prefix/contains; first or last)
  • dob: ISO 8601 date
  • updatedSince: ISO 8601 timestamp
  • page, pageSize: integers

Example response

{
  "items": [
    {
      "patientId": "pt_8a92f3",
      "mrn": "00042319",
      "firstName": "Avery",
      "lastName": "Nguyen",
      "dob": "1989-11-07",
      "sex": "F",
      "phones": [{"type": "mobile", "number": "+1-512-555-0191"}],
      "emails": ["[email protected]"],
      "addresses": [{
        "use": "home",
        "line1": "1200 Barton Springs Rd",
        "city": "Austin",
        "region": "TX",
        "postalCode": "78704"
      }],
      "primaryProviderId": "prov_12d9a0",
      "insurancePolicies": [
        {
          "sequence": "primary",
          "payerId": "payer_bcbs_tx",
          "payerName": "Blue Cross Blue Shield TX",
          "memberId": "ZX9918273",
          "groupNumber": "GRP-8821",
          "planType": "PPO",
          "effectiveStart": "2025-01-01",
          "effectiveEnd": null
        }
      ],
      "portalEnrollment": {"enabled": true, "lastInviteAt": "2026-01-10T18:21:09Z"},
      "lastUpdated": "2026-01-19T12:45:02Z"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

Appointments

GET /appointments: Retrieve appointment schedules and statuses across providers and locations. Use this to drive reminders, pre-visit intake, or front desk dashboards.

Query parameters

  • providerId: string
  • locationId: string
  • start: ISO 8601 datetime (inclusive)
  • end: ISO 8601 datetime (exclusive)
  • status: string (scheduled, checked_in, canceled, no_show, completed)
  • page, pageSize: integers

Example response

{
  "items": [
    {
      "appointmentId": "appt_7b3f51",
      "patientId": "pt_8a92f3",
      "providerId": "prov_12d9a0",
      "locationId": "loc_austin_central",
      "startTime": "2026-01-22T15:30:00Z",
      "endTime": "2026-01-22T15:50:00Z",
      "visitType": "Established Office Visit",
      "status": "scheduled",
      "reason": "Follow-up and prescription review",
      "copayDue": 20.00,
      "createdBy": {"id": "u_41c2ab", "name": "PM Admin"},
      "lastUpdated": "2026-01-19T09:11:47Z"
    }
  ],
  "page": 1,
  "pageSize": 100,
  "total": 1
}

Claims

POST /claims: Assemble a professional claim (837P) from diagnoses and procedure lines. Supergood normalizes service lines and can route the generated file to the configured submission channel (clearinghouse, payer portal, or file export).

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/claims \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "claimType": "837P",
    "payerId": "payer_bcbs_tx",
    "billingProvider": {
      "npi": "1234567890",
      "taxId": "12-3456789",
      "name": "Austin Family Practice",
      "billingAddress": {
        "line1": "200 Medical Pkwy",
        "city": "Austin",
        "region": "TX",
        "postalCode": "78701"
      }
    },
    "renderingProvider": {"npi": "1098765432"},
    "facility": {"npi": "1999999999", "pos": "11"},
    "patientId": "pt_8a92f3",
    "subscriber": {
      "relationship": "self",
      "memberId": "ZX9918273"
    },
    "diagnosisCodes": ["J06.9", "Z79.899"],
    "serviceLines": [
      {
        "cpt": "99213",
        "modifiers": ["25"],
        "units": 1,
        "chargeAmount": 125.00,
        "dosFrom": "2026-01-22",
        "dosTo": "2026-01-22",
        "pos": "11"
      },
      {
        "cpt": "36415",
        "units": 1,
        "chargeAmount": 12.00,
        "dosFrom": "2026-01-22",
        "dosTo": "2026-01-22",
        "pos": "11"
      }
    ],
    "priorAuthNumber": null,
    "submissionChannel": "clearinghouse",
    "referenceId": "encounter-44281"
  }'

Example response

{
  "claimId": "clm_9cd12e",
  "status": "queued",
  "edi": {"format": "837P", "size": 43812},
  "submissionChannel": "clearinghouse",
  "createdAt": "2026-01-19T16:22:41Z",
  "reviewUrl": "https://download.emds.example/signed/abc123...",
  "referenceId": "encounter-44281"
}

Get full API Specs →


Technical Specifications

  • Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth where enabled; supports service accounts or customer-managed credentials
  • Response format: JSON with consistent resource schemas and pagination
  • Rate limits: Tuned for enterprise throughput while honoring licensing and usage controls
  • Session management: Automatic reauth and cookie/session rotation with health checks
  • Data freshness: Near real-time retrieval of appointments, encounters, claims, and remittance artifacts
  • Security: Encrypted transport, scoped tokens, and audit logging; respects eMDs entitlements and HIPAA requirements
  • Webhooks: Optional asynchronous delivery for schedule updates, claim generation, and remittance posting events

Performance Characteristics

  • Latency: Sub-second responses for list/detail queries under normal load
  • Throughput: Designed for high-volume scheduling and claims pipelines
  • Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
  • Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates

Getting Started

  1. Schedule Integration Assessment

Book a 30-minute session to confirm your eMDs deployment, licensing, and authentication model.

  1. Supergood Builds and Validates Your API

We deliver a hardened eMDs adapter tailored to your workflows and entitlements.

  1. Deploy with Monitoring

Go live with continuous monitoring and automatic adjustments as eMDs evolves.

Schedule Integration Call →


Frequently Asked Questions

Q: Which eMDs products can this integration cover?

Supergood supports workflows across commonly used CGM eMDs EHR and practice management modules, subject to your licensing and entitlements. We scope coverage (e.g., patients, scheduling, encounters/charges, claim assembly, remittance retrieval) during integration assessment.

Q: How are MFA, SSO, and batch interfaces handled for automation?

We support username/password + MFA (SMS, email, TOTP) and can operate behind SSO/OAuth when enabled. For batch flows, we manage SFTP/EDI timing windows, generate 837 files, and retrieve signed URLs or delivery confirmations programmatically.

Q: Can I generate and submit claims directly from captured charges?

Yes. You can assemble 837P/I claims from diagnoses and procedure lines with payer-specific formatting. We can route submissions via your configured channel (clearinghouse, payer portal, or file export) and return statuses and artifacts for reconciliation.



Ready to automate your eMDs workflows?

Supergood can have your eMDs integration live in days with no ongoing engineering maintenance.

Get Started →

Read more