FHIR vs openEHR

An interface, by definition exists to sit between what is behind it , effectively making it a “black box” (opaque is a better term) for what is using the interface.

openEHR, by definition exists to providing the whole logical structure for what sits behind any applications built on it. It guarantees that you have the implementation of a logical model for what powers the applications or APIS, which may include a FHIR API as well. Therefore it provides by design a “white box” (translucent is a better term).

Once again: it is simply system design vs interface design specs being what they’re designed to be.
Once again: you can do whatever you want with them, but their nature is different.

3 Likes

I’ve been to about 12 years of HL7 meetings, from 2000 onward, and most recently 2019 and 2022 Baltimore. ‘HL7 is for black box data exchange’ is indeed the stable mantra of HL7. It’s in the DNA.

It’s why they take no account of modern systems that have externally defined models, ontologies etc. and continue to define their own payload - which is always a headache to map to. The HL7 payload definitions will never be the semantic models of anything; they are just definitions of specific payloads. They’re not systematically designed, and create unending work to map to. HL7v3, CDA and now FHIR all do the same thing.

Exactly. Trying searching for blood pressure and other simple things in simplifier.net.

2 Likes

Blood pressure can be straightforward expressed with Observation.component, as well as many multi-component observations.

May be I’m not too smart, but i don’t see big difference between model for communication and model for persistence.

Here you have: tens of observation profiles, a few questionnaires, a few bundles, and even an image profile and a device.
You have systolic and diastolic as their own observation profiles, all the BP as an observation and as said above, as part of bundle profiles
Each one of that profile answers to a single information exchange need

What I see, that both are trying to model healthcare domain, both provides framework to potentially describe any possible model - it’s just to different communities, frameworks, consensus processes and organizations. The question is where exactly the difference?

Let’s say archetypes kinda resources, templates like profiles. Can we model openehr in fhir or vice versa? That would be nice experiment!

I just see two alternative modeling approaches - more generalised and less

If i would create archetypes for all fhir resources, and templates for profiles did i get something equal to FHIR?

openEHR into FHIR has already been explored :slight_smile:
http://standardsmania.blogspot.com/search/label/FHIR

1 Like

Or i can create structure defs for CKM archetypes and profiles for templates - would i get openehr?

Let’s compare core meta frameworks first - not content

You may see N competing versions of that idea in http://simplifier.net. Along with all the other competing copies of such things. Each such model mixes in technical / protocol attributes, while (usually) missing semantic elements necessary for hi-fidelity expression of the original model.

No, Resources are ‘kinda like’ the openEHR Reference Model.
Archetypes are like profiles, except that a) profiles are an uncontrolled wild west and b) archetypes are technology and standard-agnostic - they just express pure domain semantics.

In FHIR (same as previous HL7 standards) profile creation (i.e. creation of domain semantics) is essentially understood as a software development activity, undertaken by separate companies, countries and so on. There is no independent pure knowledge representation formalism, and no independent domain knowledge representation, only representation of specific domain elements, as (mis)understood by IT people, into specific standards, within all those organisations. That’s why we have the mess we have today.

1 Like

Many competing profiles is an organizational decision, not a design consequence. HL7 could organize all profiles into one huge IG like CKM.

Is just a definition. HL7 works in a black box mode since HL7v2.x and openEHR was always a spec for the EHR internals, so by definition white box. Not sure how to give good examples of something that is that way. Black box means it’s not concerned about the internal models, just the exchange (external) ones, and white box is that you can actually see the internals. Please let me know if that is not clear enough, though you can search through HL7 documentation, they talk about this in the specs, many presentations of HL7 experts also mention this, etc.

best,
Pablo.

You will end up with tens of definitions for blood pressure and for R1 to R5, R6, etc. :slight_smile:

So we have first “real” difference:

  • openehr is trying to standartize as much as possible as CKM
  • fhir standardize 20 of 80, and allows many potentially intersecting/conflicting IGs

???

Second “real” difference:

  • FHIR has two layer architecture - resources and profiles
  • OpenEHR has three layer - RM, AT & templates

RM in openehr is more generic than FHIR resources, where ATs are more specific.

To be honest i don’t like multi-layer at all, semantic web rdf does it much more elegant than oop, fhir and openehr

Oh, third ideological difference - openehr believes in “universal model” more than fhir :wink:

Not really, semantic web is nice for ontology but not really for epistemology. This is the same reason why SNOMED alone is not sufficient to establish interoperability.

3 Likes

Please elaborate. Descriptive logic has small clear core, strong theoretical background and can cover everything what oopish models (like fhir and openehr) can do plus what they can’t