Provider System Registration
As a prerequisite for using the Provider Access API, a provider system must be fully configured and registered. This workflow ensures the system can:
The registration process includes:
Provider systems can be registered using two different options depending on where the Identity Provider (IdP) resides. Each option describes a slightly different workflow for authentication, token issuance, and FHIR resource access:
The table below summarizes the configuration and runtime behavior for each option:
| Provider System Registration Options | ||
|---|---|---|
| Enrollment / Configuration | ||
| Step | Option 1: Smile OIDC (SMART-OUT) | Option 2: Payer IdP (SMART-IN) |
| Register client | Register provider system as an OIDC client in Smile (client credentials and allowed scopes). | Register provider system as an OIDC client in the payer’s IdP (client credentials and allowed scopes). |
| Configure OIDC server | N/A – Smile acts as the IdP. | Configure Smile with the payer’s OIDC server (client ID, JWKS URL, token endpoint). |
| Define Organization | Create Organization resource (includes NPI, TIN, Client ID identifiers). | Same as Option 1 |
| Define Group | Create Group resource representing attributed members. | Same as Option 1 |
| Runtime / Execution | ||
| Step | Option 1: Smile OIDC (SMART-OUT) | Option 2: Payer IdP (SMART-IN) |
| Token request | Provider system requests a token from Smile. | Provider system requests a token from the payer’s IdP. |
| Token validation | Smile validates JWT client assertion and issues an access token. | Smile validates the token issued by the payer’s IdP. |
| Access control | Smile retrieves Organization and Group based on token claims. Each Business Identifier (BID) from the token is stored in userData for authorization checks during data export requests. The system assigns the required FHIR permissions:
|
Same as Option 1 |
Represents the provider system using the HRex Organization profile.
Required fields:
idnameidentifier
identifier.system = https://smiledigitalhealth.com/credentialmap/oidc/clientmeta.tag.system = https://smiledigitalhealth.com/payer-exchange-directorymeta.tag.code = Exchange DirectoryExample:
{
"resourceType": "Organization",
"meta": {
"tag": [
{
"system": "https://smiledigitalhealth.com/payer-exchange-directory",
"code": "Exchange Directory"
}
]
},
"id": "provider-system-001",
"identifier": [
{
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "1234567890"
},
{
"system": "https://smiledigitalhealth.com/credentialmap/oidc/client",
"value": "provider-client-001"
}
],
"name": "Example Provider System"
}
Defines attributed members associated with the provider system. This resource is based on the PDex Provider Group profile.
Example:
{
"resourceType": "Group",
"id": "group-001",
"meta": {
"profile": [
"http://hl7.org/fhir/uv/davinci-epdx/StructureDefinition-pdex-provider-group"
]
},
"type": "person",
"actual": true,
"member": [
{"entity": {"reference": "Patient/patient-001"}},
{"entity": {"reference": "Patient/patient-002"}}
]
}
You are about to leave the Smile Digital Health documentation and navigate to the Open Source HAPI-FHIR Documentation.