HISO 10099 NZ International Patient Summary (NZIPS) draft standard for public comment

HISO invites public comment on new draft standard HISO 10099:2022 NZ International Patient Summary (NZIPS).

NZIPS specifies the makeup of a core personal health data set that covers health conditions, immunisations, medicines, allergies and adverse reactions, measurements, test results and care plans in its first edition.

The standard centres on a data set specification and outlines data exchange and data portability requirements for continuity of care, consumer access to personal health information and patient record transfer.

The standard conforms to ISO 27269:2021 Health informatics — International patient summary and sets parameters for Aotearoa’s adaptation of the HL7® FHIR® IPS Implementation Guide.

NZIPS is a deliverable of the Interoperability Roadmap and a standard that promises to contribute to a more joined-up, equitable and efficient health system.

The draft is posted for comment on Health Consultation Hub for an eight-week period, closing 8 July 2022. The consultation process will be used to firm up and build support for the specification ahead of its publication as a draft standard for trial use later this year.

The mahi to develop NZIPS has been guided by an expert advisory group of health professionals, health software developers and consumer representatives. The specification is now open for comment by everyone.

7 Likes

Morning all,
Great news @alastairk
I would encourage all of us to take the time to review this standard as it will be playing a key part in Hira - our new health information service.
When you have a look consider,

  • Is this core information that a consumer/provider would need when travelling or moving?
  • Is this aligned to New Zealand’s future approach to health care?
  • Does the terminology align to the future of consumer centric health management?
  • Are there any elements missing?
    Patient Summary does not mean that this is all inclusive of our broad consideration of summary information. However if there elements that would you consider as ‘bolt ons’ to this data standard do let HISO know in your feedback.
    Thank you
2 Likes

Thanks Alastair. Does HISO own a copy of the related ISO Standard that it can make available to the NZ Community?

1 Like

Sorry, no, the licence terms don’t allow me to share the copy we have. (It’s a common complaint about ISO standards that they’re not more freely available)

Thanks Alastair,

I have had a scan through your very nicely presented PPT, and nothing surprising or scary jumped out at me, but I did not do a proper review with the published basic IPS IG side-by-side to deduce exactly what you have extended or constrained, so this is merely a comment on readability and my expectations of what you would specialise. Your format implies a cardinality of 1 on extensions or slices for the NZ context. ie. mandatory - although there are a few “if” statements, e.g. “another gender” for “gender” replies the patient description text.

Do you derived these slides from a “traditional looking” FHIR IG in HTML generated by FSH, or will the PPT ultimately be the requirements specification for a formal model representation of a StructureDefinition which be processed to make a generated HTML IG? (Like the ones David Hay is producing for NZ Patient?).

cheers,
Keith

Thanks for the feedback @keithduddy

More the latter. The NZIPS document makes choices about code systems for the most important data elements, and these choices will feed into FHIR design work. NZIPS could be a slimmer document if ISO 27269:2021 IPS were to say more about code systems.

Thanks @alastairk ! Now I get it…

Keith

As that ISO standard is opaque to most of us, anything taken from, or dependent, on it should be included in the NZIPS. - both the PPT/PDF version and the related FHIR IG (which hopefully, will derive from the HL7 International IPS FHIR IG).

Thanks for your post on the NZIPS draft @emily.gill
https://ehealthforum.nz/t/snomed-ct-subontology-for-ips/22577/2
I’m pulling a classic @NathanK sort of move to answer you here rather than there
Definitely food for thought on allowing for free text
The points about te ao Māori also stand out
Perhaps your thoughts will spur others to action - would love to hear from you here or at Health Consultation Hub
Ngā mihi nui

2 Likes

I read the NZIPS ‘draft standard’ with an increasing sense of outrage. This is a long post, so you may wish simply to skip to the conclusion—and then, once you in turn are very angry (likely with what I’ve said)—work through at your leisure.

