PracticeSuite API OAuth 2.0 Access

PracticeSuite prefers OAuth 2.0 for authorization and authentication for all its API endpoints.

Authentication and authorization for the PracticeSuite API can be done using the OAuth 2.0 protocol in accordance with the OAuth 2.0 spec. Within the OAuth 2.0 protocol, PracticeSuite supports only client credentials grant type, right now. Client credentials grant type is described below, but for any specifics or additional details about OAuth 2.0, please refer to the OAuth 2.0 spec.

Client Credentials Grant Type:

OAuth 2.0 client credentials grant type works as follows:

  1. Partner is given a client id and client secret.
  2. Partner uses its client id and client secret to get an access token.
  3. The access token is used to authenticate each request made to the API server.
  4. Each time the access token expires, Partner will use its client id and client secret to get a new access token.

P.S. Partners would need to contact PracticeSuite dev support, to acquire their client id and client secret. A partner is assigned a client id and client secret by PracticeSuite via secure communication methods (encrypted e-mail, password protected one time access links etc.). It is not auto generated.

HTTPS POST to generate a new access token from client credentials

POST https://staging.practicesuite.com/uaa/oauth/token

Parameters

Parameter Description Type Required
grant_type A string describing the method of exchange to get an access token. Text
Value MUST be set to “client_credentials”
Yes
scope A string describing what type of access the partner is going to use the API for. Text Value MUST be set to “read” Yes

Basic Authentication

Parameter Description Type Required
client_id A unique identifier that was assigned to Partner when Partner was registered as a consumer of the API. Text Yes
client_secret A generated code that was assigned to Partner when Partner was registered as a consumer of the API. Text Yes

Response JSON definition

Parameter Description Type
access_token A generated token that Partner will use to authenticate every request. Text
expires_in The lifetime in seconds of the access token starting from the time the token was generated. Numeric
scope A string describing what type of access the partner is granted to use the API for. Text
token_type A string describing the type of token the partner is assigned. Text

Example:

POST https://staging.practicesuite.com/uaa/oauth/token

HTTP HEADER

Authorization: Basic cGFydG5lci1jbGllbnQtaWQtMToyNjkzNi1kMzhnNC0zZDgzLWRiMzdkZTg=

How to encode client_id and client_secret using Base64

Concatenate client_id and client_secret into single string seperated by ‘:’ eg: “partner-client-id-1:26936-d38g4-3d83-db37de8”

Java example

String client_id = "partner-client-id-1";
String client_secret = "26936-d38g4-3d83-db37de8";
String clientAuthBase64 = Base64.getEncoder().encodeToString((client_id+":"+client_secret).getBytes());

.NET example

string client_id = "partner-client-id-1";
string client_secret = "26936-d38g4-3d83-db37de8";
string clientAuthString = client_id+":"+client_secret;
var clientAuthBase64Bytes = Encoding.UTF8.GetBytes(clientAuthString);
string clientAuthBase64 = Convert.ToBase64String(clientAuthBase64Bytes);

HTTP REQUEST BODY

grant_type=client_credentials&scope=read

RESPONSE

{"access_token":"91b52f53-9129-4c5a-9428-f01ef9a5342t","token_type":"bearer","expires_in":43199,"scope":"read"}

cURL syntax

Generate token using OAuth Client Id and Client Secret

 curl -i "https://staging.practicesuite.com/uaa/oauth/token" -H "Accept: application/json" -u "<client_id>:<client_secret>" -d "grant_type=client_credentials" -d "scope=read"

Authentication:

To authenticate each request to PracticeSuite API, the access token obtained above must be passed in with them. PracticeSuite API will use the access token to authorize Partners who are requesting the information.

Example:

POST https://staging.practicesuite.com/api/patients/search

HTTP HEADER

AUTHORIZATION: Bearer 91b52f53-9129-4c5a-9428-f01ef9a5342t

 

 

Patient API


Patient Search:

HTTPS POST to search for matching patients

This endpoint should use the criteria passed in to search for and return a list of matching patients. If more than one patients match the criteria
given, return all matching patients. If no patients match the criteria given, an empty list should be returned.

https://staging.practicesuite.com/api/patient/search

Parameters

Parameter Description Type Required
first_name The first name of the patient to match. Text Yes
last_name The last name of the patient to match. Text Yes
date_of_birth The date of birth of the patient to match. ISO 8601 Date (MM/DD/YYYY) Yes
phone_number The main contact phone number of the patient to match. Text in the following format: ###-###-#### No
email_address The email address of the patient to search for. Text No
gender The gender of the patient to search for. Single letter (‘M’ or ‘F’) No

