Module Configuration

 

Patient Access API usage capture uses three modules. The following properties show a complete configuration, using the module IDs from the How-to Guides.

# SMART on FHIR Inbound Security: validates the IdP's access tokens
module.smart_auth_pa.type=SECURITY_IN_SMART
module.smart_auth_pa.config.seed_servers.file=classpath:/config_seeding/oidc-servers-pa.json
module.smart_auth_pa.config.callback_script.file=classpath:/scripts/PatientAccessAuthCallback.js

# FHIR Endpoint: serves Patient Access API requests
module.http_patient_access.type=ENDPOINT_FHIR_REST
module.http_patient_access.requires.PERSISTENCE_ALL=persistence
module.http_patient_access.requires.SECURITY_IN_OIC=smart_auth_pa
module.http_patient_access.config.port=8011
module.http_patient_access.config.context_path=/patient-access-fhir
module.http_patient_access.config.security.oic.enabled=true
module.http_patient_access.config.security.http.basic.enabled=false
module.http_patient_access.config.anonymous.access.enabled=false
module.http_patient_access.config.interceptor_bean_types=com.smilecdr.custom.patient.access.PatientAccessTxLogEnrichmentInterceptor

# Transaction Log Broker: publishes Patient Access API events to Kafka
module.tx_broker_patient_access.type=TRANSACTION_LOG_BROKER
module.tx_broker_patient_access.config.broker.channel_name=channel_patient_access_txlog
module.tx_broker_patient_access.config.event_whitelist=http_patient_access.FHIR_REQUEST|*
module.tx_broker_patient_access.config.persist_bodies_in_clustermgr_db=false

Values That Must Match

 
Value Where It Is Set Where It Is Used
Endpoint module ID (http_patient_access) FHIR Endpoint module The event_whitelist of the Transaction Log Broker module.
User data keys (patient_id, client_id, subject) Callback script Transaction log interceptor, and the downstream reporting consumer.
Access token claim names (patient, client_id or azp, sub) The payer's IdP Callback script.
Topic name (channel_patient_access_txlog) Transaction Log Broker module The downstream reporting consumer.