Dexcom (Independent Publisher) (#1142)

* Initial Commit

Added Dexcom Connector Readme, apiProperties, apiDefinition

* Added new line to end of files

added new line to end of files

* Updated README

Updated README to include creating an App on Dexcom Oauth

* Updated swagger file due to errors

Updated swagger file:

Change default to 200
Moved contact within Info
Added missing ,
Added missing x-ms-summary's after upload

* Change Requests

Changed tabbed to spaces
Removed additional spacing
Added correct icon brand colour
This commit is contained in:
FlowJoe 2021-10-14 13:41:05 -07:00 коммит произвёл GitHub
Родитель e0ecb9ebb3
Коммит a0b5fabf38
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 225 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,43 @@
# Dexcom Community Connector
The Dexcom Community Connector enables the retrieval of a user's estimated glucose value (EGV) data, bringing the ability to monitor and share a Diabetic's glucose levels. You can find out more about the [Dexcom Developer API](https://developer.dexcom.com/overview) directly on their website.
## Pre-requisites
To use this connector, you need the following
1. A Microsoft Power Apps or Power Automate plan with custom connector feature
2. A Dexcom Developer account
3. An App created on your account
4. The Client ID and Client Secret from your App on your Dexcom account
5. Ensure that you have clicked ['Apply for Upgrade'](https://developer.dexcom.com/user/me/apps) on your Dexcom App Account to use production data.
## Obtaining Credentials
To obtain the credentials you need to firstly create an app on the [Dexcom Developer API](https://developer.dexcom.com/overview) website.
1. Open the ['My Apps'](https://developer.dexcom.com/user/me/apps) page
2. Click 'Add an App'
3. Provide a name for your App
4. Click Create
5. Add a redirect URL of: https://global.consent.azure-apim.net/redirect
6. Click 'Save'
Your authentication credentials are now listed under 'Authentication'.
## API documentation
[Dexcom Rest API Documentation](https://developer.dexcom.com/overview)
## Supported Operations
The connector supports the following operations:
* [EGVS](https://developer.dexcom.com/get-egvs)
- The /egvs endpoint enables retrieval of a user's estimated glucose value (EGV) data, including trend and status information.
## Known Issues and Limitations
Full Access is not required for apps to access production data. All Limited Access apps can have up to 20 authorized users, thus enabling Registered Developers to test their prototype apps with multiple users without going through the upgrade process. This data access still requires user authentication and HIPAA authorization via the OAuth 2.0 process, which is described in the [Authentication](https://developer.dexcom.com/authentication) section of the Dexcom API site.
## Frequently Asked Questions
### Does Dexcom provide a test environment for analyzing returned results from an API call?
Dexcom provides a sandbox API environment which you can make API requests to. To access this you can change the endpoint, security values as well as the action calls to https://sandbox-api.dexcom.com. If you would like to change back to the production endpoint you will need to change to https://api.dexcom.com.

Просмотреть файл

@ -0,0 +1,145 @@
{
"swagger": "2.0",
"info": {
"title": "Dexcom",
"description": "This connector is used to retrieve Estimated Glucose Values (EGV) from the Dexcom Diabetes Continuous Glucose Monitor website.",
"version": "1.0",
"contact": {
"name": "Joe Unwin",
"url": "https://www.flowjoe.io",
"email": "flow_joe@outlook.com"
}
},
"host": "api.dexcom.com",
"basePath": "/",
"schemes": [
"https"
],
"consumes": [],
"produces": [],
"paths": {
"/v2/users/self/egvs": {
"get": {
"responses": {
"200": {
"description": "Returned if the information sent is correct and a response is returned.",
"schema": {
"type": "object",
"properties": {
"unit": {
"type": "string",
"description": "unit"
},
"rateUnit": {
"type": "string",
"description": "rateUnit"
},
"egvs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"systemTime": {
"type": "string",
"description": "Time according to the system clock at which observation was made; nominally UTC"
},
"displayTime": {
"type": "string",
"description": "Time displayed on the receiving device when the observation was made"
},
"value": {
"type": "integer",
"format": "int32",
"description": "Estimated glucose value"
},
"realtimeValue": {
"type": "integer",
"format": "int32",
"description": "Estimated glucose value presented on receiving device in realtime"
},
"smoothedValue": {
"type": "string",
"description": "Estimated glucose value presented retrospectively on receiving device after smoothing; G6 devices only"
},
"status": {
"type": "string",
"description": "Explanation of EGV record; used when the value field is outside the measuring range"
},
"trend": {
"type": "string",
"description": "General trend of EGV value movement; corresponds to trendRate field"
},
"trendRate": {
"type": "number",
"format": "float",
"description": "Rate at which glucose value is moving up or down"
}
}
},
"description": "The /egvs endpoint enables retrieval of a user's estimated glucose value (EGV) data, including trend and status information."
}
}
}
}
},
"summary": "Get EGVs",
"operationId": "Get-EGVs",
"description": "Estimated Glucose Value (EGV) Request from Dexcom",
"parameters": [
{
"name": "startDate",
"in": "query",
"required": false,
"type": "string",
"description": "The start date that will be used to for the Estimated Glucose Value (EGV) readings.",
"x-ms-summary": "startDate"
},
{
"name": "endDate",
"in": "query",
"required": false,
"type": "string",
"description": "The end date that will be used to for the Estimated Glucose Value (EGV) readings. This has a maximum of 90 days.",
"x-ms-summary": "endDate"
}
]
}
}
},
"definitions": {},
"parameters": {},
"responses": {},
"securityDefinitions": {
"oauth2_auth": {
"type": "oauth2",
"flow": "accessCode",
"authorizationUrl": "https://api.dexcom.com.dexcom.com/v2/oauth2/login",
"tokenUrl": "https://api.dexcom.com/v2/oauth2/token",
"scopes": {
"offline_access": "offline_access"
}
}
},
"security": [
{
"oauth2_auth": [
"offline_access"
]
}
],
"tags": [],
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "https://www.dexcom.com/"
},
{
"propertyName": "Privacy policy",
"propertyValue": "https://www.dexcom.com/linked/documentservice/PrivacyPolicy"
},
{
"propertyName": "Categories",
"propertyValue": "Data;Lifestyle and Entertainment"
}
]
}

Просмотреть файл

@ -0,0 +1,37 @@
{
"properties": {
"connectionParameters": {
"token": {
"type": "oauthSetting",
"oAuthSettings": {
"identityProvider": "oauth2",
"clientId": "[YOUR_VALUE]",
"scopes": [
"offline_access"
],
"redirectMode": "Global",
"redirectUrl": "https://global.consent.azure-apim.net/redirect",
"properties": {
"IsFirstParty": "False",
"IsOnbehalfofLoginSupported": false
},
"customParameters": {
"authorizationUrl": {
"value": "https://api.dexcom.com/v2/oauth2/login"
},
"tokenUrl": {
"value": "https://api.dexcom.com/v2/oauth2/token"
},
"refreshUrl": {
"value": "https://api.dexcom.com/v2/oauth2/token"
}
}
}
}
},
"iconBrandColor": "#da3b01",
"capabilities": [],
"publisher": "FlowJoe",
"stackOwner": "Dexcom"
}
}