FHIR Chat · CapabilityStatement and profiles · implementers

Stream: implementers

Topic: CapabilityStatement and profiles


view this post on Zulip Richard Kavanagh (Nov 14 2017 at 08:49):

When creating a capability statement what goes in CapabilityStatement.profile ?

Is it just the StructureDefinitions for the resources? or does it include the extensions and any data type profiles as well?

view this post on Zulip Grahame Grieve (Nov 14 2017 at 10:08):

preferably as much as you can say for each kind of use case.

view this post on Zulip Grahame Grieve (Nov 14 2017 at 10:08):

CapabilityStatement may be retired in favor of ExampleScenario (? I am watching that develop)

view this post on Zulip Michael van der Zel (Nov 14 2017 at 10:29):

Can I check out ExampleScenario somewhere? I could not find it on build.fhir.org

view this post on Zulip Jose Costa Teixeira (Nov 14 2017 at 10:30):

it is there
http://build.fhir.org/examplescenario

view this post on Zulip Jose Costa Teixeira (Nov 14 2017 at 10:32):

i have a few questions there but I could not put them in Forge because i could not find exampleScenario in the resource list. :)

view this post on Zulip Lloyd McKenzie (Nov 14 2017 at 15:12):

I see those as very different resources Grahame. One is defining what you can do, the other is giving an example of how a particular flow could work

view this post on Zulip Grahame Grieve (Nov 14 2017 at 15:26):

not CapabilityStatement.rest.resource.profile - I think that's what you're referring to. CapabilityStatement.profile is something different. And it's not quite the same as ExampleScenario, but maybe that's what it should be

view this post on Zulip Eric Haas (Nov 14 2017 at 15:46):

Differentiating those two has been a challenge for many of us. ON FHIR-I we chatted briefly about an outstanding Gforge tracker that has morphed into a proposal to move CS.profile under .rest since it doesn't seem to apply to messaging ( but that may be a red herring here). GG can you clarify why an example would replace an profile - I don't follow that at all?

view this post on Zulip Eric Haas (Nov 14 2017 at 15:49):

And examplescenario would benefit greatly if it had an introduction and scope and usage section ... Am assuming is an interaction diagram in fhir.

view this post on Zulip Grahame Grieve (Nov 14 2017 at 15:50):

what you list in CS.profile is saying 'this is one kind of profile that the system supports'. There's a few specific obligations shown here: http://hl7.org/fhir/profiling.html#profile-uses

view this post on Zulip Jose Costa Teixeira (Nov 14 2017 at 15:51):

exampleScenario can be shown as an interaction diagram (actually a sequenceDiagram)

view this post on Zulip Grahame Grieve (Nov 14 2017 at 15:52):

as for moving it to .rest... I think that would be wrong. The underlying capabilities apply irrespective of channel

view this post on Zulip Grahame Grieve (Nov 14 2017 at 15:52):

the key sentence is the start one: "These profiles describe the information handled/produced by the system on a per use case basis" - but it doesn't say anything about the use case. Seems to me that ExampleScenario is close to describing the use case. So I'm watching to see how that plays out

view this post on Zulip Eric Haas (Nov 14 2017 at 15:52):

My point was that it is not obvious what go where on first blush. Maybe changing the element names might help that a bit.

view this post on Zulip Eric Haas (Nov 14 2017 at 15:53):

My second point was that ExampleScenario need an Introduction and Scope and Usage Section....:-)

view this post on Zulip Grahame Grieve (Nov 14 2017 at 15:54):

well, it's certainly caused a lot of confusion. it seems clear to me, except for the missing information

view this post on Zulip Jose Costa Teixeira (Nov 14 2017 at 15:55):

in exampleScenario there is an xslt that allows a sequence diagram to be generated.
exampleScenario has description, pre- and post-conditions.

view this post on Zulip Jose Costa Teixeira (Nov 14 2017 at 16:02):

since exampleScenario already supports "instance" resources, i think it would be neat if it supported "conformance" resources. As in "
in step 1, this structureDefinition needs to be respected.
In step 2, the following constraints apply:
2a: if this happens, structure definition 2a
2b: if this other thing happens, structureDefintition 2b

