Kareo® provides a web services API for integration with auxiliary healthcare information systems. Unfortunately, on the other hand Kareo does not provide an HL7 interface. However, the API exposed is very rich and provides read access to patients, providers, appointments, transactions, and charges. Kareo API also provides write access to patients and encounters.
A customer Key is required for the purpose of fetching data from the Kareo API. In addition to the key, in the Get operation, a Fields parameter is sent along which specifies the fields API needs to return. The API provides extensive options in order to filter fetched data. Frequent polling is frowned upon. So if you plan to fetch new patients or charges every minute, that is restricted by Kareo. One can fetch data from Kareo in 5-10 minutes intervals.
Following are the operations one can perform using the Kareo API:
1- CreateEncounter, Get Appointments
2- Get Charges
3- Update Patient, Get Patient, Get Patients, Create Patient
4- Get Payments
5- Get Practices
6- Get Procedure Codes
7- Get Providers
8- Get Service Locations
9- Get Transactions
Our engineers have worked hundreds of hours on Kareo integration projects.
Following are a few interfaces we have written to/from Kareo, using Kareo API:
Soapware to Kareo Billing
Soapware provides an XML based output for all the charges (Superbill)
Technosoft posted these charges to Kareo using their createEncounter .net web services API.
The interface is written with extensive logging and fault tolerance in mind.
Kareo Integration to Soapware Demographics ADT (Admission Discharge Transfers)
1: Kareo exposes following two web services:
To get demographics from Kareo and create charges into Kareo, these services were used by people.
2: SoapWare accepts a CSV file for patient demographics. It uses a CSV file but it is more of a segment based file similar to HL7. A typical CSV (Comma Separated Values) file has all rows contains similar data but in the segment based file, there are multiple types of rows that need to be created/parsed. So we were not able to use either the HL7 transformer or CSV transformer classes. We created custom transformer classes to create the files needed by SOAPware.
3: Kareo restricts the polling of its system every 5-10 minutes. With that restriction in mind, kareo interface was developed
Insurance Management System for Past Due Accounts.
1: Kareo.net API used for Insurance, Demographics data fetch.
2: Extensive reporting based on past due to insurance data.
3: Workflow assignments for internal staff to follow up on past due accounts.
4: This was one of the applications where we stretched KAREO API to the extreme and worked extensively with the Kareo API team to extend the solution to cater to our needs.