chrisreedio / laravel-athena-sdk
Provides an interface to Athena EHR's API
Requires
- php: ^8.2
- illuminate/contracts: ^10.0|^11.0|^12.0
- saloonphp/cache-plugin: ^3.0
- saloonphp/laravel-plugin: ^3.0
- saloonphp/pagination-plugin: ^2.0
- saloonphp/saloon: ^3.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^8.1.1||^7.10.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- dev-main
- v1.0.0-alpha.37
- v1.0.0-alpha.36
- v1.0.0-alpha.35
- v1.0.0-alpha.34
- v1.0.0-alpha.33
- v1.0.0-alpha.32
- v1.0.0-alpha.31
- v1.0.0-alpha.30
- v1.0.0-alpha.29
- v1.0.0-alpha.28
- v1.0.0-alpha.27
- v1.0.0-alpha.26
- v1.0.0-alpha.25
- v1.0.0-alpha.24
- v1.0.0-alpha.23
- v1.0.0-alpha.22
- v1.0.0-alpha.21
- v1.0.0-alpha.20
- v1.0.0-alpha.19
- v1.0.0-alpha.18
- v1.0.0-alpha.17
- v1.0.0-alpha.16
- v1.0.0-alpha.15
- v1.0.0-alpha.14
- v1.0.0-alpha.13
- v1.0.0-alpha.12
- v1.0.0-alpha.11
- v1.0.0-alpha.10
- v1.0.0-alpha.9
- v1.0.0-alpha.8
- v1.0.0-alpha.7
- v1.0.0-alpha.6
- v1.0.0-alpha.5
- v1.0.0-alpha.4
- v1.0.0-alpha.3
- v1.0.0-alpha.2
- v1.0.0-alpha.1
- dev-chore/clean-up
- dev-dependabot/github_actions/actions/checkout-6
- dev-dependabot/github_actions/stefanzweifel/git-auto-commit-action-7
- dev-laravel-12
- dev-feature/referring-providers-resource
- dev-feature/add-provider-fields
- dev-bugfix/fix-department-address
- dev-feature/referring-providers
- dev-bug/fix-booleans
- dev-feature/patient-address
- dev-dev
- dev-patient-custom-fields
- dev-chart-alert
- dev-early_token_expiration
This package is auto-updated.
Last update: 2026-03-10 06:47:03 UTC
README
laravel-athena-sdk is a Laravel-first wrapper around Athenahealth's API. It provides a configured connector, resource-style entry points for common API domains, and DTOs for mapping Athena responses into typed PHP objects.
The package is best suited for applications that want a package-native integration layer instead of building raw Saloon requests and response mapping from scratch.
Installation
composer require chrisreedio/laravel-athena-sdk
Publish the package config:
php artisan vendor:publish --tag="laravel-athena-sdk-config"
Set the required Athena credentials in your environment:
ATHENA_BASE_URL=https://api.preview.platform.athenahealth.com ATHENA_CLIENT_ID=your-client-id ATHENA_CLIENT_SECRET=your-client-secret ATHENA_PRACTICE_ID=your-practice-id ATHENA_LEAVE_UNPROCESSED=false
Configuration
The package currently publishes a config file only. There are no package views or package migrations to publish.
The connector authenticates with Athena using the client credentials grant flow and caches the access token under the athena_access_token cache key.
Usage
Instantiate the connector directly:
use ChrisReedIO\AthenaSDK\AthenaConnector; $athena = new AthenaConnector(); $appointment = $athena->appointments()->get( appointmentId: 123456, );
Or use the facade:
use ChrisReedIO\AthenaSDK\Facades\Athena; $providers = Athena::providers();
The top-level resources currently exposed by the connector are:
appointments()departments()patients()providers()referringProviders()practice()encounters()
Public API
The supported Laravel-facing wrapper surface is documented in docs/public-api.md.
That document covers:
- the connector and facade entry points
- the resource methods exposed through
AthenaConnector - the nested resource helpers exposed from those top-level resources
Raw request classes under src/Requests are still available for lower-level use, but they are not the primary API documented in this package.
Local Checks
composer test
composer analyse
composer format:test
Additional Notes
docs/endpoints.mdtracks endpoint coverage work still to be validated.composer analyseruns cleanly and is enforced in CI alongside tests and formatting checks.
Changelog
See CHANGELOG.md for release history.
Contributing
See CONTRIBUTING.md for local setup and pull request expectations.
Security
See SECURITY.md for how to report vulnerabilities.
License
Released under the MIT license.