FHIR Chat · Structural conformance vs claims of conformance · implementers

Stream: implementers

Topic: Structural conformance vs claims of conformance


view this post on Zulip Tim Blake (Dec 09 2019 at 01:02):

Hi,

I appreciate this probably (re)opens a whole can of worms, but I'm looking for some guidance. I'm wondering how FHIR "conformance" is currently defined. Is something conformant if it:

a) claims conformance to a particular profile and then can be successfully validated against that profile

OR

b) is structurally conformant / equivalent, regardless of claim

Looking for some guidance, as this could have some influence on how we choose to design various Australian IGs...

Thanks.

view this post on Zulip Grahame Grieve (Dec 09 2019 at 01:10):

you claim conformance against REST / messaging / Document, not to FHIR generally.

view this post on Zulip Grahame Grieve (Dec 09 2019 at 01:13):

if you claim conformance against FHIR RESTful API, then what that means is (for a server):

  • you return a capability statement
  • you implement any interactions / operations that you declare in the capability statement
  • any conformance claims (profiles, etc) in the capability statement are true of the functionality declared in the capability statement
  • any defined interactions that you server supports, either as defined in the specification or described in the capability statement, are correct against the specification

view this post on Zulip Jim Steel (Dec 09 2019 at 01:22):

Was the question more about conformance of a resource to a profile rather than a server to the spec?

view this post on Zulip Tim Blake (Dec 09 2019 at 01:23):

Yes

view this post on Zulip Grahame Grieve (Dec 09 2019 at 01:27):

you don't make that kind of claim in the abstract

view this post on Zulip Jim Steel (Dec 09 2019 at 01:29):

But it matters if you're validating a resource that refers to another resource. For example, if you validate a List resource against a profile of List, the profile might require that all entries in the List be conformant to some profile. So, do those entry resources just need to conform structurally, or do they also need to declare the profile?

view this post on Zulip Grahame Grieve (Dec 09 2019 at 01:34):

if you validate a List resource against a profile of List that requires targets conform to a profile, then it's an error (not conformant) if the targets do not conform to the profile

view this post on Zulip Grahame Grieve (Dec 09 2019 at 01:35):

they only need to declare they conform to the profile if the profile requires them to

view this post on Zulip Grahame Grieve (Dec 09 2019 at 01:35):

(which I always advise against)

view this post on Zulip Jim Steel (Dec 09 2019 at 01:35):

:+1:

view this post on Zulip Tim Blake (Dec 09 2019 at 01:36):

they only need to declare they conform to the profile if the profile requires them to

Forgive my ignorance - how does a profile require / not require conformance declaration?

view this post on Zulip Jim Steel (Dec 09 2019 at 01:36):

Presumably you constrain the meta.profile element to contain at least the required value (or if you're an even more evil monster, only the required value)

view this post on Zulip Lloyd McKenzie (Dec 09 2019 at 02:09):

More typically, systems will declare conformance against an implementation guide, or more specifically, against a particular CapabilityStatement within an implementation guide. Doing so means that the application is capable of performing the operations identified in the CapabilityStatement, including exposing and/or consuming data in a manner that complies with any indicated profiles


Last updated: Apr 12 2022 at 19:14 UTC