Response JSON definition

Parameter Description Type
patient_id A unique internal identifier, that will be used for identifying the patient. Numeric or text

Example:

POST https://staging.practicesuite.com/api/patient/search

REQUEST BODY

 {"first_name": "amber","last_name":"wiggins","date_of_birth":"11/22/1974","phone_number":"","email_address":""}

RESPONSE

Successful

 [{"patient_id":"G563812"}]

No matching patients

[]

Error in request

 {"errorMessage":"An error occured while processing this request."}

cURL syntax

Patient search API call using access token

 curl -H "Authorization: Bearer <token>" -H "Content-Type: application/json" -X POST -d '{"first_name": "amber","last_name":"wiggins","date_of_birth":"11/22/1974","phone_number":"","email_address":""}' https://staging.practicesuite.com/api/patient/search


Patient C-CDA:

HTTPS POST to get C-CDA of a particular patient

This endpoint should use the criteria passed in to return patient data for all of the data categories specified in the common clinical data set at one time in C-CDA format

https://staging.practicesuite.com/api/patient/ccda

Parameters

Parameter Description Type Required
date_from Patient records recorded after this date will be returned. String (MM/DD/YYYY) Yes
date_to Patient records recorded before this date will be returned. String (MM/DD/YYYY) Yes
patient_id A unique internal identifier, that will be used for identifying the patient. Numeric or Text Yes
document_type Whether document is continuity of care document (CCD) or referral note (RN) Text Value should either be “ccd” or “rn” Yes

Response definition

Format Description Type
CDA Output is an XML-based, electronic standard containing the requested patient’s data XML

Example:

POST https://staging.practicesuite.com/api/patient/ccda

REQUEST BODY

 {"date_from":"01/01/2017","date_to":"05/05/2017","patient_id":"5555","document_type":"ccd"}

RESPONSE

