FHIR Chat · Provenance is too detailed · argonaut

Stream: argonaut

Topic: Provenance is too detailed


view this post on Zulip Michele Mottini (Sep 25 2019 at 14:19):

Something I briefly raised in Atlanta: in our system (that is an IHE basically) it impossible to generate provenances as currently specified in the implementation guide - we do not have that level of detailed information available, for example no distinct author and organization

view this post on Zulip Brett Marquard (Sep 25 2019 at 15:12):

Do you record who provided you the data? At minimum the spec is pushing to collect and pass along who sent them data.

view this post on Zulip Brett Marquard (Sep 25 2019 at 15:12):

Use case 4 is likely to be reworked, we plan to discuss on Structured documents tomorrow.

view this post on Zulip Michele Mottini (Sep 25 2019 at 16:20):

Yes, we do record where the data comes from - that is sort-of an organization, but not exactly: we can receive two feeds from the same organization and they could be recorded as different.

view this post on Zulip John Moehrke (Sep 30 2019 at 14:38):

@Michele Mottini can you be more specific about what is not available? Everything you need should be in either the SubmissionSet (DocumentManifest), or the DocumentEntry (DocmentReference). What specifically is missing?
Is this simply the nature of some publishing actors that don't fill out the optional author data? When it is filled, it should be useful. The PCC profiles do encourage proper filling.

view this post on Zulip Michele Mottini (Sep 30 2019 at 14:57):

We do not receive data as FHIR DocumentReference or submissions sets. WE have some tens of different drivers (CDAs, X protocols, flat files, HL7v2, direct database connections) with hundreds of different configurations. What we store is a general 'record authority' for each data source, that roughly corresponds to the organization that data comes from (but not exactly) and that's what we have

view this post on Zulip John Moehrke (Sep 30 2019 at 15:02):

Okay, well that is your problem.. not XDS...

view this post on Zulip Michele Mottini (Sep 30 2019 at 15:04):

Maybe is my problem but makes Provenance as currently profiled uninplementable - and I wonder how many other systems are in the same boat

view this post on Zulip John Moehrke (Sep 30 2019 at 15:09):

Understood. getting this level of detail might be hard. But this "basic provenance" is being asked for on the consuming side. Thus the overall intent is to improve quality; knowing that this improvement might be painful to some.

view this post on Zulip Lloyd McKenzie (Sep 30 2019 at 15:33):

Be cautious about using a base-line profile to drive improvement in behavior. Baseline profiles should generally reflect the lowest common denominator. You can define "raising the bar" profiles that encourage systems to do more, but it shouldn't be a situation of systems simply can't. If the data isn't coming in, then it can't be populated. The system has no control over that.

view this post on Zulip Brett Marquard (Sep 30 2019 at 15:45):

Base line profile is very baseline.... Provide the author organization if you have it; provide the organization that handed you the data (Transmitter).

view this post on Zulip Brett Marquard (Sep 30 2019 at 15:46):

Both are must support (send if you have). If the current profile is unimplementable, I am curious what would be more baseline then keep track of who gave you the data.

view this post on Zulip Michele Mottini (Sep 30 2019 at 16:47):

OK - maybe I am just misunderstanding things - the way I understand 'must support' is 'you must have this in your data model - even if sometimes it is not populated'

view this post on Zulip Michele Mottini (Sep 30 2019 at 16:48):

If it is just 'send if you have' then we are good

view this post on Zulip Jean Duteau (Sep 30 2019 at 16:52):

'must support' never means send it always. That would be a minimum cardinality of 1. Here is what the spec says about 'must support': Labeling an element MustSupport means that implementations that produce or consume resources SHALL provide "support" for the element in some meaningful way.
Depending on the profile, that might mean that you have to be able to store and send the element, i.e. if I send you an instance with this element and then read the same instance, I expect that element to be there, or it could be something more or less. The profile needs to define what it means for 'support'.

view this post on Zulip Lloyd McKenzie (Sep 30 2019 at 16:53):

mustSupport generally means "you must be capable of sending". It wouldn't be considered 'supported' if your system was never capable of providing a value.

view this post on Zulip Lloyd McKenzie (Sep 30 2019 at 16:54):

If there are situations where you'll have the data and some where you won't, you're fine. If you'll never have data and couldn't pass it on if someone gave it to you, that would be a problem.

view this post on Zulip Brett Marquard (Sep 30 2019 at 17:17):

Lloyd's correct. For the current profile, if you aren't able to provide author organization, and transmitter organization when it's available to you, that's a problem.

view this post on Zulip Brett Marquard (Sep 30 2019 at 17:19):

I am curious @Michele Mottini , for each of the different drivers what you capture for 'source information'...I would expect you would need some bread crumbs to trace back to where you got the data

view this post on Zulip Drew Torres (Sep 30 2019 at 17:26):

Might be related, but want to get thoughts on this. What about writes? If system A supports a mustSupport element, but system B doesn't. Is it OK that system B never accepts that data on a write from system A, or an error should be returned?

view this post on Zulip Jean Duteau (Sep 30 2019 at 17:37):

If a system claims conformance to a profile, they are claiming conformance to the mustSupport elements of that profile along with whatever the profile dictates about what mustSupport means. If SystemB didn't conform to the profile, then they could do whatever they wanted with the mustSupport element.

view this post on Zulip Drew Torres (Sep 30 2019 at 17:47):

That makes sense.

view this post on Zulip Michele Mottini (Sep 30 2019 at 17:55):

(The relevant definition of 'Must support' is at https://build.fhir.org/ig/HL7/US-Core-R4/general-guidance.html#must-support)

view this post on Zulip Michele Mottini (Sep 30 2019 at 17:57):

(that from a responder point of view I interpreted as 'element must be in the data model' but not required to be populated)

view this post on Zulip Michele Mottini (Sep 30 2019 at 18:02):

@Brett Marquard all the data coming in from a specific driver instance is tagged with a 'record authority' - that is basically a string with values like 'Lourdes Health System (Camden - Invision)', 'Lourdes Cclf Caregiver', 'Holy Cross (Allscripts/IDX)', 'Holy Cross (Meditech)'

view this post on Zulip Michele Mottini (Sep 30 2019 at 18:02):

so a sort of organization

view this post on Zulip Brett Marquard (Sep 30 2019 at 18:06):

'must support' continues to be a thorn, we plan to discuss further (again) on SD this week.

view this post on Zulip Michele Mottini (Sep 30 2019 at 19:11):

(deleted)


Last updated: Apr 12 2022 at 19:14 UTC