HD4DP v.1 (Health Data for Data Providers)

HD4DP v.1 (Health Data for Data Providers)

HD4DP v1 is a local application accessible via web browser developed by Healthdata.be (Sciensano) and installed at the site of the data provider that allows the data provider to extract data from the primary system and map that data into one or more data collections (if possible).

Questions that cannot be answered by the primary systems have to be answered manually in the ‘prefilled’ document.

The goal is to put as many prefilled elements as possible in as many documents as possible.

The documents are managed centrally via metadata. 

admin Thu, 01/13/2022 - 10:37

General description of the application HD4DP v1

General description of the application HD4DP v1

The HD4DP application enables data providers to collect data.

The medical and professional secret is protected at various levels and through principles such as encoding, encryption, and user-acces management. The combination of these elements guarantees so-called "end-to-end security". 

During the data collection process, which is done by this application, all data is securely (= anonymized) transferred to Sciensano, with the use of e-health box:

  • The data provider never receives the coded identifiers
  • eHealth has never access to medical data or metadata
  • Healthdata.be never receives the original identifier, but can reconcile different entries
manager Thu, 11/11/2021 - 16:59

User manual of the application HD4DP v1

User manual of the application HD4DP v1 manager Thu, 11/11/2021 - 16:59

Getting started

Getting started manager Thu, 11/11/2021 - 17:00

Where can I find the application HD4DP v1?

Where can I find the application HD4DP v1?

HD4DP v1 is a local application - which means that it is installed on the IT infrastructure of your organisation or that of your partner organisation - that is accessible via a web browser, such as Internet Explorer or Chrome, which has a specific link in every organisation.

  • Open the link for the HD4DP v1 application
  • If you do not know the link of the HD4DP v1 application in your organisation, contact healthdata.be at support.healthdata@sciensano.be to get the link.

manager Thu, 11/11/2021 - 17:00

How can I access the application HD4DP v1?

How can I access the application HD4DP v1?

To access the HD4DP v1 application, you need an account, a username and a password. If you do not have an account, you can request one by following the steps below. If you have an account, follow the "sign in" instructions at the end of this page.

Request an account

  • Open the link for the HD4DP v1 application. You will see this screen:
  • Click on the Request account link on the login page
  • Fill out the request form:
    • Enter a username, first name, last name and email address
    • Select the organization and data collection(s)
    • Fill in the Requester email field if a person requests an account for a third person
    • Submit the request user the Request button 
  • Confirmation emails are sent to the person for whom the account was requested as well as the requester, if the field 'Requester email' was filled
  • The approval or rejection for the user account is confirmed by mail. Depending on your organization, this could take a few hours.
    • This action will be done by an HD4DP v1 administrator in your organisation 
    • The confirmation mail will include all the necessary information to log in

Sign in

Logging in to the HD4DP v1 application is done in 3 steps:

  • Enter your username and password​ in the appropriate fields
  • Select the correct organization
  • Click on "Log in"
manager Thu, 11/11/2021 - 17:00

Request access to data collection

Request access to data collection
  • Go to your Settings in the right upper corner of the screen
  • Choose Edit Profile
  • Open the dropdown under the section Request data collection access  
  • Select the desired data collection
  • Send request
  • mail is sent to the responsible HD4DP administrator to handel your request.
manager Thu, 11/11/2021 - 17:00

Change the settings

Change the settings

Change your password

The password of a user account can be changed in the account settings by the user:

  • Select ‘Settings’ on the top right corner
  • Select 'Change password'
  • Change the password in the popup window that will appear
  • Enter the "Save" button.

Change language

The language settings can be changed for HD4DP:

  • Log in with your account and password
  • Select ‘Settings’ on the top-right corner
  • Select the preferred language under the language section:
    • English
    • French
    • Dutch
  • Click on "Change password"

manager Thu, 11/11/2021 - 17:01

Main menu

Main menu manager Thu, 11/11/2021 - 17:01

Data Collection view

Data Collection view

The Data Collection view leads a user to the existing registers. A user can start collecting data from this view.

See also "Create and submit a registration"

manager Thu, 11/11/2021 - 17:01

The Participation Panel

The Participation Panel

Over time, the questions that are being asked in a registry can change: new questions are added, other questions become obsolete, or even the list of potential answers for a given question can change.
To account for these changes, the HD4DP application works with versions for a registration form. Per data collection (e.g. that of 2015) only one version can be active.

The participation panel gives more information about the different versions that exist for a given registry and allow you to manage which version(s) you're working on.

  • Select 'participation' in the top menu to navigate to the registry participation panel
  • Select the registry of your choice in the dropdown menu

In the left panel, the most recent versions of the registration form for each data collection are visible:

When a version is selected, the user gets an insight of the history and current status of the register in the right panel by using sections and key dates and to give the user the option to go view the report or to finalize the collection of the data by using the action buttons


The different versions are split up in 3 sections:

  • Participating: shows the versions of the registration forms that a user is currently actively participating in. Normally, this should only be one version
  • Available for participation: other available versions for a user
    • ​​To start participating on this version, please refer to the article Participate in a data collection
  • Finalized: all the versions for that registry where your organization has indicated that you are finished with collecting data for a given data collection round (Finalize the data collection)

Key dates

Selecting a version by clicking on it gives a user more information about some key dates as determined by the registry responsible:

  • Start date: from this date on, this registration form is available for activation by the data providers. Once activated, new registrations can be created
  • End creation date: from this date on, it is no longer possible to create new registrations using this registration form. Submitting and/or correcting existing registrations remains possible
  • End submission date:  from this date on, it is no longer possible to submit registrations. It is only possible to correct existing registrations and to submit these registrations
  • End comment date: the data collection is no longer active and no corrections can be done

Action buttons

Notice that there are two buttons:

  • Create and submit a registration
  • Finalize the data collection
manager Thu, 11/11/2021 - 17:01

The Reporting Section

The Reporting Section

The reporting part of the menu leads to the Healthstat.be website.

Healthstat.be is the data visualization platform of the Healthdata.be project, which is part of the national Action Plan eHealth 2013-2018. Here, the researchers publish tables, figures and maps they made based on the data they have collected among Belgian hospitals, laboratories, physicians, and patients.

With these reports, researchers want to give health professionals, healthcare institutions, patients, governments and the general public an up-to-date insight into the prevalence of certain diseases, their causes and impact, and the effectiveness of their treatment.

Healthstat.be is a service of the Sciensano and funded by the National Institute for Health and Disability Insurance.

manager Thu, 11/11/2021 - 17:01

The 'Help' and 'Guide' menu

The 'Help' and 'Guide' menu

The 'Guide' and 'Help' menu that is located in the upper right corner and can help in using the HD4DP application.

Page 'Guide'

This wizard helps to explore the application. It provides more information on the possibilities within the application. Click 'next' to go to the following function.

Page 'Help'

In the 'Help' menu, you can choose from the following subjects: 'Support' and 'Contact'.


Choose ‘Support’ to be redirected to the support page from Healthdata. Articles on how to use HD4DP can be found here.

Use the search bar for a specific item. Enter a key word and the related articles will be shown.

In the left sidebar you can find the links to: 

  • Healthdata.be
  • HealthStat.be
  • Public question  
  • Email 
  • Telephone number


Selecting 'Contact' in the menu will first invite you to ask your question, to check whether the answer is not yet in our support articles.

On the bottom of the search result you can then indicate whether you have found your answer or you can still choose to submit your question.

In case you click 'Yes, submit my question', a dialogue box appears that you can fill in. Automatically a case is created which will further be followed up by the healthdata support team.

You can of course always send an email with your questions directly to support.healthdata@sciensano.be.

admin Thu, 11/11/2021 - 17:02

Display Errors and Warnings

Display Errors and Warnings

Data that are filled in manually or that are present in the uploaded file can contain errors.

These errors will be shown as validation errors, the absence of required fields, validation warnings under the validation part which in the right panel of the screen. ​An explanation of the error is given.

Clicking on the validation error or warning will navigate to the field concerned.

These records need to be corrected first and then submitted for registration.

manager Thu, 11/11/2021 - 17:02

The progress bar

The progress bar

The progress bar shows the progress of the data collection. It lists the number of errors, remarks and correct fields in a data collection.

The progress bar can be found in: 

  • The view list of a register
  • The detailed view of a record

View list

Detailed view

The progress bar can be divided in three sections, each section has its own color and meaning. 

  • Red: mandatory fields and fields containing an error. These need to be solved before the registration can be submitted.
  • Blue: Empty optional fields. The registration can be submitted with empty optional fields.
  • Green: correctly filled fields.

It is possible to hover over the progress bar. The number of fields per section are displayed.

manager Thu, 11/11/2021 - 17:02

