Current formversion 0.3 ·
Draft act
Citizens’ working draft: amendment of Article 27a(1a) and (5)–(7). Text, explanatory memorandum and questions for legal review.
Our demand
We call for the total pay of each person working in facilities with a National Health Fund (NFZ) contract to be public: summed across all their workplaces, published every quarter as open data, under a permanent identifier instead of a name.
The point is not how much a doctor earns, but that nobody knows.

Problem
A doctor can work at the same time in a hospital, in an outpatient clinic and on on-call shifts in another town — as an employee, as a contractor and under a civil-law contract. Each facility pays separately and knows only its own part. Nobody adds up the total amount from public money: neither the NFZ nor the Agency for Health Technology Assessment and Tariff System (AOTMiT), which — as its president admits — has no data linking one person’s pay across facilities.
>1%
of doctors earn more than PLN 100,000 (≈ €22,700) a month in a single facility — about 560 people (in another statement the president of AOTMiT spoke of about 1.5%)
5–10%
is what it could be after adding up one person’s payments from many facilities, estimates the president of AOTMiT
What we call for
All four fit into a single article of a single act — Article 27a of the Act on Medical Activity (ustawa o działalności leczniczej). No new data need to be collected: the state can already require them.
Facilities with an NFZ contract submit pay data regularly, not at the minister’s request — including data on people working under civil-law contracts and as subcontractors.
The state replaces the PESEL number (the Polish national identification number) with a permanent pseudonym. The same person always has the same identifier, so their pay from many facilities can be added up.
For each identifier: the total amount and the number of facilities that pay, and broken down by facility — pay, working time, form of employment and specialisation.
A facility that fails to submit data, or submits unreliable data, pays a fine of up to 0.5% of the value of its NFZ contracts.
because it is public spending
because they are not needed to scrutinise the spending
A change to our demand
The first version of our demand — and the petition of July 2026 — envisaged a register by name, searchable by licence to practise (PWZ) number. We have changed that. Scrutinising public money requires the total and its structure, not the name.
The July 2026 petition — archive (in Polish)What matters is visible. Under a permanent identifier you can see accumulated jobs and contracts, pay spikes and hours that cannot possibly be worked. None of this requires knowing who the person is.
Only the data that is necessary. The GDPR requires data to be processed only to the extent necessary for the purpose (Article 5(1)(c)). The purpose is to scrutinise spending, not to judge people — and publication without names is easier to defend.
Mechanisms, not names. This is how we have written about healthcare from the start: we do not attack people by name. The demand is now consistent with that principle and gives no grounds for the argument that it is about a public pillory.
How the identifier works
Anyone can see a number plate, but only an authorised institution, such as the police, can find out who owns the car. The identifier in pay data works the same way: anyone will see how much one person receives and from how many facilities, but who that person is can be established only by the body that holds the key.
Visible to everyone
the number on the plate
a permanent identifier instead of a name
What it shows
that it is the same car — where it goes and how often
that it is the same person — how much they receive and from how many facilities
Who can establish identity
only authorised institutions, e.g. the police in the vehicle database
only the body with the key (the e-Health Centre, Centrum e-Zdrowia)
Example in your browser
A cryptographic function with a secret key turns the number into a string of characters. Enter any seven-digit number and see how it behaves. The calculation happens in your browser — nothing is sent.
Identifier
Same key, number 1234568 — only the last digit differs:
61 of 64 characters are different
Same number, same identifier. That is why one person’s payments from many facilities can be added up.
One digit different, a completely different result. The identifiers do not reveal which numbers are similar to each other.
The number cannot be recovered from the identifier. The function works one way: there is no formula that would calculate the PWZ number from the result.
The draft act does not prescribe the algorithm. HMAC-SHA-256 (RFC 2104, FIPS 198-1) is a standard example of a hash function with a secret key. In the draft act, the identifier is based on the PESEL number or, where there is none, on the PWZ number (Article 27a(5)). The principle is the same.
How to put it into practice
The Act of 19 June 2026 (Dz.U. 2026 item 972, Journal of Laws) allowed the Minister of Health to require facilities to provide pay data linked to the PESEL number and the PWZ number. But it has three limitations: data are collected only at the minister’s request, nothing is published, and there is no penalty for failing to comply. Our draft removes these limitations by adding two points to Article 27a.
Done ·
Working draft
version 0.3
We are here
questions in Annex B (in Polish)
Ahead
Support of 15 MPs
Article 32(2) of the Rules of Procedure of the Sejm
Ahead
Submission to the Marshal of the Sejm
with an explanatory memorandum and regulatory impact statement
Ahead
Opinions and first reading
Current formversion 0.3 ·
Citizens’ working draft: amendment of Article 27a(1a) and (5)–(7). Text, explanatory memorandum and questions for legal review.
Archivesince
To the Minister of Health and the Senate: a public register by name, by PWZ number. An earlier version of our demand.
Evidence
~73%
of specialists work under contracts, which are easy to combine across many facilities at once
EstimateGazeta Prawna (in Polish)
316,079PLN
the highest disclosed contract per month (≈ €71,700) — in a region whose hospitals have PLN 1.4 billion (≈ €318 million) of debt
633thousand PLN
median annual income from work of doctor-councillors for 2025 (≈ €144,000) — each amount checked against an asset declaration (113 declarations)
21.9%
of respondents chose transparency of doctors’ contracts — more often than a ban on private practice or pay limits
Objections
The GDPR does not prohibit the processing of data — it sets out when and on what basis data may be processed. We also answer questions to which we do not yet know the answer ourselves.
Open legal questions (in Polish)No. Consent is only one of six legal bases for processing data. The GDPR also allows processing when it is necessary for compliance with a legal obligation (Article 6(1)(c)) or for the performance of a task carried out in the public interest (Article 6(1)(e)). The draft act provides such a basis.
For the body that holds the key — yes. That is why only that body keeps the key, and the published data contain no first name, surname, PESEL number or PWZ number.
Whether the identifier is personal data also for the recipients of the open data is one of the questions the draft refers for legal review (recital 26 of the GDPR). The act provides the basis for publication whatever the answer.
That risk exists: specialisation broken down by facility can point to the only such person on a ward. The draft treats this as an open question and considers a threshold — for example, not publishing a specialisation held by fewer than 5 people in a facility.
No. Pay in public administration and the asset declarations of people holding public office are already public. Money from the health contribution should not be an exception. The demand does not concern names, and transparency protects honest doctors from collective suspicion.
Other changes that follow from the same data — from working-time records to medical courts — we collect separately, outside our demand.Broader programme (in Polish)
Euro amounts are approximate, converted at the National Bank of Poland mid rate of 27 October 2026 (table 209/A/NBP/2026): 1 EUR = 4.4056 PLN.