Deduplicating Patient Summaries

The International Patient Summary (IPS) is the to-go exchange format for cross-border patient care – and a growing inspiration for in-country data exchange as well. The IPS is a document containing a summary of the most essential healthcare data.

There is, however, a problem with the idea of a Patient Summary to be exchanged internationally – most patients do not have such a single PS in their own country. Most often their data resides with several healthcare organizations – a GP, some pharmacists, one or more hospitals and so on. So how should a single IPS be generated from separate data sources? Here is a take a the problem based on the Dutch proposals (not final yet).

For this discussion I’ll take the IPS FHIR format as starting point – so I’ll assume the various data holders will generate an PS per data source in the IPS FHIR format, and those PSes are consolidated into a single IPS. This should not be a problem when all data sources only store their “own” data, but this is normally not the case. Data is more often than not copied between healthcare organizations, and the resulting IPS would contain a lot of duplicate information.

When not to dedup

For a lot of data, we choose not to deduplicate at all. For patient demographics, healthcare providers in the Netherlands use a single source (SBV-Z), and they do not usually copy addresses etc. between them – they just access the single source. Likewise, for patient data not in the single source, such as email address or mobile phone of first contact, deduplicating is not worth the effort. Ever been to a hospital? They usually ask if your first contact, email etc. is still correct anyway, so why deduplicate when data is checked anyway?

In other cases deduplication may not be worth the effort: we’ll check sections in detail below.

How to deduplicate

One approach to deduplicating FHIR resources is simply comparing the entire resources. This, however is hard. In XML, attribute order may be different but the resources may still be the same. In JSON, objects need not be in the same order at all. On top of that comes non-significant whitespace and other problems such as character encoding – the same issues that make electronic signatures on XML or JSON data a non-trivial effort. To sum up: comparing raw resources may not be impossible, but is far from ideal. Of course for those who want to this and do have a rigid algorithm for raw resource comparison, deduplication is allowed: if resources are the same on this level, they are true duplicates. I will however explore a higher level approach here.

True copies

There are other ways to find out whether resources are the same or not. On a FHIR server, this is not a problem. Any resource will look like this: [base]/[resourcetype]/[id], and it will yield a single resource – and adding a version id retrieves a specific version of it. The IPS however is a FHIR document, and things are more complicated. The id, to start with, cannot be expected to be unique in a FHIR Document: it is only so on a FHIR server. (If the meta.source element is included in the resource, meta.source+id might suffice to establish resource identity – but discussions on Zulip indicate that meta.source is not very strictly defined, so without further agreements this is not a very reliable approach.)

Photo by Jan Antonin Kolar on Unsplash

Looking at the actual international examples of the IPS from various countries, the meta element is not often populated. Within an ecosystem with tightly defined rules, the various items in meta could in principle be used to deduplicate resources in a FHIR document, but such an ecosystem is not in place internationally.

Relevant resources may have an identifier (a business identifier, such as social security number for a Patient). This should be globally unique, due to the system namespace. If we find two resources with the same identifier, they will represent the same entity, but maybe not the same version of that entity. The main question then is: what entities change over time, and may have separate versions, and which do not? (In FHIR, in theory any resource can have versions but in practice a lot won’t change over time.) Unfortunately an identifier by itself won’t indicate version information.

Last there is the Provenance resource, which could be the best solution, but in none of the IPS examples there are Provenance resources (unsurprisingly, since the IPS says nothing on Provenance), and this would require an ecosystem with even tighter rules. To sum up: there is no foolproof way (yet) in an international context to establish whether two resources are same or not, and certainly not which is the latest version.

Luckily in practice the situation is not always as dire as this paragraph might suggest.

Regarding Observations

For Observations there usually is no real need to deduplicate. First, duplicates for Observations should be rarer than for some other FHIR resources. A measurement such a body temperature or a lab result is usually done at one place at some specific time, and though doctors will want to see previous results, they may not always need to store those in their own EHR.

Second, if there are duplicates, this is usually not much of a problem. If there is an entry of my Body Weight stating that I weigh 79 kilograms on January 4, 2024, 09:57, and there is a second entry stating the same, if I plot the two, the points on the plot will be indiscernible. Likewise, if they are in a date-ordered table, no doctor will get confused. Of course, if one entry states that I weigh 79 kilograms and the second that it’s 89 kilograms on exactly the same datetime, there is a problem, but such data corruption problems would need to be addressed by humans anyway, not machines. On other words: don’t deduplicate, leave as is or just mark apparent conflicts.

The same applies to the Results section comprising lab, pathology, radiology and other Observations. In theory a lab result can change, but he IPS (and our Dutch PS) restricts lab results to only final results – so if there are duplicates (the same code and value on the same datetime), this should not be much of a problem. Of course the UI rendering the IPS can do something about duplicate results, i.e. plot on a single plot, or indent or shade apparent copies.

Guideline: do not bother to deduplicate Observations, except when they are known to be true copies

The same reasoning would apply to (most of) the Diagnostic Results, Vital Signs, Pregnancy, Social History and Functional Status sections of the IPS.

Conditions et cetera

The problem list is one of the main suspects for duplicated data. Doctors will want to see a patient’s current and past problems, and quite often some or most of this list will come from other sources – that means, duplicates from elsewhere. In the Netherlands entries from the problem list of one’s GP usually float around everywhere, and since the list can be long, this is a real problem. Doctors do not want to fish in a large pond of duplicated data to find out what the problems of a patient are.

Let’s look at some examples:

A patient has shortness of breath and goes to his GP. The GP makes a record, and since the condition is not easily diagnosed, sends the patient to a pulmonologist in a hospital, along with the record. After treatment the condition has abated and the shortness of breath is no longer an active problem. What could happen here?

Photo by National Cancer Institute on Unsplash
  • The GP could send a record with an identifier, and the hospital could copy and update this record and set it to: ‘not active’.
  • The GP could send a record with an identifier, but the hospital might only consult that, make its own record with its own identifier, and set that record to: ‘not active’.
  • Or the GP could send a record without a proper identifier, and force the hospital to make its own record.
  • The GP could code the condition as Dyspnea (Snomed: 267036007) and the hospital might retain that code.
  • Or the hospital’s doctor might refine the code to Dyspnea on exertion (Snomed: 60845006).
  • After a year or so, the condition might recur, and the GP might set it to ‘active’ again – illustrating that the status of a condition cannot be used for establishing which instance comes first.
  • If the two doctors both conclude that the patient has Asthma (Snomed: 195967001), the patient will have one asthma (which is a non-curable disease) and not two asthmas, even when the diagnoses are apart in time.
  • Even though there is only one asthma for this patient, there can very well be multiple records, i.e. multiple FHIR Condition resources – highlighting that the Condition resource is often not really about a patient problem, but about a record of that problem.
  • But if the patient is diagnosed with Covid-19 (Snomed: 840539006), the patient might very well have had Covid twice, not once, likely indeed if the diagnoses are removed in time.

All this illustrates that with Condition there is preciously little to rely on when deduplicating. When everything is a FHIR server, with support for updates, changing an existing record is not much of a problem: send an update or patch to the server which hosts the resource. (Of course, this assumes an ecosystem with agreements on who can update what.) But in the real world, not everything is a FHIR server with support for updates. When a PS is exchanged as a FHIR document, or retrieved with RESTful read, but without RESTful updates, one cannot update the original resource. To handle the list of possible changes to a Condition, we are considering a set of rules.

Guideline: when copying a resource, retain the original identifiers and do not change the resource.

Guideline: when changing a copied resource, issue a new identifier and discard the old ones.

The guidelines in practice mean that a resource, such as Condition, essentially becomes a doctor’s record of that Condition. If two doctors are saying something about a patient’s disorder, there will be two records. For instance, if the “Shortness of breath” problem is diagnosed by the GP as active, and later set to to not active by the pulmonologist, there will be two copies of the Condition, and another doctor receiving both should be able to see how the actual patient’s disorder has evolved over time. In the future, we might also consider relating Condition resources, enabling one to say: this record was based on that one. That also is useful when the code for the diagnosis changes, like from ‘Dyspnea’ to ‘Dyspnea on exertion’ above.

When did it happen?

Some resources have a dedicated element which indicates when a record was made or changed. As mentioned above, Observation has an effective[x] element with a datetime, period, instant etc. (There also is Observation.issued, but if we limit ourselves to Observations with status ‘final’ effective[x] seems to do.)

Condition does not have such an element. There’s recordedDate, but that is ‘Date record was first recorded’ – so that won’t change when the record is changed. There is meta.lastUpdated, but this is shaky ground. For reads on a single server, this could be useful, but if records are copied to another server, there should be a new meta.lastUpdated on the copy, even if nothing else has changed, and it’s not even clearly defined what the value of meta.lastUpdated should be in a FHIR Document: the value from the server? The moment it was written to the FHIR Document?

So for Condition and other resources there is a need for an element to capture when the record was updated. With such an ‘update time’ any PS could be rendered with possible copies grouped on Condition.code and shown in ascending time order, thus allowing the doctor to see how the Condition has changed over time – or, if wanted, simply show the last state of affairs. (We still have to decide how to register the ‘update time’ in FHIR – maybe Provenance.)


Medication in the Netherlands is handled by a separate project, and we’re moving to an ecosystem where all medication information is available to all (authorized) care providers. In theory one could go a long way with deduplication using subject, medication code and effective[x], but deduplication (especially of MedicationStatement) is error-prone and consequences of faulty deduplication can be serious. Good advice would be to always include identifiers and leave deduplication to the expert, not the machine, unless there are rigid rules on which to rely. Since we do have such an (evolving) set of rules in the Netherlands, I won’t go into details.

Other sections

For Allergies and Intolerances, the situation is similar to the Problem list, although in most cases the allergy list won’t be as long as the problem list can be, making duplicates easier to handle for humans.

Immunizations also should be of overseeable length, and grouping by code can help. Since an immunization once given should not change, deduplication on identifiers is also possible.

The entries in History of procedures should normally be past events which do not change (in some cases, the procedure could be ongoing or planned). Adding identifiers helps, and if two copies are seen, a look a status could help. Unlike Observations, the IPS does not restrict procedures to completed ones.

Medical devices such as pacemakers will carry an UDI which allows deduplication, and devices which do not, such as wheelchairs, can easily be grouped on code and should not constitute a very long list anyway.

Plan of care is often more the current plan of care. Deduplication should not be tried – if there are multiple plans, a doctor should decide what to do.

For Advance directives, the list should not be too long, and errors in deduplication are serious. So we advice not to deduplicate.


Deduplication of patient summaries is a though problem. However, when looking in detail, it often is not necessary and when it is, there are guidelines which can help a lot. One final piece of advice:

Guideline: when in doubt, let the humans decide.

From National to International Patient Summary

(Nederlandse versie hier)

At the 37th HL7 Working Group Meeting in Phoenix I participated in the FHIR Connectathon on behalf of HL7 Netherlands. My goal was to transform our Dutch National Patient Summary (Basisgegevensset Zorg, BgZ) to an International Patient Summary (IPS). I have been participating in the IPS FHIR Working Group for some time now and this was a great opportunity to see how far we are – or aren’t – apart.