Collecting data

Collecting data manager Thu, 11/11/2021 - 17:03


General manager Thu, 11/11/2021 - 17:03

Select a register

Select a register
  • Select the register to create or modify registrations. Click on the top left corner and a drop down menu will be shown. The list of available registers is provided: Data Collections​ (in this article, we randomly selected the project BNMDR).
  • Select the correct version of the registry. ​In case of different versions/periods select the one with the green bullet

manager Thu, 11/11/2021 - 17:03

Customize the list view

Customize the list view

This article explains how a user can customize the list view in HD4DP. The list is shown in default view list. The view list can easily be adapted to the needs of the user. These are the main actions to customize the view list:

  • Sorting
  • Filtering
  • Columns displayed
  • Number of registrations per page


By simply clicking on a column header, all registrations are sorted ascending or descending according to this column.


Predefined filters are provided to filter on the most commonly used columns.
Click 'Clear filters' to display all registrations again.

Columns displayed

For each registry, the researcher has defined a default view that consists of a set of columns. To display this set of columns, click 'Restore default view' as illustrated below.

You can add and remove any columns. While columns can be removed by clicking on the 'x' at the top right of each column, adding columns is done via the 'gear icon' at the right of the table.

An interesting colum to add to the overview is the Progress Bar where you can see the status of every registration. The bar represents the status of the fields i.e. valid, invalid or optional.

Number of registrations per page

The number of registrations displayed per page can contain 10, 25, 50 or 100 registrations per page. 

manager Thu, 11/11/2021 - 17:03

Participate in a data collection

Participate in a data collection
  • Go to the Data Collection section and select the version in which you want to participate.
  • Click the button "Go to the participation page":

Click on ‘Participate’ and then you can click on ‘Go to data collection’:

manager Thu, 11/11/2021 - 17:03

Overview of the registration statuses

Overview of the registration statuses

This article explains the different registration statuses in HD4DP v1 as of v1.8.

Where to find the status of a registration?

Statuses are shown in 'Status' column which is per default the first column in the overview:

What is a Status Confirmation?

The status confirmation gives information about the arriving of the data in HD4DP. The status confirmation, which is in fact a substatus of a registration is shown in the column 'Status confirmation'. 

To view the 'Status Confirmation', modify the list view add the column 'Status confirmation':

As soon as a registration is sent and has status 'Submitted', the confirmation column will show the following substatus:

  • Pending
  • OK: the registration has arrived
  • NOK: the registration did not arrive within 48 hours

The different registration statuses

User-added image Open*: a registration is created and stored. It has not been submitted

User-added image Sending: the registration is being sent to HD4RES

User-added image Submitted: the registration has been sent to HD4RES. This does not necessarily mean that the registration has arrived in HD4RES

User-added image Registrations in status 'Corrections needed'*: the researcher verified the registration and added some comments. Review the comments and correct where necessary

User-added image Approved: the researcher verified and approved the registration

User-added image Registrations with status 'Follow-up needed'*: a follow-up registration is needed for this registration. Fill in the newly available fields

User-added image Error: your account is not authorized to create and submit registration for this register. Please contact support.

* action is required from the user

The below scheme summarizes the different registration statuses in HD4DP and Processing Data and their relation to each other:

manager Thu, 11/11/2021 - 17:04


Process manager Thu, 11/11/2021 - 17:04

Create and submit in HD4DP v1

Create and submit in HD4DP v1

The Data Collection view leads a user to the existing registers. A user can start collecting data from this view.

Creating and submitting a registration consists of 4 steps:

  • Select the register for creating a registration
  • Click on ‘New registration’ button
  • Fill in the registration form and save or submit the registration
  • Save the registration temporarily if needed. The status of the record will be 'Open' for saved registrations​
  • Submit the registration if  no validation errors present. The status of the registration will change to 'Sending'
  • When the record has been processed, the status will change to 'Submitted'

As soon as a registration is sent, the ‘status confirmation’ column will show ‘Pending’.

  • ​It shows 'OK' once the registration has arrived, and 'NOK' if the registration did not arrive within 48 hours. If the status is 'NOK', the software will automatically try to resend the registration up to 10 days after the initial submission
  • For the statuses ‘Sending’, 'Corrections needed' and 'Approved' the status confirmation will be empty because the registration has not yet been submitted
  • A registration can be 'Reopened' if needed as long as the status of the registration is 'Submitted'
manager Thu, 11/11/2021 - 17:04

Change or complete registrations

Change or complete registrations

A user can change and complete a registration in of 4 steps:

  • Select the registry for which you want to change one or more registrations
  • Click on the registration that needs to be to be changed and complete the form. The status of the record will be:
    • 'Open' for registrations that were saved manually or by uploading a CSV
    • 'Corrections needed' for registrations with errors
  • Save the registration temporarily if needed. The status of the record will be 'Open' for saved registrations
  • Submit the registration if  no validation errors present
    • The status of the registration will change to 'Sending'
  • When the record has been processed, the status will change to 'Submitted'

As soon as a registration is sent, the ‘status confirmation’ column will show ‘Pending’.

  • ​It shows 'OK' once the registration has arrived, and 'NOK' if the registration did not arrive within 48 hours. If the status is 'NOK', the software will automatically try to resend the registration up to 10 days after the initial submission
  • For the statuses ‘Sending’, 'Corrections needed' and 'Approved' the status confirmation will be empty because the registration has not yet been submitted
  • A registration can be 'Reopened' if needed as long as the status of the registration is 'Submitted'
manager Thu, 11/11/2021 - 17:04

Registrations in status 'Corrections needed'

Registrations in status 'Corrections needed'

Registrations with status 'Corrections needed' need to be revised. The researcher has comments that require an update or revision.

  • Select the record with status 'Corrections needed'
  • Verify and react to the comments made by the researcher by selecting the ‘comments’ tab
  • Reply to the comments and modify the registration and save the comment
  • Click 'Re-submit' to send the corrections to the researcher. Alle validation errors need to be solved before the 'Re-submit' button becomes available
manager Thu, 11/11/2021 - 17:04

Registrations with status 'Follow-up needed'

Registrations with status 'Follow-up needed'

Some registrations need follow-up e.g. to monitor multiple consultations of a patient. Therefore additional information will be asked at predefined milestones, which are defined in the set-up phase of the registry. 
Follow-up registrations can be triggered by:

  • Timing e.g. x time after the initial registration
  • Answers in the initial registration e.g. only if the patient has taken medication X
  • A combination of both e.g. if the patient has taken medication X, ask follow-up information 3 months later

If the Status column shows 'Follow-up needed' and the 'Follow up' column is active, the user can add the extra information needed in the details of the registration.

Note: the process of validation and resending the registration(s) back for the follow-up data takes minimum 4 hours.

Select 'Follow up' in the settings of the view:

The Follow-up column is now shown in the view:

When follow-up is needed, the column 'Follow up' in the list view indicates if follow-up is needed by indicating:

  • Planned:  follow-up will be needed in the future, indicated by the date indication
    • 'Status Column' shows 'Submitted', no action is needed at this moment 
  • Active: the questions for this follow up are now visible and can be filled
    • 'Status Column' shows 'Follow-up needed', action is needed
  • Submitted:  the follow-up column will change to submitted after the additional information is given
    • 'Status Column' shows 'Submitted', no more action is needed

Depending on how many times follow-up is needed, a row is added to the column. The milestones are indicated by t1, t2 etc. 

manager Thu, 11/11/2021 - 17:04

Delete registrations

Delete registrations

Only registrations that are in status 'open' and ‘corrections needed’ can be deleted.  

Following steps are needed to delete registration:

  • Select the register and version for which you need to delete a registration
  • Select the registration(s) that you want to delete
  • Select the ‘Actions’ button and choose the ‘Delete registrations’ option
  • Select ‘yes’ to confirm
manager Thu, 11/11/2021 - 17:05

Finalize the data collection

Finalize the data collection

The researcher needs to be notified if the data collection is ready. 

There are 2 ways to finalize the data collection:

1. By using the link in the Data Collection tab:

2. By using the button in the Participation tab:

  • Confirm finalization of the data collection:

Sometimes additional data is requested by the researcher. This must be completed first before using the finalize button or link.

After you select the finalize button, the researcher will be notified

manager Thu, 11/11/2021 - 17:05

Submit registrations in bulk

Submit registrations in bulk
  • The registrations that need to be submitted, have to be checked to proceed the registration in bulk
  • Click on the button 'Actions' and select 'Submit registrations'. The number of selected records is displayed between brackets​​
  • Confirm the submission on the window that appears
  • summary of the registrations that are submitted and failed is shown. The records that contain errors will not be submitted
manager Thu, 11/11/2021 - 17:05

