### Get Order Sets using cURL Source: https://docs.athenahealth.com/api/api-ref/order-group Example of how to retrieve a list of order sets using cURL. Replace placeholders like {contextId} and {bearerToken} with your actual values. ```cURL curl -X GET "https://api.preview.platform.athenahealth.com/v1/{contextId}/configuration/ordersets" -H "accept: application/json" -H "Authorization: Bearer {bearerToken}" ``` -------------------------------- ### GET /fhir/r4/Patient with _LastUpdated Source: https://docs.athenahealth.com/api/resources/23-04-06-Updated-Endpoint-Added-Support-Last-Updated-fhir-r4-patient This example demonstrates how to query the FHIR R4 Patient endpoint and filter the results by the _LastUpdated parameter. ```APIDOC ## GET /fhir/r4/Patient ### Description Retrieves a list of patient resources, optionally filtered by the _LastUpdated parameter. ### Method GET ### Endpoint /fhir/r4/Patient ### Query Parameters - **_LastUpdated** (string) - Optional - Filters resources based on when the most recent change was made. Accepts date/dateTime formats. ### Request Example ``` GET /fhir/r4/Patient?_LastUpdated=ge2023-04-06T00:00:00Z ``` ### Response #### Success Response (200) - **resourceType** (string) - Indicates the resource type, which is 'Bundle' for search results. - **entry** (array) - An array of patient resources matching the query. #### Response Example ```json { "resourceType": "Bundle", "entry": [ { "resource": { "resourceType": "Patient", "id": "example-patient-id", "meta": { "lastUpdated": "2023-04-06T10:00:00Z" }, "name": [ { "family": "Smith", "given": [ "John" ] } ] } } ] } ``` ``` -------------------------------- ### POST Create Encounter Prep Notes Source: https://docs.athenahealth.com/api/api-ref/encounter-prep-notes Creates new encounter prep notes for a specific encounter. ```APIDOC ## POST /v1/{practiceid}/chart/encounter/{encounterid}/encounterprep/notes/ ### Description Creates the encounter prep notes for this encounter. ### Method POST ### Endpoint /v1/{practiceid}/chart/encounter/{encounterid}/encounterprep/notes/ ### Parameters #### Path Parameters - **practiceid** (integer) - Required - practiceid - **encounterid** (integer) - Required - encounterid #### Headers - **Content-Type** (string) - Required - Content type of the payload ### Request Body - **location** (string) - Required - The location where the note will show up in the encounter. One of EXAM or INTAKE. - **note** (string) - Required - The note text to be modified - **useversiontokens** (boolean) - Optional - On a successful post, if this parameter is true, the version token will be returned in the output, and otherwise will not. Defaults to false. ### Output Parameters #### Success Response (200) - **noteid** (integer) - The note ID of the newly created note. - **versiontoken** (string) - A token specifying a unique version of the note in the database. Will only be returned if the input parameter USEVERSIONTOKENS is true. ``` -------------------------------- ### Subscription Filters Example Source: https://docs.athenahealth.com/api/api-ref/fhir-subscription Demonstrates how to define subscription filters using the criteria object. Filters are applied with an AND condition. ```json { "criteria": "{\"ah-practice\": \"Organization/a-1.Practice-123\", \"ah-department\": \"Organization/a-123.Department-456\"}", "channel": { "type": "rest-hook", "endpoint": "https://example.com/my-webhook" } } ``` -------------------------------- ### Get Booked Appointments Report Source: https://docs.athenahealth.com/api/api-ref/appointment-report-booked-appointments Fetches a report of booked appointments. Requires specifying a start and end date for the report. ```APIDOC ## GET /v1/{contextId}/appointments/report ### Description Retrieves a report of booked appointments within a specified date range. This endpoint is useful for analyzing appointment volume, provider schedules, and patient flow. ### Method GET ### Endpoint /v1/{contextId}/appointments/report ### Parameters #### Query Parameters - **enddate** (string) - Required - The end date for the report (mm/dd/yyyy). - **startdate** (string) - Required - The start date for the report (mm/dd/yyyy). ### Request Example ```curl curl -X GET "https://api.preview.platform.athenahealth.com/v1/{contextId}/appointments/report?enddate=12/31/2023&startdate=01/01/2023" -H "accept: application/json" -H "Authorization: Bearer {bearerToken}" ``` ### Response #### Success Response (200) - **patientlocationid** (string) - The location of the patient. Only present for appointments with Clinicals that have been checked in. - **providerid** (string) - The provider ID. - **referringproviderid** (string) - The referring provider ID. - **remindercalls** (array) - Detailed ReminderCall information made for this appointment. - **calltime** (string) - Date and time of the call attempt. - **messageresultid** (string) - Id of the message attempt. - **messagetype** (string) - The type of message that was attempted. - **result** (string) - A description of what happened during the call attempt. - **renderingproviderid** (string) - The rendering provider ID. - **rescheduledappointmentid** (string) - When an appointment is rescheduled, this is the ID of the replacement appointment. - **scheduledby** (string) - The username who scheduled the appointment. - **scheduleddatetime** (string) - The time (mm/dd/yyyy hh24:mi:ss; Eastern time) that this appointment was scheduled. - **startcheckin** (string) - The timestamp when the appointment started the check in process. - **startcheckoutdatetime** (string) - The time (mm/dd/yyyy hh24:mi:ss) that the appointment check-out was started. - **starttime** (string) - As HH:MM (where HH is the 0-23 hour and MM is the minute). This time is local to the department. - **stopcheckin** (string) - The timestamp when the check-in process was finished for this appointment. - **stopexamdatetime** (string) - The time (mm/dd/yyyy hh24:mi:ss) that the exam was completed. - **stopintakedatetime** (string) - The time (mm/dd/yyyy hh24:mi:ss) that the intake process was completed. - **stopsignoff** (string) - The timestamp when the sign-off process was finished for this appointment. - **suggestedoverbooking** (string) - High risk score for Smart Scheduling. - **supervisingproviderid** (integer) - The supervising provider ID. - **templateappointmentid** (string) - The original appointment ID. - **templateappointmenttypeid** (string) - The original appointment type for this slot. - **urgentyn** (string) - Urgent flag for the appointment. - **procedures** (array) - An array of expected procedure codes attached to this appointment. - **procedurecode** (string) - The ID of the code. - **procedurecodedescription** (string) - The description of the code. - **visitid** (string) - Visit Id of the appointment. #### Response Example ```json { "appointments": [ { "patientlocationid": "1", "providerid": "123", "referringproviderid": "456", "remindercalls": [ { "calltime": "11/15/2023 10:00:00", "messageresultid": "msg1", "messagetype": "SMS", "result": "Delivered" } ], "renderingproviderid": "789", "rescheduledappointmentid": null, "scheduledby": "user1", "scheduleddatetime": "11/10/2023 09:30:00", "startcheckin": "11/15/2023 09:45:00", "startcheckoutdatetime": null, "starttime": "10:00", "stopcheckin": "11/15/2023 09:55:00", "stopexamdatetime": null, "stopintakedatetime": null, "stopsignoff": null, "suggestedoverbooking": "low", "supervisingproviderid": 101, "templateappointmentid": null, "templateappointmenttypeid": "apptType1", "urgentyn": "false", "procedures": [ { "procedurecode": "99213", "procedurecodedescription": "Office visit, established patient, 20 minutes" } ], "visitid": "v1001" } ] } ``` ``` -------------------------------- ### Get Specific OB Episode Details using cURL Source: https://docs.athenahealth.com/api/api-ref/ob-episode This example demonstrates how to retrieve details for a specific OB episode using a GET request. Replace {practiceid}, {patientid}, and {obepisodeid} with the relevant IDs. Optional parameters like `showhiddenproblems` and `showeddcalculationsdays` can be appended. ```curl curl -X GET "https://api.preview.platform.athenahealth.com/v1/{practiceid}/chart/{patientid}/obepisodes/{obepisodeid}?showhiddenproblems=false&showeddcalculationsdays=false" -H "accept: application/json" -H "Authorization: Bearer {bearerToken}" ``` -------------------------------- ### Example Risk Adjustment Resource Source: https://docs.athenahealth.com/api/api-ref/risk-adjustment This example demonstrates the structure of a risk adjustment resource, including patient information and related medical data. ```json { "resourceType": "Bundle", "entry": [ { "reference": "Procedure/1" }, { "reference": "DiagnosticReport/1" }, { "reference": "Claim/1" }, { "reference": "Basic/1" }, { "reference": "Basic/2" } ] } ``` ```json { "resourceType": "Patient", "id": "1", "identifier": [ { "system": "https://athenanet.athenahealth.com/patient", "value": "891" }, { "system": "https://athenanet.athenahealth.com/chartsharinggroup", "value": "21" } ] } ``` ```json { "resourceType": "MedicationStatement", "id": "1", "identifier": [ { "system": "https://athenanet.athenahealth.com/MedicationStatement", "value": "132132123" } ], "outcome": "complete", "informationSource": { "reference": "Organization/1" }, "status": "active", "effectiveDateTime": "2021-08-13T11:07:36-06:00", "medicationCodeableConcept": { "coding": [ { "system": "http://hl7.org/fhir/sid/ndc", "code": "ERT780", "display": "Caenorhabditis elegans RIG-I Homolog" } ] } } ``` ```json { "resourceType": "Procedure", "id": "1", "identifier": [ { "system": "https://partner-site-name.com", "value": "121212" } ], "status": "preparation", "performer": [ { "actor": "Organization/2" } ], "subject": { "reference": "Patient/996543" }, "performedDateTime": "2020-10-10", "code": { "coding": [ { "system": "http://hl7.org/fhir/sid/ex-icd-10-procedures", "code": "70450", "display": "Computed tomography, head or brain; without contrast material" } ] } } ``` ```json { "resourceType": "DiagnosticReport", "id": "1", "identifier": [ { "system": "https://partner-site-name.com", "value": "3322" } ], "status": "registered", "performer": [ { "reference": "Organization/1" } ], "issued": "2011-03-04T11:45:33+11:00", "code": { "coding": [ { "system": "http://loinc.org", "code": "58410-2", "display": "Complete blood count (hemogram) panel - Blood by Automated count" } ] } } ``` ```json { "resourceType": "Claim", "id": "1", "identifier": [ { "system": "http://happyvalley.com/claim", "value": "12345" } ], "status": "active", "patient": { "reference": "Patient/996543" }, "created": "2014-08-16", "provider": { ``` -------------------------------- ### Get New Patient Appointment Reasons Source: https://docs.athenahealth.com/api/api-ref/appointment-reasons Retrieve a list of appointment reasons configured for new patients. Requires practice ID, and optionally department and provider IDs. ```bash curl -X GET "https://api.preview.platform.athenahealth.com/v1/{contextId}/patientappointmentreasons/newpatient?departmentid={departmentId}&providerid={providerId}" -H "accept: application/json" -H "Authorization: Bearer {bearerToken}" ``` -------------------------------- ### Get Review of Systems Templates (cURL) Source: https://docs.athenahealth.com/api/api-ref/review-systems Use this cURL command to retrieve a list of Review of Systems templates for a given encounter. Ensure you replace placeholders like {contextId}, {encounterId}, and {bearerToken} with actual values. ```curl curl -X GET "https://api.preview.platform.athenahealth.com/v1/{contextId}/chart/encounter/{encounterId}/reviewofsystems/templates" -H "accept: application/json" -H "Authorization: Bearer {bearerToken}" ``` -------------------------------- ### Get Problem Change Subscription Events Source: https://docs.athenahealth.com/api/api-ref/problems This cURL example shows how to retrieve a list of events to which you can subscribe for problem change notifications. This helps in monitoring updates to patient problems. ```cURL curl -X GET "https://api.preview.platform.athenahealth.com/v1/{contextId}/chart/healthhistory/problems/changed/subscription/events" -H "accept: application/json" -H "Authorization: Bearer {bearerToken}" ``` -------------------------------- ### Get Patient Photo cURL Example Source: https://docs.athenahealth.com/api/api-ref/patient-photo Use this cURL command to retrieve a patient's image record. Ensure you replace placeholders like {contextId} and {bearerToken} with your actual values. ```cURL curl -X GET "https://api.preview.platform.athenahealth.com/v1/{contextId}/patients/{patientId}/photo" -H "accept: application/json" -H "Authorization: Bearer {bearerToken}" ``` -------------------------------- ### Text Macros Reference Source: https://docs.athenahealth.com/api/docs/practice-configuration View list of text macros configured at the given practice. ```APIDOC ## Text Macros Reference ### Description View list of text macros configured at the given practice. ### Review API Reference [Link to detailed API reference for Text Macros Reference] ``` -------------------------------- ### Update Patient Problem Details Source: https://docs.athenahealth.com/api/api-ref/problems This cURL example demonstrates how to update the details of an existing patient problem. You can modify the department ID, laterality, note, start date, and status (CHRONIC/ACUTE). ```cURL curl -X PUT "https://api.preview.platform.athenahealth.com/v1/{contextId}/chart/{patientId}/problems/{problemId}" -H "accept: application/json" -H "Authorization: Bearer {bearerToken}" -H "Content-Type: application/x-www-form-urlencoded" -d "departmentid={departmentId}&laterality={LEFT/RIGHT/BILATERAL}¬e={freeText}&startdate={mm%2Fdd%2Fyyyy}&status={CHRONIC/ACUTE}" ``` -------------------------------- ### Subscription Filter with Wildcard Source: https://docs.athenahealth.com/api/api-ref/fhir-subscription Shows how to use a wildcard (*) to subscribe to all departments within a practice. ```json { "criteria": "{\"ah-practice\": \"Organization/a-1.Practice-123\", \"ah-department\": \"Organization/a-123.Department-*\"}", "channel": { "type": "rest-hook", "endpoint": "https://example.com/my-webhook" } } ``` -------------------------------- ### Filter Records Using `confidentialitycode` Parameter Source: https://docs.athenahealth.com/api/workflows/record-access-restriction Use the `confidentialitycode` parameter in API calls to filter the data returned, retrieving only patients with a specific security label. This example shows how to get only non-restricted patients ('N'). ```curl curl 'https://api.athenahealth.com/ v1/1959/patients/search? confidentialitycode=N &searchterm=BOB' -XPUT -ddepartmentid=1 -H"Authorization: Bearer xxxxxx" -dcustomfields=' { "patients" : [ { "confidentialitycode" : "N", "dob" : "01\/01\/1955", "firstname" : "ALICE", "homephone" : "(631) 805-5654", "lastname" : "BOB", ... }, … ] } ' ``` -------------------------------- ### POST /v1/{practiceid}/chart/encounter/{encounterid}/startexternaldictation Source: https://docs.athenahealth.com/api/resources/complete_list_athena_apis Initiates an external dictation for a specific encounter within a practice. ```APIDOC ## POST /v1/{practiceid}/chart/encounter/{encounterid}/startexternaldictation ### Description Initiates an external dictation for a specific encounter. ### Method POST ### Endpoint /v1/{practiceid}/chart/encounter/{encounterid}/startexternaldictation ### Parameters #### Path Parameters - **practiceid** (string) - Required - The ID of the practice. - **encounterid** (string) - Required - The ID of the encounter. ``` -------------------------------- ### Get the list of configured encounter reasons Source: https://docs.athenahealth.com/api/api-ref/encounter-reasons Retrieves the list of possible encounter reasons that can be configured. ```APIDOC ## GET /configuration/encounterreason ### Description Gets the list of configured encounter reasons. ### Method GET ### Endpoint /configuration/encounterreason ``` -------------------------------- ### Get Patient Photo Thumbnail cURL Example Source: https://docs.athenahealth.com/api/api-ref/patient-photo This cURL command retrieves a patient's photo thumbnail. You can specify whether to receive the image directly as JPEG by setting the jpegoutput parameter. Replace placeholders as needed. ```cURL curl -X GET "https://api.preview.platform.athenahealth.com/v1/{contextId}/patients/{patientId}/photo/thumbnail?jpegoutput={true/false}" -H "accept: application/json" -H "Authorization: Bearer {bearerToken}" ``` -------------------------------- ### Service Request Occurrence as Period Source: https://docs.athenahealth.com/api/resources/25-7-release-updated-endpoint-fhir-r4-servicerequest-HTI1 For standing or reoccurring orders, ServiceRequest.occurrence is now represented as a period with start and end dates, rather than a single dateTime. This example shows a standing order for a CBC reoccurring weekly for one year. ```json { "resourceType": "ServiceRequest", "occurrence": { "period": { "start": "2024-08-29", "end": "2025-08-29" } } } ``` -------------------------------- ### Initiate appointment check-in process Source: https://docs.athenahealth.com/api/api-ref/appointment-check-in Notifies that the appointment check-in process has started. ```APIDOC ## POST /v1/{practiceid}/appointments/{appointmentid}/startcheckin ### Description Initiate appointment check-in process. ### Method POST ### Endpoint /v1/{practiceid}/appointments/{appointmentid}/startcheckin ### Parameters #### Path Parameters - **practiceid** (integer) - Required - practiceid - **appointmentid** (integer) - Required - appointmentid #### Headers - **Content-Type** (string) - Required - Content type of the payload ### Output Parameters - **message** (string) - Debugging text in case of failure. - **success** (string) - Indicates that this call was successful. Processing should still continue even if there was an error with this call. Generally, this will only be false if the appointment is in a good state to start the process, but the startcheckin call was already used. Other errors may occur, similar to potential errors with /appointments/{appointmentid}/checkin. ### Request Example ```json { "example": "request body" } ``` ### Response Example ```json { "message": "string", "success": "string" } ``` ### Example Code: cURL ``` curl -X POST "https://api.preview.platform.athenahealth.com/v1/{contextId}/appointments/{appointmentId}/startcheckin" -H "accept: application/json" -H "Authorization: Bearer {bearerToken}" ``` ``` -------------------------------- ### Get Discharge Medications Source: https://docs.athenahealth.com/api/api-ref/medications Retrieves pre-admission and post-discharge (as what has changed) medication details for a stay. This API retrieves home medications and changes to home medications as relates to an inpatient stay. They are divided into the groups PREADMISSION, STOP, START, and CONTINUE. ```APIDOC ## GET /v1/{practiceid}/stays/{stayid}/dischargemedications ### Description Retrieves pre-admission and post-discharge medication details for a stay. ### Method GET ### Endpoint /v1/{practiceid}/stays/{stayid}/dischargemedications ### Parameters #### Path Parameters - **stayid** (integer) - Required - stayid - **practiceid** (integer) - Required - practiceid #### Query Parameters - **THIRDPARTYUSERNAME** (string) - Optional - User name of the patient in the third party application. - **PATIENTFACINGCALL** (boolean) - Optional - When 'true' is passed we will collect relevant data and store in our database. ``` -------------------------------- ### appReopen Source: https://docs.athenahealth.com/api/guides/embedded-apps Reopens a previously minimized embedded application. ```APIDOC ## appReopen ### Description Reopens a minimized app. ### Method POST (inferred from postMessage usage) ### Endpoint Not applicable (uses `window.parent.postMessage`) ### Parameters None ### Request Example ```javascript window.parent.postMessage({ type: 'embeddedAppAPIMessage', method: 'appReopen', methodVersion: '1.0.0' }, 'https://preview.athenahealth.com/'); ``` ### Response None explicitly documented. ``` -------------------------------- ### Get Pre/Intra/Post procedure documentation for given encounter Source: https://docs.athenahealth.com/api/api-ref/procedure-codes Retrieves the Pre/Intra/Post procedure documentation associated with a specific encounter. This documentation can include HTML formatting if the showhtml parameter is set to true. ```APIDOC ## GET /v1/{practiceid}/chart/encounter/{encounterid}/stageproceduredocumentation ### Description Retrieves the Pre/Intra/Post procedure documentation associated with a specific encounter. ### Method GET ### Endpoint /v1/{practiceid}/chart/encounter/{encounterid}/stageproceduredocumentation ### Parameters #### Path Parameters - **practiceid** (integer) - Required - practiceid - **encounterid** (integer) - Required - encounterid #### Query Parameters - **showhtml** (boolean) - Optional - Procedure documentation is stored as HTML templates filled in by the practice. By default, we strip out all HTML when returning the data back through the API. However, there are times when preserving the HTML formatting may be useful. If SHOWHTML is set to true, the original HTML from the template is preserved when returning data back through the API. - **stage** (string) - Required - Stage of the encounter workflow (PRE/INTRA/POST). - **limit** (integer) - Optional - Number of entries to return (default 1000, max 10000)Please note that this endpoint has a different default and max than normal. - **offset** (integer) - Optional - Starting point of entries; 0-indexed ### Response #### Success Response (200) - **lastmodifiedby** (string) - The last user who updated this form. - **lastmodifieddatetime** (string) - The latest date and time that this field got modified; Provided in the format: MM/DD/YYYY HH24::MM::SS in Eastern time. - **proceduredocumentationtext** (string) - The text of the stage-specific Procedure Documentation section. Not all practices use this. Some use it extensively with HTML templates. - **proceduretemplatename** (string) - The name of the template from which this document originates - **stage** (string) - Stage of the encounter workflow (PRE/INTRA/POST). ``` -------------------------------- ### FHIR R4 Goal API - Filtering by SDOH Category Source: https://docs.athenahealth.com/api/resources/25-7-release-updated-endpoint-fhir-r4-goal-HTI1 This example demonstrates how to filter Goal resources using the 'category' search parameter to retrieve only those related to Social Determinants of Health (SDOH). This is applicable for both GET and POST search requests. ```http GET /fhir/r4/Goal?patient=a-432.E-3&category=http://hl7.org/fhir/us/core/CodeSystem/us-core-category|sdoh ``` -------------------------------- ### Initiate Appointment Check-In Process Source: https://docs.athenahealth.com/api/api-ref/appointment-check-in Call this endpoint to start the appointment check-in process. It notifies the system that the patient is beginning the check-in procedure. Processing continues even if this call returns an error, as it primarily signals the start. ```cURL curl -X POST "https://api.preview.platform.athenahealth.com/v1/{contextId}/appointments/{appointmentId}/startcheckin" -H "accept: application/json" -H "Authorization: Bearer {bearerToken}" ``` -------------------------------- ### FHIR R4 CareTeam Resource Example with Related Person Source: https://docs.athenahealth.com/api/resources/25-7-release-updated-endpoint-fhir-r4-care-team-HTI1 This JSON output demonstrates the structure of the FHIR R4 CareTeam resource, now including a 'Mother' as a related person in the participant list. This output is returned by the GET /fhir/r4/CareTeam/{logicalID} endpoint. ```json { "identifier": [ { "value": "a-1959.AmbulatoryCareTeam-14501" } ], "period": { "start": "2024-11-12T08:36:27-05:00" }, "participant": [ { "period": { "start": "2024-11-12T08:36:27-05:00" }, "id": "1769", "role": [ { "text": "Primary Care Provider" } ], "member": { "display": "PROVIDER1 SMITH", "reference": "Practitioner/a-1959.Provider-22" } }, { "period": { "start": "2024-11-12T08:36:54-05:00" }, "id": "1770", "role": [ { "text": "Cardiologist" } ], "member": { "display": "PROVIDER2 SMITH MD", "reference": "Practitioner/a-1.CP-13574318" } }, { "period": { "start": "2024-11-12T08:37:24-05:00" }, "id": "1771", "role": [ { "text": "Mother" } ], "member": { "display": "PATIENT MOTHER", "reference": "RelatedPerson/a-1959.Contact-352" } }, ], "meta": { "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-careteam" ] }, "resourceType": "CareTeam", "status": "active", "id": "a-1959.AmbulatoryCareTeam-14501", "extension": [ { "url": "https://fhir.athena.io/StructureDefinition/ah-practice", "valueReference": { "reference": "Organization/a-1.Practice-1959" } }, { "url": "https://fhir.athena.io/StructureDefinition/ah-chart-sharing-group", "valueReference": { "reference": "Organization/a-1959.CSG-42" } } ], "subject": { "reference": "Patient/a-1959.E-1803" } } ``` -------------------------------- ### Bug fix for GET Historical Medication and GET Medication Source: https://docs.athenahealth.com/api/resources/2024-release-notes Fixed issues for GET Historical Medication and GET Medication endpoints. The parameters `rxnorm` and `ndcoptions` are now included in the output for GET Historical Medication, and their data type is corrected to 'array of strings' for both endpoints. ```APIDOC ## GET /HistoricalMedication ### Description Retrieves historical medication data. Includes `rxnorm` and `ndcoptions` parameters in the output. ### Method GET ### Endpoint /HistoricalMedication ### Response #### Success Response (200) - **rxnorm** (array of strings) - RxNorm codes. - **ndcoptions** (array of strings) - NDC options. ``` ```APIDOC ## GET /Medication ### Description Retrieves medication data. Documentation corrected for `rxnorm` and `ndcoptions` data types. ### Method GET ### Endpoint /Medication ### Response #### Success Response (200) - **rxnorm** (array of strings) - RxNorm codes. - **ndcoptions** (array of strings) - NDC options. ``` -------------------------------- ### Sample Response for Changed Appointments Source: https://docs.athenahealth.com/api/workflows/transcription Example JSON response when a patient checks in for an appointment, showing details like appointment ID, patient ID, and check-in times. ```json "totalcount": 1, "appointments": [{ "date": "03\/23\/2016", "appointmentid": "666859", "departmentid": "1", "scheduledby": "dsmith", "startcheckin": "03\/23\/2016 15:44:08", "encounterid": "32827", "lastmodifiedby": "dsmith", "appointmenttype": "XRAY", "encounterstatus": "READYFORSTAFF", "stopcheckin": "03\/23\/2016 15:44:19", "providerid": "71", "scheduleddatetime": "03\/23\/2016 15:43:43", "templateappointmentid": "666859", "starttime": "15:30", "appointmentstatus": "2", "patientid": "6890", "duration": "15", "templateappointmenttypeid": "82", "appointmenttypeid": "502", "lastmodified": "03\/23\/2016 15:44:20", "patientappointmenttypename": "XRAY"}] ``` -------------------------------- ### GET /chart/encounter/{encounterid} and GET /chart/encounter/{encounterid}/diagnoses - IMO Data Source: https://docs.athenahealth.com/api/resources/2025-release-notes-and-change-logs The GET /chart/encounter/{encounterid} and GET /chart/encounter/{encounterid}/diagnoses endpoints can now return IMO (Intelligent Medical Objects) diagnosis data if applicable, for customers using the athenaOne Enhanced Diagnosis search tool. ```APIDOC ## GET /chart/encounter/{encounterid} and GET /chart/encounter/{encounterid}/diagnoses - IMO Data ### Description These endpoints now include IMO diagnosis data when available, providing more flexible search terms aligned with familiar medical terminology for users of the athenaOne Enhanced Diagnosis tool. ### Method GET ### Endpoint /chart/encounter/{encounterid} /chart/encounter/{encounterid}/diagnoses ### Response #### Success Response (200) - **IMODiagnoses** (object) or **IMODiagnosisList** (array) - Contains relevant IMO diagnosis data. ``` -------------------------------- ### Get list of practice(s), athena-products enabled for the user Source: https://docs.athenahealth.com/api/api-ref/practice-info-reference Retrieves the practice information, including enabled athena-products for the user. ```APIDOC ## GET /v1/{practiceid}/practiceinfo ### Description Retrieves the practice information. ### Method GET ### Endpoint /v1/{practiceid}/practiceinfo ### Parameters #### Path Parameters - **practiceid** (integer) - Required - practiceid #### Query Parameters - **limit** (integer) - Optional - Number of entries to return (default 1500, max 5000) - **offset** (integer) - Optional - Starting point of entries; 0-indexed ### Output Parameters - **ccmenabled** (string) - When called with a Context ID, this will return whether or not Cronic Care Management is enabled for the given practice. Currently, this is only available when querying an individual practice (not practice ID 1). - **experiencemode** (string) - This is a practice setting which is set to one of the following: STREAMLINEDONLY or CLASSICONLY - **golivedate** (string) - The date that this practice went (or will go) live in athenaNet. Note that, if in the future, this date might change as implementations are moved around. - **hasclinicals** (string) - Does this practice use athenaClinicals. - **hascollector** (string) - Does this practice use athenaCollector. - **hascommunicator** (string) - Does this practice use athenaCommunicator. - **iscoordinatorreceiver** (string) - **iscoordinatorsender** (string) - **mastercontextid** (string) - This will appear only in athena's demo environment, and indicates the context ID (Practice's ID number) of the practice this was copied from. Please note - a master's context ID may change roughly once per week in the future. If you need to refer to a master context in a static manner, see MASTERID. - **mastercontextname** (string) - This will appear only in athena's demo environment, and indicates the name of the practice this was copied from. - **masterid** (string) - This will appear only in athena's demo environment. The MASTERID is the ID for a master, which is static throughout the lifetime of the master. Though a master's schema number (MASTERCONTEXTID) may change, the MASTERID field will never change. The MASTERID is analogous to finishing third in a race - you will always be known for finishing third. The MASTERCONTEXTID is analogous to your phone number, which may change if you ditch your phone line for a different carrier. - **name** (string) - The name athenahealth uses internally for this practice. Note that practices may use different names for patients. - **nsaenabled** (string) - When called with a Context ID, this will return whether or not New Schedule Admin is enabled for the given practice. - **practiceid** (string) - The athenaNet practice ID. - **publicnames** (string) - When available, one or more names that the practices uses externally from athenaCommunicator. Again, this name should be verified with the practice before using it for patients. Currently, this is only available when querying an individual practice (not practice ID 1). ### Request Example ```json { "example": "curl -X GET \"https://api.preview.platform.athenahealth.com/v1/{contextId}/practiceinfo\" -H \"accept: application/json\" -H \"Authorization: Bearer {bearerToken}\"" } ``` ### Response #### Success Response (200) - **ccmenabled** (string) - Description - **experiencemode** (string) - Description - **golivedate** (string) - Description - **hasclinicals** (string) - Description - **hascollector** (string) - Description - **hascommunicator** (string) - Description - **iscoordinatorreceiver** (string) - Description - **iscoordinatorsender** (string) - Description - **mastercontextid** (string) - Description - **mastercontextname** (string) - Description - **masterid** (string) - Description - **name** (string) - Description - **nsaenabled** (string) - Description - **practiceid** (string) - Description - **publicnames** (string) - Description #### Response Example { "example": "response body" } ``` -------------------------------- ### Get Patient Vitals Source: https://docs.athenahealth.com/api/workflows/vitals-charts-overview Retrieves a list of patient vitals. This can be used to get only the attributes for which there are readings, or to get a complete list of patient vitals, optionally filtered by date range or department. ```APIDOC ## Get patient vitals with attributes in which there are readings for a patient GET/v1/{practiceid}/chart/{patientid}/vitals (use GET /chart/{patientid}/vitals?departmentid={departmentid}) ## Get complete list of patient vitals GET/v1/{practiceid}/chart/{patientid}/vitals (use GET /chart/{patientid}/vitals?departmentid={departmentid}&showemptyvitals=true&startdate={startdate}&enddate={enddate}) ``` -------------------------------- ### Get list of non-credit-card payment methods Source: https://docs.athenahealth.com/api/api-ref/payment-plan Get list of non-credit-card payment methods. ```APIDOC ## GET /v1/{practiceid}/paymentmethods/noncreditcard ### Description Get list of non-credit-card payment methods. ### Method GET ### Endpoint /v1/{practiceid}/paymentmethods/noncreditcard ### Parameters #### Path Parameters - **practiceid** (integer) - Required - practiceid ``` -------------------------------- ### Get list of appointment reasons for new patients Source: https://docs.athenahealth.com/api/api-ref/appointment-reasons Retrieve the list of appointment reasons configured for the Practice for new patients to attend. This includes details like description, reason, reason ID, and scheduling parameters. ```APIDOC ## GET /v1/{practiceid}/patientappointmentreasons/newpatient ### Description Retrieve the list of appointment reasons configured for the Practice for new patients to attend. ### Method GET ### Endpoint /v1/{practiceid}/patientappointmentreasons/newpatient ### Parameters #### Path Parameters - **practiceid** (integer) - Required - The practice ID. #### Query Parameters - **departmentid** (integer) - Optional - The athenaNet department ID. - **providerid** (integer) - Optional - The athenaNet provider ID. - **limit** (integer) - Optional - Number of entries to return (default 1500, max 5000). - **offset** (integer) - Optional - Starting point of entries; 0-indexed. ### Response #### Success Response (200) - **description** (string) - The patient-friendly name to accompany the reason. - **reason** (string) - The patient-friendly reason used to select an appointment type. - **reasonid** (integer) - The ID for this reason. Used to request open appointment slots. - **reasontype** (string) - Appointment reasons can be for new patients, existing patients, or all. Values are "new", "existing", or "all". - **schedulingmaxdays** (integer) - The maximum number of days before an appointment that a patient can schedule for a specific practice. - **schedulingminhours** (integer) - The minimum number of hours before an appointment that a patient can schedule or cancel for a specific practice. ### Request Example ```curl curl -X GET "https://api.preview.platform.athenahealth.com/v1/{contextId}/patientappointmentreasons/newpatient?departmentid={departmentId}&providerid={providerId}" -H "accept: application/json" -H "Authorization: Bearer {bearerToken}" ``` ``` -------------------------------- ### GET /v1/{practiceid}/chart/configuration/obepisodes/geneticscreeningandinfectionhistory/questions Source: https://docs.athenahealth.com/api/resources/complete_list_athena_apis Retrieves configuration questions for genetic screening and infection history in OB episodes. ```APIDOC ## GET /v1/{practiceid}/chart/configuration/obepisodes/geneticscreeningandinfectionhistory/questions ### Description Retrieves configuration questions for genetic screening and infection history in OB episodes. ### Method GET ### Endpoint /v1/{practiceid}/chart/configuration/obepisodes/geneticscreeningandinfectionhistory/questions ``` -------------------------------- ### GET medicalhistory Endpoint Update Source: https://docs.athenahealth.com/api/resources/24.04.25_Release_Updated_Endpoints_Get_gpal The GET medicalhistory endpoint now returns `createddatetime` and `createdby` attributes. ```APIDOC ## GET /chart/{patientid}/medicalhistory ### Description Retrieves the medical history for a patient. This updated version includes creation timestamp and user information. ### Method GET ### Endpoint /chart/{patientid}/medicalhistory ### Parameters #### Path Parameters - **patientid** (string) - Required - The ID of the patient. #### Query Parameters - **createddatetime** (string) - Optional - The date and time the record was created. - **createdby** (string) - Optional - The user who created the record. ### Response #### Success Response (200) - **createddatetime** (string) - The date and time the record was created. - **createdby** (string) - The user who created the record. #### Response Example { "example": "{\"createddatetime\": \"2024-04-25T10:00:00Z\", \"createdby\": \"user123\"}" } ``` -------------------------------- ### GET gynhistory Endpoint Update Source: https://docs.athenahealth.com/api/resources/24.04.25_Release_Updated_Endpoints_Get_gpal The GET gynhistory endpoint now returns `createddatetime` and `createdby` attributes. ```APIDOC ## GET /chart/{patientid}/gynhistory ### Description Retrieves the gynecological history for a patient. This updated version includes creation timestamp and user information. ### Method GET ### Endpoint /chart/{patientid}/gynhistory ### Parameters #### Path Parameters - **patientid** (string) - Required - The ID of the patient. #### Query Parameters - **createddatetime** (string) - Optional - The date and time the record was created. - **createdby** (string) - Optional - The user who created the record. ### Response #### Success Response (200) - **createddatetime** (string) - The date and time the record was created. - **createdby** (string) - The user who created the record. #### Response Example { "example": "{\"createddatetime\": \"2024-04-25T10:00:00Z\", \"createdby\": \"user123\"}" } ``` -------------------------------- ### Document Filter Example Source: https://docs.athenahealth.com/api/api-ref/fhir-subscription This example demonstrates how to filter document subscriptions by subclass and status. Use this when you need to subscribe to specific types of administrative documents. ```json "criteria": "https://api.fhir.athena.io/fhir/r4/SubscriptionTopic/AdminDocument.update", "_criteria": { "extension": [ { "url": "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria", "valueString": "ah-document-subclass=ADMIN_MEDICALRECORDREQ" }, { "url": "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria", "valueString": "ah-document-status=REVIEW" } ] }, ``` -------------------------------- ### GET gpal Endpoint Update Source: https://docs.athenahealth.com/api/resources/24.04.25_Release_Updated_Endpoints_Get_gpal The GET gpal endpoint now returns `createddatetime` and `createdby` attributes. ```APIDOC ## GET /chart/{patientid}/gpal ### Description Retrieves the General Patient Assessment Log (GPAL) for a patient. This updated version includes creation timestamp and user information. ### Method GET ### Endpoint /chart/{patientid}/gpal ### Parameters #### Path Parameters - **patientid** (string) - Required - The ID of the patient. #### Query Parameters - **createddatetime** (string) - Optional - The date and time the record was created. - **createdby** (string) - Optional - The user who created the record. ### Response #### Success Response (200) - **createddatetime** (string) - The date and time the record was created. - **createdby** (string) - The user who created the record. #### Response Example { "example": "{\"createddatetime\": \"2024-04-25T10:00:00Z\", \"createdby\": \"user123\"}" } ``` -------------------------------- ### appEnterFullscreen Source: https://docs.athenahealth.com/api/guides/embedded-apps Sets an embedded application to fullscreen mode. ```APIDOC ## appEnterFullscreen ### Description Sets an app to fullscreen mode. ### Method POST (inferred from postMessage usage) ### Endpoint Not applicable (uses `window.parent.postMessage`) ### Parameters None ### Request Example ```javascript window.parent.postMessage({ type: 'embeddedAppAPIMessage', method: 'appEnterFullscreen', methodVersion: '1.0.0' }, 'https://preview.athenahealth.com/'); ``` ### Response None explicitly documented. ```