In a payer to payer transfer, Smile can be configured to act both as the source (old payer) or target (new payer).
This guide will walk through how to configure each.
In either case, the first steps are the same:
System to System Data Exchange module.SMART module with all the basic properties needed (port, jwks file or keystore, issuer url, and a local security dependency for username/password)issuer url. This will be needed for the OIC Client later.SMART_OUT module.FHIR Endpoint module, or configure one if necessary.OpenID Connect Security and add the newly configured SMART_OUT module as the 'OpenID Connect Authentication' dependency.FHIR Endpoint module.Users & Authorization, create a new OIC Client under the SMART_OUT module.client_id and a client_secret and enable Client Credentials flow. Keep track of these as they will be needed by the target server.cdr_all_user_authorities and openid.FHIR_OP_INITIATE_BULK_DATA_EXPORT, FHIR_OP_MEMBER_MATCH, FHIR_ALL_READ, and FHIR_ALL_WRITE.During the export of resources from the old payer, a consent service may be configured to provide additional filtering during said export.
System to System Data Exchange module (if one doesn't already exist) and add a storage module dependency.Reference System used by Target Patient property. This value should match exactly one identifier.system value on any local patients used during an $sdh.s2s.invoke-export flow.Responder Identifier System. Imported resources will use this when storing their source system ids as identifiers.System to System Data Exchange module if necessary.Users & Authorization, create a new OIC Server* under the System to System Data Exchange module.issuer url to the Source's OIC Client..well-known endpoint (something like {issuer.url}/.well-known/openid-configuration) and/or the Token Endpoint. These two fields determine where the module requests an access token:
Token Endpoint (federationTokenUrl) is set, it is used as the token endpoint directly and no .well-known document is fetched..well-known endpoint (authWellKnownConfigUrl) is set, it is fetched exactly as configured, including any query string, and its token_endpoint is used.{FHIR endpoint url}/.well-known/smart-configuration and uses its token_endpoint.client_id and client_secret so that the target can connect to the source.FHIR endpoint url (if this field isn't visible, verify the server is being created under the System to System Data Exchange)PATIENT_ID Partition Selection Mode, set its Server ID Strategy to UUID (see Patient ID Partitioning).{FHIR endpoint url}/.well-known/smart-configuration and ignored a configured authWellKnownConfigUrl. From 2026.08 onward, a configured authWellKnownConfigUrl is fetched exactly as configured and its token_endpoint is authoritative, as described in the precedence rules above.
Before upgrading an existing deployment, review every OIC Server definition under the System to System Data Exchange module and verify that its .well-known endpoint (authWellKnownConfigUrl) points at the document you intend to use. If that document names a different token_endpoint than the derived {FHIR endpoint url}/.well-known/smart-configuration document, the endpoint that receives your token requests changes when you upgrade. Clear authWellKnownConfigUrl to keep the derived smart-configuration behaviour, or set the Token Endpoint (federationTokenUrl) to pin the token endpoint explicitly. After startup, the module logs one line per resolution naming the server and the resolved token endpoint, which you can use to confirm the effective configuration.
You are about to leave the Smile Digital Health documentation and navigate to the Open Source HAPI-FHIR Documentation.