Using the upload center

Using the upload center

The upload center is introduced to make the upload of multiple registrations more performant and user friendly.​

The link to the upload center can be reached by the main menu:

If uploads are processed, an overview with the name of the uploade file, the status and a visual representation of the status, the number of records that were processed, the way of uploading, the user and the upload date is saved in the main screen of the upload center is given to the user a quick and visual impression of the data uploaded in bulk by using the upload center:

In the right upper corner two buttons are shown.

  • Configuration: the default settings for a register can be set by any user that is authorized to participate in a register. 

Following options are available:

  • Conflict mode: what need to be done in case of conflict
  • Conflict master: is the data from the new registration of from the record in the database saved in case of conflict
  • Ignore duplicate records
  • Autosubmit: send the data automatically for processing in HD4RES
  • Validation: what need to be done after validation the registration:
    • None: only the registrations without errors will be saved.
    • Save on validations: Save the registrations when there are validation errors upon uploading
    • Validate all: Only perform commit if non of its records have (errors or) validation errors.

4 steps need to be executed for a new upload. When the titel bar of in a separate step turns green, orange or red and the icon of the step in the overview, the step has respectively ended with succes, with warnings or errors.

Step 1 - Select file

The first step is to select the CSV file with the data to be uploaded. The default settings for a register can be found in the Configurations on the main screen of the upload center. 

Be sure to deselect the "Use default configurations" when changing the default settings: 

For the BCR register, the possibility exists to upload two files and link them during the process:

  • Both documents will be validated separately. By using the link "Click here to see the linked upload" the user can switch between the linked documents. Refresh of push F5 on you  to see the status of the upload.

After uploading succesfully, the title bar of this step will turn green.

Step 2 - Validity Check

Validation checks are executed for every record. 

Step 3 - Upload

The file is being uploaded and the result is shown in this step per line of data added:

Step 4 - Finalise 

The result is shown visually for all registrations and for all registrations in a CSV file in reports after finalization:

Succes report is a CSV file with all registrations who were processed succesfully.

In case of errors, a link to a detailed error report is shown too:

Please find below the movie that guides you through the functionalities of the Upload Center:

manager Thu, 11/11/2021 - 17:05

Create a CSV file

Create a CSV file

Processing registrations in bulk is done by uploading CSV files. These files are plain text files which can contain multiple registrations at once and are extracted from your primary system. 

The first step is to create the file correctly.

Using a CSV editor

While Excel is a fine tool to view CSV’s, we do not recommend it to edit CSVs. Instead use notepad++ or any other text editor. Here are a few risks you should be aware of when editing a CSV in Excel. Excel will interpret the content, which may lead to changes:

  • Leading zeros disappear in fields that are recognized as numeric fields
  • Entries like 3-9 can become March-9
  • ​The only accepted date format DD/MM/YYYY can be modified (e.g. To DD/MM/YY)
  • The decimal separator can differ from that in HD4DP, a semicolon wil lead to a correct upload
  • When saving a file as .csv, Excel uses the default field separator. HD4DP only accepts CSV with a semicolon as separator. This default setting can be adapted in the properties of your computer.
  • CSV encoding must be in UTF-8.

Setting up the document 

Every column in the CSV file needs to be recognized as a field of the register by the HD4DP application. Therefor each column in the file must be identical by the technical name of the field in the register.

 Downloading (manually) entered data from HD4DP will guide you in formatting a CSV file and may help during the development of the CSV extraction from the primary systems.

The specifications for each register and its fields are defined and documented as mentioned on https://www.healthdata.be/dcd.

Each field in the form can be completed through a value in a CSV file.
An example field is “Date of last follow-up”, shown in the screenshot below.

This field is of the type “date” and is required (*). Within the technical documentation of this data collection, this is shown as follows:

To include this field in a CSV upload file, it is sufficient to create a column with the name “date_of_last_followup” and populate it with the appropriate data i.e. a date in the format dd/mm/yyyy.

Fields can be required, read-only and computed (automatically calculated). Fields can also have a default value.

This information is present in the detailed technical description for each data collection.

General requirements

  • The column separator is the semicolon (;)
  • The decimal separator for numbers is the comma (,)
  • The date format is dd/mm/yyyy

Basic content types

Depending on the type of the field, a different representation of the data is expected. The table below describes the different basic types and the rules on how to provide the content for these types.

Content typeExpected format/content
booleanTRUE, FALSE
choicecode from choice list
multilinefree text
numbernumber (decimal separator = ,)
patientIDSSIN number. If the person does not have a SSIN, leave this field blank.
questionnairecode from questionnaire answer list
text●   free text
●   if a binding reference list is used: a code from the reference list
●   if a non-binding reference list is used: a code from the reference list or free text
attachment●   expected format/content: Name of the file that must be attached (e.g. protocol.txt).
●   expected extension: .txt
●   file must be stored in the same folder as the folder that is used for the CSV-upload

Advanced content types

Other than these simple types, more complex data structures can be used, as shown in the table below. Each of these types is explained in more detail below the table.

Content typeCSV column nameExpected format
fields within fieldsetfieldset_label|field_labeldepending on the field type
list (1 field)list_label|fieldvalue1|value2|etc
list (block of fields)list_label|0|field1
depending on the field type
nested fields below choice or multichoicechoice_label|nested_itemdepending on the field type


A fieldset is a collection of fields, as shown in the image below:

Anthropometry is the title of the fieldset, and this fieldset contains two fields, weight and height. Fieldsets fieldsets do not have a number cfr. image below - Anthropometry.

Sections do not have an impact on the CSV file, whereas fieldsets do. The title of the fieldset must be included in the field name column as follows: fieldset_label|field_label.

E.g. for the two Anthropometry fieldset fields weight and height below, the correct CSV column headers are: anthropometry|weight en anthropometry|height.


A list is also a collection of fields, like a fieldset, but with the additional property that the collection of fields can be repeated.

An example is shown in the image below: “Birthdays of the biological children for this patient” is a list. One list item consists of two fields, “Child birth month” and “Child birth year”. For each child, a list item can be added.

The CSV column names consist of the list header label and the field label (as for fieldsets), together with a counter to distinguish the different list items. The correct CSV column names for the two list items below are:

  • birthdays_of_the_biological_children_for_this_patient|00|child_birth_month
  • birthdays_of_the_biological_children_for_this_patient|00|child_birth_month
  • birthdays_of_the_biological_children_for_this_patient|01|child_birth_month
  • birthdays_of_the_biological_children_for_this_patient|01|child_birth_year

Please note that for every line, the numbers should increment, starting from 0 (|00|,|01|, .. is ok, |01|, |03|, ... is not). You can't have blank values for |00| and filled values for a higher number.

Please note that the numbering requires a stable format, meaning the number of characters used by the number has to be constant. You can't have one record using |00| and another using |0|. Generally we advice to use a string length of 2 digits.

For lists consisting of 1 field a simplified implementation is possible. The CSV column header only consists of the list header label and multiple values are provided in the one column, separated by a pipe (|).

E.g. for the list in the image below, the CSV column header is diagnosis_orphacode and the content of the column is 562|702. This is the example of a text field with a reference list: providing the codes of the reference list is sufficient.

Nested fields

Nested fields are fields that only become available when specific options are selected in the form. An example is shown below: the field “Specify” only becomes available if the checkbox “Other” is marked. These fields also have a combined CSV column header, consisting of the choice list label and the field label. For the example below, the correct CSV column header is hence base_of_diagnosis|specify.


When a CSV is prepared and put in the provisioning folder, it can contain references to attachments for data collections that specifically allow this.

These references are relative paths to the file location. If such a reference is present in the CSV file, the attachment content is uploaded and linked to the created registration. The attachment is then available in the HD4DP client as well as in the HD4RES client when the registration is submitted.

The maximum file size for attachments is 6 MB

If a data collection permits you to send attachments you should have the column name to use in the CSV. If not, you should be able to find it at https://www.healthdata.be/dcd/#/collections or you can contact Support.Healthdata@sciensano.be.

Add the column name to the header of the CSV and add the file names as values in the column.
Example: “picture.png”

Put the CSV file in the correct provisioning folder (organization sub folder, then in the register sub folder), along with a “picture.png” file of your choice. The application picks the CSV file and creates a new registration.

Open the registration and verify the attachment has correctly been uploaded.

manager Thu, 11/11/2021 - 17:06

Upload a CSV file

Upload a CSV file

There are 3 ways to upload CSV files with data into HD4DP v1:

  • Manually
    • In de HD4DP application
    • In the specific folders on the server (provisioning)
  • Automatically
    • in the specific folders on the server (fasttrack)

The file can be maximum 6 MB

When using the manual upload by using te application or putting files on the server (provisioning), the registrations still need to be manually submitted.

