Datablog: Maximum Prijzen Geneesmiddelen

Een van de twee challenges voor de Accountability Hack 2019 van 4 oktober gaat over de kosten van medicijnen in Nederland. Een onderwerp dat over grote budgetten gaat, en maatschappelijk relevant is. In deze datablog schijnen we licht op de data die beschikbaar is voor deze challenge, en geven we wat aanknopingspunten waar de deelnemende teams mee aan de slag kunnen. Hier kun je meer lezen over de challenge.

Waar gaat de challenge over?

De Regeling maximumprijzen geneesmiddelen bepaalt de maximumprijs per geneesmiddel, die wordt vastgesteld op basis van een vergelijking met de geldende prijzen in België, Duitsland, Frankrijk en het Verenigd Koninkrijk. De regeling wordt elk halfjaar bijgewerkt; voorgaande versies blijven bewaard, zodat vergelijkingen kunnen worden gemaakt.

Het kabinet heeft een vijftal maatregelen aangekondigd die moeten leiden tot besparingen oplopend tot € 467 miljoen per jaar in 2022. Een van de maatregelen is om Duitsland te vervangen uit de groep van vier vergelijkende landen voor een ander land met gemiddeld lagere geneesmiddelenprijzen. Het zou interessant zijn om een manier te vinden die kijkt of een dergelijke maatregel daadwerkelijk tot kostenbesparingen zou leiden.

Om hiermee aan de slag te kunnen moeten we de data verzamelen, door middel van scraping. Er is data beschikbaar, maar als downloads in RTF en textformaat. Die zijn minder gestructureerd dan de informatie die op de website staat. Via de bovenstaande link komen we op de pagina met de meeste recente prijzen. Via de vergelijkingsfunctie halen we een lijst van datums waarop de prijzen van geneesmiddelen veranderden. Die lijst kunnen we dan weer gebruiken om links te maken om onze dataset mee te vullen. Hoe we dat precies doen kan je in deze GitHub repository zien. Daar kan je ook de data vinden, die terug gaat tot 2003 (!).

Wat kun je met deze data?

Welnu, wat kunnen we doen met de data? Wat als eerste opvalt is dat de gegevens gegroepeerd zijn op Productgroep. Daarbinnen kunnen meerdere artikelen zijn. De maximumprijs geldt per productgroep en is bovendien gedefinieerd als een maximumprijs per eenheid (dit kan bv. ml, stuk of sachet zijn). Artikelen hebben een registratienummer en een naam.

We kunnen de JSON bestanden op twee verschillende manieren omzetten naar een CSV bestand. In het eerste geval pakken we alleen de productgroep, in het tweede geval pakken we ook de artikelen erbij.

Om een CSV bestand per productgroep te maken doe je het volgende:

for i in *.json; do fn=`basename $i .json`; jq -r '.[] |[.Productgroep, .Maximumprijs,.Eenheid,"'$fn'"] |@csv' $i; done >test.csv

En voor een CSV bestand met Artikelen doe je het volgende:

for i in *.json; do fn=`basename $i .json`; jq -r '.[] |. as $p |.Artikelen[] |[$p.Productgroep, $p.Maximumprijs,$p.Eenheid,.Artikelnaam,.Registratienummer,"'$fn'"] |@csv' $i; done >test.csv

Als bonus hebben we nu ook de datum erbij in de CSV (De bestanden kan je ook in de GitHub repository vinden) en kunnen we een grafiekje maken van de prijs van een productgroep (in dit geval ZUCLOPENTHIXOL-25-MG-TABLET) over tijd:

Aangezien de prijzen worden bepaald aan de hand van een vergelijking met omliggende landen ligt het voor de hand om hiervan een vergelijking te maken. Dat is nog een lastige klus: voor België komen we niet verder dan deze lijst (maar dit is geen gestructureerde data), terwijl voor het Verenigd Koninkrijk deze data wel beschikbaar is, alleen met behulp van een lastige dropdown. De prijzen in Duitsland vind je hier. Er is ook een overzicht beschikbaar van plekken waar je dit soort informatie van andere landen kunt vinden.

Omdat dit de maximumprijzen zijn ligt het ook voor de hand om te kijken naar de daadwerkelijke prijzen. Het RIVM heeft een dataset voor de prijzen in 2016. Daarnaast liggen combinaties met datasets van het CBS ook heel erg voor de hand.

Meld je aan!

Enthousiast geworden van de challenge geneesmiddelenprijzen? Meld je dan aan voor de Accountability Hack op 4 oktober. Op 17 juni is er een meet-up in de Tweede Kamer om 16:00 waar de challenges toegelicht worden en vragen gesteld kunnen worden. Daar kun je je hier voor aanmelden.