Supergood | Opus EHR API
Opus EHR is an electronic health record built for behavioral health and addiction treatment organizations. It helps teams admit clients, manage episodes of care, document treatment, schedule appointments and groups, track authorizations, and bill payers.
With an unofficial API, you can unlock programmatic access to core Opus EHR data and workflows—patients, admissions, treatment plans, schedules, authorizations, and claims—so your systems don’t rely on manual exports or browser automation.
If you’re a different tech company integrating with Opus EHR (e.g., CRM, intake, telehealth, utilization management, or RCM tooling), an API lets you pull clean patient and authorization data, push admissions and schedule entries, and assemble billable documentation into claims. You could enable automated intake-to-admission handoffs from your CRM, authorization-aware scheduling, outcomes dashboards tied to treatment plan updates, and end-to-end reimbursement tracking.
Programmatically access patient intake, admissions, treatment planning, scheduling, authorization tracking, and claims workflows in Opus EHR with a stable REST API. Supergood builds and operates production-grade, unofficial Opus EHR integrations so your team can automate behavioral health operations without heavy custom engineering.
Opus EHR is used by behavioral health, mental health, and substance use disorder treatment providers to manage census, document services across levels of care (detox, residential, PHP, IOP, outpatient), coordinate group and individual sessions, and support billing to commercial and Medicaid payers. With an unofficial API, you could synchronize your patient roster, automate admissions from your outreach systems, maintain treatment plans and documentation, validate payer authorizations before scheduling, and generate claims from signed notes—end to end.
If you’re a clinic, provider group, or revenue cycle team, integrating your tech stack with Opus EHR unlocks concrete data flows and features:
- Pull: Patient profiles, admissions/episodes, program enrollments and bed/census, appointments and group sessions, treatment plans and signed notes, payer authorizations, claim statuses, remittance summaries
- Push: New/updated patients from your CRM, admissions with level of care and bed assignments, appointments and group attendance, treatment plan updates, claim submissions referencing signed documentation
- Build: Authorization-aware scheduling, intake-to-admission automation, outcomes reporting from treatment plan objectives, utilization dashboards tied to units remaining, automatic claim assembly for 837P/I and reconciliation
What is Opus EHR?
Opus EHR provides behavioral health and addiction treatment EHR capabilities spanning intake, clinical documentation, scheduling, outcomes, and revenue cycle. Teams use Opus to coordinate care across programs, manage authorizations, and submit claims.
Core product areas include:
- Admissions and episodes of care (levels of care, bed assignments, census)
- Patient/client roster management with demographics and payers
- Scheduling (individual, group sessions) and attendance tracking
- Treatment planning (goals, objectives) and clinical documentation (progress notes, assessments)
- Payer authorizations and utilization tracking
- Billing and claims (837P/I) with remittance (835) reconciliation
- Outcomes measurement and reporting
- Telehealth and e-sign for consents/forms (varies by configuration)
Common data entities:
- Patients/Clients
- Admissions/Episodes and Programs (Detox, Residential, PHP, IOP, Outpatient)
- Providers/Staff
- Appointments and Group Sessions
- Treatment Plans and Clinical Notes
- Payers and Authorizations (service codes, units, dates)
- Claims and Remittances
- Beds and Census
- Referrals and Intake forms
The Opus EHR Integration Challenge
Organizations rely on Opus EHR daily, but turning portal-first workflows into automated pipelines presents hurdles:
- Program-specific structures: Levels of care, group vs. individual services, and documentation lock/sign workflows vary by program
- Authorization nuances: Service codes, units, and dates must align with program and payer rules; over-utilization prevention and updates are critical
- Strong enterprise security: SSO/MFA and role-based permissions complicate headless access; audit requirements limit bulk edits
- Portal-first delivery: Key scheduling, documentation, and census management exist in web apps or batch exports, not a unified public API
- Batch interfaces and timing windows: HL7/SFTP/EDI feeds, batching constraints, and submission windows need orchestration
- Reporting and export gaps: Users often request deeper API access for CRMs, call tracking, marketing automation, calendar sync, and bed board integrations
How Supergood Creates Opus EHR 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 patient, episode, authorization, scheduling, documentation, and claim objects across Opus deployments
- Aligns with customer entitlements and licensing constraints to ensure compliant access
- Bridges exports and SFTP/EDI flows where applicable with signed URL retrieval and delivery
Use Cases
Intake and Admissions Automation
- Convert CRM leads to patients and create admissions with program, level of care, and bed assignment
- Attach required consents and referral sources to admissions automatically
- Maintain a single source of truth for demographics and payers
Authorization Tracking and Utilization Management
- Validate active authorizations before scheduling services
- Track remaining units and alert care coordinators in real time
- Prevent over-utilization and surface authorization expirations
Scheduling and Group Attendance
- Sync calendars between Opus and your scheduling platforms
- Create group sessions and mark attendance with billable/non-billable flags
- Route exceptions (e.g., missing signatures) for resolution before billing
Clinical Documentation Export
- Pull signed progress notes, assessments, and treatment plan updates
- Centralize outcomes reporting across programs and levels of care
- Maintain machine-readable documentation packets with signatures and timestamps
Claims Generation and RCM Automation
- Bundle signed documentation into 837P/I claims with payer-specific formatting
- Submit via clearinghouse or payer portals; track statuses and remittances
- Reconcile payments with documentation provenance and audit trails
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_5c71d2",
"name": "EHR Admin",
"entitlements": ["patients", "admissions", "authorizations", "claims"]
}
}
Patients
GET /patients: Retrieve patient/client profiles with demographics, payer enrollments, and current program status. Use this for roster sync and intake handoffs.
Query parameters
- mrn: string
- lastName: string
- dob: ISO 8601 date
- programId: string
- status: string (active, discharged)
curl --request GET \
--url 'https://api.supergood.ai/integrations/<integration_id>/patients?lastName=Lopez&status=active' \
--header 'Authorization: Bearer <authToken>'
Example response
{
"items": [
{
"patientId": "pt_2f9a1c",
"mrn": "MRN-0012345",
"firstName": "Ava",
"lastName": "Lopez",
"dob": "1992-07-18",
"sex": "female",
"phone": "+1-555-555-0101",
"email": "[email protected]",
"address": {
"line1": "210 Oak Street",
"city": "Austin",
"region": "TX",
"postalCode": "78701"
},
"status": "active",
"programEnrollments": [
{
"programId": "prog_iop",
"programName": "IOP",
"levelOfCare": "IOP",
"admissionDate": "2026-01-10",
"dischargeDate": null
}
],
"payers": [
{"payerId": "payer_bcbs", "payerName": "BCBS", "memberId": "Z123456", "primary": true}
],
"diagnoses": ["F33.1", "F10.20"],
"emergencyContact": {"name": "Miguel Lopez", "phone": "+1-555-555-0199", "relation": "Brother"}
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
Admissions
POST /admissions: Create or update an admission/episode for a patient with program, level of care, authorization references, and bed assignment.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/admissions \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"patientId": "pt_2f9a1c",
"programId": "prog_residential",
"levelOfCare": "Residential",
"admissionDate": "2026-01-22T14:30:00Z",
"referralSource": "Hospital ER",
"bedId": "bed_b2-14",
"attendingProviderId": "prv_8831",
"payers": [
{"payerId": "payer_bcbs", "memberId": "Z123456", "primary": true}
],
"authorizations": [
{"authorizationNumber": "AUTH-5591", "serviceCode": "H0018", "unitsAuthorized": 28, "startDate": "2026-01-22", "endDate": "2026-02-19"}
],
"diagnoses": ["F11.20"],
"consents": ["consent_treatment", "consent_release_info"],
"referenceId": "crm-opportunity-829"
}'
Example response
{
"admissionId": "adm_74e2c9",
"status": "active",
"programId": "prog_residential",
"patientId": "pt_2f9a1c",
"createdAt": "2026-01-22T14:31:12Z",
"referenceId": "crm-opportunity-829"
}
Authorizations
GET /authorizations: Retrieve payer/member service authorizations with allowed units, service codes, levels of care, and date ranges. Use this to validate scheduling and documentation eligibility.
Query parameters
- patientId: string
- payerId: string
- serviceCode: string (CPT/HCPCS)
- activeOn: ISO 8601 date
curl --request GET \
--url 'https://api.supergood.ai/integrations/<integration_id>/authorizations?patientId=pt_2f9a1c&serviceCode=H0018&activeOn=2026-01-23' \
--header 'Authorization: Bearer <authToken>'
Example response
{
"items": [
{
"authorizationId": "auth_7342c1",
"authorizationNumber": "AUTH-5591",
"patientId": "pt_2f9a1c",
"patientName": "Ava Lopez",
"payerId": "payer_bcbs",
"program": "Residential",
"levelOfCare": "Residential",
"serviceCode": "H0018",
"unitsAuthorized": 28,
"unitsRemaining": 21,
"startDate": "2026-01-22",
"endDate": "2026-02-19",
"status": "active"
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
Claims
POST /claims: Assemble an 837P/I claim from signed documentation and validated authorizations. Supergood normalizes service lines and can route the generated file to the configured submission 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": "payer_bcbs",
"billingProvider": {
"npi": "1234567890",
"taxonomy": "Behavioral Health",
"name": "Aspire Recovery Center",
"billingAddress": {
"line1": "500 Renewal Ave",
"city": "Austin",
"region": "TX",
"postalCode": "78701"
}
},
"serviceLines": [
{
"documentationId": "note_934fe8",
"patientId": "pt_2f9a1c",
"providerId": "prv_8831",
"dateOfService": "2026-01-23",
"serviceCode": "90834",
"diagnosisPointers": ["F33.1"],
"units": 1
}
],
"submissionChannel": "clearinghouse",
"referenceId": "billing-batch-jan23"
}'
Example response
{
"claimId": "clm_71af2b",
"status": "queued",
"edi": {"format": "837P", "size": 48192},
"submissionChannel": "clearinghouse",
"createdAt": "2026-01-23T16:05:42Z",
"reviewUrl": "https://download.opus.example/signed/abc123...",
"referenceId": "billing-batch-jan23"
}
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 patients, admissions, authorizations, documentation, and claim artifacts
- Security: Encrypted transport, scoped tokens, and audit logging; respects Opus EHR entitlements and compliance requirements
- Webhooks: Optional asynchronous delivery for admissions, authorization updates, documentation locks/signatures, claim generation, and remittance updates
Performance Characteristics
- Latency: Sub-second responses for list/detail queries under normal load
- Throughput: Designed for high-volume intake, scheduling, documentation, 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
- Schedule Integration Assessment
Book a 30-minute session to confirm your Opus EHR product mix, licensing, and authentication model.
- Supergood Builds and Validates Your API
We deliver a hardened Opus EHR adapter tailored to your workflows and entitlements.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as Opus EHR evolves.
Frequently Asked Questions
Q: Which Opus EHR modules can this integration cover?
Supergood supports workflows across commonly used Opus EHR modules (e.g., patients, admissions/episodes, scheduling, treatment plans/notes, authorizations, claims), subject to your licensing and entitlements. We scope exact coverage during the 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 claims directly from signed clinical notes?
Yes. You can assemble 837P/I from signed documentation with payer-specific formatting. We can route submissions via your configured channel (clearinghouse or payer portal) and return statuses and artifacts for reconciliation.
Related Integrations
Intralinks API - Programmatically access the Intralinks VDR with Supergood
Ready to automate your Opus EHR workflows?
Supergood can have your Opus EHR integration live in days with no ongoing engineering maintenance.