FHIR Chat · Presentation for OperationDefinition.overload · tooling

Stream: tooling

Topic: Presentation for OperationDefinition.overload


view this post on Zulip Rob Reynolds (Mar 11 2022 at 15:46):

BACKGROUND:

I've noticed a particular stumbling block for users of an Implementation Guide is when a the operation can be invoked as an instance or a type.

I, personally, get a lot of questions during Connectathons (and other places) about this.

For example, the $evaluate-measure operation can be invoked either on the type along with the applicable IN parameter, or as an instance without an IN parameter: https://build.fhir.org/operation-measure-evaluate-measure.html.

There has been some explanation added that attempts to communicate this info:

URL: [base]/Measure/$evaluate-measure

URL: [base]/Measure/[id]/$evaluate-measure

along with:
image.png

Although a step in the right direction, I don't think it's sufficient (as I still get a lot of questions).

view this post on Zulip Rob Reynolds (Mar 11 2022 at 15:48):

PROPOSED APPROACH:

In an attempt to communicate this more clearly, I searched for an answer in Zulip, created a Tracker (https://jira.hl7.org/browse/FHIR-34112), researched the topic some more, discussed it in the CQI call, and eventually landed on OperationDefinition.overload.

Example (condensed for brevity):

    <overload>
        <parameterName value="periodStart"/>
        <parameterName value="periodEnd"/>
        <parameterName value="measureId"/>
        <comment value="These are the parameters used to invoke the operation on a type, i.e., URL: [base]/Measure/$evaluate-measure"/>
    </overload>
    <overload>
        <parameterName value="periodStart"/>
        <parameterName value="periodEnd"/>
        <comment value="These are the parameters used to invoke the operation on an instance, i.e., URL: [base]/Measure/[id]/$evaluate-measure"/>
    </overload>

view this post on Zulip Rob Reynolds (Mar 11 2022 at 15:49):

ISSUE:

I think the proposed approach would not only be a great solution for this particular issue, but for many similar issues I would also like to address (but won't list for brevity).

The problem is, OperationDefinition.overload doesn't seem to be rendered by the latest version of the publisher.

I may be wrong and I'm just doing something wrong. If that's the case, please help me understand what I should be doing.

Otherwise, I'm interested in getting a presentation for OperationDefinition.overload implemented.

The first step seems to be to determine what's possible.

I have sketched a couple thoughts and wonder if folks could comment on the viability and suggest alternatives.

image.png

image.png

FWIW, I think I prefer the former, but it might be too busy?

Of course, I've used the "instance" vs "type" as the example, but it should be a general solution.

view this post on Zulip Lloyd McKenzie (Mar 11 2022 at 16:51):

Can you submit a Git issue against the IG Publisher and Kindling for us to change how we render OperationDefinition?

view this post on Zulip Lloyd McKenzie (Mar 11 2022 at 16:51):

You should also submit Jira issues against those Operations that ought to be using this new feature but aren't.

view this post on Zulip Grahame Grieve (Mar 14 2022 at 20:28):

we should definitely render overload, but I'm not sure it's a workable answer for the actual problem, since there's often a long list of possible parameter combinations.

view this post on Zulip Eric Haas (Mar 22 2022 at 15:16):

Is morel like an operation invariant. Which we currently document in the notes.

view this post on Zulip Grahame Grieve (Mar 30 2022 at 02:02):

is there an example for me to work on the rendering?


Last updated: Apr 12 2022 at 19:14 UTC