I took a slightly different approach. Not sure it's any better though...
There are multiple client-ids, but an individual instance of the EHR could use the same client-id just with a different iss (i.e. it's for the same healthcare org). Thus, I control the selection of configuration parameters based on a client number in the launch:
where '15' corresponds to the intended configuration of scope, client-id, fhir-version, server-nuance, etc.
At the moment, I don't store or configure anything related to iss, since it is passed during launch (i.e. a dynamic variable).
For the app to trust the launching EHR, I need to rely on PKI/certs from the supplied endpoint.
// patrick