The Netherlands will not be using the FHIR IPS in the near future. At the European level, the European Patient Summary in CDA has been chosen for the time being. It is very similar to the IPS, but details differ. Europe and the USA, and many other countries, agree that we should eventually migrate to one and the same standard. That will be the FHIR IPS.

The good news: creating an IPS from a BgZ is relatively simple and reasonably complete. It should be noted, of course, that there are some differences at a detailed level. Let’s do a deep dive.

The BgZ versus the IPS

The BgZ is the Dutch ‘Patient Summary’: a summary of the most relevant medical data of a patient. The BgZ is partly based on international standards such as C-CDA from the USA and the European epSOS Patient Summary. In contrast to the IPS, the BgZ is based on our Dutch HealthCare Information Models (HCIMs) that are not widely used internationally. In practice the differences are overseeable, but there are some.

Photo by National Cancer Institute on Unsplash

Internationally the world is not at a standstill either. The above-mentioned C-CDA and the epSOS PS have also been used as a starting point for the IPS. This in turn leads to differences at a detailed level – mainly improvements due to experience gained. Technically there is also a big difference: the IPS has a CDA variant but also an FHIR R4 variant. The latter does not exist for the European PS. Our national PS, the BgZ, does have an FHIR variant.

My approach

FHIR has a lot of open source software, including the HAPI server , which is also publicly accessible. For the BgZ we have a large number of HCIMs (our ‘HealthCare Information Models’) available as FHIR R4 resources. I transferred all those FHIR resources from the BgZ of an example patient to HAPI with a Python script using the FHIR update operation. HAPI checks whether the content is correct. After uploading the sample patient, the HAPI server functions as an FHIR database allowing us to query the patient data.

This is not without effort: it is not a matter of uploading and be done with. With 2 days of FHIR Connectathon and about 3 days extra effort it, I had converted our BgZ test set to an FHIR IPS that was error-free, testing with the validation software of FHIR itself. Adjustments are therefore required to the BgZ when converting it to an IPS.

How does this work

HAPI recently implemented the $summary operation: an operation which generates an IPS from the FHIR resources present on the server. The entire document structure of the IPS is created, and the textual representations of the IPS sections are also populated.

In addition to structured data, IPS sections also have a textual representation in HTML, which can be shown to the user. The available IPS viewers make use of those. After creating the patient on HAPI, the IPS can be retrieved immediately with:$summary

(The HAPI test server is regularly refreshed, so it is quite possible that this example is no longer visible. The example can also be found here .)

This IPS can be displayed directly in an IPS viewer. For those who want to replay this: click on ‘Raw JSON’ at the top of the above HAPI page. Copy the entire page. Then go to: and paste the IPS into the text box. You can then see the IPS, which has been converted from the BgZ, in the viewer. The IPS can be displayed as FHIR Entries (the structured data) or as FHIR Narrative (the HAPI-generated section texts). Here is a piece of the BgZ as it can be seen in the IPSviewer:

Another viewer is:


The structure of the IPS

The BgZ in the Netherlands is retrieved with FHIR queries. In short: you ask a source for the allergies, then the problems, then the lab results, etc. and when you are done you have a fully populated BgZ. The IPS works differently: it’s a FHIR Document, and everything is already in there. This matters if there are ‘absent’ findings, such as: there are no known allergies for this patient. In the IPS this can easily be added to the document as a special Allergy. And not only as ‘the server did not find anything’, but also as a positive statement: ‘the patient was interviewed by doctor X on date Y, and there are no known allergies’. The BgZ cannot do that so easily (this has been a known issue for some time.)

Photo by Julia Koblitz on Unsplash

The IPS – because it is a document – is also easier to store and easier to exchange across other infrastructures, such as IHE. For completeness: the query and documents approaches both have their own advantages and disadvantages.

Since the IPS is a document one can also ask a server: ‘give me an IPS’. This is called the $summary operation where the FHIR server compiles an IPS based on what is known in that server. The open source HAPI server has the $summary operation, and I used it to convert the BgZ to an IPS.

Another point is the textual representation in the IPS. A FHIR Document (just like the older standard CDA) has a textual block for each section as well as a block with structured and coded data. The textual block is HTML, and can simply be displayed in a web browser. This allows the doctor or patient to read the information, even when their application does not support the structured data. But if you only have separate FHIR resources that are retrieved with queries, you have no textual block per section at all. The HAPI server solves this by generating a text block per section. This is usually a table with the most essential information from the structured data. It works. Perhaps a locally generated text block per section would be better, but to be honest: often those text blocks are generated from the structured data anyway – in the Netherlands more often than not, I’d guess.

Extensions and the HCIMs

In the Netherlands, the HCIMs are the core of data exchange in healthcare. This is not the case in other countries. When converting HCIMs to FHIR resources, it often turns out that they don’t quite fit: for example, elements that are in the HCIM are missing from the FHIR resource. That does not have to be a very big problem: FHIR has ‘extensions’ which allow data to be added to a FHIR resource.

Take this example of our HCIM MedicalDevice:

A part of the HCIM is the laterality: left, right or both. It is not a separate item in the FHIR resource, and that is why an extension is used (in the R4 FHIR DeviceUseStatement, this would be encoded as ‘right ear’, whereas the HCIMs require ‘right’ (‘Rechts’) and ‘ear’ (‘Oor’) as separate items):

As long as we stay in the Netherlands this works fine. Only: the IPS, and other international standards, do not recognize those Dutch extensions at all. One does not see the extension at all in an international application such as the IPSviewer, and the addition ‘Right’ (‘Rechts’) disappears.

Is this bad? It depends on the extension. In some cases quite essential information is lost, in the other case one could live with it. Sometimes an extension only adds a Snomed code to an equivalent HL7 code. Another example are Dutch family names:

In the Netherlands we sometimes have a prefix with our surnames. This FHIR example renders fine in the IPSviewer:

But this is only because the entire ‘family’ string is filled with the components (‘van Putten-van der Giessen’). And this is not mandatory in the Netherlands: leaving the ‘family’ string empty and only filling the parts ‘van’, ‘Putten’ etc. is allowed. And if you only fill in those parts, but not the composite surname, it will remain empty in an IPS application. Something needs to be done to create a correct IPS: filling the composite family name if it is empty from the components. FHIR allows this, so this is just a case of having stricter national guidelines here.

There are many extensions in our Dutch FHIR resources, largely the result of the HCIMs having a different data model. While this has advantages in the Netherlands, one pays a price internationally: these extensions are lost during international exchange without additional measures.

Differences in content

The IPS and the BgZ also differ in content. To mention a few points: the BgZ has an ‘Alerts’ section, which lists matters such as MRSA infections (a bacterium that is resistant to antibiotics): important, because you don’t want such a patient in your hospital without measures. The IPS on the other hand has a ‘Pregnancy’ section which the BgZ does not have. (This would be relatively easy to add because we already have extensive standards regarding birth in the Netherlands.)

Furthermore, there is an important difference: the IPS has made a subset of Snomed (the Snomed IPS Free Set) available. Snomed CT is an international terminology system that is widely used in the Netherlands, among others, and is essential in our exchanges. Unfortunately, Snomed is not used everywhere and this is partly due to the fact that Snomed is not available for free. The Snomed IPS Free Set is free, and plays an important role in the IPS: many value lists consist of concepts from the Free Set. This has not yet been taken into account in the Dutch BgZ (and the European PS) and there are differences. It is important to always look carefully at the Free Set when making changes to terminology in the BgZ.

The differences in the value lists between the BgZ and the IPS are often not too bad. Both use 8 codes for Tobacco Use, 6 of which are the same. The HCIM has 1 more code than the IPS for the severity of an allergy. In these types of cases, a mapping can be found that can be used in the conversion without major loss of information.

There are also differences to be found at a deeper level. Both the HCIMs and the IPS have a ‘Functional or mental status’. The HCIM has chosen to implement it as an FHIR Observation. The IPS offers the choice between a FHIR Condition and or a FHIR ClinicalImpression. Naturally, it would be good for us to always look at international choices. When converting the BgZ to the IPS, the ‘Functional or mental status’ section is therefore lost. To retain this, the FHIR Observations in that section should first be converted to ClinicalImpression of Condition (note: there currently is discussion within the IPS community whether Observations should not be part of this IPS section, so maybe the issue will be resolved from the IPS side).


Photo by on Unsplash

A complicated story is medication. The BgZ has three medication HCIMs: Medication Agreement (what the doctor prescribes), Administration Agreement (precise instructions from the pharmacist) and Medication Use (what the patient actually uses). In Phoenix, I was unable to include a number of our medication resources in the IPS in such a way that no error messages occurred. Not very strange, I worked on it for a weekend and a few hours afterwards, which is not much, and with a little more time and effort one would probably make more progress. However, it’s the only section with the above ‘Functional or mental status’ which I could not fully transform.

More fundamental are the extensions in medication. In medication there is an extension for the entire dosing instruction as the text: ‘Vanaf 1 september 2012 gedurende 5 dagen 1x per dag om 8uur 40 mg (=1 st)’. There are many extensions in medication with useful information (whether it’s taken as instructed, why it is discontinued etc.). In an international application like the IPSviewer they all disappear. A narrative (text block) per medication building block also does not help much: the IPSviewer (and other applications) either show the narrative of the entire section or the recognized structured content, in which the Dutch extensions are not shown. There is still some work to be done regarding the international exchange of our medication HCIMs with the IPS. The approach: putting it all in an FHIR server and generating an IPS alone is not sufficient here. For medication it is necessary to convert Dutch resources to international resources with a piece of custom software. That in itself is not a problem, and it will be necessary in more places in the BgZ.

What about language?

As we saw above, Dutch HCIMs contain text such as: ‘Vanaf 1 september 2012 gedurende 5 dagen 1x per dag om 8uur 40 mg (=1 st)’. A doctor in France or Poland will not understand that. Much of the structured content can be translated. For example, our Dutch measurement ‘Lichaamsgewicht’ is coded with the LOINC code ‘29463-7’, and the English translation is known: ‘Body weight’. In fact, everything that is coded can in principle be translated. But the HCIMs, and therefore our BgZ, do have many plain text notes. These cannot be translated based on coding. Text translation software is ever more powerful but often still error-prone: whether automatic translation can be used depends on the use case. It will not yet be the case for surgical interventions, more so for everyday care. But even without automatic plain text translation, the IPS is a very useful overview of essential medical data in an international context.


The good news is: without too much effort, by uploading our HCIMs to a FHIR server, one can create a very decent IPS with the $summary operation from our national patient summary, the BgZ. It is certainly not perfect, and there are some corners that need to be refined. Work is still needed in particular for the Medication and Functional and mental status sections. This means that a conversion of our BgZ to an IPS with standard FHIR software, and an overseeable number of adjustments, is possible.

