Document Type - Lab Result

Document Type - Lab Results. These documents are processed by athenahealth, for example, lab results obtained from a blood draw, fluid specimen, or a biopsy/surgical excision. Lab results are with the laboratory name, the date and time of the specimen collection, analytes and values, growth rate, or observations of tissue samples. Whenever possible, structured analytes should be entered on documents. Analytes are entered by practice users unless they are received via interface. This feature allows the user to retrieve, add or modify information of a specific patient or a specific lab result of a patient. It also provides a facility to retrieve lab results document in HTML. The document content could be images, XML.etc. The Lab Result Changed Subscription feature will allow the user to retrieve, delete, create or modify changes to lab results. The user will need to subscribe. For more information about subscriptions, please refer Changed Data Subscriptions.

Lab Results
Obtained from a blood draw, fluid specimen, or a biopsy/surgical excision, lab results appear in the Results section of a patient’s chart. By default, lab result documents are created in an open status. However, creating lab results in a closed status is encouraged if the practice has already reviewed this data via another mechanism. 

Whenever possible, structured analytes should be entered on documents, and clinicalordertype (test type) and clinicalprovider (performing lab/data source) should always be specified. 

Note: Subclassification is not available for this document class.

Lab Analytes
API users can add and update lab analyte results through the existing lab result document POST and PUT endpoints for a specified patient. An analyte is a lab result value, such as glucose, HDL cholesterol, and WBC. 

The user's application must be the primary source of the lab analytes added through the lab result API. The analytes being uploaded into athenaNet are only a copy of the data available through the user's own application. The user is responsible for contacting/warning a patient’s provider or care team if any analyte result collected from a patient is outside of a reasonable threshold.

Adding Lab Analytes
Using the lab result document endpoint, users can create a lab result document with one or more lab analytes. The lab analyte value in the POST API is a url-encoded JSON structure.  Each entry contains items related to an analyte. Example lab analyte value for the POST:

[
  {
    "analytename" : "HGB A1C",
    "units" : "%",
    "abnormalflag" : "ABNORMAL",
    "referencerange" : "1-10",
    "resultstatus" : "Final",
    "value" : "5",
    "note" : "example note"
  },
  {
    "analytename" : "Alpha-1-Globulin",
    "units" : "mg/mol",
    "abnormalflag" : "CRITICAL HIGH",
    "referencerange" : "0.05-0.09",
    "resultstatus" : "Pending",
    "value" : "1.5",
    "note" : "example note"
  }
]
The analytename is required in order to POST a lab analyte. All other fields are optional.

Updating Lab Analytes
Lab analytes associated with lab result documents can be updated through the lab result PUT endpoint.  You must first get the labresultid of the lab result. You can get this from the lab result GET API via:

GET /patients/{patientid}/documents/labresult?departmentid={departmentid}
After retrieving the labresultid, you will must then get the analyteid of the analyte that you want to update. The analyteid uniquely identifies that particular analyte result. You can use the analyteid to update the fields associated with that particular analyte result using the document specific lab result GET API via:

GET /patients/{patientid}/documents/labresult/{labresultid}?departmentid={departmentid}
Sample API Response:

[
   {
      "createddate" : "05\/11\/2016",
      "description" : "lab result",
      "documentsource" : "INTERFACE",
      "labresultid" : "664739",
      "lastmodifieddate" : "05\/11\/2016",
      "observations" : [
         {
            "abnormalflag" : "abnormal",
            "analyteid" : "872001",
            "analytename" : "HGB A1C",
            "note" : "example note",
            "referencerange" : "1-10",
            "resultstatus" : "final",
            "units" : "%",
            "value" : "5"
         }
      ],
      "pages" : [],
      "priority" : "2",
      "status" : "REVIEW"
   }

]

Once you have the analyteid(s), you will must add a ‘“analyteid” : “{analyteid}}’ line to all the entries of the analyte(s) you are updating. 

If an entry doesn’t have an analyteid, it will be considered a new analyte instead of an update and added to the lab result document.

Example lab analyte value for the PUT:

[
  {
    "analytename" : "HGB A1C",
    "analyteid" : "123456",
    "loinc" : "12773-9",
    "units" : "%",
    "abnormalflag" : "ABNORMAL",
    "referencerange" : "1-10",
    "resultstatus" : "Final",
    "value" : "12",
    "note" : "example note"
  },
  {
    "analytename" : "ACTH, Plasma",
    "units" : "mg/mol",
    "abnormalflag" : "NORMAL",
  }
]

NOTE: The above example would update the HGB A1C analyte since the analyteid was provided and add the ACTH, Plasma analyte to the lab result since the analyteid was NOT provided.

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Add lab result document action note
Get patient's interpretation document
GET
/v1/{practiceid}/patients/{patientid}/documents/interpretation

Retrieves an interpretation document record of a specific patient

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

Output Parameters

Expand all
Example Code
Get list of patient's lab result documents

Output Parameters

Expand all
Example Code
Add lab result document to patient's chart
POST
/v1/{practiceid}/patients/{patientid}/documents/labresult

Creates a lab result document record of a specific patient

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

Request Body

Expand all
Example Code
Get patient's lab result document
GET
/v1/{practiceid}/patients/{patientid}/documents/labresult/{labresultid}

Retrieves a specific lab result document information Note: This endpoint may rely on specific settings to be enabled in athenaNet Production to function properly that are not required in other environments. Please see <a href="https://docs.athenahealth.com/api/resources/best-practices-and-troubles… Rollout of APIs</a> for more information if you are experiencing issues.

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

Output Parameters

Expand all
Example Code
Update patient's lab result document
PUT
/v1/{practiceid}/patients/{patientid}/documents/labresult/{labresultid}

Modifies a specific lab result document information

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

Request Body

Expand all
Example Code
Mark patient's lab result document as deleted
DELETE
/v1/{practiceid}/patients/{patientid}/documents/labresult/{labresultid}

Deletes the record of a specified lab result document

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all
Example Code
Get page from patient's lab result document
GET
/v1/{practiceid}/patients/{patientid}/documents/labresult/{labresultid}/pages/{pageid}

Retrieves a specific page from the specific lab result document of the patient

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all
Example Code
This endpoint is used to apply a document action on a specific document.
PUT
/v1/{practiceid}/documents/labresult/{documentid}/dataentrycompleted

Returns a success message pertaining to the update.

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all
Example Code
Close a lab result
PUT
/v1/{practiceid}/documents/labresult/{labresultid}/close

Advances a lab result to a closed status. Note: This endpoint may rely on specific settings to be enabled in athenaNet Production to function properly that are not required in other environments. Please see <a href="https://docs.athenahealth.com/api/resources/best-practices-and-troubles… Rollout of APIs</a> for more information if you are experiencing issues.

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all
Example Code
Get list of lab result change events to which you can subscribe
GET
/v1/{practiceid}/labresults/changed/subscription/events

Retrieve list of all events that can be input for this subscription.

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all
Example Code
Subscribe to all/specific change events for lab results
POST
/v1/{practiceid}/labresults/changed/subscription

Subscribes for changed lab results events

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all
Example Code
Get list of lab result change subscription(s)
GET
/v1/{practiceid}/labresults/changed/subscription

Retrieves list of events applicable for lab results changes

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all
Example Code
Get list of changes in lab results based on subscription

Output Parameters

Expand all
Example Code
Unsubscribe to all/specific change for lab events
DELETE
/v1/{practiceid}/labresults/changed/subscription

Deletes a specific event which is no longer required

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all
Example Code