When using the fasttrack methodsubmission is done automatically.

Manually in the HD4DP application

Data can be uploaded by using the same approach as we use for the stable data.

More information can be found in the article "CSV download and upload for stable data".

Manually in the application folders

HD4DP allows to import files from the folders used by the application.

Save the created CSV file in the correct register folder of your organization or sub-organisation. The folders of the sub-organizations are to be find in the subfolders of the main organization.

When uploading a CSV, a check is performed for each record if any corresponding record is already available in the application. The check for corresponding data is based on the unique id. If a record is already available in the application a merge takes place between the existing record and the new CSV. In case of conflicts, the values of the new CSV are implemented.

The uploaded registrations will be automaticallyuploaded in the HD4DP application.

They will need to be manually validated and submitted in the application.

Automatically in the application folders

The goal of the CSV fast track is to automatically transmit complete valid CSV files to healthdata without human intervention. The following topics must be taken into account when using the CSV fast track. HD4DP allows to automatically import files from dedicated folders. On the server where HD4DP is installed, create a new folder next to the provisioning and stable data folders.

After creating the fast track folder, you must configure the location of the dedicated folder in HD4DP by adapting the configuration parameter "FAST_TRACK_DIRECTORY" in the admin configuration panel

Subfolders contributing to the organization and data collections, will  automatically be created according to a specific folder structure. 

In this video a more profound explanation about how to set up the fast-track is given:

When a CSV file is placed in the folder of a data collection, several actions can occur: 

  • If the file could not be manipulated (e.g. an invalid CSV or a data collection that has not yet started) the file is moved to ARCHIVE_ERROR
  • If the file was successfully read but only partially valid, the file will be split accordingly.
    • e.g: line1 is valid, line2 ignored because of duplicate record, line3 contains an error
      • a CSV file containing line1 will be placed in SUCCESS
      • a CSV file containing line2 will be placed in IGNORE
      • a CSV file containing line3 will be placed in ERROR and an extra column is added which explains why the CSVs raised an error.
      • the original CSV will be moved to ARCHIVE
  • If the file is successfully read and validated, it is moved entirely to both the SUCCESS folder and the ARCHIVE folder.
manager Thu, 11/11/2021 - 17:06

Using a CSV file : tips and tricks

Using a CSV file : tips and tricks

This document goes through a list of issues which users could encounter when uploading a CSV file in HD4DP v1. The article provides by tips and tricks to overcome these issues.

How should I create a CSV file?

Several methods can be used for creating a .csv file :

  • Download the .csv file for your data collection on https://www.healthdata.be/dcd/#/collections
  • Consult this article first
  • Use a spreadsheet  (e.g. Microsoft Excel, OpenCalc)
  • Save the document using one of the 2 following methods :
    • Use the spreadsheet and make sure the file saved use semi-column (;) as separator to fitting the standard of healthdata.be. Depending of the spreadsheet used, the creation of the .csv file containing semi-columns as file separators, could be carried out in 2 steps :
      • save the file as .csv file containing commas as column separators
      • edit the .csv file with a text editor and replace the commas by semi-column
    • Copy the data in a note editor and save it as .csv file
      • on Microsoft : notepad, notepad++
      • on Macintosh : textedit;app

How to find the technical requirements for a field in the registration?

  • Consult the registration requirements for each field in the data collection definition, as shown below :
    • Field Type e.g. text, boolean, choice, date, patient
    • CSV column_name 
    • Required : 'true' means that is a mandatory field and it has be present within the .csv extract
  • Postal code missing : use the value 999
  • Postal code for people living abroad : 9999

How to perform a massive deletion of records with HD4DP v1?

  • If your HD4DP version is not yet version 1.10.3 (consult this website for getting informed with HD4DP version), contact support.healthdata.be@sciensano.be
  • For future releases, the functionality is available

