Stream: implementers
Topic: CapabilityStatement.instantiates
Elliot Silver (Feb 14 2018 at 11:46):
The instantiates element of CapabilityStatement indicates "another capability statement this implements". Does this apply to both instance and requirements kinds of CapabilityStatements? I'd like to be able to build a complex requirement CapabilityStatement out of simpler building blocks, and this looks like the way to do it, but I want to confirm.
Grahame Grieve (Feb 14 2018 at 11:54):
yes
Elliot Silver (Feb 14 2018 at 12:18):
Thanks.
Rob Hausam (Feb 14 2018 at 12:35):
So, for FHIR terminology servers, we will specify a reference to the server's TerminologyCapabilities statement resource in CapabilityStatement.instantiates, and the interaction to access all of it continues to be /metadata. Correct?
Grahame Grieve (Feb 14 2018 at 12:38):
well, from /metadata you get back a conformance statement that has instantiates, and then you have to chase that. But my server fully populates the conformance statement, so you don't have to chase it - you can magically recognise 'a terminology server' or look through the details
Rob Hausam (Feb 14 2018 at 12:58):
Sure. I just scanned your r3 capability statement (r4 seems to be down right now), and I think you still would need to chase it to get the terminology specific details, for individual code systems, etc.?
Grahame Grieve (Feb 14 2018 at 13:14):
oh yes you'd still need the terminology capabilities (which we still haven't defined how to do). but instantiates is something else again
Elliot Silver (Feb 14 2018 at 13:17):
For StructureDefs, we talk about snapshot and diffs. Is the /metadata ConformanceStatement a snapshot (flattens all "instantiates" into the result) or a diff (only shows what isn't in the "instantiates")? Are both approaches (and others that might be in between) permitted?
Rob Hausam (Feb 14 2018 at 13:28):
OK. I was probably starting to read "Reference to a canonical URL of another CapabilityStatement that this software implements or uses" a little more broadly than you were intending, and we might want to clarify a bit more what the "something else again" exactly is.
John Moehrke (Feb 19 2018 at 14:53):
The question that Elliot asked was in support of IHE mCSD profile (mostly a provider directory). That profile has many combinatorics so we needed to leverage instantiates to eliminate repetition of the same requirements. So we ended up with a huge set of CapabilityStatements that have various levels of nesting to show all the combinations of Actors/Options. See https://simplifier.net/mCSD
Ewout Kramer (Feb 19 2018 at 15:14):
The question that Elliot asked was in support of IHE mCSD profile (mostly a provider directory). That profile has many combinatorics so we needed to leverage instantiates to eliminate repetition of the same requirements. So we ended up with a huge set of CapabilityStatements that have various levels of nesting to show all the combinations of Actors/Options. See https://simplifier.net/mCSD
I do recognize that requirement, esp. where the same set of capabilities repeat for a specific set of resources. Now, it's copy & paste....
John Moehrke (Feb 19 2018 at 15:46):
yes, the instantiates seems to have eliminated that copy and paste problem. It however doesn't show up well in Simplifier. In the case of StructureDefinitions, Simplifier pulls in the baseDefinition; it doesn't do the same for CapabilityStatement.instantiates...... Thus one can get a nice visualization of StructureDefinition result... but the same is not true of CapabilityStatement (in requirements kind)... I think I reported this through Simplifier feedback as a improvement opportunity.
Ewout Kramer (Feb 19 2018 at 16:15):
No, for StructureDefinition the spec specifically describes how to create a "snapshot" from a differential (a process which includes definitions from the baseDefinition). For CapabilityStatement, we don't really have something comparable, there's no "differential" notation for a CapabilityStatement. But I can see where it would be nice that the capabilities of a CapabilityStatement (CS) "A", which derives from a CS "B" would "override" stuff in "B". And you could produce a combination of both. When doing that, I am pretty sure there are some subtleties (repeating elements come to mind: does "A"'s elements get added to "B"s, or do they replace them)?.....
John Moehrke (Feb 19 2018 at 16:24):
isn't that analysis necessity speak for the need itself?
Grahame Grieve (Feb 19 2018 at 19:48):
does Forge have a CapabilityStatement editor does it?
Ewout Kramer (Feb 19 2018 at 22:26):
No, it does not yet. CapabilityStatement has grown enough in complexity that an editor for it is becoming a feature....
Grahame Grieve (Feb 19 2018 at 22:27):
great. cause the FHIR Toolkit does include an editor for it
John Moehrke (Feb 20 2018 at 14:39):
The FHIR Toolkit is what I use and recommend in IHE for CapabilityStatement. spreading the love around to all the tools for one thing or the other
Igor Sirkovich (Mar 09 2018 at 20:50):
I'm wondering if anyone is able to run the FHIR Toolkit on their macOS. My MacBook is running on High Sierra 10.13.3 and I get an error when trying to open FHIRToolkit.app (v0.0.40): The application “FHIRToolkit.app” can’t be opened.
Grahame Grieve (Mar 09 2018 at 23:33):
do you get any additional information? is there a security problem?
Igor Sirkovich (Mar 12 2018 at 06:26):
No, no additional information, no security issues (it doesn't appear under the security setting as a blocked app).
Igor Sirkovich (Mar 12 2018 at 16:27):
@Grahame Grieve I browsed the package content of the FHIRToolkit.app and noticed that FHIRToolkit.app/Contents/MacOS/FHIRToolkit file didn't have executable permissions. I have used chmod to make it executable and the app is working now. I think this is something you would want to add to your Build process.
Grahame Grieve (Mar 12 2018 at 19:35):
I don't know how to add it to my build process, since the build process runs on windows.
Igor Sirkovich (Mar 12 2018 at 19:38):
I see. In this case, maybe it would be worthwhile to add a note at http://healthintersections.com.au/FhirServer instructing Mac users to add executable permission to the FHIRToolkit.app/Contents/MacOS/FHIRToolkit file?
Grahame Grieve (Mar 12 2018 at 19:40):
I'll see what I can do. Whenever I've downloaded on OSX, it's prompted me to do it
Igor Sirkovich (Mar 12 2018 at 19:43):
I assume this behavior might depend on the version of macOS.
Grahame Grieve (Mar 12 2018 at 19:46):
perhaps. I'll have to look into this
Kevan Riley (May 22 2018 at 18:22):
As of 5/22 the Mac version is missing the FHIRToolkit file all together (at least that was the result after I unzipped it)
Grahame Grieve (May 22 2018 at 18:26):
yes. sorry. building it is painful and it's on my agenda for later this week :-(
Last updated: Apr 12 2022 at 19:14 UTC