Integration with AthenaHealth® API
Technosoft has integrated several healthcare applications with Athena using their API to Create patients, Get providers information, Schedule appointments for providers, Upload documents and Fetch specific types of orders. Our customer’s applications were integrated with Athena API using the provided ClientID and ClientSecret from Athena. Athena users were also able to login to the application from Athena EHR portal. Please find below details about two selected Athena integration scenarios that we have worked on.
Technosoft integrated Phyzit application with Athena to fulfill the following requirements.
- Schedule Patient’s appointment with Provider in Athena using Phyzit.
- Upload the Patient’s documents to Athena from Phyzit.
- Login to Phyzit via SSO from Athena using PingOne.
Each facility was linked to Athena using Practice Id and Department Id and we linked Athena patients with Phyzit patients using Athena patient id in Phyzit database. Users were able to create new patients to link with Athena or link existing Phyzit patients if one did not exist.
1. Schedule Patient’s appointment with Provider in Athena Integration using Phyzit
Users were able to create patient appointments with doctors in Phyzit application and the same appointment was being created/synced in Athena as well. The same patients and providers existed in both systems and were linked. To achieve this functionality, we used the following Athena API endpoints:
- Get Athena Providers to get provider information
- Get Athena booked appointments, so that we can have information about already booked appointments
- Get Athena open appointments to have open appointments slot information
- Get Athena appointment types to select the type of meeting between patient and doctor
- Create an appointment slot for patient and doctor in Athena
Using the above-mentioned steps and Athena API endpoints we were able to create a patient’s appointment with a doctor in Athena.
2. Upload Patient’s documents to Athena Integration from Phyzit
Users were able to upload patient’s clinical documents in pdf to Athena from Phyzit interface. We used the following Athena API endpoint to achieve this functionality.
We needed to send the base64 encoded pdf document in bytes, document subclass, and type of the document to Athena.
3. Login to Phyzit via SSO from Athena using PingOne
Users were able to redirect to Phyzit application from Athena Portal by clicking on Phyzit application name along with patient names. We used a third-party single sign-on service named PingOne.
Athena users were able to see patient details in Phyzit and if a patient did not exist then they were able to create a new patient or link an existing patient. All this was done without users entering the user name and password in other systems due to SSO.
Another Technosoft Customer
Technosoft integrated this application with Athena to fulfill the following requirements
- Fetch specific types of orders from Athena.
- Get patient and provider information from Athena Orders and Create/Update them within our system.
- Get Patient Diagnosis information from Athena and store it in our database.
- Upload PDF reports to Athena from our system.
Each Practice using our system was linked to Athena Practice via Athena Practice id and Department id
Fetch specific type of orders from Athena
Our customer’s requirement was to fetch signed orders of a specific type so that they can grab patient, provider and patient’s diagnosis information and store them in their database. In order to fetch orders from Athena, we need to follow the steps below.
- Practice subscription to signed orders
- Get signed orders information
- Get Encounter information to get patient diagnosis information
- Get Patient information
- Get Providers information
Using the above-mentioned steps and Athena API endpoints we were able to subscribe to each practice to orders subscription and take all of the orders information.
Athena API Limitations
Athena has certain limits to use their API which are
- 5 API calls per second.
- 50,000 API calls per day.
We hit this limit and had to scaleback API calls to stay within this limit.
Python, Flask, Alembic, sqlAlchemy, Rollbar.
*AthenaHealth logo is a trademark of AthenaHealth