FHIR Chat · FHIRPath in Consent · implementers

Stream: implementers

Topic: FHIRPath in Consent


view this post on Zulip Shamil Nizamov (Mar 16 2021 at 15:53):

Can Consent.provision.class be used to withhold/disclosure of specific information using FHIRPath rather than a resource type?
For example, if a patient decided to withhold only his/her gender, would it be possible to define Patient.gender in the Consent.provision.code?

view this post on Zulip Lloyd McKenzie (Mar 16 2021 at 15:59):

@David Pyke

view this post on Zulip David Pyke (Mar 16 2021 at 16:00):

Boy, you're quick...
LOINC code LP189571-5 is Gender identity, so yes, if you're using LOINC to define what's being suppressed, then that would work

view this post on Zulip Elliot Silver (Mar 16 2021 at 16:19):

@David Pyke, I'm not sure that's what's being asked (although that may be what they want). Can you use FHIRPath to define the elements to withold?

view this post on Zulip David Pyke (Mar 16 2021 at 16:30):

WE haven't really worked with a use case to have an expression define the required filter. That being said, it could be done but would need to be an extension

view this post on Zulip Shamil Nizamov (Mar 16 2021 at 16:44):

This is exactly what we are trying to avoid, i.e., using codes that (suddenly) may change. It's quite easier to define the restricted element by the FHIRPath. For example:

  <provision>
    <type value="deny"/>
    ...
    <class>
      <system value="http://hl7.org/fhir/resource-types"/>
      <code value="Patient"/>
    </class>
    <code>
      <coding>
        <system value="http://hl7.org/fhirpath"/>
        <code value="Patient.gender"/>
      </coding>
    </code>
    ...
  </provision>

PS. Should I submit a ticket to consider including FHIRPath or may be to introduce a new element for that?

view this post on Zulip David Pyke (Mar 16 2021 at 17:38):

Yes please!

view this post on Zulip ryan moehrke (Mar 16 2021 at 17:42):

I would think you would have to define a new element to use fhirpath in, as if the binding is extensible it would be non-compliant to have a second way to represent "patient's gender" as a code.

view this post on Zulip David Pyke (Mar 16 2021 at 17:47):

Absolutely. We would need an element that uses an expression, kind of like http://hl7.org/fhir/metadatatypes.html#Expression

view this post on Zulip Shamil Nizamov (Mar 16 2021 at 17:50):

Why? Since the .code is CodeableConcept I should be able to use the following:

  <code>
    <coding>
      <system value="http://loinc.org"/>
      <code value="76691-5"/>
    </coding>
    <coding>
      <system value="http://hl7.org/fhirpath"/>
      <code value="Patient.gender"/>
    </coding>
  </code>

view this post on Zulip David Pyke (Mar 16 2021 at 17:54):

You might be able to but people will likely want to do more than that so it may be better to set up FHIRPath expressions in the resource itself

view this post on Zulip David Pyke (Mar 16 2021 at 17:55):

And I don't believe FHIRPath is a registered code system so that may cause issues

view this post on Zulip Shamil Nizamov (Mar 16 2021 at 17:58):

I'm puzzled a bit, could you show an example with the FHIRPath expression in this context?
And I likely need to submit a ticket to include FHIRPath to the FHIR Terminology as well.

view this post on Zulip David Pyke (Mar 16 2021 at 18:00):

Creating FHIRPath as a codesystem is more than just a ticket. That would be a major project.

view this post on Zulip Lloyd McKenzie (Mar 16 2021 at 18:20):

FHIRPath isn't a code system. It doesn't define "concepts". It doesn't provide definitions. It's a different thing. An extension that points to Expression is a much better path

view this post on Zulip Shamil Nizamov (Mar 16 2021 at 18:32):

David Pyke said:

Yes please!

Created: FHIR-31550

view this post on Zulip Shamil Nizamov (Mar 16 2021 at 19:08):

Lloyd McKenzie said:

FHIRPath isn't a code system. It doesn't define "concepts". It doesn't provide definitions. It's a different thing. An extension that points to Expression is a much better path

I know. But while waiting for a better option, and for internal use only, and trying to avoid extension which may be too much, such quick and dirty non compliant solution may work.

view this post on Zulip Jean Duteau (Mar 16 2021 at 19:17):

how would abusing a code be "too much" than just defining an extension which would be exactly what you need?

view this post on Zulip Lloyd McKenzie (Mar 16 2021 at 19:23):

A non-compliant solution should never be preferable to using an extension. Extensions are normal and a completely reasonable way to handle special requirements. Abusing core elements is not a good plan.

view this post on Zulip John Moehrke (Mar 16 2021 at 21:52):

I think this is the model that we are looking at in Permission

view this post on Zulip John Moehrke (Mar 16 2021 at 21:53):

what we need are some real examples to work on. theory has only taken us so far

view this post on Zulip Elliot Silver (Mar 17 2021 at 03:31):

One downside to using FHIRPath for disclosure consent is that it would be tied to a specific attribute (or perhaps enumerated attributes). Using a "do not disclose gender" code would allow the server to target administrative sex, gender observations, and potentially things like certain procedures or conditions, etc.

view this post on Zulip Jose Costa Teixeira (Mar 25 2021 at 12:51):

The trick(s) would be not to do that (only on ) the instance, but doing it on the profiles ("all patient genders that leave this server")
And on data class ("all things tagged as potentially sensitive")
And on clusters of data ("whenever we see a Postal code AND a date of birth")

view this post on Zulip Jose Costa Teixeira (Mar 25 2021 at 12:52):

Is there an approach that does not have such downside?

view this post on Zulip Jose Costa Teixeira (Mar 25 2021 at 12:55):

@Shamil the idea of providing additional content for the codes is close to the tagging of the data, but in this case you are tagging the actual value. I presume that can also be addressed by FHIRPath.

view this post on Zulip Jose Costa Teixeira (Mar 25 2021 at 12:56):

It's not clear if your use case is
a) Patient says "I do not consent to sharing my gender data"
b) hospital says "in this system, for that purpose, with that entity, we do not share gender data"

view this post on Zulip Jose Costa Teixeira (Mar 25 2021 at 12:56):

a) is Consent
b) is Permission land

view this post on Zulip Jose Costa Teixeira (Mar 25 2021 at 12:57):

Permission.dataScope is an Expression exactly for these purposes


Last updated: Apr 12 2022 at 19:14 UTC