For the time being, it looks like we will not have to deal with this directly in the Netherlands because Europe will first connect to the somewhat older European PS that is still based on CDA. But my goal at the HL7 WGM in Phoenix was to see how far we are drifting from the final goal that Europe also wants to achieve: the IPS in FHIR. That doesn’t seem too far removed. The many Dutch extensions are a point of concern: they will not be understood internationally. There are two conceivable routes: when converting to the IPS, convert Dutch extensions – where possible – to something that is internationally understood. Or avoid these types of extensions as much as possible, at least in the BgZ. That also requires a lot of patience: this is no longer possible for our current HCIMs releases of 2017 and 2020. It should be an important point of attention in later versions of the HCIMs.

Van BasisGegevensset Zorg naar International Patient Summary

(English version here)

Op de 37e HL7 Working Group Meeting in Phoenix heb ik namens Stichting HL7 Nederland deelgenomen aan de FHIR Connectathon. Mijn doel was onze Nederlandse Basisgegevensset Zorg (BgZ) te vergelijken met de International Patient Summary (IPS). Niet alleen op functioneel niveau maar ook op het echte uitwisselformaat –de IPS in FHIR. Ik neem al enige tijd deel aan de IPS FHIR Working Group en dit was een mooie gelegenheid eens te kijken hoe ver we zijn – of niet natuurlijk.

Nederland gaat voorlopig nog geen gebruik maken van de FHIR IPS. Europees is er vooralsnog gekozen voor de Europese Patient Summary in CDA. Die lijkt veel op de IPS, maar is op details anders. Europa en de USA, en veel andere landen, zijn het er wel over eens dat we moeten op termijn migreren naar een en dezelfde standaard. Dat zal de FHIR IPS worden.

Het goede nieuws: een IPS aanmaken vanuit een BgZ is relatief eenvoudig, en redelijk compleet. Daarbij aangetekend, uiteraard, dat er op detailniveau wel de nodige verschillen zijn. Laten we eens de diepte induiken.

De BgZ versus de IPS

De BgZ is de Nederlandse “Patient Summary”: een samenvatting van de meest relevante medische gegevens van een patiënt. De BgZ is deels gebaseerd op internationale standaarden zoals C-CDA uit de USA en de Europese epSOS Patient Summary. De BgZ is in tegenstelling tot de IPS gebaseerd op Nederlandse zorginformatiebouwstenen (zibs) die internationaal niet veel gebruikt worden. In de praktijk vallen de verschillen mee, maar ze zijn er wel.

Photo by National Cancer Institute on Unsplash

Internationaal staat de wereld ook niet stil. Bovengenoemde C-CDA en de epSOS PS zijn ook gebruikt als uitgangspunt voor de IPS. Dat leidt weer tot de nodige verschillen op detailniveau – voornamelijk verbeteringen door opgedane ervaring met het gebruik. Technisch is er ook een groot verschil: de IPS kent een CDA-variant maar ook een FHIR R4 variant. Die is er voor de Europese PS niet. Onze eigen BgZ kent wel een FHIR variant.

Nictiz heeft een fit-gap analyse gemaakt van de verschillen tussen de BgZ en de Europese PS op functioneel niveau: komen data-elementen en waardenlijsten overeen of niet. Zelf wilde ik een slag dieper kijken: wat zijn de verschillen op FHIR-niveau? Waarbij aangetekend dat mijn analyse verkennend en niet uitputtend is, zoals de fit-gap analyse wel is.


FHIR kent veel open source software, waaronder de HAPI server, die ook publiek toegankelijk is. Vanuit de Nederlandse FHIR projecten hebben we al veel voorbeelden in FHIR R4. Ook voor de BgZ, waarbij van een voorbeeldpatiënt een groot aantal zibs (zorginformatiebouwstenen) beschikbaar zijn als FHIR R4 resources. Deze FHIR-zibs kun je uploaden naar een FHIR server. Ik heb alle FHIR-zibs van de BgZ van een voorbeeldpatiënt met een Python script naar HAPI overgebracht met de FHIR update operation. HAPI controleert daarbij of de inhoud deugdelijk is. Na het uploaden van de voorbeeldpatiënt functioneert de HAPI server dus als een FHIR database waarmee we de patiëntgegevens kunnen bevragen.

Zonder inspanning gaat het niet: het is geen kwestie van uploaden en klaar, Met 2 dagen FHIR Connectathon en zo’n 3 dagen eromheen had ik een BgZ testset omgezet naar een FHIR IPS die zonder errors was, testend met de validatiesoftware van FHIR zelf. Er zijn dus wel aanpassingen nodig aan de BgZ.

Intermezzo: hoe werkt het

HAPI heeft nog niet zo lang de $summary operation: een uitvraag waarbij vanuit de FHIR resources die op de server aanwezig zijn, een IPS wordt gegenereerd. Daarbij wordt de hele documentstructuur van de IPS aangemaakt maar worden ook de narratieve secties gevuld.

IPS secties kennen naast gestructureerde gegevens ook een tekstuele weergave in HTML, die getoond kan worden aan de gebruiker. De IPS viewers die er zijn maken daar vaak gebruik van. Na het aanmaken van de patient op HAPI, kan de IPS dus direct opgehaald worden met:$summary

(De HAPI testserver wordt regelmatig ververst, het is dus goed mogelijk dat dit voorbeeld niet meer te zien is. Het voorbeeld is hier ook te vinden.)

Deze IPS kan direct getoond worden in een IPS viewer. Voor wie dit na wil spelen: klik boven op de pagina op “Raw JSON”, of “Raw”. Kopieer de hele pagina. Ga dan naar: en plak de IPS in de tekstbox. Vervolgens kun je de IPS, die is omgezet uit de BgZ, zien in de viewer. De IPS kan getoond worden als FHIR Entries (de gestructureerde gegevens) of als FHIR Narrative (de door HAPI gegenereerde tekst als HTML). Hier een stuk van de BgZ zoals dat te zien is in de IPSviewer.

Een andere viewer is:


De structuur van de IPS

De BgZ in Nederland wordt samengesteld met FHIR queries. Kort gezegd: je vraagt bij een bron de allergieën uit, dan de problemen, dan de labuitslagen et cetera en wanneer je klaar bent heb je een complete BgZ. De IPS werkt anders: dat is een FHIR Document, en alles zit daar al in. Het maakt uit bij afwijkende bevindingen, zoals: voor deze patiënt zijn er geen allergieën bekend. In de IPS kan dat toegevoegd worden in het document. En dan niet alleen als “ik heb niks gevonden”, maar ook als positieve uitspraak: “de patiënt is bevraagd door arts X op datum Y, en er zijn geen allergieën bekend”. De BgZ kan dat niet zo eenvoudig. (Het is wel al langer een bekend en openstaand issue.)

Photo by Julia Koblitz on Unsplash

De IPS is – omdat het een document is – ook eenvoudiger te bewaren, en eenvoudiger uit te wisselen over andere infrastructuren, zoals IHE XDS/XCA – appeltje eitje daar een IPS in op te nemen, maar met de huidige BgZ gaat dat niet. De eerlijkheid gebiedt wel te zeggen dat queries en documents beiden voor- en nadelen hebben.

Omdat de IPS een document is, is er ook een manier om een server te vragen: “geef mij een IPS”. Dat heet de $summary operation, en de FHIR server stelt dan een IPS samen op basis van wat er in die server bekend is. De open source HAPI server heeft die operation, en die wordt in het begin van deze blog ook gebruikt om de BgZ om te zetten naar een IPS.

Een ander punt is de tekstuele weergave in de IPS. Een FHIR Document (net als de oudere standaard CDA) kent bij iedere sectie een tekstueel blok, en een blok met gecodeerde gegevens. Dat tekstuele blok is een variant van HTML, en kan gewoon in een webbrowser getoond worden. Makkelijk, want zo kan de arts of patiënt de informatie altijd zien, ook als de applicatie die gebruikt wordt de gecodeerde gegevens niet ondersteund. Maar wanneer je alleen losse FHIR resources hebt die je met queries ophaalt, heb je helemaal geen tekstueel blok per sectie. De HAPI server lost dat op door een tekstblok per sectie te genereren. Dat is dan meestal een tabel met de meest essentiële gegevens uit de gecodeerde gegevens. Het werkt. Misschien zou een lokaal gegenereerd tekstblok per sectie nog beter kunnen zijn, maar eerlijk gezegd: steeds vaker worden die tekstblokken altijd gegenereerd uit de gecodeerde gegevens, ook in Nederland in onze BgZ. Het is dus meer de vraag of de aanpak van CDA en FHIR Documents met altijd-tekstblok-en-gecodeerde-gegevens niet zijn langste tijd gehad heeft.

Extensies en de zibs

In Nederland zijn de zibs de basis van de gegevensuitwisseling in de zorg. In andere landen is dat niet zo. Vaak wordt gewerkt vanuit een “Implementation Guide” voor een specifiek domein, wat in de Engelstalige wereld vaak gebeurt, of vanuit een dataset zoals o.a. in Duitsland. Bij het omzetten van zibs naar FHIR resources blijkt dan ook vaak dat het niet helemaal past: er ontbreken bijvoorbeeld elementen die de zib kent in de FHIR resource. Dat hoeft geen heel groot probleem te zijn: FHIR kent “extensions” waarmee gegevens toegevoegd kunnen worden aan een FHIR resource.

Zie dit voorbeeld van de zib MedischHulpmiddel:

Een onderdeel van de zib is de lateraliteit: links, rechts of beide. Dat zit niet op die manier in de FHIR resource, en daarom wordt er een extensie gebruikt:

Zolang we in Nederland blijven werkt dat prima. Alleen: de IPS, en andere internationale standaarden, kennen die Nederlandse extensies helemaal niet. Dat leidt ertoe dat je de extensie ook helemaal niet ziet in een internationale toepassing op de IPS, en de toevoeging “Rechts” daar wegvalt.

Is dat erg? Dat hangt van de extensie af. In het ene geval gaat vrij essentiële informatie verloren, in het andere geval valt er mee te leven. Soms voegt een extensie alleen een Snomed code toe aan een HL7 code. Een ander mooi voorbeeld is de naam:

In Nederland kennen we een voorvoegsel bij de achternaam. Het FHIR voorbeeld hierboven ziet er prima uit in de IPS:

Maar dit is alleen omdat zowel de hele “family” string gevuld is met de componenten (“van Putten-van der Giessen”). En dat is in Nederland niet verplicht: de “family” string leeg laten en alleen de onderdelen “van”, “Putten” etc. vullen mag. En als je alleen die onderdelen vult, maar niet de samengestelde achternaam, blijft die in een IPS toepassing leeg. Voor het aanmaken van een correcte IPS is dus wel wat te doen: bijvoorbeeld vullen van de samengestelde familienaam als die leeg is uit de componenten, en dito voor veel andere extensies.

Er zitten heel veel extensies in onze Nederlandse FHIR resources, grotendeels het gevolg van het eigen model wat de zibs kennen. Dat biedt voordelen in Nederland. Internationaal betaal je daar weer een prijs voor: deze extensies gaan verloren bij internationale uitwisseling zonder aanvullende maatregelen.

Verschillen in de inhoud

