{ "swagger": "2.0", "info": { "version": "1.0.1", "title": "AdvancedMD Application Access APIs", "description": "A collection of RESTful APIs that can be used to interact with AdvancedMD data. All APIs return JSON, with the exception of the Episode Summaries API, which returns an HL7 C-CDA v3 (XML) document.\n\nSupported Version: AdvancedMD v12.6\n" }, "schemes": [ "https" ], "host": "ptapi.advancedmd.com", "basePath": "/pt-api", "paths": { "/authenticate": { "post": { "security": [ { "API Key": [] } ], "tags": [ "Authentication" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "description": "Log in using AdvancedMD credentials (username, password, office key)\n", "parameters": [ { "in": "body", "name": "User Credentials", "description": "The username (email address) and password that the user would use\nto log in to the practice's Patient Portal, along with the practice's\noffice key.\n", "schema": { "type": "object", "required": [ "username", "password", "officekey" ], "properties": { "username": { "type": "string", "example": "john.aagard.5555@gmail.com", "description": "The user's username (email address).\n" }, "password": { "type": "string", "example": "Password!1", "description": "The user's password.\n" }, "officekey": { "type": "string", "example": "970024", "description": "The office key of the practice that holds the patient's data.\n" } } } } ], "responses": { "200": { "description": "Successful authentication will contain a list of patients that the logged in user has access to, as well as the token that can be used for other APIs.", "schema": { "type": "object", "properties": { "patientdata": { "type": "array", "items": { "type": "object", "properties": { "patientid": { "type": "integer", "x-example": 12345 }, "name": { "type": "string", "example": "DOE,JOHN Q" }, "address1": { "type": "string", "example": "APARTMENT 3G" }, "address2": { "type": "string", "example": "1234 E 6TH ST" }, "city": { "type": "string", "example": "SPRINGFIELD" }, "state": { "type": "string", "example": "MO" }, "zipcode": { "type": "string", "example": "12345-6789" }, "dateofbirth": { "type": "string", "description": "Patient's date of birth", "example": "1961-05-24T00:00:00" } } } }, "token": { "type": "string" } } } }, "401": { "$ref": "#/responses/Unauthorized" }, "403": { "$ref": "#/responses/Forbidden" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/allergies": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's Allergies.", "schema": { "type": "array", "items": { "$ref": "#/definitions/Allergy" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/assessments": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's assessments.", "schema": { "type": "array", "items": { "$ref": "#/definitions/Assessment" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/episodesummaries": { "get": { "description": "This API returns a C-CDA document in HL7 v3 (XML) format. If the Accept header is set to \"application/xml\", it will return raw XML instead of JSON. Otherwise, it will wrap the XML document in a JSON wrapper.", "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "C-CDA" ], "consumes": [ "application/json" ], "produces": [ "application/xml", "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "$ref": "#/responses/CcdaXmlSuccess" }, "401": { "$ref": "#/responses/Unauthorized_Xml" }, "429": { "$ref": "#/responses/Too_many_requests_Xml" } } } }, "/clinical/goals": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's goals.", "schema": { "type": "array", "items": { "$ref": "#/definitions/Goal" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/healthconcerns": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's health concerns.", "schema": { "type": "array", "items": { "$ref": "#/definitions/HealthConcern" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/immunizations": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's immunizations.", "schema": { "type": "array", "items": { "$ref": "#/definitions/Immunization" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/implanteddevices": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's implanted devices.", "schema": { "type": "array", "items": { "$ref": "#/definitions/ImplantedDevice" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/medications": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's medications.", "schema": { "type": "array", "items": { "$ref": "#/definitions/Medication" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/orders": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's orders.", "schema": { "type": "array", "items": { "$ref": "#/definitions/Order" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/plans": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's plans.", "schema": { "type": "array", "items": { "$ref": "#/definitions/Plan" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/problems": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's Problem List.", "schema": { "type": "array", "items": { "$ref": "#/definitions/Problem" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/procedures": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's procedures.", "schema": { "type": "array", "items": { "$ref": "#/definitions/Procedure" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/providers": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's care team.", "schema": { "type": "array", "items": { "$ref": "#/definitions/Provider" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/results": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's Results.", "schema": { "type": "array", "items": { "$ref": "#/definitions/ResultSet" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/smokingstatus": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's smoking status.", "schema": { "type": "array", "items": { "$ref": "#/definitions/SmokingStatus" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/clinical/vitalsigns": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Clinical" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/patientId" }, { "$ref": "#/parameters/startDate" }, { "$ref": "#/parameters/endDate" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's vital signs.", "schema": { "type": "array", "items": { "$ref": "#/definitions/VitalSign" } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } }, "/demographics/patients/{patientid}": { "get": { "security": [ { "API Key": [], "Bearer Token": [] } ], "tags": [ "Patient Demographics" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "patientid", "description": "The patient's unique identifier (\"patientid\") returned by the authenticate API.", "in": "path", "required": true, "type": "string", "x-example": "32745" } ], "responses": { "200": { "description": "Successful API call. Contains the patient's detailed demographic information.", "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The internal AdvancedMD identifier for the patient" }, "name": { "type": "string", "description": "The patient's full name" }, "dob": { "type": "string", "description": "The patients date of birth" }, "sex": { "type": "string", "description": "The patient's gender (M = male, F = female, U = unknown)" }, "language": { "type": "string", "description": "The patient's preferred language" }, "ethnicity": { "type": "string", "description": "The patient's ethnicity" }, "races": { "type": "string", "description": "The patient's race (or races)" }, "address": { "type": "object", "properties": { "address1": { "type": "string" }, "address2": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "zip": { "type": "string" } } } } } } }, "401": { "$ref": "#/responses/Unauthorized" }, "429": { "$ref": "#/responses/Too_many_requests" } } } } }, "tags": [ { "name": "Authentication" }, { "name": "C-CDA" }, { "name": "Patient Demographics" }, { "name": "Clinical" } ], "securityDefinitions": { "API Key": { "type": "apiKey", "in": "header", "name": "apikey" }, "Bearer Token": { "type": "apiKey", "in": "header", "name": "Authorization" } }, "parameters": { "patientId": { "name": "patientid", "description": "The patient's unique identifier (\"patientid\") returned by the authenticate API.", "in": "query", "required": true, "type": "string", "x-example": "32745" }, "startDate": { "name": "startDate", "description": "The beginning (m/d/yyyy) of the date range to return data for.", "in": "query", "required": true, "type": "string", "x-example": "1/1/2017 or 01/01/2017" }, "endDate": { "name": "endDate", "description": "The end (m/d/yyyy) of the date range to return data for.", "in": "query", "required": true, "type": "string", "x-example": "5/16/2018 or 05/16/2018" } }, "responses": { "Unauthorized": { "description": "Unauthorized: More details are provided in the response.", "schema": { "type": "object", "properties": { "title": { "type": "string", "example": "Unauthorized" }, "detail": { "type": "string", "example": "Invalid API key or bearer token." } } } }, "Forbidden": { "description": "Forbidden: Generally returned when invalid credentials are supplied when attempting to authorize the user." }, "Too_many_requests": { "description": "Too many requests: More details are provided in the response.", "schema": { "type": "object", "properties": { "title": { "type": "string", "example": "QuotaViolation" }, "detail": { "type": "string", "example": "Too many requests: Please wait and try your request again in about a minute." } } } }, "Unauthorized_Xml": { "description": "Unauthorized: More details are provided in the response.", "schema": { "type": "object", "properties": { "title": { "type": "string", "example": "Unauthorized" }, "detail": { "type": "string", "example": "Invalid API key or bearer token." } } }, "examples": { "application/xml": "\n", "application/json": "{\n \"title\": \"Unauthorized\",\n \"detail\": \"Invalid API key or bearer token.\"\n}\n" } }, "Too_many_requests_Xml": { "description": "Too many requests: More details are provided in the response.", "schema": { "type": "object", "properties": { "title": { "type": "string", "example": "QuotaViolation" }, "detail": { "type": "string", "example": { "Too many requests": "Please wait and try your request again in about a minute." } } } }, "examples": { "application/xml": "\n", "application/json": "{\n \"title\": \"QuotaViolation\",\n \"detail\": \"Too many requests: Please wait and try your request again in about a minute.\"\n}\n" } }, "CcdaXmlSuccess": { "description": "Successful API call. Contains the patient\u2019s episode summaries (C-CDA document) for the specified date range.", "schema": { "type": "object", "properties": { "xml": { "type": "string" } } }, "examples": { "application/xml": "\n \n \n \n ...\n\n", "application/json": "{\n \"xml\": \"\n \n \n \n ...\n \"\n}\n" } } }, "definitions": { "Allergy": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "status": { "type": "string" }, "allergyDate": { "type": "string" }, "reaction": { "type": "string" }, "rxNormId": { "type": "string" } } }, "Assessment": { "type": "object", "properties": { "date": { "type": "string" }, "assessment": { "type": "string" } } }, "Goal": { "type": "object", "properties": { "goalText": { "type": "string" }, "date": { "type": "string" } } }, "HealthConcern": { "type": "object", "properties": { "concern": { "type": "string" }, "date": { "type": "string" } } }, "Immunization": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "date": { "type": "string" }, "status": { "type": "string" }, "quantity": { "type": "string" }, "unit": { "type": "string" }, "lotNumber": { "type": "string" }, "cvxCode": { "type": "string" }, "details": { "type": "string" } } }, "ImplantedDevice": { "type": "object", "properties": { "id": { "type": "string" }, "deviceId": { "type": "string" }, "issuingAgency": { "type": "string" }, "siteName": { "type": "string" }, "siteCode": { "type": "string" }, "deviceName": { "type": "string" }, "deviceDescription": { "type": "string" }, "manufacturer": { "type": "string" }, "model": { "type": "string" }, "serialNumber": { "type": "string" }, "lot": { "type": "string" }, "isActive": { "type": "string" }, "date": { "type": "string" } } }, "Medication": { "type": "object", "properties": { "rxNormId": { "type": "string" }, "name": { "type": "string" }, "instructions": { "type": "string" }, "quantity": { "type": "string" }, "doseForm": { "type": "string" }, "date": { "type": "string" }, "expirationDate": { "type": "string" }, "currentStatus": { "type": "string" }, "type": { "type": "string" } } }, "Order": { "type": "object", "properties": { "date": { "type": "string" }, "testDescription": { "type": "string" }, "loincCode": { "type": "string" } } }, "Plan": { "type": "object", "properties": { "date": { "type": "string" }, "key": { "type": "string" }, "plan": { "type": "string" }, "code": { "type": "string" } } }, "Problem": { "type": "object", "properties": { "code": { "type": "string", "description": "The ICD or SNOMED code representing the problem.", "example": "219376002" }, "codeSystem": { "type": "string", "description": "The codeset (ICD-9/ICD-10/SNOMED) that the code comes from.", "example": "SNOMED" }, "name": { "type": "string", "description": "The full name of the problem.", "example": "219427009-War injury due to lasers" }, "description": { "type": "string", "description": "Description of the problem.", "example": "War injury due to lasers" }, "status": { "type": "string", "description": "Problem status (current/historical).", "example": "Current" }, "date": { "type": "string", "description": "The codeset (ICD-9/ICD-10/SNOMED) that the code comes from.", "example": "20180510" } } }, "Procedure": { "type": "object", "properties": { "date": { "type": "string" }, "code": { "type": "string" }, "type": { "type": "string" }, "description": { "type": "string" } } }, "Provider": { "type": "object", "properties": { "npiNumber": { "type": "string" }, "address1": { "type": "string" }, "address2": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "zip": { "type": "string" }, "country": { "type": "string" }, "title": { "type": "string" }, "lastName": { "type": "string" }, "firstName": { "type": "string" }, "middleName": { "type": "string" } } }, "ResultSet": { "type": "object", "properties": { "code": { "type": "string" }, "name": { "type": "string" }, "date": { "type": "string" }, "results": { "type": "array", "items": { "$ref": "#/definitions/Result" } } } }, "Result": { "type": "object", "properties": { "code": { "type": "string" }, "name": { "type": "string" }, "value": { "type": "string" }, "unit": { "type": "string" }, "interpretationCode": { "type": "string" }, "range": { "type": "string" }, "rangeFrom": { "type": "string" }, "rangeTo": { "type": "string" } } }, "SmokingStatus": { "type": "object", "properties": { "value": { "type": "string" }, "description": { "type": "string" }, "date": { "type": "string" } } }, "VitalSign": { "type": "object", "properties": { "date": { "type": "string" }, "measurements": { "type": "array", "items": { "$ref": "#/definitions/VitalMeasurment" } } } }, "VitalMeasurment": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" }, "metricValue": { "type": "string" } } } } }