Skip to content

AthenaPractice Data Center Migration

Status: Pending Created: 2026-03-03 Jira: HM-8461 Deadline: 2026-03-26 Trigger: AthenaPractice notified of data center migration — new IPs, URLs, and SSL certificates effective March 26, 2026.

Summary

AthenaPractice is migrating their data center. This affects any integration points where eSHARS connects to AthenaPractice services (SFTP, login URLs, API endpoints). A full code and infrastructure audit found no hardcoded references to AthenaPractice in any eSHARS repository. All connection details are either database-stored or managed in Azure Portal.

No code changes or deployments required. This is purely operational.


Pre-Migration Audit Results

Code Repositories Searched

RepoAthenaPractice References Found
HISD (main app)None
eshars-devopsNone
eshars-cliNone
eshars-mobile-apiNone
eshars-mobile-uiNone
eshars-tmhp-msNone
esharsinternalportalNone

Search terms: athena, athenaPractice, athenahealth, cloudcent, 208.78

SFTP Integration

SFTP hostnames are database-stored, not hardcoded. They are retrieved at runtime via GetDistrictValue<string>() calls in these settings classes:

Settings ClassDB Key
DistrictFileProcessorSettingsSFTP Host Name (District File Processor)
LogFileManagementSettingsSFTP Host Name
SuccessEdSettingsSFTP Host Name (SuccessED)
EdiCategorySettingsBilling Transaction SFtp HostName, TMHP Imported files SFTP Host Name

The SFtpClient class (Eshars.Core/Helper/SFtpClient.cs) accepts hostname as a constructor parameter.

Infrastructure-as-Code

IaC FileIP References
Bicep: main.bicepNone — NSG created empty
Bicep: virtual-machine.bicepNone — no security rules
Bicep: vnet-subnet.bicepNone — CIDRs parameterized
Terraform: sql-server/main.tfNone — no firewall rules
Terraform: app-service-plan/main.tfNone — no IP restrictions

Note: NSG rules, SQL firewall rules, App Service IP restrictions, and VPN config are managed directly in Azure Portal — not in IaC.


Migration Checklist

Phase 1: Pre-Migration (before March 26)

Azure Portal Checks

  • Review NSG rules in all resource groups for any AthenaPractice IP references (208.78.x.x range)
    • rg-eshars-prod
    • rg-eshars-nonprod
    • Any other relevant resource groups
  • Review SQL Server firewall rules for AthenaPractice IPs
  • Review App Service IP restrictions / access restrictions
  • Review Azure Firewall rules (if applicable)

Network / VPN

  • Check VPN client configuration for AthenaPractice endpoints
  • Update VPN config with new AthenaPractice IPs/URLs if needed
  • Whitelist new AthenaPractice IP ranges in any relevant NSGs/firewalls

Database Updates

  • Identify which districts use AthenaPractice SFTP
    SELECT op.OrganizationId, o.Name, pi.Name AS SettingName, op.Value
    FROM OrganizationPolicy op
    JOIN Organization o ON o.Id = op.OrganizationId
    JOIN PolicyItem pi ON pi.Id = op.PolicyItemId
    WHERE pi.Name LIKE '%SFTP Host%'
    AND op.Value LIKE '%athena%'
  • Prepare UPDATE statements for new SFTP hostname (do NOT run until migration day)

Administrative

  • Update login URL in documentation/bookmarks
  • Notify affected vendors of the migration
  • Complete attestation form from AthenaPractice
  • Communicate timeline to team

Phase 2: Migration Day (March 26)

Pause BillTransactionJobs (2:00 PM Central / 12:00 PM Pacific)

Before the AthenaPractice update takes effect, pause all BillTransactionJobs to prevent visits from being sent to the wrong endpoint during the migration window. Follow the full procedure in Job Scheduler: Pause & Resume.

  • Pause BillTransactionJob triggers via QRTZ_TRIGGERS state change
  • Verify triggers show PAUSED state
  • Confirm with Kisha that jobs are paused

Apply Changes

  • Execute SFTP hostname UPDATE in database (if needed)
  • Update any remaining Azure Portal IP rules
  • Update VPN configuration

Resume BillTransactionJobs (after Luis confirms AthenaPractice path is correct)

Luis will restart jobs one by one to verify visits are flowing to the correct AthenaPractice endpoint.

  • Resume BillTransactionJob triggers via QRTZ_TRIGGERS state change (see runbook)
  • Monitor first execution of each job for errors
  • Confirm with Luis that visits are arriving in AthenaPractice

Phase 3: Post-Migration Verification

  • Verify SFTP connectivity to new AthenaPractice endpoints
  • Verify login URL works
  • Monitor scheduled jobs that use SFTP (check job logs):
    • DistrictFileProcessorRequestJob
    • LogFileManagementRequestJob
    • SuccessEdRequestJob
    • BillTransactionJob
    • CentricityVisitPaymentImportJob
    • EligibilityRequestSubmissionJob
    • EligibilityResponseProcessJob
  • Confirm no errors in application logs related to AthenaPractice connectivity
  • Close HM-8461

Estimate

3 story points — No code changes, no PRs, no deployments. Work is entirely operational: Azure Portal audits, DB updates, VPN config, vendor coordination, and attestation.

  • Previous similar migration: check linked tickets on HM-8461 (Sharad referenced prior work)
  • SFTP client code: Eshars.Core/Helper/SFtpClient.cs
  • Settings classes: Eshars.ApplicationService/Helpers/