Implementation Guide

Table of Contents

1.1 Overview

Carecloud Connector supports interoperability using the HL7 FHIR Release 4, and the HL7 CCDA 2.1 Implementation Guide and CDA Release 2.0 standards.

(FHIR® is the registered trademark of HL7 and is used with the permission of HL7.)

Carecloud use standard terminology and codes(includes LOINC , SNOMED CT ,ICD-9-CM, ICD-10-CM,CM,CPT-4, HCPCS, RxNorm, NDC and CVX) for observations, orders, medications, conditions, allergies and immunizations and other categories of information and HL7 standard codes used in HL7 CDA documents and FHIR resources

Schema

  1. All API access is over HTTPS.
  2. All data is sent and received as JSON or XML.

Media Types

CareCloud supports the R4 FHIR standard defined media type for JSON content: application/fhir+json

Root URL

FHIR API requests format against URLs: rootURL/:resource[?:parameters]

Resource

The FHIR standard resource to access. Example: Patient

(Refference: Resource - FHIR v4.0.1 (hl7.org)

Parameters

Many API methods take optional parameters.

Resource Identity

Please note that no IDs or Identifiers in the CareCloud Connector are intended to be used outside of the context of their complete URL.

A complete URL consists of the following

  • Service root url.
  • resource
  • parameters (if any).

1.2 Supported APIs

The following API resources are provided to support access to system resources describing the configuration of the API Server and the Connector Practice or Connector Flow application, clinical Resources providing information about a patients chart, and practice management resources used in scheduling and billing. Use of the clinical resources in the Connector Practice product requires the product be provisioned with a chart license. Use of practice management resources requires that the Connector Practice product be configured with a practice management license. Both Chart and Practice Management resources are available in Connector Flow (except for the Schedule and Slot resources which are not supported by that product).

Resources support REVINCLUDE capabilities and resources is included via the links in the table below.

Connector Resources

1.3 Security

Security capabilities integrated in API Server include

  1. Authentication
  2. Authorization

Authentication

Carecloud authorization services use the OAuth 2.0 protocol as defined by RFC 6749 . Users accessing the system as a provider, staff, patient or authorized representatives are authorized via the SMART. on FHIR protocol. When the user is authenticated as a provider, staff, patient or authorized representative, they must provide authorization for the application to use APIs using the SMART on FHIR Protocol. Only after the user authorizes access is access granted to the application requesting API access. A successful authorization provides the application with a code it can use for a preset period (usually an hour) before it must request a new code. If the application fails to request a new code before expiration of the previous code, it must request a new authorization from the user.

Authorization

Service Applications are authorized by Resource Owner Password Credentials Grant defined in OAuth 2.0. The authorization process for the application is handled offline by the provider organization. The following steps must be completed.

Example of Authentication

HTTP Header:
Key Value
content-type application/x-www-form-urlencoded
Body Parameter:
Key Value
grant_type Password
Username < Username >
Password < Password >
Authorization Header:
Key Value
content-type application/x-www-form-urlencoded

1-API

HTTP Header:
FHIR Resource Documentation Reference
Immunization Required Search Parameter Immunization
Optional Search Parameter NIL
Description: This is method is used to access Immunization resource.
URL Syntax: https://api-datamanager.carecloud.com/api/fhir/resource/Immunization/1000016
Example: GET https://[base_url]/Fhir/Patient/_search?Patient=1, GET https://[base_url]/Fhir/Patient/1
Return Type: JSON or XML
JSON Result: { "resourceType": "Patient", "id": "1", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/us-core-race", "extension": [ { "url": "detailed", "valueCoding": { "code": "2106-3", "display": "White" } } ] }, { "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", "extension": [ { "url": "detailed", "valueCoding": { "code": "2135-2", "display": "Hispanic or Latino" } } ] } ], "identifier": [ { "system": "https:\\vertexdr.m3meridian.com", "value": "000000798" } ], "name": [ { "family": "ABRAHAM", "given": [ "Peter" ] } ], "gender": "male", "birthDate": "8/27/1930 12:00:00 AM", "address": [ { "line": [ "500 street 1" ], "city": "WINDSOR", "state": "CT", "postalCode": "6095" } ], "communication": [ { "language": { "coding": [ { "code": "es" } ], "text": "Spanish; Castilian" } } ] }
HTTP Method:
HTTP Method:
Supported request type: HTTP GET
Unsupported request types: HTTP POST
HTTP DELETE
HTTP PUT

Request & Response:

HTTP Header:
Response type Response Description
JSON [Api Base Url]/fhir/Device/_search?Patient=PatientID&_format=JSON This will provide a response in JSON format
XML [Api Base Url]/fhir/Device/_search?Patient=PatientID&_format=XML This will provide a response in XML format
Response type Response Description
JSON Api Base Url]/fhir/Device/_search?Patient=PatientID&_format=JSON This will provide a response in JSON format
XML [Api Base Url]/fhir/Device/_search?Patient=PatientID&_format=XML This will provide a response in XML format

Error codes

The FHIR server will return standard HTTP Error codes, here are some you might encounter:

OperationOutcome

For most errors we will include a response body in the form of an OperationOutcome FHIR resource . You will find more information about the error within the resource in the issue.details.

{ "resourceType": "OperationOutcome" "issue": [ { "code": "invalid", "details": { "text": "Not found" }, "severity": "error" } ], }