### Install fhirpath.js Source: https://docs.connect.fastenhealth.com/guides/display-component-library Install the fhirpath.js library using npm. This is required for evaluating FHIRPath expressions. ```bash npm install fhirpath ``` -------------------------------- ### Install React SDK Source: https://docs.connect.fastenhealth.com/stitch/v4/sdks/react/quickstart Install the Fasten Stitch React SDK using npm or yarn. React 18 or later is required. ```bash # npm npm install @fastenhealth/fasten-stitch-element-react # yarn yarn add @fastenhealth/fasten-stitch-element-react ``` -------------------------------- ### cURL Authentication Examples Source: https://docs.connect.fastenhealth.com/api-reference/authentication These cURL examples demonstrate two equivalent ways to authenticate API requests. The `-u` flag simplifies credential handling by automatically encoding them. ```bash curl -u 'public_test_123456324234234':'private_test_9u2orj....sd02lk3)i03423' \ -X POST \ --data '{"org_connection_id":"ebea708d-c5fa-4294-9051-da48ef08c78a"}' \ https://api.connect.fastenhealth.com/v1/bridge/fhir/ehi-export ``` ```bash curl -H 'Authorization: Basic cHVibGljX3Rlc3RfMTIzNDU2MzI0MjM0MjM0OnByaXZhdGVfdGVzdF85dTJvcmpzZDAybGszKWkwMzQyMwo=' \ -X POST \ --data '{"org_connection_id":"ebea708d-c5fa-4294-9051-da48ef08c78a"}' \ https://api.connect.fastenhealth.com/v1/bridge/fhir/ehi-export ``` -------------------------------- ### Install fhir-react Source: https://docs.connect.fastenhealth.com/guides/display-component-library Install the fhir-react library using npm. This is the first step to using its React components for rendering FHIR resources. ```bash npm install fhir-react ``` -------------------------------- ### Install React Native SDK Source: https://docs.connect.fastenhealth.com/stitch/v4/sdks/react-native/quickstart Install the Stitch React Native SDK and the react-native-webview package using npm or yarn. For bare React Native projects, run `npx pod-install` to link native dependencies. ```bash # npm npm install @fastenhealth/fasten-stitch-element-react-native react-native-webview # yarn yarn add @fastenhealth/fasten-stitch-element-react-native react-native-webview ``` -------------------------------- ### Install and Render Stitch Web Component Source: https://docs.connect.fastenhealth.com/stitch/v4/sdks/web-component/quickstart Include the CSS and JavaScript files, then add the `` to your HTML. Listen for events using `addEventListener`. ```html ``` -------------------------------- ### Go HTTP Request with Basic Authentication Source: https://docs.connect.fastenhealth.com/api-reference/authentication This Go example shows how to construct an HTTP request with the 'Authorization' header set using Basic Authentication. Ensure the 'base64' package is imported. ```go package main import ( "encoding/base64" "fmt" "net/http" ) func main() { publicID := "public_test_123456324234234" privateKey := "private_test_9u2orjsd02lk3)i03423" // Concatenate the Public ID and Private Key with a colon authString := publicID + ":" + privateKey // Base64 encode the concatenated string encodedAuth := base64.StdEncoding.EncodeToString([]byte(authString)) // Create the Authorization header value authHeader := "Basic " + encodedAuth // Example HTTP request req, err := http.NewRequest("POST", "https://api.connect.fastenhealth.com/v1/bridge/....", nil) if err != nil { fmt.Println("Error creating request:", err) return } // Add the Authorization header req.Header.Add("Authorization", authHeader) client := &http.Client{} resp, err := client.Do(req) if err != nil { fmt.Println("Error sending request:", err) return } defer resp.Body.Close() fmt.Println("Response Status:", resp.Status) } ``` -------------------------------- ### Install and Render Stitch Web Component in TEFCA Mode Source: https://docs.connect.fastenhealth.com/stitch/v4/sdks/web-component/quickstart To enable TEFCA mode, add the `tefca-mode="true"` attribute to the `` tag. The rest of the installation is the same. ```html ``` -------------------------------- ### Webhook Payload Example Source: https://docs.connect.fastenhealth.com/webhooks/introduction This is an example of a typical webhook payload structure. It includes common fields like api_mode, date, id, type, and a data object specific to the event type. ```json { "api_mode": "test", "date": "2024-06-13T00:08:31Z", "id": "c0ac7bc4-c6ef-4f0b-bba3-93506774eb74", "type": "patient.ehi_export_success", "data": { "download_links": [ { "url": "https://api.connect.fastenhealth.com/v1/bridge/fhir/ehi-export/fedec7b7-8cf6-4bc9-72032b426473/download/2024-06-12-6715-4ae4-bde5-ab97519bd1fa.jsonl", "export_type": "jsonl", "content_type": "application/fhir+ndjson" } ], "task_id": "fedec7b78cf6905872032b426473", "org_id": "592c0579-c1cc-443f-a94e-4c8847c0c066" } } ``` -------------------------------- ### Example Widget.complete Event Payload Source: https://docs.connect.fastenhealth.com/quickstart This JSON structure represents a 'widget.complete' event payload, containing details about a successful patient connection. ```json { "api_mode": "live", "event_type": "widget.complete", "data": [{ "org_connection_id": "fedec7b7-8cf6-4bc9-9058-72032b426473", "endpoint_id": "8e2f5de7-46ac-4067-96ba-5e3f60ad52a4", "brand_id": "e16b9952-8885-4905-b2e3-b0f04746ed5c", "portal_id": "2727ec27-67e9-475a-bea1-423102beaa1d", "connection_status": "authorized", "platform_type": "epic" }] } ``` -------------------------------- ### Stitch Web Component Usage Source: https://docs.connect.fastenhealth.com/stitch/v4/sdks/web-component/reference Example of how to use the Stitch Web Component with various configuration attributes. ```APIDOC ## Stitch Web Component ### Description The Stitch Web Component is a customizable UI element that facilitates the patient connection process. ### Usage Include the `fasten-stitch-element` in your HTML and configure it using attributes. ### Attributes #### `public-id` (string, required) This must be your API public ID. You can find it in your [Fasten Connect Portal](https://portal.connect.fastenhealth.com). #### `reconnect-org-connection-id` (string, optional) Useful when the patient connection credentials are invalid (due to expiration or revocation). Providing this `reconnect-org-connection-id` allows Fasten to reauthenticate the Patient and store their new credentials. When provided, the stitch component will skip the search step and go directly to the reauthentication step for the specified organization connection. #### `external-id` (string, optional) An Opaque identifier, used to identify the patient in your system. This value will be returned in the response. #### `search-only` (boolean, optional) If set to `true`, the stitch component will only show the search box and will not prompt the patient to verify their email address. #### `search-query` (string, optional) Prepopulate the search box with a query. #### `show-splash` (boolean, optional) Show a splash page introduces Fasten Connect and displays your privacy policy & terms to the patient before they begin the connection process. #### `static-backdrop` (boolean, optional) If set to `true`, the stitch component will not close when the user clicks outside of the modal. This is useful for cases where you want to keep the modal open until the user explicitly closes it. #### `event-types` (string, optional) By default the following standard events are always emitted: `patient.connection_pending`, `patient.connection_success`, `patient.connection_failed`, `widget.complete`. If you would like to receive the optional events listed below, you must set the `event-types` parameter to a comma-separated list of event types. `search.query`: This event is emitted when the patient searches for a healthcare institution in the Fasten Connect catalog. #### `tefca-mode` (boolean, optional) If set to `true`, the stitch component will operate in TEFCA IAS mode, which is a streamlined experience designed to simplify medical record collection. In this mode, the patient will be able to verify their identity and pull medical records from healthcare institutions that participate in the TEFCA network, with minimal friction. See the [TEFCA IAS documentation](/guides/tefca-ias) for more information on this experience and its benefits. ### Example ```html ``` ``` -------------------------------- ### Python Requests with Basic Authentication Source: https://docs.connect.fastenhealth.com/api-reference/authentication This Python example utilizes the 'requests' library to make a POST request with Basic Authentication. The 'HTTPBasicAuth' class from 'requests.auth' simplifies the process. ```python import requests from requests.auth import HTTPBasicAuth # Public ID and Private Key public_id = "public_test_123456324234234" private_key = "private_test_9u2orjsd02lk3)i03423" # API endpoint url = "https://api.connect.fastenhealth.com/v1/bridge/...." # Make the POST request with Basic Authentication response = requests.post(url, auth=HTTPBasicAuth(public_id, private_key), json={"org_connection_id":"ebea708d-c5fa-4294-9051-da48ef08c78a"}) print(f"Status Code: {response.status_code}") print(f"Response Body: {response.json()}") ``` -------------------------------- ### HTTP Authorization Header Example Source: https://docs.connect.fastenhealth.com/api-reference/authentication When generating the Basic Auth header manually, concatenate the Public ID and Private Key with a colon, then base64 encode the result. Prefix the encoded string with 'Basic '. ```http Authorization: Basic cHVibGljX3Rlc3RfMTIzNDU2MzI0MjM0MjM0OnByaXZhdGVfdGVzdF85dTJvcmpzZDAybGszKWkwMzQyMwo= ``` -------------------------------- ### PAR Response Example Source: https://docs.connect.fastenhealth.com/identity-proofing/bring-your-own-identity A successful Pushed Authorization Request returns a JSON object containing a single-use `request_uri` and its expiration time in seconds. This `request_uri` is crucial for initializing Fasten Stitch. ```json { "request_uri": "urn:ietf:params:oauth:request_uri:4c7f0f56-9302-4217-98d3-3b4d1e5f98ad", "expires_in": 90 } ``` -------------------------------- ### Node.js HTTP Request with Basic Authentication Source: https://docs.connect.fastenhealth.com/api-reference/authentication This Node.js example demonstrates how to create an HTTPS request with the 'Authorization' header configured for Basic Authentication. It uses the built-in 'https' and 'Buffer' modules. ```javascript const https = require('https'); // Public ID and Private Key const publicID = 'public_test_123456324234234'; const privateKey = 'private_test_9u2orjsd02lk3)i03423'; // Concatenate the Public ID and Private Key with a colon const authString = `${publicID}:${privateKey}`; // Base64 encode the concatenated string const encodedAuth = Buffer.from(authString).toString('base64'); // Create the Authorization header value const authHeader = `Basic ${encodedAuth}`; // Example HTTP request options const options = { hostname: 'api.connect.fastenhealth.com', port: 443, path: '/v1/bridge/....', method: 'POST', headers: { 'Authorization': authHeader, 'Content-Type': 'application/json', }, }; // Send the HTTP request const req = https.request(options, (res) => { console.log(`Status Code: ${res.statusCode}`); let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { console.log(data); }); }); req.on('error', (error) => { console.error(error); }); // Example data to send (if needed) const postData = JSON.stringify({ "org_connection_id": "ebea708d-c5fa-4294-9051-da48ef08c78a" }); req.write(postData); req.end(); ``` -------------------------------- ### Get Organization Source: https://docs.connect.fastenhealth.com/llms.txt Get information about your organization. This is used to display branding information in the Stitch.js popup widget. ```APIDOC ## GET /organization/get ### Description Retrieve information about your organization, used for displaying branding in the Stitch.js popup widget. ### Method GET ### Endpoint /organization/get ``` -------------------------------- ### Get Catalog Entry Source: https://docs.connect.fastenhealth.com/llms.txt Get branding & metadata information associated with healthcare institutions supported by Fasten Connect. ```APIDOC ## GET /catalog/get ### Description Get branding & metadata information associated with healthcare institutions supported by Fasten Connect. ### Method GET ### Endpoint /catalog/get ``` -------------------------------- ### Initiate Connection (cURL) Source: https://docs.connect.fastenhealth.com/api-reference/registration/connect#test-credentials Use this cURL command to initiate a connection to the Fasten Health API. This will generate a state value and redirect the user to their healthcare provider's Patient Portal for authentication. ```bash curl --request GET \ --url https://api.connect.fastenhealth.com/v1/bridge/connect ``` -------------------------------- ### Java HTTP Connection with Basic Authentication Source: https://docs.connect.fastenhealth.com/api-reference/authentication This Java example demonstrates setting up an HttpURLConnection for a POST request, including constructing and adding the 'Authorization' header with Basic Authentication. It requires Java's built-in Base64 encoder. ```java import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.Base64; public class FastenAuth { public static void main(String[] args) { String publicId = "public_test_123456324234234"; String privateKey = "private_test_9u2orjsd02lk3)i03423"; String endpoint = "https://api.connect.fastenhealth.com/v1/bridge/...."; // Concatenate Public ID and Private Key with a colon String authString = publicId + ":" + privateKey; // Base64 encode the concatenated string String encodedAuth = Base64.getEncoder().encodeToString(authString.getBytes()); // Create the Authorization header value String authHeader = "Basic " + encodedAuth; try { // Create the HTTP connection URL url = new URL(endpoint); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setRequestProperty("Authorization", authHeader); connection.setRequestProperty("Content-Type", "application/json"); connection.setDoOutput(true); // Example data to send String requestBody = "{\"org_connection_id\":\"ebea708d-c5fa-4294-9051-da48ef08c78a\"}"; try (OutputStream os = connection.getOutputStream()) { byte[] input = requestBody.getBytes("utf-8"); os.write(input, 0, input.length); } int responseCode = connection.getResponseCode(); System.out.println("Response Code: " + responseCode); // Read response (optional) // try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"))) { // StringBuilder response = new StringBuilder(); // String responseLine = null; // while ((responseLine = br.readLine()) != null) { // response.append(responseLine.trim()); // } // System.out.println("Response Body: " + response.toString()); // } connection.disconnect(); } catch (Exception e) { e.printStackTrace(); } } } ``` -------------------------------- ### Get EHI Export Status OpenAPI Specification Source: https://docs.connect.fastenhealth.com/api-reference/ehi_export/get This OpenAPI specification defines the GET /bridge/fhir/ehi-export/{taskId} endpoint for retrieving the status of an EHI export task. It includes details on parameters, responses, and authentication. ```yaml GET /bridge/fhir/ehi-export/{taskId} openapi: 3.0.1 info: title: Fasten Connect description: >- Useful links: - [Fasten Connect API repository](https://github.com/fastenhealth/fasten-connect-api) - [Fasten Connect Developer Portal](https://github.com/fastenhealth/fasten-connect-app) termsOfService: https://www.fastenhealth.com/ contact: email: connect@fastenhealth.com license: name: Private version: 1.0.11 servers: - url: https://api.connect.fastenhealth.com/v1/ description: Use this server for both live and test mode. security: [] tags: - name: auth description: Portal Authentication & Signup - name: user description: Operations about user - name: org description: Operations about organization - name: bridge description: Customer (organization) facing APIs - name: catalog description: Catalog APIs externalDocs: description: Find out more about Fasten Connect url: https://www.fastenhealth.com/ paths: /bridge/fhir/ehi-export/{taskId}: get: tags: - bridge summary: Get EHI Export Status/Results description: > Check the status of the EHI Export Task. This is a polling endpoint intended for informational purposes only. It does not return the actual medical records or a `download_links` array. Instead, the `download_links` will be sent asynchronously to a customer-defined [webhook](/webhooks/introduction). We use [webhooks](/webhooks/introduction) to deliver the `download_links` because they are more reliable and scalable for background job completion. Polling this endpoint repeatedly introduces unnecessary load and latency for your system and ours. Webhooks enable instant delivery of results the moment they're ready. **If your [webhook](/webhooks/introduction) is not configured, you will not be able to retrieve the exported EHI.** This endpoint requires an API public id & private key for authentication. Do not expose these keys in the browser. parameters: - name: taskId in: path description: Task Id required: true schema: type: string responses: '200': description: successful operation content: application/json: schema: type: object properties: success: type: boolean example: true data: $ref: '#/components/schemas/EhiExportRequestStatus' security: - bridge_basic: [] components: schemas: EhiExportRequestStatus: type: object properties: task_id: type: string format: string description: Task Id example: c9c7a91b66b34fdca749bb8e9cfbf617 status: type: string enum: - pending - success - failed example: pending xml: name: ehi_export_request_status securitySchemes: bridge_basic: type: http scheme: basic description: > [Basic Authentication](/api-reference/authentication), containing API Public Id and Private Key generated from the Fasten Connect Portal. **Do not expose these keys in the browser.** ``` -------------------------------- ### Download EHI-Export Task Results Source: https://docs.connect.fastenhealth.com/api-reference/ehi_export/download When provided with a `taskId` and `fileId`, this endpoint will return a signed URL to download the file in the `Location` header. Your http client should be able to follow the redirect and download the file. This signed URL will expire after a short period of time, so you should download the file immediately. If you are unable to do so, you can request a new signed URL by calling this endpoint again. This endpoint requires an API public id & private key for authentication. Do not expose these keys in the browser. ```APIDOC ## GET /bridge/fhir/ehi-export/{taskId}/download/{fileId} ### Description Retrieve a signed URL to download a specific EHI export file associated with a task. ### Method GET ### Endpoint /bridge/fhir/ehi-export/{taskId}/download/{fileId} ### Parameters #### Path Parameters - **taskId** (string) - Required - The ID of the task associated with the file. - **fileId** (string) - Required - The ID of the file to download. ### Responses #### Success Response (200) - **Location** (string) - A signed URL to download the file. This URL is temporary and will expire. ### Response Example ```json { "Location": "https://fasten-connect-production-files.s3.amazonaws.com/ehi-export/test/2024-04-03-098c09ef-887d-4aad-886c-d3ffd11750da.jsonl" } ``` ### Security - **bridge_basic**: Basic Authentication using API Public Id and Private Key. ``` -------------------------------- ### Initiate Connection Source: https://docs.connect.fastenhealth.com/api-reference/registration/connect#test-credentials This endpoint generates a state value and redirects the user to their healthcare provider's Patient Portal for EHR authentication. Upon completion, Fasten Connect redirects the user back to your specified `redirect_uri` with `org_connection_id` and `endpoint_id` query parameters. If an error occurs, it redirects back with `error` and `error_description` query parameters. The `redirect_uri` parameter is mandatory if multiple Redirect URLs are configured in the Fasten Connect Portal. ```APIDOC ## GET /bridge/connect ### Description Initiates a connection to a healthcare provider's EHR by redirecting the user to their Patient Portal for authentication. Returns connection details or error information upon completion. ### Method GET ### Endpoint /bridge/connect ### Parameters #### Query Parameters - **public_id** (string) - Required - Public Key for Organization Credential - **endpoint_id** (string) - Required - Catalog Endpoint Id - **brand_id** (string) - Required - Catalog Brand Id - **portal_id** (string) - Required - Catalog Portal Id - **redirect_uri** (uri) - Required - Redirect URI (where the user will be redirected after authentication). Must match a `redirect_uri` provided in the Fasten Connect Portal. - **external_id** (string) - Optional - An Opaque identifier, used to identify the patient in your system. This value will be returned in the Redirect URL response. - **external_state** (string) - Optional - An Opaque identifier, used to identify the connection request. This value should be unique. This value will be returned in the Redirect URL response. ### Response #### Success Response (302) Redirect ### Test Credentials In `test` mode, you can use the following credentials to test the Fasten Stitch component: | Source | Credentials / Sandbox Status | Link | |---|---|---| | Aetna | Username: `VTETestUser01`
Password: `FHIRdemo2020` | test accounts | | Anthem | Username: `HOSPatient`
Password: `HOSPatient2023` | | | AthenaHealth | Username: `phrtest_preview@mailinator.com`
Password: `Password1` | test accounts | | CareEvolution | Username: `CEPatient`
Password: `CEPatient2018` | test accounts | | Cerner | Username: `nancysmart`
Password: `Cerner01` | test accounts | | Cigna | Username: `syntheticuser05`
Password: `5ynthU5er5` | test accounts | | eClinicalWorks/Healow | Username: `AdultFemaleFHIR`
Password: `e@CWFHIR1` | test accounts | | Epic | Username: `fhircamila`
Password: `epicepic1` | test accounts | | HealthIT | Username: `demouser`
Password: `Demouser1!` | test accounts | | Humana | Username: `HUser00001`
Password: `PW00001!` | | | Kaiser | Username: `Pvaluser1`
Password: `V@lidation1` | | | Medicare | Username: `BBUser00000`
Password: `PW00000!` | test accounts | | NextGen | Username: `patientapitest`
Password: `Password1!` | test accounts | | VA Health | Provider: ID.me
Username: `va.api.user+101-2024@gmail.com`
Password: `Password12345!!!` | test accounts | ``` -------------------------------- ### OpenAPI Specification for /bridge/connect GET Source: https://docs.connect.fastenhealth.com/api-reference/registration/connect This OpenAPI 3.0.1 specification defines the GET endpoint for /bridge/connect. It details the API's info, servers, tags, and paths, including parameters and responses for initiating patient authentication. ```yaml openapi: 3.0.1 info: title: Fasten Connect description: >- Useful links: - [Fasten Connect API repository](https://github.com/fastenhealth/fasten-connect-api) - [Fasten Connect Developer Portal](https://github.com/fastenhealth/fasten-connect-app) termsOfService: https://www.fastenhealth.com/ contact: email: connect@fastenhealth.com license: name: Private version: 1.0.11 servers: - url: https://api.connect.fastenhealth.com/v1/ description: Use this server for both live and test mode. security: [] tags: - name: auth description: Portal Authentication & Signup - name: user description: Operations about user - name: org description: Operations about organization - name: bridge description: Customer (organization) facing APIs - name: catalog description: Catalog APIs externalDocs: description: Find out more about Fasten Connect url: https://www.fastenhealth.com/ paths: /bridge/connect: get: tags: - bridge description: > This endpoint will generate a state value and redirect the user to their healthcare provider Patient Portal to authenticate with the healthcare provider's EHR. On completion, Fasten Connect will redirect the user back to your redirect_uri with an `org_connection_id` and `endpoint_id` query parameter. If an error occurred during the authentication process, Fasten Connect will redirect the user back with an `error` and `error_description` query parameter. If you have configured more than one Redirect URL in the Fasten Connect Portal, you **MUST** include the `redirect_uri` query parameter in the request. This is done automatically by the [Stitch SDK](stitch/v4/introduction) widget. parameters: - name: public_id in: query description: Public Key for Organization Credential required: true schema: type: string - name: endpoint_id in: query description: Catalog Endpoint Id required: true example: f4ea79fc-9a1b-43f0-be95-24247d666514 schema: type: string - name: brand_id in: query description: Catalog Brand Id required: true example: 5e3839ed-6ae1-472b-b4b8-b5df098443c7 schema: type: string - name: portal_id in: query description: Catalog Portal Id required: true example: d26f0b1c-82e7-4cb5-a4c4-55e73d48c016 schema: type: string - name: redirect_uri in: query description: >- Redirect URI (where the user will be redirected after authentication). Must match a `redirect_uri` provided in the Fasten Connect Portal. required: true example: https://www.example.com schema: type: string format: uri - name: external_id in: query description: >- An Opaque identifier, used to identify the patient in your system. This value will be returned in the Redirect URL response. required: false schema: type: string - name: external_state in: query description: >- An Opaque identifier, used to identify the connection request. This value should be unique. This value will be returned in the Redirect URL response. required: false schema: type: string responses: '302': description: Redirect headers: location: description: Setup state based redirect schema: oneOf: - type: string description: >- If configuration is correct and valid for endpoint, catalog, brand and public id, Fasten Connect will redirect to given redirect url ``` -------------------------------- ### OpenAPI Specification for Get Organization Source: https://docs.connect.fastenhealth.com/api-reference/organization/get This OpenAPI specification defines the GET /bridge/org endpoint. It details the request parameters, including the required 'public_id', and the structure of the successful JSON response, which includes organization details like name, logo, and status. ```yaml GET /bridge/org openapi: 3.0.1 info: title: Fasten Connect description: >- Useful links: - [Fasten Connect API repository](https://github.com/fastenhealth/fasten-connect-api) - [Fasten Connect Developer Portal](https://github.com/fastenhealth/fasten-connect-app) termsOfService: https://www.fastenhealth.com/ contact: email: connect@fastenhealth.com license: name: Private version: 1.0.11 servers: - url: https://api.connect.fastenhealth.com/v1/ description: Use this server for both live and test mode. security: [] tags: - name: auth description: Portal Authentication & Signup - name: user description: Operations about user - name: org description: Operations about organization - name: bridge description: Customer (organization) facing APIs - name: catalog description: Catalog APIs externalDocs: description: Find out more about Fasten Connect url: https://www.fastenhealth.com/ paths: /bridge/org: get: tags: - bridge description: >- Get information about your organization. This is used to display branding information in the Stitch.js popup widget. parameters: - name: public_id in: query description: >- Public ID for Organization credential. See Authentication for more information required: true schema: type: string responses: '200': description: successful operation content: application/json: schema: type: object properties: success: type: boolean example: true data: $ref: '#/components/schemas/Organization' components: schemas: Organization: type: object properties: id: type: string format: uuid example: 8d4136dd-31b6-4a65-88a0-7ea22a2b16d6 name: type: string example: Example Inc. logo_uri: type: string example: https://www.example.com/logo.png privacy_policy_uri: type: string format: uri example: https://www.example.com/privacy_policy website_uri: type: string format: uri example: https://www.example.com plan: type: string example: free status: type: string description: Organization Status enum: - active - inactive example: active xml: name: organization ``` -------------------------------- ### Get Request Status Source: https://docs.connect.fastenhealth.com/llms.txt Check the status of the EHI Export Task. ```APIDOC ## GET /ehi_export/get ### Description Check the status of an EHI Export Task. ### Method GET ### Endpoint /ehi_export/get ### Parameters #### Query Parameters - **taskId** (string) - Required - The ID of the EHI export task. ``` -------------------------------- ### Create Pushed Authorization Request (PAR) Source: https://docs.connect.fastenhealth.com/identity-proofing/bring-your-own-identity Use this `curl` command from your backend to initiate a Pushed Authorization Request. Ensure you use your Fasten public ID and private key for Basic authentication and provide the necessary scope, response type, CSP identifier, and the ID Token issued by the CSP. ```bash curl -X POST https://identity.fastenhealth.com/oauth2/par \ -u "public_test_xxxxxxxxxx:private_test_xxxxxxxxxx" \ -H "Content-Type: application/x-www-form-urlencoded" \ --data-urlencode "scope=openid profile email" \ --data-urlencode "response_type=code" \ --data-urlencode "idp=clear_csp" \ --data-urlencode "idp_id_token=eyJhbGciOiJSUzI1NiIs..." ``` -------------------------------- ### OpenAPI Specification for Get Organization Connection Source: https://docs.connect.fastenhealth.com/api-reference/organization_connection/get This OpenAPI 3.0.1 specification defines the GET /bridge/org_connection/{orgConnectionId} endpoint. It details the request parameters, including the organization connection ID, and the structure of the successful JSON response, which includes connection status and data. Authentication requires basic authentication with API public and private keys. ```yaml GET /bridge/org_connection/{orgConnectionId} openapi: 3.0.1 info: title: Fasten Connect description: >- Useful links: - [Fasten Connect API repository](https://github.com/fastenhealth/fasten-connect-api) - [Fasten Connect Developer Portal](https://github.com/fastenhealth/fasten-connect-app) termsOfService: https://www.fastenhealth.com/ contact: email: connect@fastenhealth.com license: name: Private version: 1.0.11 servers: - url: https://api.connect.fastenhealth.com/v1/ description: Use this server for both live and test mode. security: [] tags: - name: auth description: Portal Authentication & Signup - name: user description: Operations about user - name: org description: Operations about organization - name: bridge description: Customer (organization) facing APIs - name: catalog description: Catalog APIs externalDocs: description: Find out more about Fasten Connect url: https://www.fastenhealth.com/ paths: /bridge/org_connection/{orgConnectionId}: get: tags: - bridge summary: Get Organization Connection information description: > Check the status of an existing organization connection. This endpoint requires an API public id & private key for authentication. Do not expose these keys in the browser. parameters: - name: orgConnectionId in: path description: Patient Connection Id required: true schema: type: string responses: '200': description: successful operation content: application/json: schema: type: object properties: success: type: boolean example: true data: $ref: '#/components/schemas/OrganizationConnection' security: - bridge_basic: [] components: schemas: OrganizationConnection: type: object properties: org_connection_id: type: string format: uuid example: 8d4136dd-31b6-4a65-88a0-7ea22a2b16d6 org_id: type: string format: uuid example: 8d4136dd-31b6-4a65-88a0-7ea22a2b16d6 catalog_brand_id: type: string format: uuid example: 8d4136dd-31b6-4a65-88a0-7ea22a2b16d6 catalog_portal_id: type: string format: uuid example: 8d4136dd-31b6-4a65-88a0-7ea22a2b16d6 catalog_endpoint_id: type: string format: uuid example: 8d4136dd-31b6-4a65-88a0-7ea22a2b16d6 tefca_directory_id: type: string example: urn:oid:2.16.840.1.111111.3.3126.2.3.33929.5 description: >- (TEFCA) The TEFCA Network Directory ID associated with this connection, if applicable. Only available for TEFCA connections. platform_type: type: string example: epic api_mode: type: string description: API Mode enum: - live - test status: type: string description: Connection Status enum: - authorized - rejected - refreshing example: authorized scope: type: string description: >- FHIR Scopes granted by the patient. See https://hl7.org/fhir/smart-app-launch/scopes-and-launch-context.html example: openid fhirUser offline_access patient/*.read consent_expires_at: type: string description: >- (Optional) This will be an RFC3339 timestamp which will specify when the patient’s consent to share data with your application will expire.Only some EHRs will provide this information. For EHRs that do not provide this information, this field will be omitted. example: '2026-01-17T00:00:00Z' xml: name: organization_connection securitySchemes: bridge_basic: type: http scheme: basic description: > [Basic Authentication](/api-reference/authentication), containing API Public Id and Private Key generated from the Fasten Connect Portal. **Do not expose these keys in the browser.** ``` -------------------------------- ### Get Organization Details Source: https://docs.connect.fastenhealth.com/api-reference/organization/get Fetches information about the organization, used for displaying branding in the Stitch.js popup widget. ```APIDOC ## GET /bridge/org ### Description Get information about your organization. This is used to display branding information in the Stitch.js popup widget. ### Method GET ### Endpoint /bridge/org ### Parameters #### Query Parameters - **public_id** (string) - Required - Public ID for Organization credential. See Authentication for more information ### Response #### Success Response (200) - **success** (boolean) - Example: true - **data** (Organization) - Organization details #### Response Example ```json { "success": true, "data": { "id": "8d4136dd-31b6-4a65-88a0-7ea22a2b16d6", "name": "Example Inc.", "logo_uri": "https://www.example.com/logo.png", "privacy_policy_uri": "https://www.example.com/privacy_policy", "website_uri": "https://www.example.com", "plan": "free", "status": "active" } } ``` ``` -------------------------------- ### Bulk Catalog Export Source: https://docs.connect.fastenhealth.com/llms.txt Retrieve download links for the entire Fasten Connect catalog in one request. ```APIDOC ## GET /catalog/export ### Description Retrieve download links for the entire Fasten Connect catalog in one request. ### Method GET ### Endpoint /catalog/export ``` -------------------------------- ### POST /support/request Source: https://docs.connect.fastenhealth.com/api-reference/support/request File a support ticket with the Fasten team using our API. This endpoint is in BETA and not recommended for production use. It is rate limited and subject to change. Please contact support@fastenhealth.com before use. ```APIDOC ## POST /support/request ### Description File a support ticket with the Fasten team using our API. This endpoint is in BETA and not recommended for production use. It is rate limited and subject to change. Please contact support@fastenhealth.com before use. ### Method POST ### Endpoint /support/request ### Parameters #### Query Parameters - **public_id** (string) - Required - Public ID for Organization credential. See Authentication for more information #### Request Body - **email** (string) - Required - Email address for your team. We will use this to contact you about your request. - **name** (string) - Required - This should be the name of the individual who is filing the support request. - **subject** (string) - Required - A short description of the issue. - **body** (string) - Required - A details description of the issue. Include any context that may be relevant. ### Request Example ```json { "email": "support@company.com", "name": "John Doe", "subject": "Epic Sandbox test credentials do not work", "body": "A details description of the issue. Include any context that may be relevant." } ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the support request was successfully submitted. #### Response Example ```json { "success": true } ``` ``` -------------------------------- ### Get Brand Logo Source: https://docs.connect.fastenhealth.com/api-reference/catalog/logo This endpoint allows you to retrieve the logo image of a healthcare institution by providing its brand ID. ```APIDOC ## Get Brand Logo ### Description Retrieve the logo image of a healthcare institution. ### Endpoint `https://cdn.fastenhealth.com/logos/sources/{{brand_id}}.png` ### Parameters #### Path Parameters - **brand_id** (string) - Required - The unique identifier for the brand. Replace `{{brand_id}}` with the actual brand ID. ``` -------------------------------- ### Support Request Source: https://docs.connect.fastenhealth.com/llms.txt File a support ticket with the Fasten team using our API. ```APIDOC ## POST /support/request ### Description File a support ticket with the Fasten team via the API. ### Method POST ### Endpoint /support/request ### Parameters #### Request Body - **subject** (string) - Required - The subject of the support ticket. - **message** (string) - Required - The detailed message for the support ticket. - **email** (string) - Optional - The email address of the requester. ```