Supergood | Office Ally API

Supergood | Office Ally API

Programmatically access eligibility (270/271), claim submission (837P/I), claim status (277), ERA remittances (835), and key Practice Mate data (patients, charges, schedules) in Office Ally with a stable REST API. Supergood builds and operates production-grade, unofficial Office Ally integrations so your team can automate critical billing and practice management workflows without heavy custom engineering.

Office Ally is software used by healthcare providers, billing companies, and RCM teams to submit insurance claims, check eligibility, reconcile remittances, manage patient schedules and demographics, and chart clinical encounters. With an unofficial API, you could run real-time eligibility checks, submit and track claims across thousands of payers, retrieve and parse ERAs for automated payment posting, and synchronize patient and insurance profiles with your EHR or practice management system.

If you’re a healthcare tech startup, provider group, or revenue cycle team, integrating your stack with Office Ally unlocks concrete data flows and features:

  • Pull: Patient demographics and insurance profiles, payer lists, eligibility responses (271), claim statuses and clearinghouse reports, ERA/835 remittances with CARC/RARC adjustments, appointment schedules
  • Push: New/updated patients and insurance, charge captures and claims (837P/I), re-submissions/corrections, eligibility inquiries, provider/facility updates
  • Build: Real-time eligibility at scheduling/check-in, automated claim scrubbing and submission, payment posting from ERAs, denial worklists, statement/balance workflows

What is Office Ally?

Office Ally provides a healthcare clearinghouse and practice management suite used by clinics, provider groups, and billing services. Its products include a nationwide clearinghouse (claim submission to 5,000+ payers), Practice Mate (scheduling, patient demographics, charges), EHR 24/7 (certified EHR with charting and e-prescribing), and Patient Ally (patient portal). Core workflows span EDI claims (837), eligibility (270/271), claim status (276/277), ERA remittances (835), payer enrollment, and daily operational tools like appointments and reporting.

Core product areas include:

  • Clearinghouse connectivity for 837P/837I submissions
  • Eligibility verification (270/271) and claim status (276/277)
  • ERA/835 retrieval and posting support
  • Practice management (scheduling, demographics, insurance, charges)
  • EHR charting, e-prescribing, labs, and documentation
  • Payer enrollment and trading partner management

Common data entities:

  • Patients and guarantors
  • Insurance policies (subscriber, payer, plan, member ID)
  • Providers, facilities, and organizational profiles (NPI, taxonomy, addresses)
  • Claims (837P/I) with diagnosis codes and service lines
  • Eligibility requests/responses (270/271)
  • Claim status updates and clearinghouse reports (277)
  • Remittances (835) with adjustments (CARC/RARC) and payments
  • Appointments, schedules, and charges (Practice Mate)

The Office Ally Integration Challenge

Organizations rely on Office Ally daily, but turning portal- and EDI-first workflows into automated APIs is hard:

  • Payer- and product-specific rules: Enrollment requirements, payer IDs, and claim formatting vary across thousands of payers
  • Strong security and compliance: MFA, HIPAA/PHI controls, and role-based portal access complicate headless automation
  • EDI-first delivery: Eligibility, claims, status, and ERA data arrive as ANSI X12 files or portal reports, not normalized JSON
  • Batch timing and windows: Daily submission cutoffs, delayed 277 status updates, and ERA availability must be respected
  • Attachments and corrections: Secondary claims, corrected claims, and attachments can require payer-specific handling

How Supergood Creates Office Ally 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 claims, eligibility, and ERA objects; optionally provides original EDI alongside parsed JSON
  • Aligns with customer entitlements, payer enrollments, and product access to ensure compliant usage
  • Bridges batch exports and SFTP/EDI flows where applicable with signed URL retrieval and delivery

Use Cases

EHR-to-Clearinghouse Pipelines

  • Push professionally formatted 837P/I claims from your EHR/PM into Office Ally
  • Track clearinghouse rejections and payer acknowledgments with structured statuses
  • Automate resubmissions and corrected claims, referencing original claim/control numbers

Real-Time Eligibility at Scheduling and Check-In

  • Trigger 270 inquiries from scheduling or intake
  • Surface 271 benefits (coverage, copay, deductible) to staff or patient-facing apps
  • Reduce denials and surprises by validating coverage before services

