FHIR Chat · Resolving UDAP consent_references · Da Vinci PDex

Stream: Da Vinci PDex

Topic: Resolving UDAP consent_references


view this post on Zulip Spencer Kathol (Nov 17 2021 at 19:44):

I'm trying to implement requirements here:
http://build.fhir.org/ig/HL7/davinci-ehrx/consent-oauth.html
Also relevant:
http://hl7.org/fhir/us/udap-security/2021Sep/b2b.html

We are expecting the consent_reference extension value in the token request to be a URL to a Consent resource. Per the UDAP B2B spec, it must be resolvable by the receiving party, but does not describe authorization requirements. Is there an expectation that the token-issuing party authenticate with the Consent resource owner in order to retrieve that information, and if so is there guidance on how that should be done?

view this post on Zulip Lloyd McKenzie (Nov 18 2021 at 00:23):

We hadn't really talked about that. Presumably a simple mutual TLS connection would suffice, but we should make that explicit. Can you submit a change request?

view this post on Zulip Josh Mandel (Nov 18 2021 at 02:40):

"simple"?

view this post on Zulip Spencer Kathol (Nov 18 2021 at 12:08):

Presumably in the future, there will be a central authority issuing client certificates - those will be used earlier in the process as well such as for the member match call. So these calls would use the same client cert... I think that should be OK. Jira ticket created: https://jira.hl7.org/browse/FHIR-34333

view this post on Zulip Lloyd McKenzie (Nov 18 2021 at 14:26):

'simple' as in only mTLS needed, not OAuth. Given that OAuth can require having a consent, we might end up in a situation where you need a consent to view the consent to... Also, mTLS is already mandatory for payer-to-payer unless both agree to do full UDAP. (Speaking of which, this would also need to be landed if doing full UDAP, so might not be a bad idea to raise a tracker against the UDAP spec too @Spencer Kathol)

view this post on Zulip Michele Mottini (Nov 18 2021 at 15:02):

The 'standard' FHIR way to do system-to-system authentication (so far) is SMART backend auth. Using mutual TLS would add a different way to do the same thing

view this post on Zulip Lloyd McKenzie (Nov 18 2021 at 15:16):

SMART backend requires the client to register with the server. mTLS means that so long as the systems can find each other in a trusted registry, they can talk to each other. mTLS is also already supported by payers, so it's an easier lift.

view this post on Zulip Michele Mottini (Nov 18 2021 at 15:18):

Is there a trusted registry? And no, not all payers already support mutual TLS: our system do support SMART backend but not mutual TLS for FHIR access

view this post on Zulip Lloyd McKenzie (Nov 18 2021 at 15:37):

@Robert Dieterle

view this post on Zulip Spencer Kathol (Nov 18 2021 at 17:35):

@Lloyd McKenzie I'll get another ticket submitted for UDAP today.

view this post on Zulip Spencer Kathol (Nov 18 2021 at 18:05):

My take on mTLS vs oAuth: this use case is embedded in a flow that does specify mTLS (currently). It would differ with other use cases that require SMART backend auth (I haven't implemented one of these yet). I believe the expectation per HRex is to have a central trusted registry but that hasn't been established yet afaik. In theory, the consent-collecting payer can derive the consent-requesting payer's identity from the client certificate, but many implementations terminate the TLS connection on a web server, and need to check identity in the application which complicates implementation for this approach. OAuth also introduces some hoops - such as per-payer OAuth client registration. I don't think I have a firm preference - just providing thoughts for discussion.

view this post on Zulip Spencer Kathol (Nov 18 2021 at 18:41):

One more related question - is there a place in the token request that we would expect to find the member ID other than the consent_reference object?

view this post on Zulip Spencer Kathol (Nov 18 2021 at 23:16):

https://jira.hl7.org/browse/FHIR-34342

view this post on Zulip Lloyd McKenzie (Nov 19 2021 at 04:29):

Spencer Kathol said:

One more related question - is there a place in the token request that we would expect to find the member ID other than the consent_reference object?

No. Is one needed?

view this post on Zulip Spencer Kathol (Nov 19 2021 at 15:56):

@Lloyd McKenzie If the responding payer was willing to use the presence of a Consent resource as proof of consent without validating the actual resource, there would be a more readily available value to establish patient context. Sounds like that's not the case. That's what I expected, but wanted to ask just in case.


Last updated: Apr 12 2022 at 19:14 UTC