view this post on Zulip Jose Costa Teixeira (Nov 14 2017 at 16:07):

This is overlapping with PlanDefinition, so i may be tunnelling to a solution

view this post on Zulip Lloyd McKenzie (Nov 14 2017 at 16:39):

ExampleScenario refers to example instances. I don't see how it could be useful for Conformance.

view this post on Zulip Grahame Grieve (Nov 14 2017 at 16:44):

hmm. I assumed that you'd be able to talk the scenario indendepently of providing instances

view this post on Zulip Lloyd McKenzie (Nov 14 2017 at 16:52):

The purpose was to provide a scenario instance example of exactly who did what when. It doesn't talk about who can do what.

view this post on Zulip Lloyd McKenzie (Nov 14 2017 at 16:52):

The expectation was the latter would be handled by PlanDefinition

view this post on Zulip Jose Costa Teixeira (Nov 14 2017 at 18:23):

The requirements i was thinking of - not even sure if they fit in this discussion, and regardless of which resource - are thus:

view this post on Zulip Jose Costa Teixeira (Nov 14 2017 at 18:33):

  • If a single medication administration is requested, this is a medicationRequest (instance-order)
  • if it is an infusion, there SHALL be a medicationRequest containing the overall infusion
  • If the infusion is planned to have different phases, each phase MAY be represented by a medicationRequest, in which case it SHALL point to the request for the overall infusion.
  • if the actual administration is a result of an administration (instance) request, then it SHALL be a medicationAdministration, BasedOn this request.
    ...
  • If it's an infusion, then there is an overall medicationAdministration
  • If there are phases or changes, then they MAY be captured with additional medicationAdministrations. If so, they SHALL point to the overall medicationAdministration, and MAY be BasedOn on a medicationRequest.

view this post on Zulip Jose Costa Teixeira (Nov 14 2017 at 18:36):

in short, requirements of type
"If this is the scenario, these are the constraints" - (use this resource type / apply these constraints on the resources)
"If this happens, what happens next has these constraints" (the resources on step have to link to the previous step)

view this post on Zulip Michael van der Zel (Nov 14 2017 at 18:58):

I feel ExampleScenario is more functional and CapabilityStatement more technical. [base]/metadata will respond with a ONE CapabilityStatement, so that a client "knows" what the server can do. How will ExampleScenario fit in there?

view this post on Zulip Grahame Grieve (Nov 15 2017 at 04:37):

I think of plan definition as a sequence of user actions, not an API use case thing

view this post on Zulip Lloyd McKenzie (Nov 15 2017 at 09:19):

It allows you to define order of events, pre-conditions, triggers, timing relationships, etc. All potentially relevant when defining technical workflows.

view this post on Zulip Jose Costa Teixeira (Nov 15 2017 at 10:40):

@Michael van der Zel on your question on how an exampleScenario/PlanDefinition fits when getting ONE capabilityStatement, I have been thinking that CapabilityStatements could/should nest other stuff.
So i can get from a system "here is my capabilityStatement. I support these general constraints on resource content, and also I also support the following workflow conformance aspects which themselves entail additional constraints."

view this post on Zulip Jose Costa Teixeira (Nov 15 2017 at 10:45):

so 2 general requirements, 1= supporting content and workflow conformance, 2= nesting (conformance inheriting or containing more conformance).

view this post on Zulip Jose Costa Teixeira (Nov 15 2017 at 10:46):

i can try to make a strawman for the workflow conformance bit using PlanDefinition and ExampleScenario, so that i am not anchored to any specific implementation option

view this post on Zulip Simon Knee (Jan 09 2018 at 16:20):

Agree with @Eric Haas we have had difficulty differentiating between CapabilityStatement.profile and CapabilityStatement.rest.resource.profile elements. We may have to support amalgamated capability statements so will be watching developments here. Are there any good examples that demonstrate multiple system use cases?


Last updated: Apr 12 2022 at 19:14 UTC