De IPS en de BgZ verschillen ook in inhoud. Nictiz heeft een fit-gap analyse op detailniveau gemaakt. Om een paar punten op te noemen: de BgZ kent een sectie “Alerts”, waarin bijvoorbeeld zaken staan als een MRSA-besmetting (een bacterie die resistent is tegen antibiotica): belangrijk, want zo’n patiënt wil je niet in je ziekenhuis zonder maatregelen, anders hebben spoedig alle patiënten die bacterie. De IPS kent dan weer een sectie “Zwangerschap” die de BgZ niet kent. Die zou relatief eenvoudig toe te voegen zijn, want we hebben in Nederland al uitgebreide standaarden rond geboorte.

Verder is er een belangrijk verschil, ook met de Europese PS: de IPS heeft een subset van Snomed (de Snomed IPS Free Set) beschikbaar gekregen. Snomed CT is een internationaal terminologiestelsel dat o.a. in Nederland veel gebruikt wordt, en essentieel is in onze uitwisselingen. Helaas wordt Snomed niet overal gebruikt en dat heeft er onder andere mee te maken dat Snomed niet gratis beschikbaar is. De Snomed IPS Free Set is dat wel, en die is pas ontstaan na de Europese PS. Die Free Set speelt dus een belangrijke rol in de IPS: veel waardenlijsten bestaan uit concepten uit de Free Set. In de Nederlandse BgZ (en de Europese PS) is daarmee nog geen rekening gehouden en er zitten dan ook verschillen in. Belangrijk is bij aanpassingen in terminologie in de BgZ, altijd goed naar de Free Set te kijken.

Vaak vallen de verschillen in de waardenlijsten tussen de BgZ en de IPS wel mee. Voor TabakGebruik hanteren beide 8 codes, waarvan 6 dezelfde. Voor de ernst van een allergie kent de zib 1 code meer dan de IPS. In dit soort gevallen is een mapping wel te vinden die in de conversie gebruikt kan worden zonder groot verlies van informatie.

Op een dieper niveau zijn er ook verschillen te vinden. Zowel de zibs als de IPS kennen een “Functionele of mentale status”. Bij de zib is ervoor gekozen deze te implementeren als een FHIR Observation. De IPS biedt hier de keuze tussen een FHIR Condition (de zib Probleem) of een FHIR ClinicalImpression. Uiteraard zou het goed zijn hier altijd te kijken naar keuzes die internationaal gemaakt worden. Bij het omzetten van de BgZ naar de IPS gaat de sectie “Functionele of mentale status” dus verloren. Om die te behouden zouden de FHIR Observations in die sectie eerst omgezet moeten worden naar ClinicalImpression of Condition.


Photo by on Unsplash

Een lastig verhaal is medicatie. De BgZ2017 kent drie medicatiebouwstenen: MedicatieAfspraak (wat de arts voorschrijft), Toedieningsafspraak (precieze instructie van de apotheker) en MedicatieGebruik (wat de patiënt echt gebruikt). Het is me in Phoenix bij een aantal medicatiebouwstenen niet gelukt die zodanig in de IPS op te nemen dat er geen foutmeldingen optraden. Op zich niet heel vreemd, ik heb een weekend en wat uurtjes daarna eraan gewerkt, dat is niet veel, en met wat meer tijd en moeite kom je vast verder. Het is wel het enige onderdeel waar ik hier tegen aan liep.

Fundamenteler zijn de extensies in medicatie. In medicatie is er een extensie voor de hele doseerinstructie als tekst: “Vanaf 1 september 2012 gedurende 5 dagen 1x per dag om 8uur 40 mg (=1 st)”. Er zijn nog wel meer extensies in medicatie met nuttige informatie. In een internationale applicatie als de IPSviewer valt het allemaal weg. Ook een narrative (tekstblok) per medicatiebouwsteen helpt niet veel: de IPSviewer (en andere applicaties) laten ofwel de narrative van de hele sectie zien ofwel de gestructureerde inhoud, waarin de Nederlandse extensies dus ontbreken. Voor het internationaal uitwisselen van medicatie met de IPS is nog wel wat werk te verrichten. De aanpak: in een FHIR server stoppen en een IPS genereren alleen is hier niet voldoende. Voor medicatie is het dus nodig de Nederlandse resources met een stukje custom software om te zetten naar de internationale. Dat is op zich niet erg, en het zal op meer plaatsen in de BgZ wel nodig zijn.

En de taal dan?

Hierboven was het al te zien, een doseerinstructie als: “Vanaf 1 september 2012 gedurende 5 dagen 1x per dag om 8uur 40 mg (=1 st)”. Dat zal een arts in Frankrijk of Polen niet zonder meer begrijpen. Veel van de inhoud kan wel “vertaald” worden. De meting “Lichaamsgewicht” is bijvoorbeeld gecodeerd met de LOINC code “29463-7”, en de Engelse vertaling is bekend: “Body weight”. Eigenlijk is alles wat gecodeerd is in principe te vertalen. De zibs, en dus onze BgZ, kennen wel veel tekstuele toelichtingen. Die zijn niet te vertalen op basis van coderingen. Vertaalsoftware op vrije tekst kan steeds meer; wanneer dit gebruikt kan worden hangt van de toepassing af. Voor ingrijpende medische handelingen zal dit nog niet het geval zijn, voor alledaagse hulpverlening waarschijnlijk wel. Maar ook zonder het vertalen van vrije tekst is de IPS al een zeer nuttig overzicht van essentiële medische gegevens in een internationale context.


Er is goed nieuws: zonder bijzonder veel inspanning is, door onze zibs te uploaden in een FHIR server, met de $summary operation een heel behoorlijke IPS te maken. Die is zeker niet perfect, er zijn de nodige hoeken die bijgeschaafd moeten worden maar in wezen is het een overzichtelijke inspanning. Met name voor de secties Medicatie en Functionele en mentale status is nog wel werk nodig. Dat betekent dat internationaal delen van een IPS met standaardsoftware van FHIR, een te overzien aantal aanpassingen, vanuit de BgZ mogelijk is.

Voorlopig ziet het er naar uit dat we daar in Nederland niet direct mee te maken hebben omdat Europa eerst aansluit op de wat oudere Europese PS die nog gebaseerd is op CDA. Maar mijn doel op de HL7 WGM in Phoenix was te kijken hoe ver we afdrijven van het einddoel waar ook Europa naar toe wil: de IPS in FHIR. Dat lijkt mee te vallen. Wel een punt van zorg zijn de vele Nederlandse extensies: die zullen internationaal niet begrepen worden. Er zijn dan twee routes denkbaar: bij conversie naar de IPS die Nederlandse extensies – waar mogelijk – omzetten naar iets wat internationaal wel begrepen wordt. Of dit soort extensies zoveel mogelijk vermijden, in ieder geval in de BgZ. Ook dat vergt een lange adem: voor zibs2017 en zibs2020 kan dat niet meer. Het zou wel een belangrijk punt van aandacht moeten zijn bij latere versies van de zibs.

HL7 en de coronacrisis

In deze tijd van een pandemie van COVID-19 duikt de vraag op: wat kunnen we bijdragen aan het oplossen van deze crisis? En wat kunnen standaarden zoals HL7 bijdragen?

Allereerst geldt natuurlijk dat HL7 al veel bijdraagt: laboratoria en ziekenhuizen kunnen niet zonder HL7v2, o.a. het LSP gebruikt HL7v3 en FHIR speelt een grote rol bij BGZ en MedMij. Maar beter dan trots zijn op behaalde resultaten in het verleden is het te kijken naar uitdagingen die nog opgelost moeten worden. Dus: wat kan HL7 nog meer bijdragen?

SARS-CoV-2 without background

Laten we wel wezen: standaarden invoeren waar ze nog niet gebruikt worden kost tijd. Op de korte termijn – nu – moet gewerkt worden met bestaande systemen of ad hoc oplossingen (zeg maar Excel of de telefoon). Maar zoals het er naar uit ziet is deze crisis voorlopig niet voorbij. Dat duurt waarschijnlijk tot er een vaccin is: een jaar of zelfs langer. Misschien kunnen de meest extreme maatregelen op een gegeven moment wat versoepeld worden, maar ook dan blijft het: direct mensen met klachten opsporen, isoleren, patiënten behandelen, schaarse capaciteit nauwlettend monitoren. En wordt het noodzakelijk schaalbare, beheersbare oplossingen te realiseren.

Gelukkig hebben we al een behoorlijke infrastructuur rond NICE, RIVM en de GGD’en. Neemt niet weg dat deze infrastructuur nu onder druk staat als nooit tevoren. Zonder twijfel is er meer nodig en mogelijk dan wat nu kan. Deze crisis kent ook heel specifieke problemen, van afstand houden tot de behandeling van deze groep patiënten.

Een overzicht: het zal zeker niet volledig zijn. Heb je aanvullingen of correcties, mail me op

Electronic Case Reporting

Bij het evalueren van de behandeling van corona-patiënten is informatie essentieel. We moeten zo spoedig mogelijk beoordelen wat het beste werkt en bij wie. Wanneer het aantal ziekenhuisopnames met 1/3 daalt, en het aantal patiënten wat vervolgens naar de IC moet ook met 1/3, is het aantal benodigde IC-bedden al gehalveerd. Ook zonder geneesmiddel is de optimale behandeling van belang. De ziekenhuizen werken al samen om een database met gegevens van IC-patiënten aan te leggen. Hetzelfde is nodig van niet-IC patiënten. Ook moet gemonitord worden waar en wanneer ziektegevallen opduiken. Het gaat dan om “publieke gezondheid”, dus niet de behandeling of overdracht van een individuele patiënt  maar het beheersen en onder controle brengen van een uitbraak. (Dat gebeurt nu al met de huidige systemen van GGD’en RIVM, maar daar zal vast wat “op maat” te maken zijn voor deze ziekte.) Laten we  kijken welke HL7 stukken in deze puzzel passen.

COVID-19 outbreak the Netherlands per capita cases map

Er zijn HL7 standaarden voor Electronic Case Reporting (eCR): in CDA en FHIR. Beide zijn “US Realm”, dus toegespitst op de situatie in de Verenigde Staten. Dat maakt ze minder geschikt voor toepassing zonder aanpassing in Nederland. Zo kent b.v. het FHIR eCR profile een message infrastructuur die we hier niet zo zouden willen overnemen, en heeft de FHIR eCR Patient us-core-race wel, maar nl-core-humanname (met “onze” tussenvoegsels) niet. De eCR profielen kunnen wel een kader geven voor een Nederlandse invulling.

