Stream: netherlands
Topic: GraphDefinitions
René Spronk (Oct 14 2017 at 12:19):
Given the scope of ZIBs (CBBs/DCMs) I'd expect there to be a 1-* relationship with FHIR resources. Yet AFAIK GraphDefinition isn't used right now in the Dutch profiles. Is this intentional, or just something which will be added in future ?
How, at runtime, does a resource instance indicate compliance to a specific ZIB ? Would or wouldn't that require conformance to (part of a) GraphDefinition, or just a part thereof StructureDefinition ?
Michael van der Zel (Oct 15 2017 at 10:58):
@René Spronk All resources are based on the base resource Resource and it has an attribute meta/profile. I can see the use for GraphDefinition, e.g. for quality indicators, research or clinical decisions. Sometimes we need the bloodpressure from the second contact. We can use GraphDefinition for those specific things.
Alexander Henket (Oct 16 2017 at 05:54):
I'd need to read into GraphDefinition. It's not a conscious decision of some sort. I've read a little just now, but from that I'm still not sure what GraphDefinition aims to do. We generally 'solved' the 1-* relationship to for example Observation by using the Resource.category property. This way you can ask for a person's FunctionalOrMentalStatus which more closely matches functional thinking
René Spronk (Oct 16 2017 at 07:03):
Yes, but that's a runtime-grouping, not a grouping for conformance reasons. GraphDefinition would solve it from a conformance perspectice, which means one could use a validator. Resource.category has no impact on the validation process.
Michel Rutten (Oct 16 2017 at 09:51):
If I understand correctly, the GraphDefinition resource allows you to specify constraints on external references across resource boundaries that you cannot express by simply constraining profile elements (i.e. describe the internal relations between a set of related profiles).
Grahame Grieve (Oct 16 2017 at 10:54):
y
Michael van der Zel (Oct 16 2017 at 12:24):
Hmm. So is what I said yesterday, right or wrong? It sounds like what Michel says...
Grahame Grieve (Oct 16 2017 at 12:26):
I don't know because I didn't really understand what you meant
Alexander Henket (Oct 16 2017 at 12:28):
I'm sure you are all right, but I don't see what element in our specification we would cover with a GraphDefinition that we do not already cover otherwise. GraphDefinition might be great, but I don't get the resource yet, so for now it is a "hidden gem". I asked Marten and he could not yet see its value based on his limited investigation. Let's discuss this at HL7 WGM NL somehow. I don't object to adding it at all, it's just that I first want to know what problem it solves and for who
Michel Rutten (Oct 16 2017 at 13:09):
If you're able to express all the required functional constraints with regular resource profiles, then there's no need to define and publish a GraphDefinition.
Michael van der Zel (Oct 16 2017 at 17:23):
The example with the resource doesnot really help much.
But reading the scope of usage I think it might help define the Basisgegevensset Zorg!
"Document rules about the relationship between a set of resources e.g. must all resources concern the same patient?"
Alexander Henket (Oct 17 2017 at 03:29):
@Michael van der Zel the current definiton lives here https://informatiestandaarden.nictiz.nl/wiki/MedMij:V1.0_FHIR_BGZ#Individual_resource_requests. Would you be able to craft a proposal GraphDefinition from that to use as input for discussion?
Marten Smits (Oct 17 2017 at 08:29):
@Michael van der Zel the current definiton lives here https://informatiestandaarden.nictiz.nl/wiki/MedMij:V1.0_FHIR_BGZ#Individual_resource_requests. Would you be able to craft a proposal GraphDefinition from that to use as input for discussion?
I feel very reluctant to start creating a GraphDefinition without it having a current purpose or someone who is going to use it. I feel that we are currently trying to find a problem which we can solve with a GraphDefinition, but shouldn't it be the other way around?
Michael van der Zel (Oct 17 2017 at 09:40):
@Marten Smits... @René Spronk posed this question. Maybe he can elaborate? I do have use-cases for Graph like things in registratie aan de bron. E.g. connecting 2 problems (1 symptom and 2 the resulting diagnosis) or a problem and a procedure (procedure and the problem it was the solution for)...
Grahame Grieve (Oct 17 2017 at 09:42):
note that the graph definition won't connect them, but it can say either
- they must be connected
- when I get one, get the other (though _include does that for simple pairs. Graph definition comes into the picture once you get deeper than that)
René Spronk (Oct 17 2017 at 09:56):
Conformance in FHIR isn't my primary field of expertise, hence my question. I came accross Graphdefinition when creating slides for the DevDays, GraphDefinition is used to define what resources the body of a FHIR message should be composed of, as well as how these resources are to be inter-related.
During a Dutch FHIR Workshop, which also covered ZIBs (a.k.a. CBB/DCM) the question was asked: so how does one know, looking at a Resource instance, to what ZIB it conforms to ? Which, given that I'm aware that a ZIB may very well map to multiple resources, I was unable to answer. If there would always be a 1-to-1 relationship the answer would be trivial.
Questions: are there any ZIBs whose elements are mapped to a combination of multiple Resources? If the answer to that is yes, then how is conformance currently expressed ? And in the resulting resource instances, what profile is being referenced in those instances to denote that all of them jointly conform to a ZIB ?
Last updated: Apr 12 2022 at 19:14 UTC