A very basic critique

  1. The reference ‘standard’ is an ISO document (https://www.iso.org/standard/79491.html) that I cannot read unless I fork out 178 Swiss Francs. So much for any sort of open interoperability.

  2. The HISO 10099 ‘standard’ is presented as a slide deck converted into a PDF: https://consult.health.govt.nz/hiso/hiso-10099-2022-nzips/supporting_documents/hiso10099nzipsdraft20220509.pdf Where is the actual document? If I search on the website, I get nothing: https://www.health.govt.nz/search/results/10099%3A2022. Are our standards now PowerPoint presentations?

  3. HISO 10083:2020 is referenced. Its title is ''Accelerating the shift to a fully interoperable digital health ecosystem". The slide deck (‘slide 4’—are we really referencing a standard in terms of slides?!) notes “This mahi is about establishing a standard for representing and communicating personal health information in an agreed format in terms of its content, structure and coding.”

  4. Let’s think about the requirements for being fully interoperable in communicating health information. The core of clinical decision making is medical science. As we understand medical science in the 21st century, this requires a process of (a) identifying problems and creating explanatory hypotheses; (b) testing these hypotheses (‘models’) adequately; and (c) provisionally accepting successful explanations as ‘true’ so they can be acted upon, with continued vigilance. Now how does the slide deck support this process?

  5. It claims to render the HL7 FHIR International Patient Summary Implementation Guide! But this does not claim to be anything other than " minimal and non-exhaustive; specialty-agnostic and condition-independent; but still clinically relevant". Can this constitute a basis for full interoperability?

  6. If our aim is full interoperability, then we need more than just a common data dictionary. We also need to (a) maintain data fidelity; (b) provide provenance; and (c) represent the process of clinical medicine adequately—or at the very least, not misrepresent this process. We also need some sort of international consensus on what data elements must be present. So let’s look at how the IPS implementation guide shapes up.

  7. There are three required sections: Medication Summary, Allergies and Intolerances, and a Problem List. The header has four items (Subject, Author, Attester, Custodian). Everything else is optional (with some ‘recommended’). The page is singularly devoid of useful links: the HL7.org link is a circular reference, and the IPS Wiki link is broken. The document does not in fact provide any sort of global specification—it merely says this is desirable, and then provides a link to the US Core Implementation Guide.

  8. The current version (via the above link) is here, as of 2022-05-13. It’s stated objective is to “[define] the minimum set of constraints on the FHIR resources to create the US Core Profiles”. This is a bizarre document. First, note the split into Client and Server capabilities—but if you click on the separate links, in the ‘Client’ the only mandatory section is 12.1.1.2—which is self-referential! Similarly in the Server section, there is 12.2.1.2—also simply a self-reference. Think about this: everything is optional. Hardly a good start.

  9. With this under our belts, let’s examine references in the core to the required sections. I’ll start with the (US version of) AllergyIntolerance. There are three mandatory components: the patient, a coded representation of what they’re allergic to, and a ‘clinical status’. This last field has three quite sensible options: active, inactive or resolved. The associated rubric defines these respectively as “experiencing/at risk”, “no longer at risk” or “A reaction to the identified substance has been clinically reassessed by testing or re-exposure and is considered no longer to be present…”.

  10. It’s interesting to contrast the above with the slide deck (slides 23–24) where allergies and adverse reactions are discussed. There are four mandatory elements apart from the patient: the substance, a ‘propensity type code’, a ‘propensity agent category code’, and a date (which is confusingly labelled as ‘optional’, despite also being ‘mandatory’).

Well, there goes international harmonisation. But I have bigger fish to fry.

What should be in the core?
Quite apart from the seeming lack of international harmonisation apparent from the above, there are several issues with the specification. The fundamental question here is:

As a clinician, what do I need in order to make a well-reasoned decision?

I’d suggest that for each data element I’m presented with, I need sufficient information that is also trustworthy. If I’m given untrustworthy data about say “penicillin allergy” then I may kill the patient (the anaphylaxis was falsely flagged as ‘resolved’) or give suboptimal therapy (the patient is no longer allergic to penicillin, which I avoided inappropriately). I’d also prefer not to be confused by irrelevant or conflicting detail.

In other words, core components of a penicillin allergy include not just a substance and an (optional!) certainty, but also the nature, severity, precisely who made the assertion, and their basis for making the assertion. I’d suggest that for any clinical datum, we need:

  1. The nature of the condition (What’s the problem?)
  2. Its severity (How bad is it?)
  3. Associated meta-data: Who made the assertion? Where? When? (Can I trust the source?)
  4. How sure were they? Why?
  5. How is this datum (a) supported and (b) disputed?

As I’ve already noted, partial or untrustworthy data may mislead the clinician and cause harm.

Implications—and a deeper dive
The above analysis has substantial implications for the entire project of establishing a patient summary. These are:

  • A summary must adequately represent each of the core data elements it contains.
  • All clinical data elements share a lot in common.
  • Failure to accommodate these two points invites harm to patients.

With this in mind, let’s move to the NZ FHIR “Sandbox” that is intended to demonstrate implementation of such a clinical record. I’ll start with the Allergy/Intolerance specification.

The resource appears fairly comprehensive in what it describes: an identifier, clinicalStatus, verificationStatus, type, category, criticality, code, patient, encounter, onset, recordedDate, recorder, asserter, lastOccurrence, note and reaction. Of substantial clinical relevance is the primary source of the information (asserter), our old friends ClinicalStatus (active|inactive|resolved) and verificationStatus (unconfirmed, confirmed, refuted, entered-in-error), type (allergy or intolerance) and ‘criticality’ (low, high or unable-to-assess) and a SNOMED CT code that references the substance. The reaction field is complex, again representing the substance, one or more manifestations each in turn with an AllergyIntoleranceReactionGpsUvIps field that seems constrained to one of 24 possible reactions, and a severity (mild, moderate or severe).

How does this gel with my stated requirement above? Let’s say it again:

As a clinician, what do I need in order to make a well-reasoned decision?

I seem able to describe e.g. a severe (life-threatening?) allergic reaction to penicillin on a specific date and code this as anaphylaxis [disorder]. It seems feasible for me to identify other individuals who have similarly coded such a reaction. There is also however a fair bit of incoherence here:

  • We have both ‘criticality’ (low|high|?) and ‘severity’ (mild|moderate|severe). Oh! One refers to specific incidents, the other is ‘overall’. But how do we compose this?
  • We have a number of fields that seem redundant. If I know the nature of the substance, then why do I also require an AllergyIntoleranceCategory?
  • What if, as often happens, I’m unsure which box to check ‘allergy’ or ‘intolerance’?
  • What if my reaction doesn’t fit into the 24 pre-coded options?
  • The 24 options are also incoherent. They are a heady mix of patient-reported symptoms (‘tight chest’), clinical findings (‘bronchospasm’), diagnostic labels (‘Stevens-Johnson syndrome’, ‘vasculitis’) and clinical syndromes (‘anaphylaxis’).
  • Specifically, features such as urticaria, bronchospasm and hypotension (Oops! No hypotension!!) are features of anaphylaxis. And why do we have ‘Weal’ and ‘Urticaria’ specified separately?

This taxonomic nightmare has two main implications:

  1. Coding will be incoherent and incomplete
  2. Clinicians will be confused.

It may be possible to tease out reason from the structure—but why not make a more well-reasoned structure in the first place?

A well-reasoned alternative
It’s easy to criticise, but for any criticism to be of value, it needs to supply a solid alternative. I could in fact delve even deeper into a multitude of other issues with the NZIPS proposal—but many of the issues are encapsulated above. For example, the section on PROBLEMS (slides 19–20) highlights many of the ‘Allergy/ADR’ issues already discussed. Instead, let’s look at two things, first, a deeper underlying issue, and then a solution.

The core of the deeper issue can be concisely stated as follows:

The message is not the data model.

In other words, it is inappropriate to equate “a set of messages” with “a comprehensive data model”. FHIR seems deliberately ambiguous about this. The documentation states:

The philosophy behind FHIR is to build a base set of resources that, either by themselves or when combined, satisfy the majority of common use cases. FHIR resources aim to define the information contents and structure for the core information set that is shared by most implementations.

On the one hand, FHIR can be seen as a wrapper for HL7 v3 and its reference information model; but the above ‘pragmatic’ statement deliberately shies away from an underlying data model. Nope, it’s just a set of resources. (Perhaps to skirt around the failure of HL7 v3 owing to issues of complexity?)

This observation cuts to the heart of the problem with the NZIPS specification. Implicit in the entire document is the assumption that the FHIR ‘model’ (a messaging model) somehow specifies the data model—without a model ever being apparent! And the use of ‘FHIR’ to ‘glue’ disparate databases together (however basic or sophisticated this is) also seems to fly in the face of it representing a data model. It’s just ‘resources’.

It is correct that there must be ‘impedance matching’—the messaging system must be adequate to convey information without data loss or colouration—and the databases or other communicating entities must have adequate internal representation of data on both ends, or information will be lost. There is also potentially a ‘lowest common denominator’ problem here.

But tacitly assuming that a messaging model defines the data model is wrong in several ways. Let’s look at what a data model requires:

  1. It should be normalized. In the 1970s Codd originated data normalization, epitomised in third normal form. Although subsequent attempts have been made to formalise ‘NoSQL’, these tend not to last (cf. Hadoop’s current issues) and when properly implemented, are still built around relational models with subsequent, careful denormalisation. A corollary of the normalization is that the sort of redundant/conflicting design we’ve explored above should be prevented.

  2. It should be contextually relevant. There are often several ways that a relational structure can be built, but failure to understand the context will result in inefficiencies that are often order-of-magnitude (or greater) problems.

  3. It should be representationally adequate. I’ve already described several key features of scientific medicine above—including the ability to make, test and provisionally accept hypotheses, with a clear representation of provenance. A large part of this embodies causal assertions, and their testing. I have struggled to find even a hint of this in the FHIR model—and no wonder. It’s just messaging, at the end of the day. But it’s extremely complex messaging.

  4. It must be amenable to extension, while maintaining backward compatibility—but if the design is solid, this should almost never be required. Tacking on a table or even revising a structural component is usually an admission that the basic design was bad. The bones must be solid. (This is a huge issue with hierarchical structures that is often brushed under the carpet—similar to the way FHIR invokes its 80/20 rule).

It can be debated at length whether FHIR is up to its task—as a messaging protocol.

What it is not is a data* model. And it is extremely silly to try to amalgamate a lot of complex messages into something that behaves like a data model.† Yet this seems to be the intention on which NZIPS is predicated.

There is thus a huge hole here. What is needed is a specification of the underlying data structures that “can be messaged between”. A subsidiary requirement is then to determine whether FHIR is up to the task.

Without such a data model—which I must again emphasise, is distinct from a messaging model, however complex the latter might be—it is unreasonable to expect any such attempts to add much value. It is likely that they will harm clinical medicine, especially in the long term.

What should this model look like then?

I’ve already mentioned core components above, emphasising a normalized relational structure, with unambiguous representation of clinical reasoning and uncertainty—with built in causal inference. The ‘core’ should be adequate in terms of the who, what, where, when, why and how of crucial data elements, rather than butchering or mutilating these.

Happy to discuss this in more detail, but I’ve already gone on too long. I haven’t even talked about how we can anticipate that Bayesian reasoning will (or should) become predominant in the next few decades—and how inadequately the FHIR model will support this. I’ve hardly touched on the “fat-tail” problem with the 80/20 rule.

Conclusion

  1. Any good standard should be well-specified and open source. This isn’t.
  2. It is unreasonable to assume that a messaging standard tacitly defines a relational data model. This puts the cart before the horse. Even more dangerous is embracing an implicit, complex and wildly denormalized ‘model’.
  3. Clinicians require clinically adequate representation of core data elements, in order to do their job. This standard doesn’t provide these.
  4. There seems to be gross dysharmony between the NZIPS and the admittedly rather vague IPS, as emphasised when comparing it with the US version.
  5. Messaging should be simple. Building baroque complexity into messaging results in a multiplicity of issues—well illustrated above.

Clinicians will bear the brunt of this inadequate enterprise.

My 2c, Dr Jo.


*† Subsequent to comments by @pkjordan, I modified the text at these two points to clarify that I’m talking about data models rather than their instantiation (2/6/2022 19:36).

Interesting feedback! Just a few comments to make about HL7 FHIR from a software architectural perspective. I’ll leave others to reply on your views about NZIPS and the HL7 International IPS Implementation Guide - particularly the clinical issues! Suffice to say that all HL7 standards - including the IPS one - are open to use under a creative commons license. ISO has a different business model.

The notion that HL7 FHIR is basically a wrapper for the HL7 v3 RIM did make me smile at the end of a long day as, in many ways, FHIR is actually the antithesis of the RIM. Furthermore, I would respectfully suggest reading the Exchange Module Page in the FHIR Specification to understand the differences between REST and messaging (http://hl7.org/fhir/exchange-module.html): they are not the same thing - certainly from a software implementation perspective.

Similarly, there is a significant difference between an Information Model (e.g. the FHIR Resource Model) as rendered into a software application object layer (automatically via open source libraries) and a relational database which is a persistence technology. Object-relational mapping (once deemed ‘the Vietnam of software development’) is now a ubiquitous feature of modern software development environments. FHIR is agnostic as to how data is persisted. I still favour relational databases and SQL, but that’s my background.

Peter J

1 Like

Hi Peter

Thanks for the feedback. Thanks also for illustrating my concerns so well:

  • I’m glad you seem to agree that FHIR is the antithesis of a coherent, overarching data model. As I said “just a set of resources”. But I think you may be being a little naĂŻve in denying the relationship between HL7 v3 and FHIR. Here’s a relevant quote from the FHIR documentation:

All data elements in HL7 v3 instances are derived from either the RIM or the ISO data types. In FHIR, this is true of most resources and data type elements, but not all. Some resources (StructureDefinition, CapabilityStatement, ValueSet, etc.) deal with content that is outside the RIM’s scope. And in a few circumstances, adjustments have been made in the FHIR data types that are not yet supported in the HL7 v3 data types model. The expectation is that these changes will be supported in the next version of the v3 data types model. The main difference is that the serialization format of FHIR is not driven by the RIM mappings. [my emphasis]

You’ll note the continued attempts to keep the two in synch: a tight binding. But not a wrapper.

  • Yes, I’ve emphasised having an underlying data model—and I’ve said this should be relational at its heart. Don’t conflate this with a relational database. (The fault may in part be mine—on two occasions my terminology was loose. I’ve flagged and fixed these in my original text).

  • I think you’ve misunderstood messaging from an informational perspective. The fact that FHIR supports both a ‘RESTful’ (CRUD) and messaging context underlines the fact that the two are functionally equivalent ways of passing information (messaging). And as you point out, the information still needs to be instantiated in an underlying data model. I’d agree that a relational model—and possibly even, ultimately a relational database—is desirable. We have some common ground :slight_smile:

The fact that object-relational mapping can be done doesn’t absolve us from getting the underlying, common relational model right; from getting everyone on the same page in this regard; or from assuming that it’s either unnecessary or implicitly well-specified.

I think it’s a mistake to assume that coherence will somehow emerge from an incoherent (and complex, and denormalized) specification—as I’ve illustrated. I think we can assume the opposite, especially from something that’s centred on “common use cases”.

But perhaps you disagree?

Regards, Dr Jo.

I’m not sure of the source of that quote about the RIM, the link points to a HiNZ page. My understanding is that HL7 International has decided not to make any further changes to the V3 data types and the RIM - but happy to be corrected if that’s not the case. FHIR’s scope, as a platform specification for creating RESTful APIs, is far broader than the RIM - for example it contains conformance, terminology, security and other foundational resources.

REST and messaging are functionally different; the former contains HTTP Command Verbs that instruct a server how to process resources, the later doesn’t and serves different use cases as explained in the FHIR Exchange Model Page. REST is used ubiquitously to push and pull data in web apps.

FHIR’s worldwide success is predicated on its use of internet standards and an information model that is actually implementable by software developers. Any standard that is not attractive to, and adopted by, a broad implementation community is doomed to failure, however much it’s loved by purists.

As for something that’s incoherent, complex and centred on ‘common use cases’…I wonder what that reminds me of? :slight_smile:

Peter J

1 Like

Peter,

The q_ote* is present in the current version (4.3.0) https://hl7.org/fhir/comparison-v3.html and the Release 5 preview 3: http://hl7.org/fhir/2020Sep/comparison-v3.html. Perhaps it’s just an oversight or error on the part of HL7?

I agree that unpopular and afunctional constructs are doomed. Conversely, I’m not sure that popularity is necessarily a good measure of whether something is suitable (or indeed health-promoting), especially in the longer term. Cigarettes were once hugely popular—and even promoted by doctors.

J.


* Isn’t it interesting that if I type the word quote in this forum, for some reason the software forces a gratuitous link? The hazards of very very very friendly software. Markdown, markdown, markdown. Discourse, discourse, discourse. Quote, quote, quote (Now how did I do that?† We live and learn.)

† Breaking with a <span> tag.

1 Like

Yup, the auto-linking is my doing in order to bring attention to the quoting functionality of Discourse. If it gets annoying it can be easily turned off - but I do need a better way to encourage people to quote effectively! Open to suggestions on this front.

Click here to reveal a list of the words that are automatically 'linkified' on the eHealth Forum

Jo, I’m checking this with HL7 International’s Chief Standards Development Officer and will post the official line following the organisation’s recent re-envisioning exercise.

Standards require widespread adoption to be effective, therefore there is a utilitarian aspect to this (i.e. ‘the greatest happiness for the greatest number’). All indications are that the Global IPS, and local derivations such as NZIPS, will prove to be widely supported; hopefully without any government health warnings.

1 Like

Hello @DrJo ,

Firstly, I was impressed by the level off detail in your critique of the standard for review, especially by the use of examples and further reading to illustrate your points. I thought to myself “here’s someone whose attention to detail and clinical semantics would be great on a standards authoring committee”.

I too noticed some semantic fuzziness and redundancy issues in Allergy/Intolerance when I was translating the FHIR Structure Definition into our S23M graph-and-category-theory-based language - MODA, from which we derived our implementation in a low code SaaS platform (which optimises the database layer automatically - more on that below).

I asked the question in an interactive briefing on the NZIPS draft about where the rest of the model (including cardinalities) was being stored, and I was told to think of the current state as more like an incomplete set of requirements for NZ-specific IPS, with a lot of detail to be added when it is formally modelled (almost certainly in FHIR as Profiles and Implementation Guides using StructureDefinitions). I think you were expecting something much further down the process path.

@pkjordan has very clearly explained how the HL7 intent/aspiration to align V3 with FHIR is out of date, but I wanted to clear up another issue you raised, which you and Peter did not align on, and which I have spent much of my research career thinking about, and implementing versions of: the difference between what you call a Relational Model and the design of specific SQL Database. You are correct that Object-Oriented (and FHIR Structure) Models are “denormalised” but what I think you require from a “logical model” of a health concept is not normalisation, but semantic grouping. Normalisation is usually the last part of the design of a database, and it is usually preceded by using a design language such as Entity Relationship Models (ERM), or it’s hybrid OO cousin, Object Role Models (ORM) [ Terry Halpin et al]. Methodologies using ER typically had 2 or 3 levels of ER diagrams, with a Logical Model closest to the domain modeller, and an Implementation Model closest to the database optimiser, who would analyse how many joins needed to be made as a tradeoff against how much redundant data would be stored - typically resulting in a 3rd Normal Form, Boyce Codd Normal or 4th Normal Form implementation (or even the contentious “optimal normal form” proposed by Nijssen that resulted from applying his NIAM normalisation methodology). The Implentation model was designed purely for space/computation tradeoffs, and still respected the semantics of the Logical Model, and retained referential integrity and cardinality constraints. (I put these things in the past tense, as table designs are most often derived algoithmically now). In good implementations, a data structure is returned to the domain programmer to represent a logical concept without them having to know the actual table structure or write the SQL queries. This is now what is achieved by good Object Relational Mapping engines*, returning a programming language object (with links to relevant subservient [technical] objects as instances, and also links to related semantic objects - perhaps to be retrieved on demand) to the programmer. It is also what the FHIR Resource based model is intended to do - nominate a semantic concept that needs to be created/stored/transmitted as a whole tree (with References to make them able to represent directed graphs).

* naive object relational mappings can also be found, and can result not only in poor performance of a database, but also loss of integrity of the instances of the OO model.

In short: I suggest you don’t think too hard about normalisation, as being a clinical modeller you are likely to impact on the performance of your database layer in unintended ways. The choice of formalism in which to represent your clinical models should be one that is concerned about the clear delineation of semantic concepts about healthcare, and you have demonstrated that you know exactly what information and context you expect to be available in a model. Each layer of complexity above and beyond Entities, Attributes and Relationships – such as inheritance/polymorphism in OO, or the multiple extension and restriction mechanisms in FHIR, requires a greater level of care in modelling so as not to render instances incompatible with localised variations, or version-based change. Right now there are some incompatible styles of FHIR extensions being used in some jurisdictions/vendor implementations, and a style guide, set of best practices, etc is sorely needed to avoid some of the problems you identified in your original critique. And FHIR Implementation Guide Authors are thinking about this, and making efforts to create international harmony between shared international base specifications. FHIR – being an open standard, and having good international cooperation, and strong thought-leaders has a chance of doing this, but also many risks, due to the power and range of the Structure Definition’s extension and constraint mechanisms.

best regards,
Keith

1 Like

Thanks for the detailed response @DrJo. I can take the above verbatim into public comment evaluation with the expert advisory group, if you like. Closing date is 2022-07-07T12:00:00Z

You seem to have a good discussion going with @pkjordan and now @keithduddy about the FHIR aspects. All I would say for now is that the NZIPS data set specification (expressed in the slide deck) is meant to set requirements for producing an NZIPS FHIR Implementation Guide as opposed to being driven by the FHIR resource model. In the words of the document, ‘It sets parameters for a New Zealand rendering of the international HL7 FHIR IPS Implementation Guide’. @keithduddy has just made a similar point in his post

The middle section on the clinician’s viewpoint, especially around allergies, would be good to cycle through Hira’s clinical reference group led by @BeckyGeorge

Without prejudicing what the EAG may eventually decide, I can make an answer to some of your opening points

Certainly an irritation but we can’t do without ISO standards. As some remedy, I’d like to get a subscription to a basket of the most useful ISO and AS/NZS standards for all HNZ/MHAers at least

We chose to present this as a slide deck, but the end result might simply be published as a set of web pages

Perhaps ‘patient summary’ could be emphasised to avoid overstating the communication bit, because no IPS derivative could pretend to be a full EHR

Points 7-10 relating to the FHIR IPS IG can be followed up

Thanks @alastairk, I would appreciate your taking it into the public comment evaluation.

Thank you too for your useful comments. I still need to think through @keithduddy’s well-considered and insightful response before I reply to him, as there’s a lot to cover.

Kindest regards, Dr Jo.

Dear Keith

Reading through your excellent response, it seems to me that I have quite failed to explain where I’m coming from. Allow me to expand—and explain. This will take a few pages.

My perspective is not primarily as a ‘clinical modeller’. What really jabs my buttons is quality improvement in medicine—topics like Deming’s philosophy, statistical process control and optimal clinical decision making—and how these relate to the design and subsequent utilisation of data structures.

Although I might lay claim to a smidgen of domain expertise related to say allergies, having on occasion in the past run the Anaesthetic Allergy Clinic at my hospital, and having published a fairly well-regarded paper on this topic (https://pubmed.ncbi.nlm.nih.gov/25405395/) my example was meant to be illustrative of bigger issues. Don’t rush off and fix the representational issues (symptoms) there and consider the problem (disease) solved! My real interest is in deeper, more looming issues.

Three examples

Let me labour the point with not one but three sketches:

  1. Let’s say you’re re-designing a city, perhaps after a large earthquake. Would you let each quarter / borough / suburb “merely get on with it” without some overall plan related to reticulation, roading, mass transport, “how the city will look and feel” and so on? (If I were cruel I might contrast Christchurch and Napier here).
  2. If you were engaging in a military exercise as a leader, no matter how devolved your command structure, would you provide the divisions under your command with a set of highly structured communication protocols—and no other guidance or overall strategy?
  3. If you were in charge of a fairly large programming task, say in the order of 100,000 lines of C++ or Java, would you just let various teams “get on with it” after handing out (say) a set of structured protocols for communication between modules, or would you create a carefully considered overall design strategy (etc)?

Yet, I’d suggest, the anticipation in our “federation of software” that is meant to advance New Zealand’s health information technology well into the 21st century is predicated on lack of an overall design strategy. I cannot of course allege this, without (i) explaining why we need a strategy, at least more precisely than the analogies I’ve provided; and (ii) hinting what this strategy might be. Let’s try this.

Good Medicine

In my original post, I sketched out a working model of medical science. This is how good doctors do medicine—create models (hypotheses) that explain problems; test these adequately; and then provisionally accept successful hypotheses. There is never absolute certainty in medicine. For example, if we think there is a small-to-moderate possibility of a pulmonary embolus to explain breathlessness, we might do a D-dimer, and if this is negative, exclude that possible diagnosis and pursue another explanation. Perhaps the symmetrical foot swelling and soft third heart sound suggest a better explanation? But the BNP is 20. What now?

This example hints at two concepts that good doctors already use intuitively—but that are coming more into the mainstream as we computerise medicine. The concepts are first the use of Bayesian inference (we take our prior odds of the condition and modify these using the likelihood ratio associated with the outcome of a test to obtain posterior odds), and second, our staple of causal inference.

This in turn cuts to the heart of the problem where we have ‘tactics’ but no strategy. If we haven’t laid out the broad plan for our enterprise—be it a battle or city planning or a large programming task—it seems a bit unreasonable to expect everything to come together. Once you apply such concepts to the example of specifying “communication templates” like FHIR—without any guidance or constraints on what’s needed for the underlying data representation—it should be clear that you have several problems.

But let me flesh this out, using what we have. I’ll take the Bayesian example first. As far as I’m aware, there is nothing built into FHIR that allows someone to make a statement like “I think there’s a 95% chance that this patient’s neurological findings represent multiple sclerosis”, or “I think the prior probability that the exertional chest discomfort is related to unstable coronary arterial plaque is about 60%”. There are also no constrains on or even guidelines for those making an underlying data structure (possibly a relational database) that hints at what needs to be represented there.

Some will of course assert that this is “luxury medicine”, “pie in the sky”, or “nice to have but impractical”. Nothing could be further from the truth. This is the bare bones, without which any attempts to computerise merely crystallize our current dysfunction in silicon.

But let’s say a designer is smart and up to date, has done her homework, and realises the ever-increasing influence of Bayesian inference on medical decision making. She structures the decision-related components of her database around this. Then she comes to communicate the vital prior to another system written by a like-minded database designer. She tries this using FHIR.

Oops! Impedance mismatch!

The FHIR ‘solution’ here is perhaps to make an extension. But that extension needs to apply to every decision! Double oops. There’s a whole level of representation that is not supported.

Let’s look at another such example. Someone comes in in heart failure, which I diagnose. I justify this diagnosis by associating the clinical symptoms (say ankle swelling, impaired effort tolerance and orthopnoea), clinical findings (pedal oedema, basal crackles and a third heart sound) with findings on investigation (say interstitial oedema, or perhaps a raised BNP). I then ask “Why?” and realise that the patient has long-standing, poorly controlled high blood pressure. I also notice that there are casts and red cells in the urine, and determine that the likely cause of the high blood pressure is glomerulonephritis. I then seek a cause for the chronic glomerulonephritis.

Again, I might have built the capability to represent this causal chain (and even the likelihoods and evidence) within my database. But how do I transmit this using FHIR? Um. (There’s yet another problem here of how you say “I did this because …” but I won’t explore it here).

It’s quite important to point out that there are two main issues here. The lesser issue is the inadequacy of FHIR to represent the above patterns of clinical inference. This is compounded with the realisation that this is a systemic issue that demands huge revision—almost a philosophical shift from a paradigm of passive observations to an instantiation of the do calculus of Judaea Pearl.

The bigger issue is that everybody is doing their own thing at a database level—because there is no larger, strategic picture. At least, none that I’m aware of. Each brigadier is orchestrating his own attack; each suburb or precinct is deciding independently on things like water reticulation, electricity supply and housing density; each group is programming independently and hoping that their module will interface (using the provided communication structure) with the other modules, based on some rather vague hints.

As I see things, this is made worse because there is pretty much nothing in FHIR that is mandatory. ( I can expand on this point if needed).

More concerns

I must be honest here. I felt that Peter’s response had a distinct flavour of “don’t worry your tiny little head over this”. I think that your comment is much more balanced:

FHIR – being an open standard, and having good international cooperation, and strong thought-leaders has a chance of doing this, but also many risks, due to the power and range of the Structure Definition’s extension and constraint mechanisms.

I’m nevertheless still worried that the problem is far bigger than you’ve suggested—and runs a lot deeper. I get the overall impression that the feeling both in FHIR globally and in the NZ approach to healthcare IT strategy is “She’ll be right”.

Perhaps I’m completely deluded? But if you don’t mind, I’d like to flesh out these concerns in a little more detail. I think that if anything that you understate the problem when you say:

Each layer of complexity above and beyond Entities, Attributes and Relationships – such as inheritance/polymorphism in OO, or the multiple extension and restriction mechanisms in FHIR, requires a greater level of care in modelling so as not to render instances incompatible with localised variations, or version-based change. Right now there are some incompatible styles of FHIR extensions being used in some jurisdictions/vendor implementations, and a style guide, set of best practices, etc is sorely needed to avoid some of the problems you identified in your original critique. And FHIR Implementation Guide Authors are thinking about this, and making efforts to create international harmony between shared international base specifications.

A convenient punchbag

First, I absolutely agree that mapping between a hierarchical ‘ontological’ structure and a relational one is fraught. In the following few paragraphs, I’m going to use SNOMED CT as my punchbag (it presents such a large target) but please note that this usage is just an illustration of broader conceptual issues—mapping and different ways of representing things. As with the allergies, I’m not asking for it to be fixed. And it’s not even the biggest problem.

An obvious problem arises where an ontology is “just plain wrong”—for example, when I last checked, SNOMED CT classified eagles as a type of stork! Concepts like “entire psyche” or “ergot of leg” make no sense as anatomical terms, and there is no anatomic or physiological basis for encoding ear lobe acupuncture points as ‘anatomical structures’, either. There may also be missing elements in the ontology—returning to our eagles, SNOMED CT has a rather arbitrary choice of which eagles it represents (Don’t ask why. Why does it even have eagles?) But other issues are more subtle:

  1. The rules may change over time. This may be relatively trivial (for example renaming Pneumocystis carinii to P. jiroveci), slightly more impactful (Deciding that P. jiroveci is not a parasite, but a fungus—it thus needs to be renamed P. jirovecii and moved to a completely different section of the tree), or completely upsetting the applecart (Deciding that all of the Archaea constitute an entirely new Domain of organisms, and thus splitting the base of the tree of life into three. Or four. Or six. Or superkingdoms. Whatever.)
  2. The entire structure may have to change even more dramatically at many points (more of this later).
  3. A wild proliferation of terms is common.

Let’s pick up on this last point. You don’t have to be a fan of Steve Yegge’s Execution in the Kingdom of the Nouns (http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html) to realise that tree-like structures that are made up principally of nouns tend to be bulky. There are good reasons for this.

If we go back to the original SNOMED (not CT) it had multiple dimensions. This allows for a convenient if naïve plotting of items in an eleven-dimensional space: anatomy, morphology, living organisms, drugs, signs/symptoms, occupation, diagnoses, procedures, physical agents (etc), social context and general qualifiers. This is also fairly easily represented in a relational manner, with a small number of tables, each with a moderate number of entries. It’s obvious that if this is to be faithfully translated into all the possible combinations, the number of terms rapidly becomes silly, so those making the translation are forced to make trade-offs.

I have a convenient (if older) version of SNOMED CT with a terms table that contains ~1.3 million terms. The average length of a term description is just under 37 characters, itself quite intimidating. If I say:

select conceptId, term from terms where term like ‘Inpatient stay%’;

… then I obtain individual codes that reference lengths of stay from 1–14 days, but if I want to code say 15 days, I can do this with a code for “> 12 hours”, “Length of stay NOS”, or possibly “Length of stay” with no qualifier—and some sort of custom code or post-coordination. But even these issues, despite the bulk and invitations to mis-coding, are relatively trivial.

Slightly more worrying is the case where I want to precisely code the anatomical location of, say, tuberculosis. There’s a code for tuberculosis of the thoracic spine—but if I want to code that it involves T11 and T12 (TB spine is often a two-body disease) I again need some sort of post-coordination, or hack. But much more concerning is where a new disease comes along. Let’s take COVID-19, which can affect pretty much every organ system. Do we introduce codes for “SARS-CoV-2 infection” involving pretty much everything, or do we make it up as we go along, or do we pick and choose, or do we initially post-coordinate and later fix up? Or what?

In summary, ontological constructs invite huge complexity, compromise fidelity of representation, and invite in synonyms and arbitrary compensation for their holes. They are inflexible in the face of change.

Change in Medicine

The same problems tend to afflict all ontologies—including the ontological construct that is FHIR. You’ve touched on this slightly by mentioning “localised variations, or version-based change” but those not steeped in medicine over many years often don’t realise how much it mutates over time. This is not just adding of new terms or even new groups of terms. It can involve adding whole new branches of medicine, or profound structural change in entire disciplines. Neurologists may find themselves having to accommodate their entire system to an avalanche of clot retrievals, to name but one example. Other areas can be downsized and retired rather suddenly—when I was a house officer, gastrectomies were still by far the commonest upper GI surgery, as peptic ulcer disease was thought to be caused by acid and not Helicobacter pylori. Now we treat stomach ulcers with antibiotics.

In other words, in trying to map between tree-structures (even those without multiple inheritance, which we might discuss separately) and relational structures, there are not just issues with adequacy of representation, but also with a continually changing target—and one that potentially will result in entire branches of the tree being restructured continually.

If complex ontologies aren’t restructured, then the representational adequacy of the entire structure will erode over time. And the more complex they are, the more likely this revision will be required. Because FHIR tries to cover (at least, in the 80/20 context) vast areas of clinical medicine, it’s even more prone to require extensive revision than something like my example of SNOMED CT. (Let’s not even mention that ‘fat tail’ ).

How do we fix this?

To me, the rational solution here is threefold: (1) Use a fundamentally relational design at a system-wide level (specifying a simple model that is provided to all players—even if it’s “just” a model of how to do things) to accommodate the high dimensionality—and if you get this right, you will almost never have to alter your structures, as the ‘language’ embodied in the structure is relationally capable of dealing with not just new nouns and their relationships, but also new processes and their relationships—and so on; (2) Exclude complex hierarchies from this design as even if they seem ‘right’, they will be forced to change and become more bulky; and (3) design your messaging around the first two points, rather than hoping against hope that the former two will emerge from the complex ontological design of what are, at the end of the day, messaging structures (And heaven help you if there’s multiple inheritance).*

But even these issues are just part of the problem! In computerising medicine, we are trying to do two things. First, we are trying to introduce efficiencies (as yet largely unrealised) by replacing artisanal, manual methods with a largely computerised workflow (The cautionary tale of Sellen & Harper’s The Myth of the Paperless Office should always be in the front of our minds here). Second, we are trying to improve medicine—often using revolutionary changes that may not be that well thought out. There are two issues with revolutionary change: clinicians often struggle with it, and by its nature it tends to break inflexible things. ‘Revolutions’ work better when everyone was heading in that direction, anyway, or the benefits are trivially obvious. Medicine is in any case generally strongly wedded to traditional structures.

A holographic view

At this point, it may seem that I’m taking a clinician-based stance against the (possibly) evil forces of encroaching computerisation. Nothing could be further from the truth. In fact, it seems to me that if anything, clinicians and IT experts are collaborating in allowing a dysfunctional computerised system to accrete (But, after all, Larry Weed said this in 1968). I see computerisation as the next logical step if we are to institute continuous quality improvement—but we need to do things right. (For fifty years, Weed tried to fix things, and failed because he had the wrong base model. The one currently being tacitly implemented?)

Every time I see a group of clinicians asserting that they are somehow uniquely special, and deserve their own computerised registry, or record-keeping system, or set of protocols or whatever, I die a little more internally. Similarly, I look at things like the design of Allergies/Intolerances and feel the same sense of attrition.

As clinicians, we’ve broken up the patient into disciplines. This is particularly dysfunctional when it comes to patients who have multi-system disease, and each doctor focuses on “their” part of the problem. But equally dysfunctional—as an evil complement—is to break up the patient using software constructs. Referring back to that Allergies/Intolerance construct, what I see is that an allergy is just one of many instances of a problem. It can be represented as such. An added benefit is that if you have a generic model of how problems are addressed in software, you don’t reify ‘Allergy’ in terms of a complex ontological construct. So when things change, minimal or no revision is required other than perhaps a few entries in an existing table or two.

Things don’t have to be extremely complex.

You won’t get a functioning system if you build it around the hope that a rather complex set of structures intended for messaging (even in the broadest sense) will somehow accrete into a functional system—especially if this has obvious deficiencies like those I pointed out at the start. This will work even less well if it impinges on clinicians’ behaviour and makes them depressed, less efficient and increasingly wedded to their computer console (as we’ve seen in the USA following HITECH). A different approach is needed.

In contrast, I think a reasonable starting point is to create a solid, relatively simple, shared design. I believe that doing so is non-trivial, but that it can be done. I’m happy to sketch out a relational model that can serve as such a basis, if anyone is interested. If nothing else, it can be used as starting point for vigorous criticism. Then only should messaging even be discussed.

Perhaps everyone will disagree. But then I need do no more than point at the existing complexity and incoherence at all levels.

You can try to fix each instance, but this is still just ‘symptomatic treatment’.

Anyway, that’s how I see things.

My 2c, Dr Jo.


* The exact antithesis of my solution would of course be to trust that your ontological structure (embodied in FHIR) contains the ‘right information’, and create your ‘database’ as a light wrapper around the FHIR structures (perhaps represented as XML), hoping like hell that your semantic engine can pull what you need out of this. But nobody would be that daft, would they?