Daarnaast zijn – uiteraard – de bestaande standaarden nog niet toegespitst op COVID-19: het gaat om algemene profielen voor besmettelijke ziekten. Hoe zou een profiel voor COVID-19 er ongeveer uitzien? Een schets (disclaimer: ik ben geen arts, en hoewel ik al een tijd in ICT in de gezondheidszorg werk zullen artsen  een dergelijk profiel moeten opstellen – dit is niet meer dan een indruk).

  1. Demografische gegevens: geslacht, geboortedatum, locatie, identificatie, eventueel etniciteit (mogelijk is er een genetische component in mate bevattelijkheid)
  2. Klachten en diagnose
    • koorts, (droge) hoest, vermoeidheid, kortademigheid, spierpijn, hoofdpijn, misselijkheid, loopneus, reuk/smaak etc.
    • dit alles waarschijnlijk met een schaal van mate van ernst
    • longontsteking, ARDS ( acute respiratory distress syndrome) etc.
    • aanvang klachten, verloop tot opname etc.
  3. Beeldvorming
    • CT: matglasafwijkingen, reversed halo, “crazy pavement” etc.
  4. Voorgeschiedenis
    • obesitas, chronische hartaandoeningen, longziekten (COPD, asthma, emfyseem), diabetes, immunogecompromitteerd, roker etc.
  5. Behandelplan
    • opname IC, beademing, etc.
  6. Medicatie
    • chloroquine, hydroxychloroquine en remdesivir (allen experimenteel) etc.
  7. Verloop/vitale functies
    • temperatuur, bloeddruk, pols, etc.
  8. Uitslagen
    • getest op SARS-CoV2 ja/nee, uitslag (nu PCR, LOINC 94315-9 en 94314-2), binnenkort antilichaam/antigen)
    • influenza, rhinovirus, enterovirus, corona (OC43m 229E, HKU1, NL63) etc.
    • serologie (niet diagnostisch, wel voor verloop): diverse bloedwaarden

(Bronnen: o.a. LCI, SWAB ,CDC )

We verkeren in Nederland in de gelukkige situatie dat een groot deel van deze benodigde componenten al gestandaardiseerd is in de BGZ en de onderliggende zorginformatiebouwstenen (zibs). Daarbij horen ook HL7 FHIR profielen. Een groot deel van het bovenstaande past in zibs voor Metingen, Medicatie, Klinische context etc. LOINC- en Snomedcodes voor COVID-19 zijn al uitgegeven door Nictiz. Veel van deze gegevens (maar zeker niet alle) zitten al in de datasets van de stichting NICE , de GGD’en het RIVM. Het is de rol van deze zorginstellingen en zorgprofessionals aan te geven verder wat nodig is: de bouwstenen zijn er al.

Wat er nog niet is, is een profiel voor COVID-19: wat willen we precies vastleggen en uitwisselen voor deze ziekte? Wanneer dat er wel is, kunnen we de bestaande componenten op een uniforme manier vullen. Ontbrekende delen kunnen we snel specificeren. Daarmee wordt het mogelijk een langdurige uitwisseling van deze essentiële gegevens op een beheersbare manier te regelen, direct vanuit het EPD. Want op korte termijn kunnen we de standaarden even overslaan, maar als dit virus een jaar of zelfs langer gevolgd moet worden, worden standaarden onontbeerlijk.

PGO’s en de thuispatiënt

Gegevens zijn ook nodig van patiënten die thuis uitzieken. Nu is er maar weinig inzicht in het verloop van die gevallen, en ook te weinig over factoren die ziekenhuisopname beïnvloeden. En zelfs van mensen met klachten, van wie nog niet duidelijk is of ze patiënt zijn, zoals gebruikers van de OLVG coronacheck. Hoe meer data, hoe beter.

Photo by Paul Hanaoka on Unsplash

In Nederland heeft MedMij PGO’s uitgerold, waarmee burgers hun eigen gezondsheidsgegevens kunnen inzien en delen. En belangrijker: waarmee ze gegevens toe kunnen voegen. Kunnen we die PGO’s op gaan gebruiken om de bevolking (nu ja, diegenen die deel willen nemen) te monitoren? Daarmee is het in principe mogelijk inzicht te krijgen in wie geen klachten hebben, wie klachten ontwikkelen en hoe dat verloopt. Binnenkort, wanneer er serologische testen beschikbaar komen waarmee massaal getest kan worden op antigenen en antilichamen van SARS-CoV2 kunnen ook die uitslagen gedeeld worden.

Welke gegevens zijn dan nodig? Het is feitelijk een deelverzameling van de eCR gegevens. Wederom een schets:

  1. Demografische gegevens: geslacht, geboortedatum, locatie
  2. Klachten
    • koorts, (droge) hoest, vermoeidheid, kortademigheid, spierpijn, hoofdpijn, misselijkheid, verkoudheid, reuk/smaak etc.
  3. Voorgeschiedenis
    • obesitas, chronische hartaandoeningen, longziekten (COPD, asthma), diabetes, immunogecompromitteerd, roker etc.
  4. Familie en omgeving
    • personen met en zonder klachten in de directe omgeving, of getest en reeds genezen van COVID-19
  5. Verloop/vitale functies
    • temperatuur, ademhaling, gewicht, lengte etc.
    • voeding, vochtopname, welbevinden etc.
  6. Testuitslagen
    • van het lab of thuistests

Ook hier is het meeste al aanwezig als zelfmetingen in het PGO, alleen dan nog niet specifiek gemaakt voor wat je wilt weten van deze aandoening. Datzelfde geldt voor de klachten: wanneer je zinvolle informatie van heel veel burgers wilt, is gericht uitvragen wat je wilt weten nodig. Feitelijk is dit een verdere uitrol van de corona check van het OLVG, maar dan gebruikmakend van de PGO infrastructuur.

Capaciteitsbeheer en SANER

Photo by Martha Dominguez de Gouveia on Unsplash

Op het chatforum van FHIR is ook veel te doen over COVID-19, en dat leidde heel snel tot een initiatief: SANER. Dit is een standaard-in-wording (een “Implementation Guide”) voor het uitwisselen van beschikbare resources in ziekenhuizen: aantallen bedden, beademingsapparaten etc. Dergelijke gegevens worden nu veelal uitgewisseld door ze te verzamelen en opnieuw in te voeren. Wanneer deze gegevens live vanuit de ziekenhuissystemen uitgewisseld kunnen worden met de landelijke databases scheelt dat veel werk en mogelijk fouten. Het SANER initiatief trekt veel belangstelling, er zijn dagelijkse meetings (betrokken partijen zijn onder andere Epic, Cerner en Microsoft) en laat zien in wat voor tempo nieuwe specificaties gemaakt kunnen worden.

(Update 31-3-2020: Dit artikel net geplaatst, en het de NOS meldde dat 2TWNTY4 een landelijk platform uitrolt voor beschikbaarheid van bedden.)

Nu verder, met standaarden

Gabrielle Speijer, radiotherapeut-oncoloog, zei onlangs in een interview: “De COVID-19 crisis vergt het uiterste van de zorg… (zo) … biedt SNOMED nieuwe COVID-19 gerelateerde termen. Dit levert uniforme data op die artsen en onderzoeksinstellingen gebruiken voor analyses om verdere verspreiding te voorkomen. Dit soort specifieke toepassingen vraagt om een robuust en betrouwbaar systeem, waar HL7 een belangrijke schakel in is.”.

Nogmaals de disclaimer: dit is een schets, zorgprofessionals moeten invullen wat precies nodig is. Het goede nieuws is: veel van de HL7 componenten die nodig zullen zijn, zijn er al. Wanneer we langere tijd met dit virus zullen leven, en daar ziet het wel naar uit, moeten we zorgen dat we op een gestructureerde, beheersbare manier de gegevens delen die nodig zijn. HL7, LOINC en Snomed CT zijn daar een onlosmakelijk onderdeel van.

Toestemming: puzzel in de zorg

Privacy en zorg: het is al jaren een moeizame relatie. Kwam de overheid een paar jaar geleden met een plan om de controle over toegang tot medische gegevens bij de patiënt te leggen, onlangs meldde de minister dat deze “Gespecificeerde Toestemming Structureel” (GTS) niet doorgaat. De uitwerking van de wet die eraan ten grondslag ligt leidde tot een totaal van 160 keuzemogelijkheden voor patiënten. Een simpeler oplossing met 28 keuzes is nog steeds te complex, en het is maar de vraag of dit wel conform de wet is. Onwerkbaar, volgens het Adviescollege Toetsing Regeldruk. GTS van de baan dus.

Tijd om te kijken naar alternatieven: kluisjes bij de huisarts of patiënt, tot EPD-toegang en “just-in-time” toestemming.

Photo by Carlos Muza on Unsplash

Wat is het probleem?

Maar eerst: wat is het probleem precies? De minister schrijft in de kamerbrief:

“Deze gespecificeerde toestemming geldt nadrukkelijk alleen voor die situaties waarin gegevens beschikbaar worden gesteld voor nog onbekend later gebruik … Terwijl het zorgproces daar helemaal niet om vraagt. In vrijwel alle gevallen gaat het immers om een behandelrelatie waarbinnen gegevens gewoon mogen worden uitgewisseld.”

Dat laatste klopt: de Wet op de Geneeskundige Behandelovereenkomst stelt dat een arts geen medische gegevens  mag verstrekken zonder toestemming van de patiënt. Die toestemming kan expliciet zijn (dat wilde GTS regelen) of impliciet: als een huisarts een patiënt doorverwijst naar b.v. een cardioloog, mag de huisarts uitgaan van toestemming van de patiënt. Als de patiënt dat niet wil, moet deze dat zelf aangeven.

De minister wil uitgaan van impliciete toestemming: “…de meeste zorg (is) geplande zorg is. Bij geplande zorg kunnen zorgverleners bewust kiezen welke gegevens ze moeten delen, en met wie.”

Er zijn wel uitzonderingen. Ten eerste ongeplande zorg, zoals een spoedopname. Daarvoor komt de minister met een oplossing. Ten tweede kan een arts bijvoorbeeld oudere beelden in willen zien: als de longarts ziet een vlekje ziet, is het van belang om te weten of dat vlekje er al langer zit. Zat er een jaar geleden niets, dan levert dat een andere beoordeling op dan wanneer precies datzelfde vlekje er een jaar geleden ook zat, en niet veranderd is.

Zulke oudere beelden kunnen bij een heel ander ziekenhuis liggen. Opvragen mag dan alleen met (gespecificeerde) toestemming van de patiënt. Een algemene toestemming (“iedere arts mag alles opvragen”) voldoet niet aan de wet. Wat staat de minister voor ogen:

” (ik) vind dat er andere infrastructurele keuzes moeten worden gemaakt. Namelijk voor systemen die niet werken met beschikbaarstelling vooraf, maar met het uitwisselen in de behandelrelatie zelf.”

Hopeloos optimistisch

De visie van de minister lijkt hopeloos optimistisch. De meeste medische gegevens kúnnen helemaal niet gedeeld worden in een behandelrelatie die in geplande zorg ontstaat, omdat die gegevens dan simpelweg niet voorhanden zijn. Oudere beelden zijn maar één voorbeeld.

Laboratoriumuitslagen liggen bij het laboratorium. De huisarts heeft wel een kopie, maar met eigen (NHG) coderingen, niet de originele uitslagen zoals het lab die heeft. En alleen voor onderzoeken die de huisarts zelf heeft aangevraagd. Bij laboratoriumuitslagen speelt precies hetzelfde issue als bij beelden: bij een afwijkende bloedwaarde is het relevant te weten of die recent is of langer bestaat. Niet alle patiënten zijn gelijk. Sommigen hebben probleemloos jarenlang vrij hoge waarden voor een specifieke test. Bij anderen is er een plotselinge piek: dat is een ander beeld, en relevant voor de beoordeling.