How should I treat NISS code with leading zeros when creating my csv?

 For treating leading 0s of a national registry number (NISS), you can fill in the field 'patient_id' by adding a simple quote (')  before the leading zeros as follows:

  • as is : 0007788..
  • to be: '0007788...

We advice the use of Excel TEXT function for formatting your NISS field for adding leading zeros. You can consult the following article for more information.

Can I use both Windows and Macintosh file for creating a csv file?

  • From the HD4DP version 1.10.3, you create your CSV file can either on Windows or Macintosh
  • For older versions, you can create a CSV on Macintosh buy you have to save it on a Windows environment before uploading it in HD4DP

How should I format the date fields within my csv extract?

The date format has to be dd/mm/yyyy, therefore  make sure the date format is correct by consulting your .csv file before uploading. Open the file with a text editor and not a spreadsheet and check the format date.

How should I proceed with deceased patient?

  • Put a value in the field 'patient | deceased' 
    • TRUE if patient deceased
    • FALSE if patient alive
  • Put the date of death in the field 'patient_id | date_of_death'  if the patient is deceased 

How can I fix errors with the automatic generation of Patient_ID?

  • If you do not dispose of a national number of the patient, a patient_id will be generated automatically. This is called a 'codepat' and you can find more information in the article "What is a codepat and how is it calculated?
  • If you use a codepat, you should use the substrings function for extracting the name and first name from the codepat field to fill in the strings from the 'CODEPAT': 
    • patient_id | name
    • patient_id | first_name
  • Below, an example of use of substring functions directly applied on the 'CODEPAT' for carrying this information extraction
    • patient_id | name  = MID(cell,9,2)   
    • patient_id | first_name =MID(cell,11,2)
    • patient_id | generated has to set to 'TRUE'
    • patient_id | sex has to be set to 'M' (Male) or 'F'(Female)
  • Test this procedure using the following csv extract, you should get the 'patient_id' filled in automatically


  • Pay attention cases when the substring function returned values as DE, DU IN, LA, LE, OP in the field 'patient_id | name', you should add one characteristic 

e.g. LE could become LEE or DE could become DEE 

Which norm of country code should I use in my csv extract?

Fill in the field 'NATION' using the the 2-digits ISO standard 3166alpha2 format.

How can I make sure that there are no spaces in cells left empty?

Make sure there is no spaces in cells left empty by searching the 'SPACE' characters (e.g. CTRL-F and push on the SPACE touch).
Remove all the spaces in cells left empty by replacing all the 'SPACE' characters by an empty string '' (e.g. CTRL-H and replace the 'SPACE' characters by an empty field '').

How can I treat the numbers with decimals?

The decimal separator must be the comma (e.g. 1,78 ; 1,89)

What are the not supported postal codes?

Postal CodeLocality
1007Assemblée de la Commission Communautaire Française
1005Assemblée Réunie de la Commission Communautaire
1099Bruxelles X
1008Chambre des Représentants
1046European External Action Service
1041International Press Center
1035Ministère de la Région de Bruxelles Capitale
1031Organisations Sociales Chrétiennes
1012Parlement de la Communauté française
1047Parlement Européen
1006Raad van de Vlaamse Gemeenschapscommissie 
1009Senat de Belgique
1048Union Européenne - Conseil
1011Vlaams parlement

What values to use when postal code is missing or for patient living abroad?

Missing postal code : 999
Patient living abroad : 9999

manager Thu, 11/11/2021 - 17:06

Reuse 'stable' data

Reuse 'stable' data

Stable data are data that remains the same or ‘stable’ over time e.g. birht data.
Since one of the main objectives of Healthdata is to reduce the registration effort, we want to avoid that this stable data has to be entered manually over and over again.

Stable data can be reused in 4 ways:

  • At first data collection via HD4DP
  • After 1st data collection period via HD4DP
  • Across registers
  • By recoding registers

At first data collection via HD4DP v1

  • Only for registers that used eHealth coded NISS before healthdata (BCFR, BNMDR, IQED, IQECAD) 
  • For these registers, a recoding needs to be done by eHealth: from the ‘old’ project-specific key to the healthdata key
  • Once this is done, a subset of relevant historical data is uploaded to HD4DP
  • In HD4DP v1, when creating a new registration with a NISS present in the historical data, the stable data is automatically enriched

After 1st data collection period via HD4DP

There are 2 options:

Enrichment on NISS

  • When creating a new registration for a patient that was already registered in a previous data collection period, the stable data for this patient will be automatically fetched and used to prefill the new registration
  • To check which fields are marked as ‘stable’, see www.healthdata.be/dcd 

Csv download & upload

  • Some registers (BCFR, BNMDR) prefer to create registrations in bulk with stable data
  • Stable data from previous data collection period can be exported cf. article "CSV download and upload for stable data"

Across registers

  • Currently only possible via manual csv download and upload  cf. article "CSV download and upload for stable data"
  • Will become automatic in Q2 or Q3 release.

Recode registers

  • For registers that did not use eHealth coded NISS as patient identifiers, but that wish to link the data collected without healthdata with the data collected with healthdata (longitudinal analysis)
  • A subset of relevant historical data is sent to HD4DP
  • Centres are asked to complete the registration with the NISS
  • Examples: BCFRecode, IQECAD_Recode, IQED_Recode
  • Researchers can not validate these data in the ‘standard’ way. This has to a manual job/interaction between DWH team and researcher
  • For clarifications to be done for IQED_Recode contact the support team support.healthdata@sciensano.be
manager Thu, 11/11/2021 - 17:06

CSV download and upload for stable data

CSV download and upload for stable data

Before starting a new data collection based on stable data of another data collection, you need to finalize the data collection which serves as the starting point of your new data collection cf. article "Finalize the data collection"

To start the new data collection select the new version in the Data collection section. In this case v3. 

Click the button "Go to the participation page":

  • Click on ‘Participate’:
  • The Start date in the Participation status will be updated and access to the new version is completed and the user can return to the Data Collection section:
  • Once the previous data collection is finalized and the new one has been started, you can download data from the first version and add those to the next version. 
  • Go to the Registrations tab:
  • Download the data by using the Download button "CSV Download All (Stable Data)":

When everything is downloaded, you can start uploading by Using the upload center.

manager Thu, 11/11/2021 - 17:06

User Management (for ADMIN's)

User Management (for ADMIN's)

To give users access to the application and data, permissions will be given by means of user accounts. 

The user management is only possible for administrator accounts in the HD4DP application. User accounts with Data Provider rights are not able change the user accounts or settings.

User management for the HD4DP application can be done in two ways:

  • in the HD4DP application
  • via a local LDAP

LDAP is an open (non-proprietary) standard for storing and retrieving names, addresses, phone numbers and other recorded information from an online directory. Whether your HD4DP is connected to a local LDAP server can be found in the HD4DP application settings (cf. article How to know if your HD4DP is using LDAP for user management).

admin Thu, 11/11/2021 - 17:06

User management in the HD4DP v1 application

User management in the HD4DP v1 application admin Thu, 11/11/2021 - 17:07

Create User Account in HD4DP v1

Create User Account in HD4DP v1

New accounts have to be created to give users acces to the application and the data: 

  • Log in using an administrator account
  • Go to the Dashboard in the menu 
  • Under 'User Management', click 'Add user'

The form to create a user is shown:

  • ​Enter a Username and create a password
  • Select the User Rights for the user
    • 'data provider' account can enter and submit data
    • an 'administrator' account can create users and change the configuration settings
  • Choose 'Enable' 
  • If the user is a 'data provider', select the registries the user should have access to
  • Confirm the creation of a new account by clicking 'Save'
admin Thu, 11/11/2021 - 17:07

How to approve a user request in HD4DP v1

How to approve a user request in HD4DP v1
  • Login as admin and select ‘User requests’
  • You will see an overview of all the requests:
  • Select the request that you want to approve. 
  • Check the data in the request
  • Simply click 'Approve' and the user account is active
  • The user will receive an email that his or her account is accepted. This e-mail provides the necessary information to login i.e. username, password. 

admin Thu, 11/11/2021 - 17:07

User management using a local LDAP

User management using a local LDAP admin Thu, 11/11/2021 - 17:07

How to know if your HD4DP v1 is using LDAP for user management

How to know if your HD4DP v1 is using LDAP for user management

This is how to verify whether your HD4DP is connected to a LDAP server:

  • Go to the 'Configurations' button in the left panel 'Configurations'​
  • Check the configuration parameter 'USER_MANAGEMENT_TYPE'.
    • If it is set on 'DATABASE_LDAP',  HD4DP is connected to your local LDAP for its authentication

If it is set on 'DATABASE',  the HD4DP is used for user management​.

manager Thu, 11/11/2021 - 17:07

Create HD4DP v1 account for LDAP users

Create HD4DP v1 account for LDAP users

New accounts have to be created to give users acces to the application and the data: 

  • Log in using an admin account
  • Go to the Dashboard in the menu 
  • Under 'User Management', click 'Add user'
  • Search a user from LDAP list under 'Username'
  • Select the non-migrated user by clicking on the name
  • Select the User Rights for this user
    • 'data provider' account can enter and submit data
    • an 'administrator' account can create users and change the configuration settings
  • Choose 'Enable' 
  • If the user is a 'data provider', select the registries the user should have access to
  • Confirm the creation of a new account by clicking 'Save'

manager Thu, 11/11/2021 - 17:07

Approving user requests when your HD4DP v1 is connected to LDAP

Approving user requests when your HD4DP v1 is connected to LDAP

Approving user requests when your HD4DP is connected to LDAP

  • Login as admin and select ‘User requests’
  • You will see an overview of all the requests:
  • Select the request that you want to approve
  • Before accepting the user request, several things must be checked:
    • Matching username: In HD4DP, the username must be the same as the person's username in the LDAP-system. If this is not the case,  change the requested username in HD4DP to the LDAP username
    • User search base: In the LDAP system, the user must be a member of the organizational unit (OU) where HD4DP searches for accounts. To find out the LDAP_USER_SEARCH_BASE for your organisation, go back to the dashboard, click on 'configurations' and search for LDAP_USER_SEARCH_BASE
  • Check the data in the request
  • Simply click 'Approve' and the user account is active
  • If you would try to accept a user request for which the username is not found in the LDAP system, an error message appears 
  • The user will receive an email that his or her account is accepted. This e-mail provides the necessary information to login i.e. username, password.
manager Thu, 11/11/2021 - 17:08

Change User Account in HD4DP v1 using LDAP

Change User Account in HD4DP v1 using LDAP

Accounts can be changed by the responsible of the HD4DP application of an organisation: 

  • Log in using an administrator account
  • Go to the Dashboard in the menu 
  • Click 'User List' under User Management to get a list view of the registered accounts
  • Click the 'Edit' button in the list view corresponding with your account

The user account can be changed:

  • User Rights for the user
    • 'data provider' account can enter and submit data
    • an 'administrator' account can create users and change the configuration settings
  • Choose 'Enable' or 'Disable', depending on the requirements
  • Select the registers the user should have access to
  • Confirm the changes by clicking 'Save'.
manager Thu, 11/11/2021 - 17:08

Technical manual of the application HD4DP v1

Technical manual of the application HD4DP v1 manager Thu, 11/11/2021 - 17:08

Architecture of HD4DP v1

Architecture of HD4DP v1

manager Thu, 11/11/2021 - 17:08

Technical onboarding

Technical onboarding

The HD4DP software is used for facilitating the data collection of health registers in Belgium. Most registers capture data related to individual patients. To protect the patient’s privacy, encoding of the patient's identifier, in each registration, is required before the data arrives.

The HD4DP software allows to capture data, either from manual data entry or from primary systems from the data provider. In order to send data to healthdata, it needs to be encrypted before it can be transferred via eHealthBox.

These are the following steps for Technical Onboarding:

Prepare the HD4DP-installation

The IT department of hospitals and laboratories have to prepare the installation by providing healthdata with the information needed. The HD4DP installation sheet is a form that contains all the information that Healthdata.be needs, in order to start, the installation of the HD4DP software.

An eHealth certificate is needed to complete the installation and therefor it is a section in the form. When sending information to the HD4DP installation, the data must be encrypted by healthdata  using the public key of the certificate of an organisation. 

The form will be adjusted to the needs of the requesting organisation and send by mail. The basis for this adjusted form can be found in the HD4DP installation form template

Install HD4DP

The software is remotely installed by healthdata.be.

Install encryption module

The encryption module encrypts registrations before they are sent to the registry via the eHealth platform. This module is not part of the HD4DP software.

Each data provider has the choice to either:

  • develop and implement this module
  • to make use of third party client software

​More information is available in the article about the Encryption module.

HD4DP needs to be configured (cf. article "How to configure HD4DP for an encryption module") for the encryption module used by an organisation.

Submit test registration 

To verify the installation, a number of registrations are submitted belonging to a test registry. 

Confirm installation 

Once the submitted data of the test registry are received correctly by healthdata, you will get a confirmation that the installation was successful.

Configure Mail Server Settings

The HD4DP application can notify users concerning necessary actions for their registers and to inform admins about changes or requests for user accounts. Mail Server settings need to be configured (cf. article "Configure Mail Server Settings") to make this functionality possible.

manager Thu, 11/11/2021 - 17:08

Technical requirements

Technical requirements

This article describes how to fill in the web form for carrying out the installation of HD4DP (consult article about technical onboarding of organizations for further details) within Healthdata.be. It contains the following points:

  1. Contact details
  2. Server information
    • Teamviewer: ID, password, link, username, token, password
    • VPN: connection details, link, username, token, password
    • Other: connection details, link, username, token, password
  3. Server information
    • Server name or IP adress
    • Operating System: Windows, Linux, other + version
    • RAM: minimum 4Gb
    • CPU: minimum 2
    • Disk space: minimum 50 Gb
    • Username (including domain if applicable)
    • Password Server
    • User is local admin Y/N
    • Installation directory (optional)
    • Installation directory (optional)
  4. Database information
  • Connect to existing database server Y/N
  • Database System (Microsoft SQL Server or Oracle)
  • Database Server name or IP adress
  • Database Server port (e.g. default, 1433)
  • Database Name (e.g. HD4DP)
  • Database Scheme (e.g. dbo)
  • Database Username
  • Database Password
  • User can read/write/create tables Y/N
  • Connect to Microsoft SQL Server using Windows Authentication Y/N
  1. User management
  • Combination Database (authorisation) and LDAP user management (authentication)
  • Database only (no integration with LDAP)
  1. External links: links should be accessible from the server, for the installation and operation of HD4DP. Please verify these URLs from the server’s web browser
  2. Software configuration / eHealth Public Key
    • Identification Type: NIHII-HOSPITAL, NIHII-LABO, CBE
    • Identification value: typically the organisation’s RIZIV/INAMI number
    • Application ID
  3. Software configuration / Encription module
    • REST web service / File system
  4. Prefilling demographic info: choose the service you want to connect to for retrieving patient information
    • None
    • RRN Connector
    • Custom Rest NRC
    • ADT-interface (e.g. Oazis)
  5. Mail server information
    • Mail SMTP Host
    • Mail "From" adress
    • Mail Security protocol
    • Mail SMTP Username (Optional)
  6. Controle - Captcha
  7. Review page (see below)


View below the first page of the web form.

User-added image

Save (recommended) each page before going to the 'Next Page' by clicking on 'Save my progressandresume later'.
Consult (recommended) the saved from by clicking on 'Resume a previously saved form'.


This part requires 2 kinds of parameter : (1) Server Connection and (2) Server Machine.

  • Server Connection 

 Fill in all the fields in the screenshot below to give access to the future HD4DP server.

User-added image
  • Server Machine​

 Fill in all the fields to identify the HD4DP server in the screenshot below.

User-added image


Fill in 'Yes' or 'No' on the screen below and fill in all fields.

User-added image

If you select 'Yes', you should obtain the screen below.

User-added image

If you click on 'No', Healthdata will install a new database (Oracle Express) on your server.


You should see the screen below and fill in (make your choise).

User-added image

If you choose the first option 'Combination Database (authorisation) and LDAP user management (authentification)' consult this article.

If you choise the second option 'Database only (no integration with LDAP)' that implies using the application to handle the customer account management.


Select in the screen below for confirming the :

  • the access to website required for running the application HD4DP
  • the access to website required for installing the application HD4DP
  • the identification of a proxy server in front of the HD4DP server in the screen below .
User-added image


Fill in the info about your eHealth certificate data in the screen below.

User-added image


Select the encryption module interface in the screen below.

User-added image

If you select  'REST web service' you have to fill in the info in the screenshot below.

User-added image

If you select 'File system' you have to fill in additional in the screenshot see below

User-added image


Select the different options for prefilling demographic info in the screen below ( consult this article for further details).

User-added image


Fill the info about the mail server in order to enable the email notification of the HD4DP users.

User-added image


Please enter the characters you see in this picture below

User-added image


  • Make sure your identification is correct by consulting the screenshot below.
  • Click on 'Confirm' to submit the form.
User-added image

see at the end of the review page :

User-added image

manager Thu, 11/11/2021 - 17:09

Enable HD4DP v1 auto-upgrade functionality

Enable HD4DP v1 auto-upgrade functionality

When healthdata.be pushes a new version, you will receive a mail to inform you about the new version that has been set ready for your organisation. When having enabled the auto_upgrade, your HD4DP v1 will detect overnight that a new version is pushed for your organisation. The auto-update will execute the necessary checks and download the new version. If one of the steps or checks gives an error, the auto-update will not take place.  In that case, you will receive an email the next day to warn you that a planned update has not been installed yet. You can decide to trigger the update manually (see article "Manage auto-upgrades of HD4DP") or to contact support via support.healthdata@sciensano.be.be 

The article shows how to enable the HD4DP auto-upgrade functionality.

  • Login in HD4DP as administrator, you should get the screen below
  • Go in the 'Configurations' panel (highlighted in the screen below)
  • Click on the 'Configurations' button²
  • Type 'AUT' in the search bar,  you should get the screen below
  • Select 'True' to enable the auto-upgrade functionality of HD4DP
  • Click on the green V to save the change, if the saving is successful, you should get the below
manager Thu, 11/11/2021 - 17:09

Manage auto-upgrades of HD4DP v1

Manage auto-upgrades of HD4DP v1

This article describes the auto-upgrade procedure of HD4DP. The procedure includes 3 executable steps using 3 dedicated buttons which should be visible in  the 'Upgrade software' panel (emphasized in the screen below)  when you Login as administrator :

1. Enable the auto-upgrade functionality
2. Check the settings of HD4DP for supporting the auto-upgrade functionality : 'Test software upgrade' button
3. Check that an upgrade is not already ongoing : 'Check upgrade status' button
4. Perform the auto-upgrade : 'Update HD4DP software' button

1. Enable the auto-upgrade functionality

Read the article "Enable HD4DP auto-upgrade functionality".

2. Check the settings of HD4DP for supporting the auto-upgrade functionality 

  • Click on the 'Test software upgrade' button, you should get a confirmation pop-up window as the below
  • Click on 'Continue', you should get a 'Success' pop-up window as the below (if not, please contact healthdata@sciensano.be)

3. Check that an upgrade is not already ongoing

  • Click on 'Check upgrade status' on the top-right corner of the screen, you should see message mentioning 'No upgrade in progress' as shown in the below

4. Perform the auto-upgrade

  • Click on 'Upgrade HD4DP software' for launching the auto-upgrade
  • Check the success of the auto-upgrade by :
    • Checking the HD4DP version, you should got the latest  version number of HD4DP (e.g. v1.11.3 in the screen below)
    • Checking the status items at the bottom of the screen as shown in the below (except the 'mail-server' status, every status item should be in green)
  • Email healthdata@sciensano.be if these 2 requirements (i.e. expected HD4DP version number and status items all in green) are not met.

manager Thu, 11/11/2021 - 17:09

Encryption module

Encryption module

While HD4DP is developed by healthdata.be, the EM module is not. It can be developed by data providers or third party vendors.

The architecture workgroup of the eHealth platform have strict rules concerning the encoding. Encryption and decryption from the HD4DP software are kept separate.

A new component, whose main functionality, is the encryption of the data before it leaves the organization. Since “data encryption” is the main purpose of this module, it will be referred to as Encryption Module (or EM).

Development by Data Providers

cookbook containing detailed instructions onhow to implement the module are attached.

HD4DP needs to be configured for the encryption module (cf "How to configure HD4DP for an encryption module").

Finally, validation (cf. article "Encryption module validation scenario") the encryption module implementations is done by healthdata.

Development by Third Parties

The two main functionalities of the encryption module are:

  •   Encryption and decryption data
  •   Sending and receiving data

HD4DP needs to be configured for the encryption module (cf. article "How to configure HD4DP for an encryption module"​).

Encryption and decryption

Healthdata.be has validated (cf. Encryption module validation scenario) the encryption module implementations, developed by the following parties:

Sending and receiving data

In Belgium, different eHealthBox client softwareapplications are available.

An eHealthBox client application provides an interface to use the eHealthBox service. The eHealth-platform communicates medical files, lab results or other sensible information.

​The use of an eHealthBox client application is required for sending data to healthdata.

The main vendors are:

manager Thu, 11/11/2021 - 17:09

Encryption module validation scenario

Encryption module validation scenario

Parties that developed their own implementation of the encryption module:

Validating different implementations of the encryption module by different parties, healthdata recommends to execute the test scenario below. Encryption module implementations that successfully pass this test scenario are approved by healthdata and will be published as such on the healthdata website.

Test scenario:

  • Log in to HD4DP with an admin account and create an account with user rights for the TEST registry (refer to article on support.healthdata.be)
  • Log in to HD4DP with the newly created user account, and fill and submit a registration for the TEST registry
  • Verify that the status of your registration changes from 'In progress' to 'Sending' (for a few minutes) and finally to 'Submitted'
  • Verify that registration created a message that was successfully processed by the encryption module and the eHealthBox client software
  • Send an email to healthdata@sciensano.be to confirm that a test message was sent
  • If your message is successfully received by healthdata, you will receive a confirmation email from healthdata@sciensano.be
  • Between 6 to12 hours after registration has been submitted, a status message from healthdata (via eHealth ) should be received in the eHealthBox, In version 1.5 or older that status will change to 'review in progress'.
    In version 1.6, the status is 'Submitted' but the confirmation field will change to OK. 
  • Send a screenshot to healthdata@sciensano.be to confirm that the status changed to 'Review in progress' or confirmation 'OK'.
manager Thu, 11/11/2021 - 17:09

How to configure HD4DP v1 for an encryption module

How to configure HD4DP v1 for an encryption module

How to configure HD4DP for communication with the encryption module - it is assumed that both HD4DP and the encryption module are installed. 

Log in to HD4DP as admin and go to the configurations panel:

To configure HD4DP for communication with an encryption module​, parameters need to be set regarding the organisations system.

The parameters 'EM_INTERFACE_OUT' and 'EM_INTERFACE_IN' the type of communication between HD4DP and the encryption module

  • REST: if communication is via REST-interface
  • FILE_SYSTEM: if communication is file based.

Depending on the type of interaction (REST or FILE_SYSTEM), different parameters have to be configured.


Specify the URL for incoming and outgoing messages via the parameters 'EM_REST_URL_OUT' and 'EM_REST_URL_IN':


Specify the different directories as shown in the example below:

manager Thu, 11/11/2021 - 17:10

HD4DP v1 integration with a Patient Identifier Service

HD4DP v1 integration with a Patient Identifier Service

Integrating HD4DP with a patient identifier service allows basic demographic information such as date of birth, gender, place of residence. HD4DP is based on the national registry number or an internal reference number.

The NATIONAL_REGISTRY_CONNECTOR configuration allows to select one option among the different connectors supported by HD4DP.

Supported integrations

This section provides a brief description of different options, along with the different configuration keys that must be filled in properly.

NIN Connector

If your organisation uses the NIN (National Insurance Number)Connector from HealthConnect, integration can be done out-of-the box by configuring the Server URL, Application Token and User ID in HD4DP. 


  • Select the RRNCONNECTOR option in the dropdown list


If your organisation uses a patient administration system that is able to accept ADTqueries (v2), it is possible to integrate this with HD4DP as from v1.4.0. This ADT query can be done based on either a national registry number or an internal reference number.


  • Select the ADT option in the dropdown list
  • Fill in the ADT_SERVICE_HOST and ADT_SERVICE_PORT configurations with the host and the port of your ADT service

Customization of the National Registry Connector

For developing your own web service for retrieving patient information from another system, this service must comply with a few set requirements. The service proposes an API respecting the request pattern below, and answers with an XML formatted response similar to the one provided in the example.


HeaderAccept : Application/xml

URL Example: http://localhost:8080/identifierservice/patient/87120406775?user=restUser&password=restPassword


HD4DP requires this layout without namespaces. Make sure that no namespaces are specified since this will prevent the completion of demographic information.

The correct Content-Type in the HTTP header of the response should be filled in. The application/xml is expected as other values will most likely cause error.


  • Select the CUSTOM_REST_NRC option in the dropdown list.
  • Fill in the CUSTOM_REST_NRC_URL configuration.
  • If authentication is required for using the rest service, fill in the CUSTOM_REST_NRC_USER and CUSTOM_REST_NRC_PASSWORD configurations.

Example of usage

Once a connector has been chosen and correctly configured, the HD4DP application will fill in demographic information about a patient, based on a manually filled in identifier. For example, a valid National Insurance number has been manually entered in the "Patient ID" field. The application has updated other fields automatically with (test-) data it received from the national registry connector.

manager Thu, 11/11/2021 - 17:10

Configure Mail Server Settings

Configure Mail Server Settings

This article explains how to configure an organization's mail server settings in HD4DP so, that the application can notify users concerning necessary actions for their registers and to inform admins about changes or requests for user accounts.

In case  mail server settings are not yet configured, you will see in the status bar of your application that the mail server is offline as is shown in the image below:

If the status shows that the mail server is down, perform the following steps to configure them:

  1. Login as admin in the application
  2. Click on 'Configurations' in the Configuration-panel. You will see a list of parameters.
  3. Above the table on the right, enter 'mail' as search parameter. The list of displayed configuration parameters will change to those containing the 'mail' keyword.
  4. Please fill in the necessary values to configure the mail server: (do not forget to click the green mark to save entered values)
    • MAIL_FROM_ADDRESS: You can fill in a fictional email address e.g. noreply.hd4dp@yourdomain.be. You can also choose to use your organisation's helpdesk email so, that users are able to reply to the mails they receive in case they have questions
    • MAIL_SMTP_HOST: The hostname of your organisation's mail server
    • MAIL_SMTP_PORT: The standard port is 25
    • MAIL_SECURITY_PROTOCOL: Most of the time, this should be none, but you can choose from the dropdown
    • MAIL_SMTP_USERNAME: If authentication is required, fill in the username (empty if no authentication must be performed)
    • MAIL_SMTP_PASSWORD: If authentication is required, fill in the password of the user you filled in or leave it empty if no authentication must be performed

If all is configured correctly, you can refresh the status bar to recalculate the status and check if it works:

In case a mail security protocol is used or authentication via user/password was filled in, please verify the settings are working by going to the login page and click 'request new account'. Create a test account with your email and click 'Request'. You should receive an email for the account you requested. You can then login as admin and reject the account.

manager Thu, 11/11/2021 - 17:10

Oracle to Microsoft Database Migration

Oracle to Microsoft Database Migration


This article shows how to carry out a database migration from ORACLE (ORCL) to Microsoft SQL (MS SQL) on a Microsoft computer or environment.This procedure contains three parts :

  • the database migration from ORCL to MS SQL
  • the connection of HD4DP to the MS SQL database
  • the further action to perform while performing such database migration


1.1.The database migration tool

Microsoft provides a free migration tool named Microsoft SQL Server Migration Assistant (SSMA).

  • Download it by clicking on this link, then follow the installation procedure of the application
  • Launch it, you should obtain the below.
SSMA Management tool

1.2. Set up a migration project

Create a project.
Select the MS SQL version within the dropdown list (e.g. SQL Server 2012 in the screenshot below)

User-added image

Define the database migration type :

  • Client Side Data Migration (the laptop where SSMA software is installed will bridge the SQL and the ORACLE servers, i.e. act as third party),
  • Server side Data Migration (the database migration will take place directly between the SQL and the ORACLE servers).
User-added image

1.3. Connect to the ORACLE and MICROSOFT SQL database

1.3.1. ORACLE

Fill out the credentials of the 2 database servers:

  • Click 'Connect to Oracle'
  • Fill out the pop-up window named 'Connect to Oracle'

User-added image

You should get the Output : 'Connection to Oracle established successfully' as illustrated below. If not, make sure you are using the right credentials.The loading of the ORCL database objects can take several minutes.

User-added image

Wait until the Output 'Done' is displayed within the console (bottom of the screen). 

User-added image

1.3.2. MS SQL Server

Fill out the Micosoft SQL Server

  • Click 'Connect to SQL Server'
  • Fill out the pop-up window named 'Connect to SQL Server'
User-added image

You could get a warning windows as below which explains that you do not have rights to perfom a 'Server side Migration'. Therefore, you have to select the option 'Client side migration' in the second step.

User-added image

You can ignore this warning by clicking on 'Continue'.
​You should get the Output : 'Connection to SQL Server established successfully' as illustrated below. If not, make sure :

  • the right credentials are used
  • the database server is up and correctly working by ping it using Windows command line
  • the connection string is correct (use another SQL Client for this purpose)

The loading of the ORCL database objects can take several minutes. 
Wait until the Output 'Done.' is displayed within the console ( bottom of the screen). 

User-added image

1.4. Convert the ORACLE database schema to MICROSOFT SQL Server

1.4.1. Launch the schema conversion on ORACLE

Migrate the database schema of ORCL database to MSSQL database (below, the final screen obtained after completing the 4 following actions) :

  • Go towards 'Oracle Metadata Explorer'
  • Click on the '+' sign  (the left of database server IP address or domain name, i.e in the screen below )
  • Select the schema name of HD4DP database, i.e. 'HEALTHDATA' in the example below
  • Right click on the schema name, i.e. 'HEALTHDATA'  
  • Select and Click on 'Convert Schema'  to launch the Schema Conversion
User-added image

Display the HD4DP tables as displayed in the screen below

  • Go on 'Tables'
  • Click on '+' sign on the left the word 'Tables' to display the schema tables
  • Compare the HD4DP tables present initially in the ORCL schema
User-added image

1.4.2. Make sur the schema conversion succeeded on MS SQL

Make sure the schema conversion succeded by checking if the ORCL schema has been created with the MS SQL database. 

  • Go towards 'SQL Server Metadata Explorer'
  • Click on the '+' sign  (the left of database server IP address or domain name, i.e 'oraclemigtest.cvbniieywa3j.us-east-1.rds.amazonaws.com:1433' in the screen below )
  • Select the right database (i.e. 'test' in the screen below)
  • Retrieve the ORCL schema, i.e. 'HEALTHDATA' in that case

User-added image

  • Click on '+' sign on the left of the schema name (i.e. 'HEALTHDATA' on the screen below)
  • Go on 'Tables'
  • Click on '+' sign on the left the word 'Tables' to display the tables of the schema
  • Compare the HD4DP tables present intially in the ORCL schema
User-added image

1.5. Migrate the data from ORACLE database to MICROSOFT SQL database

1.5.1. Launch the data migration from ORACLE database server

Migrate the data from ORCL database to MS SQL database (! make sure the ORCL schema has been successfully performed !) : 

  • Follow the steps presented in section 1.4.1.
  • Select and click on 'Migrate Data' to launch the data migration towards MS SQL

User-added image

1.5.1. Make sure the data migration succeed

Once the migration will be done, you should received a report about the migration of each table.
It displays a for each table these useful fields:

  • 'From' : with table name on ORCL
  • 'To' : with table name on MS SQL
  • 'Total Rows' : number of rows of each table
  • 'Success Rate' : migration success assessment of the table

User-added image

1.5.2. Compare the data content of the same tables on ORCL and MS SQL

Compare the data content of the tables on ORCL and MS SQL (e.g. for the WORKFLOWS table in the screen below):

  • make sure the amount of rows is the same,
  • make sure the content of each field is the same.
User-added image


The connection of HD4DP to the MS SQL database has to be done via the configuration of the 'context.xml' file of the Apache Tomcat Server.

  • Consult the HD4DP installation manual for doing this setting,
  • Restart Tomcat after change,
  • Login into HD4DP and make sure the registrations within the TEST register are still visible,
  • Perform a registration test as explained in the installation manual.


You should list all the HD4DP tables within the ORCL database. For instance, for the HD4DP Version 1.10.0, here are the 54 tables to migrate :

  13. NOTES
  16. ABOUT
  18. USERS
  26. TASKS
  52. EVENTS

Regarding your version of HD4DP, the list can change, for further details about table structure, email support.healthdata.be@sciensano.be.  If a table is not on the list (because the list is outdated), look at the constraints and migrate it after those from the list. Through an example with the 'WORKFLOWS' table of HD4DP, this part will show you how to take knowledge of the constraints of one table. Below, you can find the 'CREATE SQL' statement used for creating the table 'WORKFLOWS' within the schema 'HEALTHDATA.WORKFLOWS'.



An attention should be paid on the  'ALTER TABLE' statements (in green)  at the bottom of the code.  The table contains 4 constraints :

  • the field 'HD4DP_WORKFLOW_ID' has be unique regarding the constraint 'SYS_C005259'
  • the field 'WORKFLOW_ID' constitutes the primary key because of  'WORKFLOWS_PK PRIMARY KEY' constraint
  • there are 2 foreign key constraint
  • 'CONSTRAINT CSTRT_WF_DOCUMENT_ID', therefore the 'DOCUMENT_ID' field from the DOCUMENTS table has to be filled in
  • 'CONSTRAINT_WF_ORG_ID', therefore the field 'ORGANIZATION_ID' from the 'ORGANIZATIONS' table has to be filled in

Hence, make sure the tables 'DOCUMENTS' and 'ORGANIZATIONS' are filled in in the right way for preventing migration failure of 'WORKFLOWS' table. Such precaution has to be taken for all the tables you want to migrate. 

manager Thu, 11/11/2021 - 17:10

Registration API

Registration API

The Healthdata Registration API provides a system to system interface

The Healthdata Registration API provides a system to system interface that matches the forms provided through the user interface of HD4DP. Just like the user interface, the Healthdata Registration API is exposed through HD4DP, installed on the data provider's infrastructure.

To provide a good understanding of the Healthdata Registration API, the following aspects are covered in the technical documentation:

  1. The protocol and operations supported by this API (independent of the data collection for which it is used)
  2. The registration content, dependent on the data collection for which the API is used and the content semantics, enabling a content-wise harmonisation across the registration content.

This documentation focuses on the 1st point and provides the details of the protocol and operations supported by this API, as well as examples and mock services.

Important: Healthdata will support >40 data collections. Therefore, the protocol layer of the API is the same for all of the data collections on healthdata.be. The remainder of this documentation will not take into account the variation of content between the different data collections. More information about the content of the data collections can be found on the healthdata website http://www.healthdata.be/dcd.

Key Concepts

Data Collection

A data collection defines the data that is collected through registrations. Examples are BNMDR, BCFR, IQED,... .

uriyesstringURIUnique identifier of the data collection
namenostring Unique identifier of the data collection
versionnostring Unique identifier of the data collection
startDatenodateyyyy-mm-ddThe start date of the data collection (can be in the future). As of this date, registration for this data collection can be created.
endDateCreationnodateyyyy-mm-ddThe date until the registration for that data collection can be created.
endDateSubmissionnodateyyyy-mm-ddThe date until registrations for that data collection can be submitted.
endDateCommentsnodateyyyy-mm-ddFinal end date, at which it becomes impossible to add comments on already previously submitted data collections.


The following example represents the fictitious example the 3rd version of the BCFR data collection. This data collection runs throughout 2016, but data providers are given 3 extra months to create registrations and another additional month to finalize them. All comments (e.g., after validation by the researcher) need to be handled by the end of june 2017, after which it becomes imposible to make further changes.



A registration is a set of data that corresponds to the data collection. In the user interface, this corresponds to a form.

idyesstringUnique identifier of the registration
statusyesstringCurrent status of the registration
datacollectionnosee aboveData collection element, including at least the URI of the data collection to which this registration complies
payloadnostringXML/KMEHR conforming to the data collection
createdOnnodateDate of creation of this registration
updatedOnnodateDate of last change of this registration


The following is a complete list of statuses that a registration can have in HD4DP as of version 1.7. Note that in future versions this list might change.




Validation Error

Apart from application errors (see Error States below) validation errors at content level can occur. These errors will be returned to the API client with the following information. In version 1 of the API, only the message field will be included.

messageyesstringThe validation error
fieldnostring(Not in v1) Closed found field in the original document where the validation error relates too
valuenostring(Not in v1) The value parsed from the field

If an error applies to 1 field (intrafield error, e.g., a missing required field), the error will look like the following example:

   <message>is a required field</message>

If the error occurs due to an interplay of several fields (interfield error, e.g., the sum of field A and B is larger than a threshold), the error will look like the following example, where the cardinality of field = n

   <message>deathdate can't be before birthdate</message>

REST based API

This API uses the base design principles of REST. The following table gives an overview of the CRUD actions and the corresponding HTTP Request Methods, as well as an indication of their usage.

CRUD OperationHTTP Request MethodUsed in this API
UpdatePUTnot in v1, planned in v2

Media Types

REST APIs can handle with various media-types (json, XML, atom, ...). For this API (v1), XML will be used as media-type. Within the payload, this API expects KMEHR compatible content. For more information on the content of the payload, see the applicable data collection

API Endpoint

The API is exposed through HD4DP, which is installed on the infrastructure of the data provider, according to the healthdata architecture as approved by the eHealth architecture group.

This approach enables the data providers to have a very fast access to the API functionality without any network overhead or operational requirements on external service such as eHealth or healthdata.be


It is up to the data provider to activate https on HD4DP. The certificate should match the domain used or the API client should be able to deal with self-signed certificates.


The API uses OAuth for authentication and authorization. This is the same authentication mechanism as used within HD4DP. Linking the existing LDAP of the data provider is possible.

Error States

The common HTTP Response Status Codes are used.

Expected HTTP Response status codes for this API:

  • 200 OK - Request successfully processed
  • 201 Created - Registration created
  • 204 No Content - Registration removed
  • 400 Bad Request - Registration is NOT created due to a malformed request
  • 403 Forbidden - User is not allowed to access registration
  • 404 Not Found - Registration not found (wrong id given)
  • 409 Conflict - Registration NOT created due to validation errors or because an invalid data collection is used
  • 422 Unprocessable Entity – Should be used if the server cannot process the entity, e.g., if an image cannot be formatted or mandatory fields are missing in the payload.

admin Thu, 11/11/2021 - 17:10

Support services HD4DP v1

Support services HD4DP v1 manager Mon, 11/22/2021 - 15:58