Skip to content
This feature is in beta. It may behave unexpectedly.

NFZ settlements — coding, limits and export

Coding NFZ services at execution, annual contract limits and batches handed off to OptiMED. Heltio prepares the data for settlement; it does not settle with the NFZ itself.

Required permissions:
Clinic Admin
Reviewed: 2026-08-24

The NFZ path in Heltio has three stretches: coding a service at the moment it is performed, contract limits for a given year, and the batch handed off to OptiMED or downloaded as a file. On top of that comes a view of the patient's eligibility.

Everything below works only at facilities of type Hospital. In an outpatient practice these entries do not appear in the menu, and the contract limits carry the note "Available for hospital facilities only". Settlements with private insurers are a separate, independent feature — described in Insurer settlements.

Open NFZ export & feed

How to do it

01

Enter the contract limits for the year

Settings → NFZ contract limits. Pick the Contract year and click Define contract. The table has four rows — Inpatient general-systemic, Inpatient neurological, Day rehabilitation, Outpatient — and one column, Annual limit. You fill in only the settings the facility actually runs; empty stays empty. Save acknowledges with Contract limits saved.

The limits do not block work — they are the basis of the NFZ realization vs limit report. Delete contract clears the limits for every setting in that year but, as the dialog itself says, "Realization data is not affected."

02

Code the service at execution

The coding is created where the service is created: on a therapy order — on the patient record or on the ward — in the Log execution dialog. The NFZ coding section has three fields:

  • Rehab setting — suggested from the profile of the unit the treatment was performed in.
  • NFZ service typeInpatient general-systemic, Inpatient neurological, Day-rehab centre or Outpatient physiotherapy.
  • NFZ product code — for example 5.32.01.0000001.

The state of the coding shows as Optional, Incomplete or Coded. Saving is acknowledged with NFZ codes saved; you correct it later through Edit NFZ codes.

03

Check the patient's eligibility

On the patient record and at ward admission there is an NFZ eligibility card with a Check eligibility button. The result is recorded as Insured (confirmed), Not confirmed or Unknown, together with a date — Last checked …. Every check stays in the history; nothing is overwritten.

04

Generate a batch for a period

Settings → NFZ export & feed. You give a Period from, a Period to and a File formatCSV, XML or JSON — and then click Generate batch. Heltio gathers every coded service from the period, groups them by rehabilitation setting and shows the number of records.

Regenerating a batch for the same period replaces the previous one, as long as it has not been handed off yet — records will not be duplicated. A batch already handed off stays untouched; handing it off again is a deliberate decision.

The batch list shows the period, the format, the number of records and the status: Draft, Generated, Handed off to OptiMED or Error.

05

Hand off the batch or download the file

The batch details have two buttons: Feed to OptiMED and Download file. The first queues the batch for hand-off, the second gives you the same set of data in the chosen format for manual delivery.

When something goes wrong

Warning

Invalid NFZ product code — must be a non-empty code

What this means: The product code field was left empty, or has a shape Heltio does not accept.

What to do: Type the code from the NFZ catalogue in full, for example *5.32.01.0000001*.
Warning

Neuro records missing Barthel entry/exit — required for NFZ settlement

What this means: The batch contains neurological services with no Barthel measurement at admission or at discharge.

What to do: Fill in the missing measurements and generate the batch for the same period again — the new one replaces the previous.
Info

No NFZ-coded services in this period

What this means: In the chosen period no service has NFZ coding recorded.

What to do: Check that the team fills in the **NFZ coding** section when logging an execution, and that the period covers the execution dates, not the order dates.
Warning

Feed failed — retry on the integration panel

What this means: The hand-off of the batch did not go through.

What to do: Open **View OUTBOUND feed messages on the integration health panel** from the batch view. In the meantime you can download the file.
Warning

No PESEL on file — eligibility cannot be confirmed

What this means: The patient record has no PESEL number, so there is nothing to check.

What to do: Fill in the PESEL on the patient record and repeat the check.
Error

Failed to load contract data.

What this means: The contract limits were not fetched.

What to do: Click **Retry** next to the message.

Who has access

Clinic Admin

Contract limits, and generating, handing off and downloading batches, are reserved for the Owner, the Administrator and a Coordinator. The same three run the NFZ eligibility check; the recorded result is visible to every role with access to the patient record. The Clinical (read-only) role generates, hands off and downloads nothing.

Every batch generation, hand-off and file download leaves an entry in the audit log — including who downloaded patients' personal data.

Was this article helpful?

Didn't find an answer? Write to us.

Open the contact form