Stream: conformance
Topic: Element.base on elements implemented from interface classes
Marten Smits (Jan 30 2020 at 16:04):
I'm looking at snapshots in R5 and see that elements that are "inherited" from interface classes have a element.base.path as if they were introduce in the resources implementing the interface. Is that correct?
e.g. Questionnaire.url
has base.path of Questionnaire.url
and not CanonicalResource.url
Is that correct? I'm wondering if we shouldn't mention where the element came from
Grahame Grieve (Jan 30 2020 at 18:49):
I think it's correct - the elements are actually fully defined at Questionnaire.url.
Marten Smits (Feb 03 2020 at 13:09):
Ok so I can just leave them out of snapshot generation entirely? Instead of going DomainResource -> CanonicalResource -> MetadataResource -> Questionnaire. I can just go DomainResource -> Questionnaire right? Since all elements from the two interfaces are fully defined in Questionnaire.
Is there a way for me to see that CanonicalResource and MetadataResource are interfaces? I can see the abstract=true, but shouldn't there be a flag somewhere indicating a structure is an interface type? Or is there?
Grahame Grieve (Feb 03 2020 at 19:51):
where would they appear in the snapshot?
Grahame Grieve (Feb 03 2020 at 19:51):
there's an extension indicating that they are an interface
Marten Smits (Feb 04 2020 at 09:04):
where would they appear in the snapshot?
Well that's my question. I was making sure they aren't of any influence to the snapshot. Since they are set as base definitions to the resources that implement them.
Questionnaire for example doesn't inherit anything from the interfaces right? No descriptions, invariants, etc? Nothing it doesn't declare itself?
Marten Smits (Feb 04 2020 at 09:04):
there's an extension indicating that they are an interface
Great, I'll take a look
Marten Smits (Feb 04 2020 at 09:07):
Ok got it. Thanks!
Grahame Grieve (Feb 04 2020 at 12:25):
right, everything is redeclared in the implementations and that's where they literally come from. It's optional for an implementation to chase them back to the interface
Last updated: Apr 12 2022 at 19:14 UTC