FHIR Chat · Reverse Link in GraphDefinition? · implementers

Stream: implementers

Topic: Reverse Link in GraphDefinition?


view this post on Zulip Kevin Mayfield (Nov 10 2019 at 08:48):

I'm looking at building an example GraphDefinition (STU3). How do I document reverse links?

I've a requirement that MedicationStatement is linked to planned MedicationRequests (via MedicationStatement.basedOn). Plus the planned issues are linked to the orders but this is via the order MedicationRequest.basedOn (pointing back to the plan).

I think I need to say the path is reversed (the link path is in the target resource not the source?)

Screenshot-2019-11-10-at-08.46.48.png

view this post on Zulip Grahame Grieve (Nov 10 2019 at 09:05):

leave link.path out - that means it's a reverse link. then populate the type and params as if for a search

view this post on Zulip Kevin Mayfield (Nov 10 2019 at 11:25):

Would it be legitimate to reuse params to for a non reverse links e.g.
I have a link to AllergyIntolerance but I only want code=1234
[I know this can be done via a profile but would be useful to show in a diagram version of GD and may be used to compute the response]

view this post on Zulip René Spronk (Nov 11 2019 at 07:42):

The current GraphDefintion resource has its limitations. I'll be presenting a tutorial on the subject at the upcoming DevDays, which contains a proposal to improve it. In general you'll need a combination of profiling and GraphDefinition to accomplish your use case, at least in my proposal one can identify a slice-name for a specific reference, but the slice-name is defined in a profile, not in a graph definition, for that's not at the core of what a graph definition is all about.

view this post on Zulip Kevin Mayfield (Nov 11 2019 at 08:05):

I think the question Im frequently hearing is how should I populate a bundle?

This is predominantly coming from hl7v2 developers (and for fhir messaging).
Wether this a coincidence or not, IGs in UK using messaging or documents have a high number of errors in both profiles and examples. (UK Restful doesn’t have this).

view this post on Zulip Kevin Mayfield (Nov 11 2019 at 08:07):

Same applies to RPC styles of $operations

view this post on Zulip Kevin Mayfield (Nov 11 2019 at 08:08):

Returning bundles

view this post on Zulip Kevin Mayfield (Nov 11 2019 at 08:21):

Re combo of profiles and graph.

I think I need a way of referencing within a graph definition. So I can say this link is too this resource.

Part of the reasoning is to build a graph (may have a desire to build flat definitions which simplifies building a graph - all the components want flat Json)

view this post on Zulip René Spronk (Nov 11 2019 at 08:35):

The new proposal is based on a list of nodes, and a list of edges (akin to the GraphML language), and has a constraints mechanism that allows one to state "the target of edge e1 must be the same resource instance as the target of edge e2".

view this post on Zulip René Spronk (Nov 11 2019 at 08:36):

That may not solve all use cases one can think of, but it'll be s step forward from what we have now..

view this post on Zulip Kevin Mayfield (Nov 11 2019 at 08:51):

That looks to be the same.

view this post on Zulip Kevin Mayfield (Nov 11 2019 at 08:55):

Can I assume the links (aka nodes) would be a flat list?

view this post on Zulip Kevin Mayfield (Nov 11 2019 at 08:55):

del

view this post on Zulip René Spronk (Nov 11 2019 at 09:19):

nodes = resource type, edge = reference or reverse reference. Two flat lists.

view this post on Zulip Grahame Grieve (Nov 11 2019 at 09:30):

IGs in UK using messaging or documents have a high number of errors in both profiles and examples

view this post on Zulip Grahame Grieve (Nov 11 2019 at 09:30):

let me know if this reflects deficiencies in FHIR tooling

view this post on Zulip Kevin Mayfield (Nov 11 2019 at 09:31):

I'm mocking this up at the moment, I don't think you need two lists. It would be a minor transform to make GraphML.

view this post on Zulip Grahame Grieve (Nov 11 2019 at 09:34):

I looked at graphML but I didn’t see how to say the FHIR specific things

view this post on Zulip Kevin Mayfield (Nov 11 2019 at 09:36):

@Grahame Grieve I don't think it is. The restful apis have been plugged into HL7 Validator, not sure about the others (and that's where I'm seeing errors)

view this post on Zulip René Spronk (Nov 11 2019 at 10:05):

See https://chat.fhir.org/#narrow/stream/179177-conformance/topic/GraphDefinition.20as.20a.20conformance.20resource


Last updated: Apr 12 2022 at 19:14 UTC