ERA Reconciliation and Payment Posting

  • Pull 835 remittances and parse CARC/RARC adjustments and patient responsibility
  • Auto-post payments and adjustments into your PM/EHR with accurate mappings
  • Drive denial management worklists with reason codes and payer remarks

Patient and Insurance Sync

  • Maintain a single source of truth for demographics and policy details
  • Map payer lists and plan identifiers to your internal models
  • Keep schedules, charges, and claim data aligned across systems

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_b41a77",
    "name": "Billing Admin",
    "entitlements": ["clearinghouse", "eligibility", "era"]
  }
}

Eligibility

POST /eligibility-checks: Submit a 270 inquiry for a patient/payer and receive a normalized 271 response. Use this to validate coverage at scheduling or check-in.

Request body

  • serviceDate: ISO 8601 date
  • provider: object (npi, taxonomy, facilityNpi optional)
  • payerId: string (Office Ally payer identifier)
  • subscriber: object (memberId, lastName, firstName, dob, relationship)
  • patient: object (dob, lastName, firstName) if different from subscriber
  • placeOfService: string
curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/eligibility-checks \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "serviceDate": "2026-01-25",
    "provider": {"npi": "1234567890", "taxonomy": "207Q00000X"},
    "payerId": "OA_12345",
    "subscriber": {
      "memberId": "W123456789",
      "lastName": "Garcia",
      "firstName": "Elena",
      "dob": "1988-03-04",
      "relationship": "self"
    },
    "placeOfService": "11"
  }'

Example response

{
  "eligibilityId": "elig_9d32af",
  "status": "completed",
  "coverageActive": true,
  "plan": {"name": "Acme Health PPO", "groupNumber": "G-8472"},
  "effectiveDate": "2025-01-01",
  "copay": {"officeVisit": 25.0},
  "deductible": {"individual": 1500.0, "remaining": 900.0},
  "coinsurance": 0.2,
  "benefitDetails": [
    {"serviceType": "30", "description": "Health Benefit Plan Coverage", "covered": true},
    {"serviceType": "98", "description": "Professional (Physician)", "covered": true}
  ],
  "raw": {"x12": {"format": "271", "size": 10240}}
}

Claims

POST /claims: Submit a professional or institutional claim. Supergood normalizes service lines and can route the generated 837 to the configured channel.

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": "OA_12345",
    "billingProvider": {
      "npi": "1234567890",
      "taxId": "12-3456789",
      "name": "BrightCare Medical Group",
      "address": {"line1": "100 Care Way", "city": "Austin", "region": "TX", "postalCode": "78701"}
    },
    "renderingProvider": {"npi": "1098765432"},
    "facility": {"npi": "1987654321", "placeOfService": "11"},
    "subscriber": {"memberId": "W123456789", "lastName": "Garcia", "firstName": "Elena", "dob": "1988-03-04"},
    "patient": {"relationship": "self"},
    "diagnosisCodes": ["M54.5", "R51.9"],
    "serviceLines": [
      {"cpt": "99213", "modifiers": ["25"], "units": 1, "chargeAmount": 110.0, "dosFrom": "2026-01-21", "dosTo": "2026-01-21", "pos": "11"}
    ],
    "referenceId": "ehr-claim-48291"
  }'

Example response

{
  "claimId": "clm_f51c09",
  "status": "queued",
  "clearinghouseId": "OA-CH-778211",
  "edi": {"format": "837P", "size": 58312},
  "createdAt": "2026-01-21T18:05:42Z",
  "referenceId": "ehr-claim-48291"
}

Claim Status

GET /claims: Retrieve claims with clearinghouse and payer status. Use filters to build rejection queues and track adjudication.

Query parameters

  • status: string (queued, accepted_clearinghouse, rejected_clearinghouse, accepted_payer, denied, paid, partially_paid)
  • serviceDateFrom, serviceDateTo: ISO 8601 date
  • payerId: string
  • patientId: string
  • page, pageSize: integers

Example response

