This content is intended for technical staff at provider organizations.
The 1up Provider Access API is a bulk FHIR data API that meets the HL7 FHIR Bulk Data API specification. In order to make a request to the Provider Access API, an access token must be supplied that identifies the provider organization. This token is obtained through an OAuth 2.0 client credentials flow, enabled by 1up's Dev Portal.
From the Dev Portal, provider organizations can both create a sandbox client and request access to the production client. Accessing production data requires verification by 1upHealth. Once your organization is verified, you can generate client credentials and retrieve an authorization token. This token can be used to make requests to the Provider Access API and export data for your patients.
After making a valid FHIR bulk export request, you will receive a URL to track the asynchronous job exporting your patient's data. Once complete, you will be given additional URLs to download your exported patient data as .ndjson files. All of these requests will be made with the same authorization token retrieved on behalf of your client.
Once you submit this form, 1upHealth will review the information provided. While your access is pending, you can create a sandbox client to pull synthetic data. One your production access has been granted, you will have access to the Production Clients tab.
- Access the 1up Dev Portal login page.
- Register for the 1up Dev Portal, complete email verification, and login.
- From the 1up Dev Portal home page side navigation, click Production Clients.
- In Production Clients, click Request Access. To gain production access, you must submit a multi-stage production access form so that 1up can validate your organization.
- Fill out the Requesting Production Access form:
- Select either Provider/Health Systems or Accountable Care Organization (ACO) for the Organization Type. This requests access to the Attributed member claims data (CMS Provider Access) access type.
- Enter your organization's National Provider Identification (NPI) number. Use the NPI that represents your entire organization or system, rather than the NPI of any individual provider.
- Enter your organization's Taxpayer Identifier Number (TIN).
- Click Next and fill out the remaining information on the form. These details are used for the vetting process.
- Click Submit.
- Log into the Dev Portal.
- From the 1up Dev Portal home page side navigation, click Production Clients.
- Click Create a client.
- Under Access Type, select Attributed members claims data (CMS Provider Access).
- Enter a Client Name and Description for your client. In production this client may represent an application (like an EHR system) that makes Provider Access API requests.
- Click Create.
The process and commands are the same in production as they are for the quick-start instructions.
Replace the {curly brackets} and any text inside them with the appropriate value.
- Copy your production client's client ID and client secret.
- Request an authorization token by pasting the following code into a terminal.
curl -i -X POST \ https://gateway.1up.health/auth/realms/dev-portal/protocol/openid-connect/token \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'client_id={your-id-here}' \ -d 'client_secret={your-secret-here}' \ -d grant_type=client_credentials \ -d 'scope=bulk-data|user/*.rs' - Copy the
access_tokenfrom the successful response. You will use this token for subsequent requests. - Submit a FHIR bulk export request using the below code with your
access_token. This request returns all data the payer has saved for any patients attributed to your organization.curl -i -X GET \ 'https://gateway.1up.health/v1/{tenant}/bulk-data/r4/$export' \ -H 'Authorization: Bearer {access_token}' - Copy the job URL from the successful response.
- Send a request to check on the progress of the FHIR bulk export. The response will include a list of files using URLs.
curl --location '{job_URL}' \ --header 'Authentication: Bearer {access_token}' - Copy the URL for any of the files.
- Send a request to return the data from one of the files.
curl --location '{file_URL}' \ --header 'Authentication: Bearer {access_token}' - Configure igestion for the returned data into your Electronic Health Record (EHR) or Data Management System according to your tool's documentation.