Successful

 
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="CDA.xsl" ?>
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xmlns:sdtc="urn:hl7-org:sdtc" xsi:schemaLocation="urn:hl7-org:v3 CDA.xsd">
  <realmCode code="US"/>
  <typeId root="2.16.840.1.113883.1.3" extension="POCD_HD000040"/>
  <templateId root="2.16.840.1.113883.10.20.22.1.1"/>
  <templateId root="2.16.840.1.113883.10.20.22.1.1" extension="2015-08-01"/>
  <templateId root="2.16.840.1.113883.10.20.22.1.2"/>
  <templateId root="2.16.840.1.113883.10.20.22.1.2" extension="2015-08-01"/>
  <id root="2.16.840.1.113883.19.5.99999.1" extension="TT988"/>
  <code code="34133-9" codeSystem="2.16.840.1.113883.6.1" codeSystemName="Loinc" displayName="Summarization of Episode Note"/>
  <title>Get Well Clinic2: Summarization of Episode Note</title>
  <effectiveTime value="20171005111308+0530"/>
  <confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25"/>
  <languageCode code="en-US"/>
  <recordTarget>
    <patientRole>
      <id root="2.16.840.1.113883.19.5.99999.2" extension="84314350239"/>
      <addr use="HP"><streetAddressLine>1357, Amber Dr</streetAddressLine><city>BEAVERTON</city><state>OR</state><postalCode>97006</postalCode><country>USA</country></addr>
      <telecom value="tel:+1-555-723-1544" use="HP"/>
      <telecom value="tel:+1-555-777-1234" use="MC"/>
      <patient>
        <name use="L"><given>Alice</given><given>Jones</given><family>Newman</family></name>
        <administrativeGenderCode code="M" codeSystem="2.16.840.1.113883.5.1"/>
        <birthTime value="19700501"/>
        <maritalStatusCode nullFlavor="UNK"/>
        <raceCode nullFlavor="UNK" codeSystem="2.16.840.1.113883.6.238" codeSystemName="Race and Ethnicity - CDC" displayName="Unknown"/>
        <sdtc:raceCode code="2106-3" codeSystem="2.16.840.1.113883.6.238" codeSystemName="Race and Ethnicity - CDC" displayName="White"/>
        <ethnicGroupCode code="2186-5" codeSystem="2.16.840.1.113883.6.238" codeSystemName="Race and Ethnicity - CDC" displayName="Not Hispanic or Latino"/>
        <languageCommunication>
          <languageCode code="en"/>
        </languageCommunication>
      </patient>
    </patientRole>
  </recordTarget>
  <author>
    <time value="20171005111308+0530"/>
    <assignedAuthor>
      <id root="2.16.840.1.113883.4.6" extension="9"/>
      <addr use="WP"><streetAddressLine>270 WHITESPRING ROAD</streetAddressLine><city>Unionrrr</city><state>ME</state><postalCode>94560-0440</postalCode><country>US</country></addr>
      <telecom value="tel:+1-999-999-9999" use="WP"/>
      <assignedAuthoringDevice>
        <manufacturerModelName>Get Well Clinic2</manufacturerModelName>
        <softwareName>Get Well Clinic2</softwareName>
      </assignedAuthoringDevice>
      <representedOrganization>
        <id root="2.16.840.1.113883.19.5"/>
        <name>Get Well Clinic2</name>
        <telecom value="tel:+1-999-999-9999"/>
      </representedOrganization>
    </assignedAuthor>
  </author>
  <custodian>
    <assignedCustodian>
      <representedCustodianOrganization>
        <id root="2.16.840.1.113883.4.6"/>
        <name>Get Well Clinic2</name>
        <telecom value="tel:+1-999-999-9999" use="WP"/>
        <addr use="WP"><streetAddressLine>270 WHITESPRING ROAD</streetAddressLine><city>Unionrrr</city><state>ME</state><postalCode>94560-0440</postalCode><county>US</county></addr>
      </representedCustodianOrganization>
    </assignedCustodian>
  </custodian>
  <documentationOf>
    <serviceEvent classCode="PCPR">
      <effectiveTime>
        <low value="20171005111308+0530"/>
        <high value="20171005111308+0530"/>
      </effectiveTime>
      <performer typeCode="PRF">
        <assignedEntity>
          <id root="2.16.840.1.113883.4.6" extension="1234567898"/>
          <code code="111NN0400X" codeSystem="2.16.840.1.113883.6.101" codeSystemName="NUCC" displayName="Chiropractor-Neurologist"/>
          <addr><streetAddressLine>2472, Rocky place</streetAddressLine><city>BEAVERTON</city><state>OR</state><postalCode>97006</postalCode><country>USA</country></addr>
          <telecom value="tel:+1-555-555-1002"/>
          <assignedPerson>
            <name><given>Albert</given><given>  Davis</given></name>
          </assignedPerson>
        </assignedEntity>
      </performer>
    </serviceEvent>
  </documentationOf>
  <component>
    <structuredBody>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.2"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.2.1"/>
          <code code="11369-6" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="HISTORY OF IMMUNIZATIONS"/>
          <title>IMMUNIZATIONS</title>
          <text>No known immunization history</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.56" extension="2015-08-01"/>
          <code code="10190-7" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="MENTAL STATUS"/>
          <title>Mental Status</title>
          <text>No Mental Status information</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.14"/>
          <code code="47420-5" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="FUNCTIONAL STATUS"/>
          <title>Functional Status</title>
          <text>No information</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.58" extension="2015-08-01"/>
          <code code="75310-3" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="HEALTH CONCERNS DOCUMENT"/>
          <title>Health Concerns</title>
          <text>No Health Concerns Information</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.4" extension="2015-08-01"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.4.1" extension="2015-08-01"/>
          <code code="8716-3" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="VITAL SIGNS"/>
          <title>Vital Signs</title>
          <text/>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.60"/>
          <code code="61146-7" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="GOALS"/>
          <title>Goals Section</title>
          <text>No Goal Information</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.1" extension="2014-06-09"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.1.1" extension="2014-06-09"/>
          <code code="10160-0" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="HISTORY OF MEDICATION USE"/>
          <title>Medications</title>
          <text>No known Medications</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.3" extension="2015-08-01"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.3.1" extension="2015-08-01"/>
          <code code="30954-2" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="RESULTS"/>
          <title>RESULTS</title>
          <text>No Lab Test required. No Lab results.</text>
        </section>
      </component>
      <component>
        <section>
          <templateId root="2.16.840.1.113883.10.20.22.2.6" extension="2015-08-01"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.6.1"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.6.1" extension="2015-08-01"/>
          <code code="48765-2" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Allergies, adverse reactions, alerts"/>
          <title>Allergies, Adverse Reactions, Alerts</title>
          <text>No Known Allergies</text>
          <entry typeCode="DRIV">
            <act classCode="ACT" moodCode="EVN">
              <templateId root="2.16.840.1.113883.10.20.22.4.30"/>
              <templateId root="2.16.840.1.113883.10.20.22.4.30" extension="2015-08-01"/>
              <id root="36e3e930-7b14-11db-9fe1-0800200c9a66"/>
              <code code="CONC" codeSystem="2.16.840.1.113883.5.6" displayName="Allergies, adverse reactions, alerts"/>
              <statusCode code="active"/>
              <effectiveTime>
                <low value="20171005111308+0530"/>
              </effectiveTime>
              <entryRelationship typeCode="SUBJ" inversionInd="true">
                <observation classCode="OBS" moodCode="EVN" negationInd="true">
                  <templateId root="2.16.840.1.113883.10.20.22.4.7" extension="2014-06-09"/>
                  <templateId root="2.16.840.1.113883.10.20.22.4.7"/>
                  <id root="36e3e930-7b14-5454-9fe1-0800200c9a66"/>
                  <code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4"/>
                  <statusCode code="completed"/>
                  <effectiveTime nullFlavor="UNK"/>
                  <value xsi:type="CD" code="419199007" codeSystem="2.16.840.1.113883.6.96" displayName="Allergy to substance (disorder)"/>
                  <participant typeCode="CSM">
                    <participantRole classCode="MANU">
                      <playingEntity classCode="MMAT">
                        <code nullFlavor="NA"/>
                      </playingEntity>
                    </participantRole>
                  </participant>
                </observation>
              </entryRelationship>
            </act>
          </entry>
        </section>
      </component>
      <component>
        <section>
          <templateId root="2.16.840.1.113883.10.20.22.2.5" extension="2015-08-01"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.5.1" extension="2015-08-01"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.5.1"/>
          <code code="11450-4" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="PROBLEM LIST"/>
          <title>Problem List</title>
          <text><content ID="problem1">No known problems</content></text>
          <entry typeCode="DRIV">
            <act classCode="ACT" moodCode="EVN">
              <templateId root="2.16.840.1.113883.10.20.22.4.3" extension="2015-08-01"/>
              <templateId root="2.16.840.1.113883.10.20.22.4.3"/>
              <id root="ec8a6ff8-ed4b-4f7e-82c3-e98e58b45de7"/>
              <code code="CONC" codeSystem="2.16.840.1.113883.5.6" displayName="Concern"/>
              <statusCode code="completed"/>
              <effectiveTime>
                <low value="20171005111308+0530"/>
                <high value="20171005111308+0530"/>
              </effectiveTime>
              <entryRelationship typeCode="SUBJ">
                <observation classCode="OBS" moodCode="EVN" negationInd="true">
                  <templateId root="2.16.840.1.113883.10.20.22.4.4" extension="2015-08-01"/>
                  <templateId root="2.16.840.1.113883.10.20.22.4.4"/>
                  <id root="ab1791b0-5c71-11db-b0de-0800200c9a66"/>
                  <code code="55607006" codeSystem="2.16.840.1.113883.6.96" displayName="Problem">
                    <translation code="75326-9" codeSystem="2.16.840.1.113883.6.1"/>
                  </code>
                  <text><reference value="#problem1"/></text>
                  <statusCode code="completed"/>
                  <effectiveTime>
                    <low value="20171005111308+0530"/>
                    <high nullFlavor="UNK"/>
                  </effectiveTime>
                  <value xsi:type="CD" code="55607006" codeSystem="2.16.840.1.113883.6.96" displayName="Problem"/>
                </observation>
              </entryRelationship>
            </act>
          </entry>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.23" extension="2014-06-09"/>
          <code code="46264-8" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="MEDICAL EQUIPMENT"/>
          <title>Medical Equipment</title>
          <text/>
        </section>
      </component>
      <component>
        <section>
          <templateId root="2.16.840.1.113883.10.20.22.2.7"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.7.1"/>
          <code code="47519-4" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="HISTORY OF PROCEDURES"/>
          <title>Procedures</title>
          <text><paragraph ID="Proc1">No Procedure information </paragraph></text>
          <entry typeCode="DRIV">
            <procedure classCode="PROC" moodCode="EVN" negationInd="true">
              <templateId root="2.16.840.1.113883.10.20.22.4.14"/>
              <id root="2.16.840.1.113883.19" extension="123456789"/>
              <code xsi:type="CE" code="71388002" codeSystem="2.16.840.1.113883.6.96" codeSystemName="SNOMED CT" displayName="Procedure">
                <originalText><reference value="#Proc1"/></originalText>
              </code>
              <statusCode code="completed"/>
              <effectiveTime nullFlavor="NA"/>
            </procedure>
          </entry>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.15" extension="2015-08-01"/>
          <code code="10157-6" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Family History"/>
          <title>Family History</title>
          <text>No Information</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.17" extension="2015-08-01"/>
          <code code="29762-2" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Social history"/>
          <title>Social history</title>
          <text>No Information</text>
          <entry typeCode="DRIV">
            <observation classCode="OBS" moodCode="EVN">
              <templateId root="2.16.840.1.113883.10.20.22.4.78"/>
              <id root="9b56c25d-9104-45ee-smk8-e0f3afaa01c1"/>
              <code code="72166-2" codeSystem="2.16.840.1.113883.6.1" displayName="Unknown if ever smoked"/>
              <statusCode code="completed"/>
              <effectiveTime>
                <low nullFlavor="UNK"/>
              </effectiveTime>
              <value xsi:type="CD" code="266927001" codeSystem="2.16.840.1.113883.6.96"/>
            </observation>
          </entry>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.22" extension="2015-08-01"/>
          <code code="46240-8" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="HISTORY OF ENCOUNTERS"/>
          <title>ENCOUNTERS</title>
          <text/>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.8"/>
          <code code="51848-0" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="ASSESSMENTS"/>
          <title>ASSESSMENTS</title>
          <text>No Information</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.10" extension="2014-06-09"/>
          <code code="18776-5" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="PLAN OF TREATMENT"/>
          <title>Plan of Treatment</title>
          <text>No Information</text>
        </section>
      </component>
    </structuredBody>
  </component>