Medicatie ligt bij de apotheek. Ook hier heeft een huisarts wel voorschriften, maar de originele bron van de verstrekkingen is de huisarts niet.

Photo by on Unsplash

Bij een zwangerschap liggen de gegevens van de voorgaande zwangerschappen vaak bij een andere verloskundige of gynaecoloog dan de huidige. Kortom: dat medische gegevens buiten de huidige geplande zorg liggen is geen uitzondering. Het is de regel. Hopen dat het probleem weggaat bij geplande zorg is wensdenken.

Maar wat doen we dan wel? Ik schets hier zes alternatieven. Sommige wild, andere niet realiseerbaar. Ik sta er zelf misschien niet eens achter. Maar op dit moment is het beter buiten de doos te denken dan op een dood spoor verder rijden.

Alle gegevens bij de huisarts

Een manier om bij de geplande zorg van de minister aan te sluiten, is zorgen dat alle gegevens wél aanwezig zijn in dat traject. Dat kan wanneer we alle gegevens in een kluisje stoppen bij een preferentiële zorgverlener, zoals de huisarts (het kan natuurlijk ook een andere arts zijn, bijvoorbeeld bij patiënten in een verpleeghuis of instelling voor langdurige zorg). Daar moet dan alles in zitten: oude beelden, alle laboratoriumuitslagen, medicatie, zwangerschappen et cetera. De beherende arts kan dan de benodigde informatie uit het kluisje delen met volgende partijen in de geplande zorg, die het zo nodig weer verder kunnen delen (bijvoorbeeld bij doorverwijzing naar een academisch ziekenhuis).

De huisarts ligt voor de hand omdat veel gegevens relevant zijn voor de huisarts. Desalniettemin: misschien wil een patiënt niet dat een huisarts verslagen van de psychiater kan zien. Daarnaast is nodig dat de patiënt aangeeft wie de zorgverlener is die de gegevens mag beheren. Al met al is dit een model dat aansluit bij het idee van geplande zorg, maar ook haken en ogen kent.

Power to the Patient!

Een verdere stap: stop alle gegevens in een kluisje bij de patiënt. Die regelt dan dat zorgverleners die geplande zorg verlenen bij de gegevens kunnen. Bij bijvoorbeeld een verwijzing naar een KNO-arts bij een ziekenhuis kan de KNO-afdeling bij het maken van een afspraak de patiënt een verzoek tot toegang kunnen sturen. De patiënt logt dan in bij de eigen kluis, ziet een verzoek van de inmiddels bekende KNO-afdeling, en verleent toestemming. Met het programma MedMij is veel van de nodige infrastructuur al aanwezig. PGO’s zijn nu niet bedoeld voor zorg-naar-zorg uitwisseling, maar dat kan uiteraard veranderen.

Een nadeel is dat niet alle patiënten even digitaal vaardig zijn: de populatie patiënten bestaat voor een groot deel uit ouderen, maar ook voor andere patiënten kan zoiets een uitdaging zijn. Een valkuil in dit soort trajecten is altijd dat we een oplossing bedenken die prima bij onszelf, digitaal vaardige burgers, past maar anderen in de kou laat staan.

Uiteraard sluiten deze opties elkaar niet uit: een kluisje beheerd door de patiënt wanneer die dat wil, en uitbesteed aan de huisarts voor patiënten die dat liever zien. Voor spoedeisende hulp zou de patiënt zelf aan kunnen geven of SEH-artsen en huisartsenposten er wel of niet bij mogen.

De oplossingen met één centraal kluisje per patiënt waar alle informatie in zit, lossen het probleem van vooraf beschikbaar stellen op. Daarbij moet wel gezegd worden dat het deels een schijnoplossing is: is er nu zo’n groot verschil tussen een ziekenhuis dat via een uitwisselsysteem toegang geeft, mits er toestemming is, en een kluisje ergens dat ook toegankelijk is, mits er toestemming is? In beide gevallen ben je afhankelijk van een veilige implementatie en controle op toestemming.

Kijk in elkaars EPD

De Federatie Medisch Specialisten kwam onlangs met een ander idee: laat artsen in elkaars EPD kijken. Gewoon door ze een inlog te geven. In ieder geval voorlopig, tot het beter geregeld is. Er gaan immers mensen dood omdat gegevens niet beschikbaar zijn. De minister gaat erover denken maar verwacht wel “haren in de soep qua privacy”.

Nu zitten er aan het idee van de FMS natuurlijk twee uitersten. Alle specialisten toegang geven tot alle EPD’s is een no-go. Maar dat bij verwijzing van een oncoloog uit de regio naar een oncoloog in een academisch ziekenhuis die tweede toegang heeft tot de relevante gegevens van de eerste, is minder vreemd. Ook bij spoedopname in een regio is inzage binnen die regio misschien wenselijk.

Het idee van de FMS gaat er wel van uit dat iedere specialist in ieder EPD zomaar de weg weet te vinden. Dat is niet altijd een uitgemaakte zaak. Wellicht kan het voorstel van de FMS in specifieke situaties een oplossing bieden. Wanneer ziekenhuizen fuseren, wat regelmatig gebeurt, is het qua privacy natuurlijk van de ene op de andere dag geregeld. Stellen dat het nooit kan is dan wat vreemd.

Just-in-time toestemming

Photo by Sonja Langford on Unsplash

Het hele idee van vóóraf toestemming specificeren is natuurlijk vreemd. Dat leidt tot vragen als: verwacht ik eerder kanker te krijgen of dement te worden? En als ik kanker krijg, wat moet die oncoloog dan zien? Medicatie, oké, maar arbeidsconflicten, een burn-out, seksuele problematiek? Nee, dat niet. Hoewel: als het nu kanker aan de geslachtsorganen is… Afijn, dit voorleggen aan een gezonde patiënt vereist nogal wat mentale gymnastiek.

Kunnen we niet in plaats van alles vooraf te regelen, dat pas doen wanneer het nodig is? Als ik een specifieke klacht heb, en een specifieke arts verzoekt om gegevens, is dat een eenvoudige vraag. Toestemming wordt dan niet vooraf geregeld, maar bij het maken van een afspraak voor geplande zorg. Er gaat dan een (veilig) bericht naar de patiënt die op dat moment een specifieke toestemming verleent.

Dit veronderstelt uiteraard nog steeds dat de gegevens vooraf beschikbaar gesteld worden voor artsen die toestemming hebben, maar het hele probleem van de 160 keuzemogelijkheden wordt omzeild. Ook een uitzondering voor spoedeisende hulp past bij deze uitwerking. Bij een presentatie over Mitz, een nieuwe dienst voor toestemmingen, werd ook langs deze lijnen gedacht.

Volg de behandelrelatie

We kunnen ook de behandelrelatie volgen. Bij een verwijzing kan de huisarts dan toestemming geven aan een KNO-afdeling. Een specifieke afdeling, of regio wanneer de patiënt zelf een ziekenhuis uit wil zoeken (er is immers nog steeds het recht op vrije artsenkeuze). Daarbij kan de huisarts die toestemming bij de verwijzing registreren in een centraal register. Dat toestemmingenregister moet uiteraard geen antwoord geven op de vraag: wie heeft een behandelrelatie met patiënt Jansen? Dat is te privacygevoelig. Maar de vraag beantwoorden: heeft arts X of instelling Y toegang tot deze gegevens, waarbij die arts of instelling geauthenticeerd is, en het antwoord een simpel ja of nee is, lijkt me haalbaar.

De KNO-afdeling kan dan bij doorverwijzing weer verder toestemming geven: de KNO-arts heeft dan immers zelf een behandelrelatie. Wanneer advies van een MDL-arts nodig is, kan de toestemming doorgegeven worden om gegevens in te zien. Ook hier worden gegevens wel vooraf beschikbaar gesteld, maar zijn ze alleen toegankelijk na toestemming.

Sex and drugs and rock ‘n roll

Je kunt je ook afvragen wélke gegevens privacygevoelig zijn. Alle medische gegevens uiteraard, maar niet in gelijke mate. Informatie over seksuele geaardheid of aandoening, over psychiatrie, over middelengebruik, over arbeidsgerelateerde aandoeningen is veel vertrouwelijker dan dat gebroken been van die skivakantie, of het amandelen knippen toen je zes was. Toestemming kan gekoppeld worden aan het privacy-aspect van een gegeven. GTS gaat bijvoorbeeld uit van een hele categorie gegevens, zoals medicatie. Maar ibuprofen is niet hetzelfde als PrEP, methadon of de morning-after pil.

Toestemming per vertrouwelijkheidscategorie zal beter aansluiten bij de behoefte van de meeste burgers.

Hoe vooruit?

De minister heeft al aangegeven met een nieuw voorstel te komen. Voor de zomer. Feitelijk is dit de situatie waar we al jaren in zitten: wachten op een oplossing. Ik heb hier een aantal scenario’s geschetst. Ik denk dat deze oplossingen redelijk in lijn zijn met de wetgeving zoals WGBO en AVG (en de delen van de Wabvpz die doorgaan). Al geldt hier zeker: the devil is in the details. Feit is wel dat dit een moment is om breed na te denken. We kunnen niet blijven wachten op een goede oplossing voor dit urgente probleem.

Verder lezen?

De kamerbrief is hier te vinden:

Voor degenen die niet de hele wet willen lezen, maar wel de essentie is er het uitstekende kennisdocument van OTV/GTS:

Over toegang tot EPD’s voor artsen:

Over Mitz:

Datasets en zibs mappen

De gegevensuitwisseling in de Nederlandse zorg wordt steeds meer gebaseerd op zibs, bijvoorbeeld in de Basisgegevensset Zorg en MedMij. Maar modelleren van gegevens in een specifieke sector, zoals JGZ, Geboortezorg of eOverdracht, gebeurt met datasets in ART-DECOR. Zibs zijn bouwstenen: componenten als naam, adres, medicatie die in meerdere contexten hergebruikt kunnen worden. Datasets zijn (hiërarchische) lijsten van informatie zoals zorgverleners die in een bepaalde context gebruiken. Zibs zijn dus contextloos tot ze gebruikt worden in een bepaalde use case.

Om zibs en datasets te combineren kunnen zibs “geërfd” worden in een dataset: een techniek waarop ik niet inga. Een andere aanpak is mappen: aangeven waar een element uit een dataset overeenkomt met een zib attribuut. Voor mapping is een eenvoudig tool beschikbaar: de ZIB mapper. De opzet en ideeën achter de ZIB mapper komen van gesprekken die ik met Linda Mook gevoerd heb, en hebben we het eerst uitgeprobeerd in een oncologie project.

Een voorbeeld van een mapping is te zien op het demo project. Elementen uit de dataset kunnen simpel een-op-een (waar van toepassing) op zibs gemapt worden: element gewicht op zib “Lichaamsgewicht”, BSN op Patient.Identificatienummer et cetera.  Maar een complexere mapping is ook mogelijk, bijvoorbeeld bij Probleem.

