fasten-sources icon indicating copy to clipboard operation
fasten-sources copied to clipboard

CHBase Unify TruBridge Get Real Health - 800 R4

Open AnalogJ opened this issue 2 years ago • 3 comments
trafficstars

EHR/Platform Name

CHBase

CHPL Website

https://chpl.healthit.gov/#/listing/10965

Developer Documentation

https://unify-developer.chbase.com/?page=FHIRAPI

Endpoint List

https://fhir-usa.unify.chbase.com/.well-known/endpoint

Example Patient Portal Login Website

No response

Developer Portal

None

Sandbox Patient Credentials

Non-Public, check cred store.

Fasten Sources Definition

No response

Platform Developer Readiness Checklist

  • [X] developer documentation
  • [X] sandbox - endpoint published
  • [X] sandbox - client registration
  • [X] sandbox - test patient username & password
  • [X] sandbox - no fees
  • [X] sandbox - inferno testing passed
  • [X] production - client registration
  • [X] production - endpoint list published
  • [X] production - endpoint catalog/health system info published
  • [X] production - no fees
  • [x] production - automatic client distribution

CHBase Unify's documentation specifies that they follow the [Oauth 2.0 Dynamic Client Registration](https://datatracker.ietf.org/doc/html/rfc7591#section-3.1) standard, however when I try to register a new client, I get an error {"error":"application_type not supported"}

Docs: https://unify-developer.chbase.com/?page=FHIRAPI

Request:

 curl -X POST  https://unify-auth.sbx.chbase.com/application/register -H 'Content-Type: application/json' -d '{ "redirect_uris": [ "https://www.example.com/sandbox/callback/chbase", "https://www.example.com/v1/callback/chbase"], "application_name": "Testing Client Name", "application_type": "implicit", "scope": "patient/*.read openid fhirUser", "grant_types": ["authorization_code"] }'

I've tried various application_type values, including: public, private, implicit, blank.

STATUS

  • [x] Working Redirect URLS:
    • https://auth-usa.sbx.unify.chbase.com/api/authorize?redirect_uri=https%3A%2F%2Flighthouse.fastenhealth.com%2Fsandbox%2Fcallback%2Fchbase&response_type=code&response_mode=query&state=b6648601-d6d1-4bc8-86a1-9aabb7b770eb&client_id=efb0117a-22f0-47c3-8675-d4f5e5b4790a&scope=fhirUser+openid+launch%2Fpatient+patient%2F*.read&aud=https%3A%2F%2Ffhir-usa.sbx.unify.chbase.com&code_challenge=v93xfN2VpX8FrgdrPNZijRMdKMP9-IG2BZat5UY3IGs&code_challenge_method=S256
    • https://auth-usa.unify.chbase.com/api/authorize?redirect_uri=https%3A%2F%2Flighthouse.fastenhealth.com%2Fv1%2Fcallback%2Fchbase&response_type=code&response_mode=query&state=bsdfsdfsd-d6d1-4bc8-86a1-9aabb7b770eb&client_id=6e3ba2df-8702-4674-b801-fd158a498959&scope=fhirUser+openid+launch%2Fpatient+patient%2F*.read&aud=https%3A%2F%2Ffhir-usa.unify.chbase.com&code_challenge=v93xfN2VpX8FrgdrSSSijRMdKMP9-IG2BZat5UY3IGs&code_challenge_method=S256
  • [ ] Requested updated Redirect URLs for sync
  • [ ] 1/18/2025 - Followup requesting updated Redirect URLs.

AnalogJ avatar Feb 02 '23 15:02 AnalogJ

using "application_type": "web" returns a different error (same with native)

{"status":"Error","message":"API Key missing"}%

probably requires a Jwks or Jwks_uri value.

AnalogJ avatar Feb 04 '23 02:02 AnalogJ

{
  "custom_definition": true,
  "platform_type": "chbase",
  "should_override_redirect": false,
  "cors_relay_required": true,
  "override_redirect": "",
  "authorization_endpoint": "https://auth-usa.sbx.unify.chbase.com/api/authorize",
  "token_endpoint": "https://auth-usa.sbx.unify.chbase.com/api/token ",
  "url": "https://fhir-usa.sbx.unify.chbase.com",
  "client_id": "xxxx",
  "redirect_uri": "https://lighthouse.fastenhealth.com/sandbox/callback/chbase",
  "grant_types_supported": [
    "authorization_code"
  ],
  "response_types_supported": [
    "code"
  ],
  "response_modes_supported": [
    "query"
  ],
  "aud": "https://fhir-usa.sbx.unify.chbase.com",
  "scopes_supported": [
    "fhirUser",
    "offline_access",
    "launch/patient",
    "patient/*.read"
  ],
  "confidential": false,
  "confidential_endpoint": "",
  "pkce": true,
  "code_challenge_methods_supported": [
    "S256"
  ],
  "issuer": "https://fhir-usa.sbx.unify.chbase.com"
}

Status:

  • [x] When exchanging code for token, a 500 error occurs.
    • Was due to missing Content-Type: application/x-www-form-urlencoded header when forwarding for CORS

AnalogJ avatar May 17 '24 01:05 AnalogJ

PROD

{
  "custom_definition": true,
  "platform_type": "chbase",
  "should_override_redirect": false,
  "cors_relay_required": false,
  "override_redirect": "",
  "authorization_endpoint": "https://auth-usa.unify.chbase.com/api/authorize",
  "token_endpoint": "https://auth-usa.unify.chbase.com/api/token",
  "url": "https://fhir-usa.unify.chbase.com",
  "client_id": "xxxx",
  "redirect_uri": "https://lighthouse.fastenhealth.com/sandbox/callback/chbase",
  "grant_types_supported": [
    "authorization_code"
  ],
  "response_types_supported": [
    "code"
  ],
  "response_modes_supported": [
    "fragment"
  ],
  "aud": "https://fhir-usa.unify.chbase.com/",
  "scopes_supported": [
    "fhirUser",
    "openid",
    "profile",
    "patient/*.read"
  ],
  "confidential": false,
  "confidential_endpoint": "",
  "pkce": true,
  "code_challenge_methods_supported": [
    "S256"
  ],
  "issuer": "https://fhir-usa.unify.chbase.com"
}

AnalogJ avatar Jun 20 '24 15:06 AnalogJ