</ClinicalDocument>

No matching patients

{"errorMessage":"Patient id not found"}

Error in request

 {"errorMessage":"An error occured while processing this request."}

cURL syntax

C-CDA API call using access token

 curl -H "Authorization: Bearer <token>" -H "Content-Type: application/json" -X POST -d '{"patient_id":"G563812","date_to":"10/05/2017","date_from":"10/05/2017","document_type":"ccd"}' https://staging.practicesuite.com/api/patient/ccda


Patient CCDS:

HTTPS POST to get Common clinical data set of a particular patient

This endpoint should use the criteria passed in to return patient data for each of the individual data categories specified in the Common Clinical Data Set in CCDA format

https://staging.practicesuite.com/api/patient/ccds

Parameters

Parameter Description Type Required
date_from The first name of the patient to match. String (MM/DD/YYYY) Yes
date_to The last name of the patient to match. String (MM/DD/YYYY) Yes
patient_id A unique internal identifier, that will be used for identifying the patient. Numeric or Text Yes
document_type Whether document is continuity of care document (CCD) or referral note (RN) Text Value should either be “ccd” or “rn” Yes
sections Different type of patient description array of sections Yes

Sections

Type Description
IMMUNIZATION_RESULTS Patient immunization
COGNITIVE_STATUS Patient cognitive status
FUNCTIONAL_STATUS Patient functional status
HEALTH_CONCERNS Patient Health concerns
VITAL_SIGNS Patient Vital signs
REASON_FOR_REFERRAL Patient Reason for referral
CURRENT_MEDI Patient current medication
LAB_RESULTS Patient lab results
ALLERGY patient allergy
PROBLEMS_LIST Patient problem list
IMPLANTABLE_DEVICE Implantable device
SURGERY_PROC Surgery procedure
FAMILY_HISTORY Patient Family history
SOCIAL_HISTORY Patient Social history
ENCOUNTERS Patient Encounters
ASSESSMENT Patient Assessment
PLAN_OF_TREATMENT Plan of treatment