Hier is een beoordeling van gewicht gekoppeld aan de zib Probleem. Er wordt bovendien aangegeven dat Probleem.ProbleemType altijd “Diagnose” is. In de zib kan het type ook een klacht, symptoom etc. zijn. In deze context wordt dus aangegeven dat het altijd om een diagnose gaat. Van de status van het probleem wordt gezegd dat deze in deze context altijd “Actueel” is. En de ProbleemNaam is de waarde uit de valueSet die bij het concept hoort: dat kan dus “Normaal gewicht”, “Obesitas” etc. zijn. Daar waar de zib Probleem heel veel waarden uit o.a. ICD-10, Snomed CT etc. toestaat, zijn hier maar 4 codes (uit Snomed CT) toegestaan. En van twee items uit Probleem, lateraliteit en anatomische locatie, wordt gesteld dat ze niet van toepassing zijn (NP = not present). Overgewicht is immers niet gebonden aan een specifieke locatie of zijde. Met dit soort informatie kan de ontwerper van een UI er dus voor zorgen dat de zorgverlener irrelevante gegevens niet te zien krijgt, en vaste waarden vooringevuld zijn, zodat de registratie alleen voor de echte in te voeren waarden gebeurt.

Mapping legt dus relaties tussen een dataset en zibs, en brengt context aan. In de mappingtool kan dit met een eenvoudige UI ingevoerd worden.

(Let wel: voor het gebruik van het mappingtool moet een DECOR beheerder op de juiste manier een “Community” aanmaken in ART-DECOR.) Voor de technisch geïnteresseerden is de hele zibmapper te zien op Github.

De zibmapper is een simpel hulpmiddel, en voor complexe projecten misschien te eenvoudig. Maar voor een snelle mapping van zibs op een dataset is het nu al direct in te zetten, zonder veel overhead.




Klinische genetica op de HL7 WGM Atlanta

Een van de meest actieve HL7 Working Groups is die rond “Clinical Genomics”.  Niet vreemd natuurlijk, sinds het Human Genome Project in 2003 het volledige menselijk genoom in kaart bracht, heeft DNA sequencing een grote vlucht genomen.  Voor een paar tientjes kun je privé al je DNA laten analyseren om de Neanderthaler in jezelf te ontdekken (ongeveer 2%). Ook de medische toepassing neemt toe – het is een kwestie van tijd voor een genetische analyse standaard wordt voor zelfs de meest eenvoudige aandoeningen.


Klinische genetica draagt ook bij aan de belofte van “precision medicine”:  per persoon op maat gemaakte optimale behandelingen. Genetische gegevens spelen daarbij uiteraard een belangrijke rol. Het gaat dan niet alleen om genetische data, maar ook de familie-anamnese (welke familieleden hadden welke ziektes of afwijkingen) en individuele fenotypische eigenschappen: genetische data hebben pas relevantie wanneer ze (kunnen) leiden tot een probleem voor de mens.

De FHIR implementatie van Clinical Genomics gaat uit van een Diagnostic Report. Daarin worden genetische bevindingen opgenomen:

Heel kort: een Sequence is een weergave van een stukje DNA van een mens (of ander levend wezen – in dit artikel richten we ons op mensen). Op zich is dit niet meer dan een reeks betekenisloze ATCG-letters. Een Variant is een bekende variatie in het menselijk genoom – een allel. Een Haplotype is een aantal allelen (of SNP’s, puntmutaties) die normaliter samen overerven. Een verzameling Haplotypen beschrijft het Genotype van een mens. Dit zijn allemaal GenomicFindings, en dat is weer een specialisatie van een FHIR Observation. Uiteraard is dit een vogelvluchtperspectief ,  voor details zie de FHIR pagina van Clinical Genomics.

Een ander onderwerp op de WGM was het informatiemodel van Clinical Genomics. Hierin worden het domein geanalyseerd en beschreven in UML. Bovenstaand plaatje is een klein deel daarvan. Daarbij gaat het om verschillende manieren om een stuk genoom te lokaliseren (coördinaten versus cytoband), introns, exons, et cetera. Het is een terugkerend thema in meerdere HL7 werkgroepen: de behoefte een aan abstract informatiemodel, waarbij het onderliggende domein beschreven wordt zonder aan concrete syntax als FHIR, CDA of HL7v2 te hoeven denken.

Een ander onderwerp was de aanstaande integratie van Phenopackets. Phenopackets is een standaard voor het uitwisselen van fenotypische informatie, bijvoorbeeld Microtia (een onderontwikkeld oor). De fenotypische abnormaliteiten worden (meestal) gecodeerd met de Human Phenotype Ontology (HPO).

Met phenopackets wordt informatie over fenotypische afwijkingen, familie en afstamming, genetische informatie en diagnose gebundeld. Phenopackets is geen HL7 standaard, maar van onder andere de Global Alliance for Genetics & Health, het Monarch Initiative (HPO) en Orphanet (zeldzame ziekten). Er is al een (draft) FHIR specificatie van phenopackets. Op de WGM is besloten integratie van deze draft met de FHIR specificatie van Clinical Genomics op te pakken. Een flinke uitbreiding van het bestaande model met fenotypische informatie en het belooft een integraal genetisch en fenotypisch, klinisch relevant, model voor uitwisseling.

Clinical Genomics is een van de meest dynamische gebieden in medische informatica en HL7. De ontwikkelingen volgen is meer dan de moeite waard. HL7 en FHIR lopen – met andere organisaties – voorop op dit gebied.

Kankerregistratie en mCode op de HL7 WGM in Atlanta

Op de HL7 Working Group Meeting in Atlanta was veel aandacht voor de “minimal Common Oncology Data Elements” (mCode) en het verwante Codex. mCode is een van de “FHIR Accelerators” – initiatieven waar in de VS extra geld en moeite in gestoken wordt om FHIR verder uit te rollen.

mCode is een project om een minimale set gegevens die alle kankersoorten gemeen hebben te specificeren en uit te wisselen, om zo tot betere zorg en beter onderzoek te komen. Het gaat dus niet om gegevens specifiek voor borstkanker of darmkanker, maar om die gegevens deze en andere soorten gemeen hebben. Een vereenvoudigd visueel datamodel geeft weer om welke gegevens het gaat:

mCode overzicht data model
mCode overzicht data model (klik voor vergroting)


Van de minimale gegevensset is een FHIR specificatie gereed. Meteen maar het slechte nieuws: mCode is een Amerikaans initiatief, en dat betekent dat centrale gegevens zijn gebaseerd op “us-core” componenten, waar we in Nederland “nl-core” hebben. Denk daarbij aan namen (tussenvoegsels), adressen (huisnummer toevoeging) en dergelijke: zaken die in Nederland nodig zijn, maar in de VS anders liggen.  Gelukkig is er veel overlap: Amerikaanse kankers kunnen net als de Nederlandse links-of rechtszijdig zijn,, Amerikaanse genen worden hetzelfde vastgelegd als Nederlandse genen, en de TNM-score wordt ook gebruikt. Daarnaast is vanuit het mCode Initiative aangegeven dat men geïnteresseerd is in internationalisering: een kans dus om aan te haken. Het Codex project maakt extensies boven op de minimale set van mCode.

De FHIR implementatie van mCode loopt voor op wat we in Nederland hebben. Zo is er een specificatie voor IKNL (ik ben een van de auteurs). Deze was gebaseerd op de kennis en stand van zaken van enkele jaren terug: toen was er internationaal nog niets. Ook in regionale netwerken als Oncozon en initiatieven van het Citrienfonds wordt gewerkt aan uitwisseling van oncologische gegevens.

Een goed moment dus om aan te sluiten bij mCode,  en in ieder geval te (her)gebruiken wat ook in de Nederlandse context past.






De “International Patient Summary” op de HL7 WGM Atlanta

Internationaal uitwisselen van patiëntgegevens komt een stap dichterbij.  De FHIR versie van “International Patient Summary” (IPS) van HL7 gaat naar “Standard voor Trial Use” (STU) status, naar verwachting nog dit jaar. (De CDA variant is al STU.) De laatste oneffenheden worden er op de HL7 Working Group Meeting in Atlanta uitgestreken.  Daarmee wordt het meenemen van medische gegevens bij een vakantie of werk over de grens straks een stuk makkelijker.

Het Marriott Marquis Hotel waar de WGM is.

De IPS heeft een lange geschiedenis achter de rug. Het Europese epSOS project kende al de European Patient Summary. Echt van de grond gekomen is die niet, maar dit project is een van de voorlopers van de IPS, net als diverse Amerikaanse initiatieven. Internationaal uitwisselen van medische gegevens kent eigen valkuilen en problemen. Bijvoorbeeld: in Nederland kennen we voor medicatie onze G-standaard, maar die is in het buitenland niet bekend. Hetzelfde geldt voor ons BSN: buitenlanders in Nederland hebben dit niet.

De IPS wil een minimale maar wel relevante set gegevens zijn. Specialisme-agnostisch en niet gericht op een specifieke aandoening. De voornaamste use case is ongeplande grensoverschrijdende zorg. Een casus die ik me goed voor kan stellen: oudere vakantiegangers, die het fijn vinden ook in het buitenland over basale medische gegevens te kunnen beschikken. Nu is er het medicijnenpaspoort, een papieren overzicht met medicatie.  De IPS bevat daarnaast ook allergieën, klachten, inentingen, ondergane operaties, medische hulpmiddelen zoals implantaten, diverse labuitslagen en meer.

Ik denk dan aan mijn ouders, die een aantal jaren geleden met teruglopende gezondheid nog graag naar Zuid-Frankrijk gingen, maar bezorgd waren dat ze niet de nodige gegevens zouden hebben wanneer dat nodig was. Mijn vader kan redelijk Frans, maar niet goed genoeg om een medisch verhaal uit te leggen. Dat nog los van de vraag of ze uit het geheugen alle details weten te vertellen. Dan zou het prettig zijn dat een Franse arts toegang heeft tot die basale gegevens, zodat het gesprek wat eenvoudiger – en inhoudelijk juister – plaats kan vinden.

De IPS heeft een grote overlap met de Nederlandse Basisgegevensset Zorg (BGZ). Er is dan ook een goede basis voor Nederland om mee te kunnen doen aan b.v. een pilot met een van de Europese landen waar veel Nederlanders werken of met vakantie gaan. Er zijn nog wel de nodige problemen. Zo is de BGZ gebaseerd op FHIR 3 en de IPS op FHIR 4. Dat valt nog wel te converteren. Maar de BGZ wordt op dit moment voornamelijk geïmplementeerd in ziekenhuizen. Nu zijn ziekenhuizen voor mensen die op vakantie gaan of in het buitenland werken meestal niet de houders van de meest recente informatie: dat is in Nederland de huisarts, maar die heeft nog geen BGZ.

