Views:



Getting Started

Let's walk through core API concepts as we tackle some everyday use cases.

Overview

The “application access” certification criteria are split into three separate certification criteria (Patient Selection, Data Category Request, and All Data Request) with each individual criterion focused on specific functionality. The “application access” certification criteria require health IT to demonstrate it can provide application access to a common set of patient clinical data via an application programming interface (API).

API functionality will help address many of the challenges currently faced by individuals and caregivers accessing their health data, including the “multiple portal” problem, by potentially allowing individuals to aggregate data from multiple sources in a web or mobile application of their choice.

Using the Health IT Module’s identified API functions, the user demonstrates that one or more API routines responds to and returns the full set of data for each data category from the CCDS for the unique patient identified by the ID or token.  Where applicable, the data must be formatted using the specified standards defined in the CCDS Reference Document in a computable format to the developer-identified requesting application:
    • Patient Name
    • Sex
    • Date of Birth
    • Race
    • Ethnicity
    • Preferred Language
    • Smoking Status
    • Problems
    • Medications
    • Medication Allergies
    • Vital Signs
    • Procedures
    • Care Team Member(s)
    • Immunizations
    • Unique Device Identifier(s) for a Patient’s Implantable Device(s)

Authentication

For the correct use of the aAPI, the provider will provide you with three keys that are assigned to each user depending on the instance to be connected.
These keys go in the request header

  • organizationUrl: Corresponds to the URL instance of DoctorHelper
  • ClientId: Corresponds to the ID of the application created in the azure directory
  • ClientSecret: It is an authentication ID for the application
 

Parameter Description

Name: SocialSecurityNumber
Type: Date
Required: Yes
Description: Is a ID number of patient

Name: InitDate
Type: String
Required: No
Description: is the initial date of consultation, corresponds to the records that have been created in the system since that date

Name: EndDate
Type: Date
Required: No
Description: is the end date of the query, corresponds to the records that have been created in the system up to that date
 

Contact Controler

  • URL: http://doctorhelperapi.azurewebsites.net/api/Contact/getUserData
  • TYPE: POST
  • JSON:
{    
" SocialSecurityNumber " : " 126-58-9548",    
" InitDate" : "03/22/2020 ",    
" EndDate" : "03/22/2020"  
}  
 

API Result Example

For example we can use the next body parameters:

Body

{    
"SocialSecurityNumber":"126-58-9548",    
"InitDate":"01/01/2019",    
"EndDate":"12/31/2020"  


Response
{

    "Code": 200,
    "Success": true,
    "Message": null,
    "Data": {
        "PatientName": "Paola Nunez",
        "Sex": "Female",
        "DateOfBirth": "1990-01-09T00:00:00",
        "Race": {
            "Code": "2106-3",
            "Name": "White"
        },
        "RaceDetail": {
            "Code": null,
            "Name": null
        },
        "Ethnicity": {
            "Code": "2135-2",
            "Name": "Hispanic or Latino"
        },
        "EthnicityDetail": {
            "Code": "2135-2",
            "Name": "Colombian"
        },
        "PreferredLanguage": {
            "Code": "spa",
            "Name": "Spanish; Castilian"
        },
        "SmokingStatus": {
            "Code": "428061000124105",
            "Name": "Light tobacco smoker"
        },
        "VitalSigns": {
            "BPDiastolic": 80.0,
            "BPSystolic": 120.0,
            "Height": 6.0,
            "HeightIn": 2.0,
            "Weight": 200.0,
            "HeartRate": 100.0,
            "RespiratoryRate": 20.0,
            "BodyTemperature": 100.9,
            "PulseOximetry": 99.0,
            "InhaledOxygenConcentration": 95.0
        },
        "Problems": [
            {
                "HealthProblem": "Behcet's syndrome",
                "ClinicalStatus": "Active",
                "ContextType": "Encounter",
                "VerificationStatus": ""
            },
            {
                "HealthProblem": "Arthralgia of the ankle and/or foot",
                "ClinicalStatus": "Active",
                "ContextType": "Encounter",
                "VerificationStatus": "Confirmed"
            }
        ],
        "Medications": [
            {
                "MedicationName": "traMADol 200 mg/24 hours oral capsule, extended release",
                "Frequency": "",
                "Unit": "Capsule",
                "Description": null,
                "DosageQuantity": 3,
                "PeriodDays": 30
            },
            {
                "MedicationName": "Codeine 30 mg oral tablet",
                "Frequency": "Twiceaday",
                "Unit": "Bag",
                "Description": "Test",
                "DosageQuantity": 5,
                "PeriodDays": 30
            }
        ],
        "MedicationAllergies": [
            {
                "AllergyIntolerance": "Abacavir",
                "VerificationStatus": "Active",
                "ReactionType": "Allergy",
                "Critically": "HighRisk",
                "AllergyDate": "2020-03-01T05:00:00Z",
                "Reaction": "Red Eyes"
            }
        ],
        "ImplantableDevice": [
            {
                "Location": "Liberty",
                "UDI": "0001",
                "ExpirationDate": null,
                "DeviceIdentifier": null,
                "VersionModel": null,
                "HCTP": null,
                "Description": null,
                "DeviceStatus": "Active"
            }
        ],
        "Procedures": [
            {
                "Medicalprocedure": "(1-->3)-beta-D-glucan detection (procedure)",
                "OrderStatus": "Completed",
                "ProcedureDate": "2020-03-31T04:00:00Z",
                "Description": "TEST"
            }
        ],
        "LaboratoryTest": [
            {
                "LabOrder": "1 minute Apgar panel",
                "Date": null,
                "Description": null,
                "OrderStatus": ""
            }
        ],
        "Immunizations": [
            {
                "Vaccine": "adenovirus vaccine, type 4, live, oral",
                "FullVaccineName": "adenovirus vaccine, type 4, live, oral  ",
                "CVXCode": 54,
                "NDC": " ",
                "Route": "",
                "VaccineStatus": "Inactive",
                "MVX": null,
                "Manufacturer": null
            }
        ],
        "CareTeamMembers": [
            {
                "AppointmentProvider": "Practitioner User1",
                "AppointmentScheduleTime": "2020-03-22T15:11:00Z"
            }
        ]
    }
}

 

Errors

  • Wrong parameter name: "SocialSecuriNumber"
Body
{    
"SocialSecuriNumber":"126-58-9548",    
"InitDate":"05/01/2020",    
"EndDate":"16/31/2020"  
}  

Response
{
    "Code": 500,
    "Success": false,
    "Message": "Invalid body request",
    "Data": null
}

 
  • Wrong parameter format: "InitDate":"35/01/2020"  
Body
{    
"SocialSecuriNumber":"126-58-9548",    
"InitDate":"35/01/2020",    
"EndDate":"16/31/2020"  
}  

Response
{
    "Code": 500,
    "Success": false,
    "Message": "Invalid body request",
    "Data": null
}