Setup Prior Auth for Providers
This section describes the steps required for a healthcare provider to setup the Prior Authorization Solution within their Smile HDP environment.
Healthcare providers primarily engage with the Prior Authorization Solution to streamline the submission of prior authorization requests through structured workflows and to ensure compliance with payer documentation requirements:
Before module configuration, add these files to the config_seeding folder in the Smile classes directory:
search-parameters.jsoncom.search.parameters.tgzNote: These reference files can be obtained from Smile Support or your Technical Account Manager.
Once all required files have been added, start the Smile application. (See Quick Start Guide for reference.)
With Smile started and pre-seeding completed, the following modules need to be configured in order to enable Prior Authorization functionality. Each module has specific dependencies and settings, so follow the steps carefully to ensure proper setup.
On the FHIR Storage (R4 RDBMS) module (add it if it does not already exist, or update the existing module), configure the following properties:
classpath:/config_seeding/search-parameters.json).On the Subscription Matcher module (add it if it does not already exist), configure the following properties:
Add the Local Inbound Security module (only if it does not already exist):
Add the Outbound Security Module and configure the following properties:
function onTokenGenerating(theUserSession, theAuthorizationRequestDetails) {
// Ensure launch parameters exist
const launch = theAuthorizationRequestDetails.launch;
if (launch) {
// Extract FHIR resource references from launch
const regex = /([A-Za-z]+\/[^"]+)/g;
const matches = launch.match(regex);
if (matches) {
matches.forEach(resource => theUserSession.addFhirContextReference(resource));
}
// Extract Patient ID from launch
const patientMatch = launch.match(/Patient\/([^"]+)/);
if (patientMatch && patientMatch[1]) {
theUserSession.addLaunchResourceId('Patient', patientMatch[1]);
}
}
// Set fhirUser to the provider's PractitionerRole
theUserSession.setFhirUserUrl('PractitionerRole/provider-practitioner-role-1');
}
(Note: This is used for $populate calls and to determine payer endpoints)
Add the FHIR REST Endpoint module and configure the following properties:
8000)./payer-fhir)https://<host>/payer-fhir)local_security (Local Inbound Security)(Note: This allows access to Provider FHIR resources using the FHIR endpoint specified as the iss parameter during a SMART on FHIR app launch)
Add the FHIR REST Endpoint module and configure the following properties:
8000)./provider-fhir)https://<host>/provider-fhir)local_security (Local Inbound Security)On the CQL module (add it if it does not already exist), configure the following properties:
Add the Prior Auth DTR module and configure the following properties:
$questionnaire-package is set to Yes.The DTR app provides the user interface for providers to create, populate, and submit prior authorization requests.
Deploy the app according to the target environment requirements (e.g., local development, containerized deployment, or server deployment). Update config.json with the appropriate FHIR endpoint and client ID values before starting the app.
config/config.json or environment variablesconfig.json):{
"autoSave": true,
"clientId": "<DTR_CLIENT_ID>",
"dtrBackend": "<FHIR_ENDPOINT>",
"maxUploadSize": "20",
"attachmentIncludeTypes": [],
"attachmentExcludeTypes": [
"application/octet-stream",
"text/html"
],
"logo": "./assets/smilelogo.png",
"rendererConfig": {
"enableDefaultStyles": true,
"customStyles": ".group-label {color: #107E98;}",
"showSubmitButton": false,
"displayItemAuthor": true,
"showGroupSeparator": false,
"allowMultipleFiles": true,
"dropDownChoiceAsDefault": true,
"headerMarginTop": 50,
"footerMarginBottom": 70
}
}
To enable SMART launch for the DTR app, an OpenID Connect (OIDC) client must be created in the Smile HDP environment.
clientId in the DTR SoF app configuration (config.json).http://localhost:4200/)fhirUser launch launch/patient launch/practitioner online_access openid patient/*.read patient/DocumentReference.writecdr_all_user_authoritiesROLE_FHIR_CLIENTFHIR_ALL_READFHIR_ALL_WRITEFHIR_DELETE_ALL_OF_TYPE (note: used for DocumentReference)FHIR_OP_BINARY_ACCESS_WRITEROLE_FHIR_CLIENT_SUPERUSER (since connection between DTR SoF app and DTR backend is currently set up to use no authentication).The DTR SMART on FHIR (SoF) app relies on specific resources in the FHIR repository to function correctly. This includes payer endpoint information and other configuration data.
Organization resources for each relevant payer with the following identifier:
{
"system": "http://smiledigitalhealth.com/pa-org-identifier",
"value": "<payer-org-id>"
}
Endpoint.identifier must include the system http://smiledigitalhealth.com/pa-org-endpoint, and the value must be set exactly as one of the following, according to the corresponding service:
CDEXAttachment – Handles attachment submissions to the payerCDSDiscovery – Provides the CDS Hooks discovery endpoint for order-sign requestsDTRQuestionnairePackage – Retrieves the payer’s Questionnaire package for prior authorizationDTRQuestionnaireError – Receives error information related to Questionnaire processingPASSubmit – Submits prior authorization requests to the payerPASUpdate – Updates submitted prior authorization requestsPASInquiry – Queries the status of prior authorization requestsThese identifiers correspond to specific payer services and must be configured exactly as shown for the DTR app to function correctly.
Example:
{
"system": "http://smiledigitalhealth.com/pa-org-endpoint",
"value": "CDEXAttachment"
}
The DTR SMART on FHIR (SoF) app supports SMART App Launch and allows providers to create, populate, and submit prior authorization requests. Before launching, the app must be registered with an EHR’s authorization service.
http://localhost:4200 for local deployment)patient/*.read, user/*.read, patient/QuestionnaireResponse.write, launch, online_access, openid, fhirUser, launch/patient, launch/practitioner, patient/DocumentReference.writeconfig.json.After registration, the DTR SMART on FHIR (SoF) app can be launched. The app must be passed a launch context, which tells it which patient and resources to load.
The launch context should include:
fhirContext:
To launch the DTR app, use the following URL format:
<dtr_sof_app_launch_url>?iss=<fhir_provider_endpoint>&launch=<launch_context>
Where:
<dtr_sof_app_launch_url> – the base URL of the DTR SMART on FHIR app (e.g., http://localhost:4200)<fhir_provider_endpoint> – the FHIR server URL of the provider, used to fetch patient and resource data<launch_context> – containing patient and fhirContext references as described above.Example:
http://localhost:4200/?iss=http://localhost:8200/&launch=[{"reference":"ServiceRequest/SleepStudy"},{"reference":"Patient/positive"}]
Note: The FHIR Endpoint (Provider) module will be used to retrieve resources in the launch context and to store or reload the QuestionnaireResponse.
You are about to leave the Smile Digital Health documentation and navigate to the Open Source HAPI-FHIR Documentation.