A CCDA REST API was developed to make it quick and super easy for developers to parse and retrieve information from CCDA documents.
Here is the demo site
POST /bbplus
Add or update a patient record from a BlueButton+/CCDA file.
Parameters:
Inputs:
-
bbfile: An XML string representation of the BlueButton+ file in the CCDA format. If the same patient data is posted at a later date, the API updates the stored record with the updated information. The uniqueness is determined based on the MRN/Institution data in the XML (see example below).
-
op_format: Specify output format "xml" or "json"
Output:
-
patient_id: An API-specific patient identifier token (string) that can be used to query further information for this patient.
-
status: The processing status of the XML ("processing", "completed", "failed").
GET /bbplus/<patient_id>/<section>
Get specific section of the patient record
Parameters:
Input:
-
patient_id: The unique identifier of the patient record returned by the API on the POST of the BlueButton+ file.
-
section: The specific section to retrieve in the output. The section parameter can be any one of the following:
- demographics
- problems
- medications
- allergies
- results
- procedures [NotSupported]
- encounters [NotSupported]
- socialhistory [NotSupported]
-
op_format: Specify output format "xml" or "json"
Output:
-
status: The processing status of the XML ("processing", "completed", "failed").
-
patient_record: An XML or JSON representation of the requested section. The format of individual sections are described in the table.
-
JDK 1.6
-
Eclipse Juno release or higher
-
Dependencies (included in the project)
-
MDHT Runtime 1.0.0.201302191803
-
Eclipse EMF Core 2.5
-
RESTlet
-
Gson 2.2.3
- Clone this repository onto your local
- Import the directory as an Eclipse project.
- Export as a "Runnable Jar"
- Run the application as java -jar ccda-parser-runnable.jar <port_number>
- Add parsers for currently not supported sections
- Add a creators to support creating a CCDA document using the REST query
- Add authentication, rate throttling, logging capabilities
Copyright (c) 2013 by Applied Informatics Inc. Licensed under the Apache 2.0 license.