{
  "items": [
    {
      "claimId": "clm_f51c09",
      "payerId": "OA_12345",
      "patient": {"id": "pat_12a7e0", "name": "Elena Garcia"},
      "status": "rejected_clearinghouse",
      "submittedAt": "2026-01-21T18:05:42Z",
      "lastUpdate": "2026-01-21T18:10:01Z",
      "ack": {"clearinghouse": {"code": "A3:21", "message": "Invalid member ID"}},
      "controlNumbers": {"icn": null, "submitter": "000123456"}
    },
    {
      "claimId": "clm_912a44",
      "payerId": "OA_77890",
      "patient": {"id": "pat_78c112", "name": "Marcus Lee"},
      "status": "accepted_payer",
      "submittedAt": "2026-01-20T14:22:03Z",
      "lastUpdate": "2026-01-21T09:31:18Z",
      "ack": {"payer": {"code": "A1:19", "message": "Accepted for processing"}},
      "controlNumbers": {"icn": "20260121000123", "submitter": "000123456"}
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 2
}

Remittances (ERA)

GET /remittances: Retrieve ERA/835 summaries and download links for payment posting and reconciliation.

Query parameters

  • paymentDateFrom, paymentDateTo: ISO 8601 date
  • payerId: string
  • claimId: string
  • checkNumber: string
  • page, pageSize: integers

Example response

{
  "items": [
    {
      "eraId": "era_6b12df",
      "payerId": "OA_12345",
      "paymentDate": "2026-01-23",
      "checkNumber": "987654321",
      "traceNumber": "TRC-112233",
      "paymentAmount": 842.15,
      "claims": [
        {
          "claimId": "clm_912a44",
          "icn": "20260121000123",
          "paidAmount": 120.45,
          "allowedAmount": 150.00,
          "patientResponsibility": 29.55,
          "adjustments": [
            {"group": "CO", "carc": "45", "amount": 30.00, "rarc": null}
          ]
        }
      ],
      "raw": {"x12": {"format": "835", "size": 44123, "downloadUrl": "https://download.officeally.example/signed/abc123..."}}
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

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; optional inclusion of original X12 artifacts (837/271/277/835)
  • Rate limits: Tuned for enterprise throughput while honoring licensing, payer enrollment, and usage controls
  • Session management: Automatic reauth and cookie/session rotation with health checks
  • Data freshness: Near real-time retrieval of eligibility, claim status, and newly posted ERAs
  • Security: Encrypted transport, scoped tokens, and audit logging; respects Office Ally entitlements and HIPAA requirements
  • Webhooks: Optional asynchronous delivery for claim status changes, ERA availability, and eligibility responses

Performance Characteristics

  • Latency: Sub-second responses for list/detail queries under normal load; eligibility checks return as soon as payer response is available
  • Throughput: Designed for high-volume claim submission and ERA retrieval across large provider orgs
  • Reliability: Retry logic, backoff, and idempotency keys minimize duplicates and protect against transient EDI/portal issues
  • Adaptation: Continuous monitoring for UI/EDI changes with rapid adapter updates

Getting Started

  1. Schedule Integration Assessment

Book a 30-minute session to confirm your Office Ally product mix, payer enrollments, and authentication model.

  1. Supergood Builds and Validates Your API

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

  1. Deploy with Monitoring

Go live with continuous monitoring and automatic adjustments as Office Ally evolves.

Schedule Integration Call →


Frequently Asked Questions

Q: Which Office Ally products can this integration cover?

Supergood supports workflows across commonly used Office Ally portals and tools, subject to your licensing and entitlements. We scope coverage (e.g., eligibility, claim submission, status tracking, ERA retrieval, Practice Mate data) during integration assessment.

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

We support username/password + MFA (SMS, email, TOTP) and can operate behind SSO/OAuth when enabled. For batch flows, we generate 837 files, manage submission timing windows, and retrieve signed URLs or delivery confirmations; we also parse 835/271/277 files into normalized JSON.

Q: Can I download ERAs and auto-post payments into my PM/EHR?

Yes. We expose ERA summaries and detailed line-level adjustments, with optional delivery of the original 835. You can map CARC/RARC codes to your posting rules and reconcile by payer, check, and claim.



Ready to automate your Office Ally workflows?

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

Get Started →

Read more