Een andere optie is MedMij: gebruik gegevens uit de persoonlijke gezondheidsomgeving (PGO) voor de IPS. In principe haalt MedMij wel de meeste recente gegevens uit meerdere bronnen op. Bij MedMij is er alleen geen “auteur” van het hele IPS. Dat raakt meteen ook een van de laatste discussiepunten van de Working Group Meeting: moet de IPS een “document” zijn dat door een verantwoordelijke zorgverlener is goedgekeurd? Of mag het ook een verzameling zijn uit diverse bronnen, waarbij nooit een mens het geheel heeft beoordeeld? De Working Group heeft besloten dat het per jurisdictie kan verschillen: dus het ene land kan een IPS door de huisarts op laten stellen, het andere land kan de IPS “on the fly” samenstellen. In het IPS moet aangegeven worden of er wel of niet een verantwoordelijke auteur is, maar beide mag.

Hoe dan ook, Nederland loopt voorop, en de IPS  heeft een aantal duidelijke – en zeer nuttige – use cases. Al met al tijd voor een verdere stap vooruit in medische gegevensuitwisseling: de grens over.

Laat in gegevensuitwisseling in de zorg vervuiler betalen

Digitaal gegevens uitwisselen in de zorg komt maar traag op gang. Zorgverleners wijzen naar de ICT-leveranciers. Regelmatig hoor je op congressen boze sprekers: waarom wordt het niet gewoon goed geregeld! De leveranciers wijzen terug naar de zorg: investeringen in ICT staan niet erg hoog op het prioriteitenlijstje vergeleken met andere sectoren. Minister Bruins heeft in een brief aangegeven meer regie te gaan nemen: minder vrijblijvendheid, meer verplichting. Maar waarom gaat die gegevensuitwisseling in de zorg zo stroperig? Wanneer we geen inzicht hebben in de achterliggende redenen, heeft spierballenpolitiek weinig zin.

Gegevensuitwisseling in de zorg komt moeilijk op gang omdat de zorgsector asynchroon en versnipperd is. Eerst zullen we zien wat dat betekent, en vervolgens hoe het opgelost kan worden.

De zorg is asynchroon

Laten we eens kijken naar een sector waar wel volop digitaal wordt gecommuniceerd: de financiële sector. Banken communiceren bijna alleen maar digitaal, zowel met elkaar als met de consument. Wat maakt nu dat bij banken wel lukt wat in de zorg maar mondjesmaat slaagt? Simpel: banken doen feitelijk allemaal hetzelfde. En wanneer ze zaken met elkaar doen, betekent dat dat de digitale transacties twee kanten uit hetzelfde zijn.

Dit plaatje simplificeert het natuurlijk wel omdat banken meer doen dan overboeken, maar in wezen doet de ABN Amro geen ander werk dan de Rabobank of de ING. En dat maakt uitwisseling eenvoudig: wanneer gegevensuitwisseling digitaal gaat, profiteren alle partijen. Iedereen kan digitale overboekingen ontvangen, die direct in de computersystemen ingevoerd kan worden. Geen handmatig overkloppen van faxen en brieven meer. Iedereen wint. De zorg is niet zo netjes synchroon.

Een apotheek stuurt geen voorschriften naar een huisarts, een huisarts geen verstrekkingen naar een apotheek. Zelfs ziekenhuizen onderling communiceren niet gelijkwaardig: een regionaal ziekenhuis zal een complexe patiënt naar een academisch ziekenhuis verwijzen, niet andersom. Bij de overgang van verpleeghuis naar ziekenhuis, van huisarts naar laboratorium, van verloskundige naar echoscopist is het al net zo: wat er naartoe gaat, is niet wat eruit komt.

Dat is een van de oorzaken dat digitaliseren in de zorg langzaam op gang komt. Bij het automatiseren van één specifieke transactie, bijvoorbeeld een laboratoriumorder of een medicijnverstrekking, is het meestal zo dat de ene partij de inspanning levert, en de andere profijt heeft. Het maken van een digitaal document of bericht kost tijd en moeite. Systemen moeten aangepast worden, de infrastructuur geregeld, alles moet getest en beheerd worden. Ieder systeem kan zo een PDF of een tekstdocument opleveren, dat via (veilige) mail of fax verzonden kan worden. Een goed digitaal verwerkbaar document is niet zo makkelijk.

De voordelen liggen echter niet bij de maker, die de investering doet, maar bij de verwerker. Daar hoeft niets meer overgetypt te worden. Uiteraard moet er ook geïnvesteerd worden om de systemen zo aan te passen dat er digitaal ingelezen wordt, maar met de bonus van snelle en foutvrije verwerking is dat geen moeilijke keuze.  Uiteraard kun je samen afspreken een verwijzing én een ontslag te digitaliseren: maar dat is twee keer inspanning, dat zijn twee trajecten, en dat loopt niet twee keer synchroon. Wanneer een op zich nuttige exercitie wel kosten met zich meebrengt, maar weinig concrete opbrengsten, is het niet vreemd dat andere prioriteiten telkens bovenaan het lijstje komen. Het is geen onwil, het is een structureel probleem.

De zorg is versnipperd

Nu is het niet zo dat overal waar transacties asynchroon verlopen, digitalisering ook achterloopt. Vroeger heb ik kort in de “fast moving consumer goods” gewerkt met een FMCG expert. Dat zijn goederen als voeding, toiletartikelen, wasmiddelen et cetera. Een fascinerende wereld.

Photo by NeONBRAND on Unsplash

Hier gaat het om handel naar de consument. Die doet zijn inkopen bij de supermarkt. De supermarkten doen hun inkopen weer bij vele honderden toeleveranciers, sommige groot, velen klein. Die toeleveranciers hebben zelf weer toeleveranciers, en zo gaat de keten door tot ruwe grondstoffen en agrarische producten. Het is geen zachtzinnige wereld: een paar grote supermarkten maken de dienst uit, en zij bepalen de prijzen en de condities. Dat geldt ook voor de gegevensuitwisseling. De supermarktketen zegt: voortaan gebruiken we ons elektronisch inkoopsysteem. Punt. Niet meedoen is niet meedoen. Dat kan door de machtspositie van de grote supermarkten, die die medewerking kunnen afdwingen. Een toeleverancier kan zich eenvoudig niet veroorloven Albert Heijn of Jumbo als klant te verliezen.  Vergelijk dat eens met de zorg.

Bij de supermarkten maken de grote 4 (AH, Jumbo, Lidl, Aldi) driekwart van de markt uit. Bij de banken doen de grote 3 (Rabo, ING, ABN Amro) dat ruim. Ziekenhuizen? De grootste 10 halen nog geen kwart van de markt. Bij huisartsen en apotheken is de versnippering nog veel groter. Bij sommige zorgonderdelen (zoals kraamzorg en ouderenzorg) zie je wel grotere landelijke partijen, maar dat zijn niet de partijen met het meeste budget en doorzettingsmacht. Kortom, in de zorgsector ontbreken partijen die de digitale uitwisseling naar hun hand kunnen zetten.

Asynchroon en versnipperd, wat nu?

Nu betekent een asynchrone en versnipperde sector niet dat er niets van de grond kan komen. Er zijn nog heel veel gebieden die wel degelijk asynchroon en versnipperd zijn maar toch gedigitaliseerd. Denk bijvoorbeeld aan vakanties.

Photo by roman raizen on Unsplash

Er zijn heel veel vliegmaatschappijen, hotels, vakantiehuizen en knusse restaurantjes, en toch kost het ondanks deze veelheid aan partijen geen enkele moeite om via het web snel iets te boeken. En de andere kant van deze digitale uitwisseling is nog veel versnipperder: dat zijn wij: alle consumenten. De reden dat digitale uitwisseling hier wel werkt, ondanks asynchroniteit en versnippering is natuurlijk heel eenvoudig: vliegmaatschappijen en hoteliers en restauranthouders verdienen hun geld met het verkopen van stoelen, bedden en couverts. Het is core business. Hoe beter het digitale aanbod, hoe meer verkoop. Voor de zorg is het uitwisselen van digitale documenten niet de core business: dat is (gelukkig) de zorg voor de patiënt. Digitale uitwisseling kan die zorg beter maken, maar het is een hulpmiddel, niet de essentie. (Niet toevallig is een organisatie als Zorgdomein die onder andere vraag een aanbod in de zorg digitaal bij elkaar brengt, wel succesvol.)

Laat de vervuiler betalen

Digitaal uitwisselen van gegevens zou tegenwoordig de norm moeten zijn. Op papier, via de fax, of via een niet digitaal verwerkbaar document (Word, PDF) uitwisselen moet gezien worden als een vorm van vervuiling: de gegevens moeten bij de ontvanger opnieuw ingevoerd worden, met vertraging en kopieerfouten tot gevolg. Dat is digitale vervuiling.

Zorg dus dat ook in de zorg de baten bij de investeerder liggen. Bepaal voor iedere overdracht van gegevens een prijs. Dat is niet moeilijk, want er zijn voldoende bedrijven die papieren gegevens digitaliseren, en daarvoor betaald worden. En ook de kosten van het implementeren en onderhouden van een digitale gegevenslevering zijn prima in kaart te brengen. En stel dan de volgende simpele regels in:

  • als er geen goed gedefinieerde standaard voor digitale uitwisseling is, betaal de vergoeding aan de ontvanger, die immers kosten heeft om de gegevens te verwerken;
  • en als er wel zo’n standaard is, betaal dan de leverancier van de gegevens, die immers geïnvesteerd heeft (of daarvoor kan kiezen) om digitaal te kunnen leveren.

(Hier moet ik een belangenverstrengeling melden: als ZZP’er verdien ik een deel van mijn geld met het opstellen van zulke standaarden – maar ik denk dat iedereen het erover eens zal zijn dat gegevensuitwisseling niet gaat werken zonder gestandaardiseerd digitaal stopcontact.)

Photo by Hans Ripa on Unsplash

Wanneer er een reële prijs staat op iedere overdracht van gegevens (gegevens in de zorg volgen over het algemeen de patiënt op diens reis door de instellingen), kunnen zorgbestuurders reële keuzes maken. Wanneer er een digitale standaard is, en gegevens op papier leveren dus geld kost, is er een motief om te digitaliseren. Misschien gaat dit jaar een nieuwe MRI-scanner voor, maar op termijn is op papier blijven leveren duur. Kortom: bij een prijs per dossieroverdracht kunnen er normale bedrijfsmatige beslissingen genomen worden over digitalisering, liggen de baten bij de partij die investeert en de kosten bij de partij die dat niet doet. Die kosten kunnen in rekening worden gebracht via zorgverzekeraars, via wetgeving, of gewoon via onderlinge afspraken in de regio. Dat is niet zo spannend.

Nu zijn er tal van vergoedingen in de zorg, soms ook voor administratieve handelingen, maar veelal niet systematisch gekoppeld aan het gedigitaliseerd aanleveren van gegevens. De zorg is wel asynchroon en versnipperd, maar met een adequate financiële prikkel gaat digitale uitwisseling ineens met rugwind in plaats van tegenwind. Kortom, laat de vervuiler betalen en beloon partijen die investeren.

Is deze blog nuttig? Deel hem via LinkedIn, Twitter of anders!