Response definition

Format Description Type
CDA Output is an XML-based, electronic standard containing the requested patient’s data XML

Example:

POST https://staging.practicesuite.com/api/patient/ccds

REQUEST BODY

 {"date_from":"01/01/2017","date_to":"05/05/2017","patient_id":"5555","document_type":"ccd","sections":[ "FAMILY_HISTORY", "SOCIAL_HISTORY", "VITAL_SIGNS"]}

RESPONSE

Successful

 
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="CDA.xsl" ?>
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xmlns:sdtc="urn:hl7-org:sdtc" xsi:schemaLocation="urn:hl7-org:v3 CDA.xsd">
  <realmCode code="US"/>
  <typeId root="2.16.840.1.113883.1.3" extension="POCD_HD000040"/>
  <templateId root="2.16.840.1.113883.10.20.22.1.1"/>
  <templateId root="2.16.840.1.113883.10.20.22.1.1" extension="2015-08-01"/>
  <templateId root="2.16.840.1.113883.10.20.22.1.2"/>
  <templateId root="2.16.840.1.113883.10.20.22.1.2" extension="2015-08-01"/>
  <id root="2.16.840.1.113883.19.5.99999.1" extension="TT988"/>
  <code code="34133-9" codeSystem="2.16.840.1.113883.6.1" codeSystemName="Loinc" displayName="Summarization of Episode Note"/>
  <title>Get Well Clinic2: Summarization of Episode Note</title>
  <effectiveTime value="20171005112357+0530"/>
  <confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25"/>
  <languageCode code="en-US"/>
  <recordTarget>
    <patientRole>
      <id root="2.16.840.1.113883.19.5.99999.2" extension="06167"/>
      <addr use="HP"><streetAddressLine>2247 Railroad Street</streetAddressLine><city>MARQUETTE</city><state>MI</state><postalCode>49855</postalCode><country>USA</country></addr>
      <telecom value="tel:+1-906-223-8453" use="HP"/>
      <patient>
        <name use="L"><given>Godwin</given><given>L</given><family>James</family><suffix>5555</suffix></name>
        <administrativeGenderCode code="M" codeSystem="2.16.840.1.113883.5.1"/>
        <birthTime value="19790909"/>
        <maritalStatusCode nullFlavor="UNK"/>
        <raceCode nullFlavor="UNK" codeSystem="2.16.840.1.113883.6.238" codeSystemName="Race and Ethnicity - CDC" displayName="Unknown"/>
        <sdtc:raceCode code="1002-5" codeSystem="2.16.840.1.113883.6.238" codeSystemName="Race and Ethnicity - CDC" displayName="American Indian or Alaska Native"/>
        <ethnicGroupCode code="2135-2" codeSystem="2.16.840.1.113883.6.238" codeSystemName="Race and Ethnicity - CDC" displayName="Hispanic or Latino"/>
        <languageCommunication>
          <languageCode/>
        </languageCommunication>
      </patient>
    </patientRole>
  </recordTarget>
  <author>
    <time value="20171005112357+0530"/>
    <assignedAuthor>
      <id root="2.16.840.1.113883.4.6" extension="9"/>
      <addr use="WP"><streetAddressLine>270 WHITESPRING ROAD</streetAddressLine><city>Unionrrr</city><state>ME</state><postalCode>94560-0440</postalCode><country>US</country></addr>
      <telecom value="tel:+1-999-999-9999" use="WP"/>
      <assignedAuthoringDevice>
        <manufacturerModelName>Get Well Clinic2</manufacturerModelName>
        <softwareName>Get Well Clinic2</softwareName>
      </assignedAuthoringDevice>
      <representedOrganization>
        <id root="2.16.840.1.113883.19.5"/>
        <name>Get Well Clinic2</name>
        <telecom value="tel:+1-999-999-9999"/>
      </representedOrganization>
    </assignedAuthor>
  </author>
  <custodian>
    <assignedCustodian>
      <representedCustodianOrganization>
        <id root="2.16.840.1.113883.4.6"/>
        <name>Get Well Clinic2</name>
        <telecom value="tel:+1-999-999-9999" use="WP"/>
        <addr use="WP"><streetAddressLine>270 WHITESPRING ROAD</streetAddressLine><city>Unionrrr</city><state>ME</state><postalCode>94560-0440</postalCode><county>US</county></addr>
      </representedCustodianOrganization>
    </assignedCustodian>
  </custodian>
  <documentationOf>
    <serviceEvent classCode="PCPR">
      <effectiveTime>
        <low value="20171005112357+0530"/>
        <high value="20171005112357+0530"/>
      </effectiveTime>
      <performer typeCode="PRF">
        <assignedEntity>
          <id root="2.16.840.1.113883.4.6" extension="123456789"/>
          <code code="251K00000X" codeSystem="2.16.840.1.113883.6.101" codeSystemName="NUCC" displayName="Public Health or Welfare"/>
          <addr><streetAddressLine>7000 SW 62ND AVE SUITE 535</streetAddressLine><city>SOUTH MIAMI</city><state>FL</state><postalCode>33143-4716</postalCode><country>USA</country></addr>
          <telecom value="tel:+1-786-268-4044"/>
          <assignedPerson>
            <name><given>JULIAN</given><given>  MARKUS</given></name>
          </assignedPerson>
        </assignedEntity>
      </performer>
    </serviceEvent>
  </documentationOf>
  <component>
    <structuredBody>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.2"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.2.1"/>
          <code code="11369-6" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="HISTORY OF IMMUNIZATIONS"/>
          <title>IMMUNIZATIONS</title>
          <text>No known immunization history</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.56" extension="2015-08-01"/>
          <code code="10190-7" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="MENTAL STATUS"/>
          <title>Mental Status</title>
          <text>No Mental Status information</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.14"/>
          <code code="47420-5" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="FUNCTIONAL STATUS"/>
          <title>Functional Status</title>
          <text>No information</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.58" extension="2015-08-01"/>
          <code code="75310-3" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="HEALTH CONCERNS DOCUMENT"/>
          <title>Health Concerns</title>
          <text>No Health Concerns Information</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.4" extension="2015-08-01"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.4.1" extension="2015-08-01"/>
          <code code="8716-3" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="VITAL SIGNS"/>
          <title>Vital Signs</title>
          <text/>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.60"/>
          <code code="61146-7" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="GOALS"/>
          <title>Goals Section</title>
          <text>No Goal Information</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.1" extension="2014-06-09"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.1.1" extension="2014-06-09"/>
          <code code="10160-0" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="HISTORY OF MEDICATION USE"/>
          <title>Medications</title>
          <text>No known Medications</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.3" extension="2015-08-01"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.3.1" extension="2015-08-01"/>
          <code code="30954-2" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="RESULTS"/>
          <title>RESULTS</title>
          <text>No Lab Test required. No Lab results.</text>
        </section>
      </component>
      <component>
        <section>
          <templateId root="2.16.840.1.113883.10.20.22.2.6" extension="2015-08-01"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.6.1"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.6.1" extension="2015-08-01"/>
          <code code="48765-2" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Allergies, adverse reactions, alerts"/>
          <title>Allergies, Adverse Reactions, Alerts</title>
          <text>No Known Allergies</text>
          <entry typeCode="DRIV">
            <act classCode="ACT" moodCode="EVN">
              <templateId root="2.16.840.1.113883.10.20.22.4.30"/>
              <templateId root="2.16.840.1.113883.10.20.22.4.30" extension="2015-08-01"/>
              <id root="36e3e930-7b14-11db-9fe1-0800200c9a66"/>
              <code code="CONC" codeSystem="2.16.840.1.113883.5.6" displayName="Allergies, adverse reactions, alerts"/>
              <statusCode code="active"/>
              <effectiveTime>
                <low value="20171005112357+0530"/>
              </effectiveTime>
              <entryRelationship typeCode="SUBJ" inversionInd="true">
                <observation classCode="OBS" moodCode="EVN" negationInd="true">
                  <templateId root="2.16.840.1.113883.10.20.22.4.7" extension="2014-06-09"/>
                  <templateId root="2.16.840.1.113883.10.20.22.4.7"/>
                  <id root="36e3e930-7b14-5454-9fe1-0800200c9a66"/>
                  <code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4"/>
                  <statusCode code="completed"/>
                  <effectiveTime nullFlavor="UNK"/>
                  <value xsi:type="CD" code="419199007" codeSystem="2.16.840.1.113883.6.96" displayName="Allergy to substance (disorder)"/>
                  <participant typeCode="CSM">
                    <participantRole classCode="MANU">
                      <playingEntity classCode="MMAT">
                        <code nullFlavor="NA"/>
                      </playingEntity>
                    </participantRole>
                  </participant>
                </observation>
              </entryRelationship>
            </act>
          </entry>
        </section>
      </component>
      <component>
        <section>
          <templateId root="2.16.840.1.113883.10.20.22.2.5" extension="2015-08-01"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.5.1" extension="2015-08-01"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.5.1"/>
          <code code="11450-4" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="PROBLEM LIST"/>
          <title>Problem List</title>
          <text><content ID="problem1">No known problems</content></text>
          <entry typeCode="DRIV">
            <act classCode="ACT" moodCode="EVN">
              <templateId root="2.16.840.1.113883.10.20.22.4.3" extension="2015-08-01"/>
              <templateId root="2.16.840.1.113883.10.20.22.4.3"/>
              <id root="ec8a6ff8-ed4b-4f7e-82c3-e98e58b45de7"/>
              <code code="CONC" codeSystem="2.16.840.1.113883.5.6" displayName="Concern"/>
              <statusCode code="completed"/>
              <effectiveTime>
                <low value="20171005112357+0530"/>
                <high value="20171005112357+0530"/>
              </effectiveTime>
              <entryRelationship typeCode="SUBJ">
                <observation classCode="OBS" moodCode="EVN" negationInd="true">
                  <templateId root="2.16.840.1.113883.10.20.22.4.4" extension="2015-08-01"/>
                  <templateId root="2.16.840.1.113883.10.20.22.4.4"/>
                  <id root="ab1791b0-5c71-11db-b0de-0800200c9a66"/>
                  <code code="55607006" codeSystem="2.16.840.1.113883.6.96" displayName="Problem">
                    <translation code="75326-9" codeSystem="2.16.840.1.113883.6.1"/>
                  </code>
                  <text><reference value="#problem1"/></text>
                  <statusCode code="completed"/>
                  <effectiveTime>
                    <low value="20171005112357+0530"/>
                    <high nullFlavor="UNK"/>
                  </effectiveTime>
                  <value xsi:type="CD" code="55607006" codeSystem="2.16.840.1.113883.6.96" displayName="Problem"/>
                </observation>
              </entryRelationship>
            </act>
          </entry>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.23" extension="2014-06-09"/>
          <code code="46264-8" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="MEDICAL EQUIPMENT"/>
          <title>Medical Equipment</title>
          <text/>
        </section>
      </component>
      <component>
        <section>
          <templateId root="2.16.840.1.113883.10.20.22.2.7"/>
          <templateId root="2.16.840.1.113883.10.20.22.2.7.1"/>
          <code code="47519-4" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="HISTORY OF PROCEDURES"/>
          <title>Procedures</title>
          <text><paragraph ID="Proc1">No Procedure information </paragraph></text>
          <entry typeCode="DRIV">
            <procedure classCode="PROC" moodCode="EVN" negationInd="true">
              <templateId root="2.16.840.1.113883.10.20.22.4.14"/>
              <id root="2.16.840.1.113883.19" extension="123456789"/>
              <code xsi:type="CE" code="71388002" codeSystem="2.16.840.1.113883.6.96" codeSystemName="SNOMED CT" displayName="Procedure">
                <originalText><reference value="#Proc1"/></originalText>
              </code>
              <statusCode code="completed"/>
              <effectiveTime nullFlavor="NA"/>
            </procedure>
          </entry>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.15" extension="2015-08-01"/>
          <code code="10157-6" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Family History"/>
          <title>Family History</title>
          <text>No Information</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.17" extension="2015-08-01"/>
          <code code="29762-2" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="Social history"/>
          <title>Social history</title>
          <text>No Information</text>
          <entry typeCode="DRIV">
            <observation classCode="OBS" moodCode="EVN">
              <templateId root="2.16.840.1.113883.10.20.22.4.78"/>
              <id root="9b56c25d-9104-45ee-smk8-e0f3afaa01c1"/>
              <code code="72166-2" codeSystem="2.16.840.1.113883.6.1" displayName="Unknown if ever smoked"/>
              <statusCode code="completed"/>
              <effectiveTime>
                <low nullFlavor="UNK"/>
              </effectiveTime>
              <value xsi:type="CD" code="266927001" codeSystem="2.16.840.1.113883.6.96"/>
            </observation>
          </entry>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.22" extension="2015-08-01"/>
          <code code="46240-8" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="HISTORY OF ENCOUNTERS"/>
          <title>ENCOUNTERS</title>
          <text/>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.8"/>
          <code code="51848-0" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="ASSESSMENTS"/>
          <title>ASSESSMENTS</title>
          <text>No Information</text>
        </section>
      </component>
      <component>
        <section nullFlavor="NI">
          <templateId root="2.16.840.1.113883.10.20.22.2.10" extension="2014-06-09"/>
          <code code="18776-5" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" displayName="PLAN OF TREATMENT"/>
          <title>Plan of Treatment</title>
          <text>No Information</text>
        </section>
      </component>
    </structuredBody>
  </component>
</ClinicalDocument>

No matching patients

{"errorMessage":"Patient id not found"}

Error in request

 {"errorMessage":"An error occured while processing this request."}

cURL syntax

Common clinical data set API call using access token

 curl -H "Authorization: Bearer <token>" -H "Content-Type: application/json" -X POST -d '{"date_from":"01/01/2017","date_to":"09/09/2017","patient_id":"G563812","sections":["FAMILY_HISTORY", "SOCIAL_HISTORY", "VITAL_SIGNS"]}}' https://staging.practicesuite.com/api/patient/ccds

Click here to view Terms of Service