FHIR Chat · CapabilityStatement · shorthand

Stream: shorthand

Topic: CapabilityStatement


view this post on Zulip Keith Boone (Feb 20 2020 at 04:25):

It seems like there should be a way for Sushi to generate capability statements for actors with some additional syntax.
Each StructureDefinition that applies to a resource could indicate: CreatedBy/For, UpdatedBy/For, ReadBy/For, SearchedBy/For, DeletedBy/For followed by a comma separated list of actor names. Each OperationDefinition could indicate: ImplementedBy/For, followed by a comma separated list of actor names.

The CapabilityStatement could be generated by Actor: followed by the name of the actor for which the capability statement applies.
It would contain appropriate read/create/update/delete etcetera operation declarations based on what was declared for each StructureDefinition/OperationDefinition in the Fish Tank, where CreatedBy indicates a server operation, CreatedFor indicates a client operation.

Ideally, the search capabilities would also be able to be grouped so that you could say: Must support this combination of search parameters and prefix/modifiers, but I think that would require a breaking change to CapabiltyStatement so that ship may have already sailed.

view this post on Zulip Chris Moesel (Feb 20 2020 at 04:43):

That's a really interesting idea, @Keith Boone. TBH, we haven't really thought much about CapabilityStatements at all. We know that we want to try to generate them if we can (since they're pretty tedious to write by hand) -- but hadn't yet thought about the actual approach. I think that what you describe gives us something really good to think about! Unfortunately, I can't say for sure when we'll be ready to work it out more -- as we're still working out some of the basics of other stuff -- but I'd love to hear what others think as well.

view this post on Zulip Keith Boone (Feb 20 2020 at 04:44):

Yeah, I know @John Moehrke has some dreams about this.

view this post on Zulip John Moehrke (Feb 20 2020 at 13:41):

To be specific. these are CapabilityStatement of requirements kind, used to define the Actors in an Implementation Guide. Need this for all kinds of actors, not just the server.

view this post on Zulip Mark Kramer (Feb 20 2020 at 15:57):

I like that @Keith Boone . I think @May Terry will be enthusiastic about it, as well. Any implementers out there ready to help out?

view this post on Zulip David Hay (Feb 20 2020 at 20:10):

help how?

view this post on Zulip Bas van den Heuvel (Feb 24 2020 at 20:11):

Great idea - what do we do with search parameters?

view this post on Zulip Keith Boone (Feb 24 2020 at 22:48):

My thoughts on search parameters:
Generally, you'd list the set of search parameters supported. Unfortunately, implementations vary on what sets are allowed to be used together. For example, I generally require patient/subject to be specified unless searching by _id, and some combinations just aren't easily implemented. Generalized search is HARD. What I'd do there is define a named search operation that describes a combination of search parameters. For my implementation framework, using named sets of search parameters is not all that hard, but not so for others, and how to define a combination without requiring someone to implement a named query is also challenging. I use text descriptions to indicate these kinds of limits, but they should be computable. Unfortunately, CapabilityStatement is normative, so I dunno how to fix this easily. I'd probably add an extension to searchParam that allowed one to specify a list of possibly groupings, where each searchParam can be used with any others in the same named group. That extension would also apply to searchInclude and searchRevInclude and to allow one to specify what groups can support which includes.

HAPI could generate that extension in it's CapabilityStatement by looking at @Search operation signatures.

view this post on Zulip Keith Boone (Jun 17 2020 at 19:23):

I did work that out using http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination

view this post on Zulip Eric Haas (Jun 25 2020 at 02:49):

I spent a lot of time creating tooling that creates cap statements centering on search for us core. I use the combo extension and conformance expectation extensions on pretty near everything and refined all the searchparameters with conformance expectations so you know exactly what is supported. Not sure anybody actually looks at them though. I suspect they are ignored.

view this post on Zulip Bryn Rhodes (Jun 25 2020 at 02:56):

I have found them extremely useful @Eric Haas

view this post on Zulip David Hay (Jun 25 2020 at 18:38):

Would be interested in more details myself...


Last updated: Apr 12 2022 at 19:14 UTC