(NEW) HD4DP v2 Data Submission via CSV Upload
(under construction)
Table of contents
- Additional field information
- Author group, Author, Coauthor
- NISS code separators
- STATUS:draft
- Country
- Date:Time format
- Repeatable fields
- Multiple choice
- Architecture
- Testing and Working
Additional field information
Author group, Author and Coauthor
When the Author Group, Author and Coauthor have been left out in the csv file, the default Author group, Author and Coauthor will be used automatically.
When the desired Author Group, Author and Coauthor are specified in the csv file, the headers TX_AUTHOR_GR, TX_AUTHOR and TX_COAUTHOR must be added to the csv file with their respective values.
- Example:
TX_AUTHOR_GR;TX_AUTHOR;TX_COAUTHORTest group;test@sciensano.be;test@sciensano.be
- Note:
The Author group, Author and Coauthor must exist and are well configured at the back-end of the system. TX_AUTHOR_GR can be a string that identifies the Author group to which this Author belongs. Commonly, the first name and last name are used to identify the TX_AUTHOR_GROUP. Be sure to avoid leading and trailing spaces when entering the Author group value.
STATUS:draft
To submit a record necessitating a manual intervention in HD4DP before submission.
For CSV files, add the field name 'STATUS' in capitals in an additional column. Add the value 'draft' in case a manual submission of the record is requested.
If not, the record will be submitted without manual intervention.
- Adding separators to a NISS number:
It is not necessary to add separators in a NISS number when uploading a file using CSV Upload. You can fill out the NISS number both with or without separators. E.g.: 85.04.02-169.32 or 85040216932.
Example:

- Only for the registries that need completion of the field Country (CD_CNTRY_RES):
If the country (CD_CNTRY_RES) to be selected is NOT Belgium, then the postal code (CD_POSTCODE) needs to be kept empty and thus the code “9999 – Woonplaats niet in België” should not be selected. This is important to avoid blocking and not uploading of your csv uploads.
- Manually enter the repeatable fields as shown in the following template: field_category|<index>|field.
Examples for transplants and for treating physician:
transplants|0|transplant_status;transplants|1|transplant_status
treating_physician|0|rizivinamicode_of_the_treating_physician;treating_physician|1|rizivinamicode_of_the_treating_physician
- For reporting fields with a multiple choice formatting, the selected answers can be reported separated by the pipe symbol (|).
Example:
cftr_modulating_therapy_1
1|2|3|4|5|6
- The correct format for a field reporting the “Date” or Date and time:
Date dd/mm/yyyy
Date:time dd/mm/yyyy: hh:mm:ss
- Make sure the name of the csv file has the correct format:
HD_DCD_submcsv_HDBPnumber_HDBPabbreviation_versionnumber_versionreleasedate
Training
Below you can review the HD4DP v2 CSV Upload training organized by healthdata.be:
Architecture
The CSV Uploader is located under hd-connect/csvuploader. It uses both hd-connect-csvuploader and hd-connect-proxy modules.
The general architecture of the CSVUploader is explained in the sequence diagram below.

Third-party libraries and frameworks
- Apache Camel: https://camel.apache.org/
- Spring Boot
Testing and working
- The CSVUploader creates a folder at root level (SFTP for end-user, or hd-all for developer) that contains a subfolder per existing organisation.
- The CSVUploader will poll with a delay of 1 min, process the csv file and then create 3 folders:
- ARCHIVE folder: contains the source csv file.
- RESULTS folder: contains the results of processing the csv file. This file contains the specified data, and the final status of the processing: Success or Error. If an error occurred, the error message is displayed. For multiple uploads, the result is added to the end of the result file each time.
- ERROR folder: this folder is created if the csv test file was not processed, due to an I/O error (file corrupted, not found etc.). So for now, only technical errors are caught and the source csv file is moved to that folder instead of the ARCHIVE folder. In principle, this folder should contain any result that is an error. The RESULT folder should only contain results that end with a SUCCESS status.
Formats
Some formats are specific:
- Dates: should be dd/mm/yyyy
- Boolean: true / false
- Codes: the value of the code (not the translation)
- Multi codes: there is only one column per field. So when a select box is set as multiple, values have to be separated by a "|". e.g.: 68452|68453|68454
- Repeatable blocks: in some DCDs, a complete block of fields is repeatable. In that case, value have to be separated by a ";"
- e.g.: A block is containing 3 fields: A (Lob), B (Type klep) and C (Aantal kleppen)
Examples:
In case of a multiple choice:
Example of a multiple choice as presented in the DCD:

As presented in the form:

For reporting fields with a multiple choice formatting, the selected answers can be reported separated by the pipe symbol (|).
Example of a multiple field reporting:
cftr_modulating_therapy_1;
1|2|3|4|5|6;
In case of a repeatable block
Example of a repeatable block as presented in the DCD:

As presented in the form:

Manually enter the repeatable fields as shown in the following template: field_category|<index>|field.
Example of a repeatable block reporting:
Repeatable 1:
Transplants
transplant_status
Repeatable 2:
Transplants
transplant_status
becomes:
transplants|0|transplant_status;transplants|1|transplant_status
docs.healthdata.be