Stream: argonaut
Topic: Extensions url namespace for Argonaut projects?
Josh Mandel (Jun 27 2019 at 04:07):
Do we have a standard practice for naming/namespacing extensions defined in Argonaut? Like for the PAMA project we've been using things like:
http://fhir.org/argonaut/StructureDefinition/:id
... but I'm not sure if there's another recommended practice. On the hosting side @Grahame Grieve if we want to eventually publish the definitions at these URLs, is this feasible? Would you recommend something else?
Grahame Grieve (Jun 27 2019 at 11:38):
I think, strictly, it should be http://fhir.org/guides/argonaut/extensions/StructureDefinition/id
Grahame Grieve (Jun 27 2019 at 11:38):
:id
is not a valid id
Grahame Grieve (Jun 27 2019 at 11:39):
but that link is very long. we could consider redirections to enable something like http://fhir.org/argonaut/extensions/id
Grahame Grieve (Jun 27 2019 at 11:39):
though id is not something that should be an extension
Josh Mandel (Jun 27 2019 at 12:42):
Thanks! We'll go with they shortly form. (And yeah, ":id" was just a play folder for the extension identifier.)
Josh Mandel (Jun 27 2019 at 12:44):
Follow-up question for code systems... http://fhir.org/argonaut/CodeSystem/:id ? now I am starting to wonder about capitalization and pluralization -- so perhaps for consistency we should be saying http://fhir.org/argonaut/Extension/:id and http://fhir.org/argonaut/CodeSysyem/:id
Josh Mandel (Jun 27 2019 at 12:45):
It sounds like anything at http://fhir.org/argonaut/* Can be set up for redirection in any case.
Grahame Grieve (Jun 27 2019 at 13:05):
Extension is not a resource, unlike CodeSystem
Josh Mandel (Jun 27 2019 at 13:05):
I'm aware...
Josh Mandel (Jun 27 2019 at 13:06):
Does that imply that we should drive for non-consistency in path names to highlight this distinction? The FHIR specification itself uses lowercase letters even for resources, which I find a bit confusing (e.g. codesystem.html)
Grahame Grieve (Jun 27 2019 at 13:07):
don't know
Eric Haas (Jun 27 2019 at 16:13):
for extensions : http://fhir.org/argonaut/StructureDefinition/extension-blah
Eric Haas (Jun 27 2019 at 16:13):
for profiles: http://fhir.org/argonaut/StructureDefinition/profile-blah
Eric Haas (Jun 27 2019 at 16:13):
or just http://fhir.org/argonaut/StructureDefinition/blah ( default is profile)
Josh Mandel (Jun 27 2019 at 16:14):
That makes the extensions irks pretty darn verbose though -- not sure why we would need to encode any semantics in the id itself
Josh Mandel (Jun 27 2019 at 16:14):
But some consistent "base url" conventional would be good.
Eric Haas (Jun 27 2019 at 16:14):
they are all StructureDefinitions
Josh Mandel (Jun 27 2019 at 16:15):
Indeed, which means that a profile and an extension could never share an id (so no need to prefix).
Eric Haas (Jun 27 2019 at 16:16):
i have never seen the extension/StructureDefinition so this would be new and not how done in the base standear
Josh Mandel (Jun 27 2019 at 16:16):
My primary concern is "do developers reading the IG understand what's happening" -- and Grahame's suggestion to avoid lobbing "StructureDefinition" around in our URLs was, I thought, spot on
Josh Mandel (Jun 27 2019 at 16:18):
Also I see other IGs use a "http://fhir.org/guides/argonaut" prefix, which includes "guides" but doesn't actually name a specific guide. I'm hoping we don't need to include "guides" in general.
Josh Mandel (Jun 27 2019 at 16:18):
(example: https://www.fhir.org/guides/argonaut/r2/StructureDefinition-argo-race.html)
Eric Haas (Jun 27 2019 at 16:19):
I did not see the GG comment on lobbing SD around. Are you proposing this across the board for the base standard and all IGs going forward and possibly retroactively
Eric Haas (Jun 27 2019 at 16:19):
yes the canonical is/was http://fhir.org/guides/argonaut/r2
Eric Haas (Jun 27 2019 at 16:20):
so that is how the url is built - canonical / [Type] /[id]
Josh Mandel (Jun 27 2019 at 16:21):
I'm definitely not thinking about anything retroactive. I mostly want to have something in the PAMA IG that we like going forward
Eric Haas (Jun 27 2019 at 16:21):
but would like it to be consistent at least moving forward
Josh Mandel (Jun 27 2019 at 16:21):
In general, the extension canonical URLs don't need to look/act like FHIR REST API GET requests -- they can be shorter and adopt more conventions as long as they redirect to the right place.
Josh Mandel (Jun 27 2019 at 16:23):
So I think we want a balance between readable/expressive. Right now I'm running with http://fhir.org/argonaut/Extension/:id and http://fhir.org/argonaut/CodeSystem/:id for the PAMA IG based on initial discussion here -- We can continue to adjust over the next few weeks but we definitely want to have this locked in place by the connectathon
Eric Haas (Jun 27 2019 at 16:24):
understood. but where and who and when does the redirect get created? This is important for editing igs
Josh Mandel (Jun 27 2019 at 16:24):
Grahame would create them -- but I don't think there is any particular pressure to get them in place; none of the automated validation/testing should depend on it. It is just a convenience for explorability.
Eric Haas (Jun 27 2019 at 16:26):
Internally you use the urls but I suppose you use the long form and expose the short form - though that is generated...mmmmm
Eric Haas (Jun 27 2019 at 16:27):
in general would be : [short form]/[Type]/[id] that would want to expose/share
Grahame Grieve (Jun 27 2019 at 20:32):
well, that is a problem:
Grahame Grieve (Jun 27 2019 at 20:33):
none of the automated validation/testing should depend on it
but they have to use the canonical URL. So we're proposing - in effect- a different canonical URL
Josh Mandel (Jun 27 2019 at 21:07):
I thought this whole conversation was about the canonical URL -- I'm just saying the canonical URL doesn't have to resolve, right?
Grahame Grieve (Jun 27 2019 at 21:08):
yes and no.
- no: the URL is not required to resolve by FHIR rules
- yes; the URL should resolve by FHIR rules, and as a matter of policy I only publish IGs where they do resolve
but whatever it is has to be specified as canonical URL yes
Josh Mandel (Jun 27 2019 at 21:17):
Cool -- so during development we can use the "nice" canonical URIs we want, as long as they can eventually resolve correctly (and we'll need to make sure they do resolve before "publication").
Josh Mandel (Jun 27 2019 at 21:18):
On this analysis, using http://fhir.org/argonaut/Extension/:id and http://fhir.org/argonaut/CodeSystem/:id should still be OK.
Eric Haas (Jun 27 2019 at 21:56):
so canonical / [Type] /[id]
is the form. but Extension
is now a special case since that is not a Type.
Eric Haas (Jun 27 2019 at 21:56):
That will break the IG build right now
Josh Mandel (Jun 27 2019 at 23:12):
Sorry - I thought canonical
was a single holistic URI
Josh Mandel (Jun 27 2019 at 23:12):
Is this wrong?
Lloyd McKenzie (Jun 28 2019 at 02:14):
It can be anything. However, they should ideally resolve - both computability and for humans
Josh Mandel (Jun 28 2019 at 03:31):
Yes, good. That's the goal here :-)
Eric Haas (Jun 28 2019 at 23:41):
I feel like we are talking in circles. What I am talking about is for ig publishing we need something the tooling recognizes. For artifacts that don’t use this tooling can be anything but then we don’t have consistency across igs.
Josh Mandel (Jun 29 2019 at 00:41):
I'm not hearing any particular constraints on what they publisher required, beyond "resolves, at publication time". Am I missing something?
Eric Haas (Jun 30 2019 at 14:39):
requires [canonical base]/[Type]/[id] and 'Extension' is not a type
Grahame Grieve (Jul 05 2019 at 22:29):
@Eric Haas I'm not sure what your concern is
Eric Haas (Jul 06 2019 at 01:17):
I guess I am confused lets try it and see what happens.
Last updated: Apr 12 2022 at 19:14 UTC