Maak een CSV-bestand

Laatst bijgewerkt: 2022-04-29 14:25

Het verwerken van registraties in bulk gebeurt door het uploaden van CSV-bestanden. Deze bestanden zijn platte tekstbestanden die meerdere registraties tegelijk kunnen bevatten en die uit uw primair systeem worden gehaald.

De eerste stap is om het bestand correct aan te maken.

Een CSV-editor gebruiken

Hoewel Excel een prima programma is om CSV's te bekijken, raden wij het niet aan om CSV's te bewerken. Gebruik in plaats daarvan Notepad++ of een andere tekstverwerker. Hier zijn een paar risico's waar u zich bewust van moet zijn wanneer u een CSV bewerkt in Excel. Excel zal de inhoud interpreteren, wat tot wijzigingen kan leiden:

  • Nullen aan het begin verdwijnen in velden die als numerieke velden worden herkend
  • Invoegingen zoals 3-9 kunnen maart-9 worden
  • Het enige geaccepteerde datumformaat DD/MM/YYYY kan gewijzigd worden (bijv. Naar DD/MM/YYYY)
  • Het decimaal scheidingsteken kan afwijken van dat in HD4DP, een puntkomma zal leiden tot een correcte upload
  • Bij het opslaan van een bestand als .csv, gebruikt Excel het standaard veldscheidingsteken. HD4DP accepteert alleen CSV met een puntkomma als scheidingsteken. Deze standaardinstelling kan worden aangepast in de eigenschappen van uw computer.
  • CSV-codering moet in UTF-8 zijn

Opstellen van het document 

Elke kolom in het CSV-bestand moet door de HD4DP-applicatie worden herkend als een veld van het register. Daarom moet elke kolom in het bestand identiek zijn aan de technische naam van het veld in het register.

Tip: Het downloaden van (handmatig) ingevoerde data uit HD4DP is een leidraad bij het opmaken van een CSV-bestand en kan helpen bij de ontwikkeling van de CSV-extractie uit de primaire systemen.

De specificaties voor elk register en zijn velden zijn gedefinieerd en gedocumenteerd zoals vermeld op https://www.healthdata.be/dcd.

Elk veld in het formulier kan worden ingevuld met een waarde in een CSV-bestand.
Een voorbeeldveld is "Date of last follow-up", te zien in de schermafbeelding hieronder.

Dit veld is van het type "datum" en is verplicht (*). In de technische documentatie van deze gegevensverzameling wordt dit als volgt aangegeven:

Om dit veld in een CSV-uploadbestand op te nemen, volstaat het een kolom met de naam "date_of_last_followup" aan te maken en deze te vullen met de juiste gegevens, d.w.z. een datum in het formaat dd/mm/yyyy.

Velden kunnen verplicht, alleen-lezen en berekend (automatisch berekend) zijn. Velden kunnen ook een standaardwaarde hebben.

Deze informatie is te vinden in de gedetailleerde technische beschrijving van elke gegevensverzameling.

Algemene eisen

  • Het scheidingsteken van kolommen is de puntkomma (;)
  • Het decimaalscheidingsteken voor getallen is de komma (,)
  • Het datumformaat is dd/mm/yyyy

Basis inhoudstypes

Afhankelijk van het type veld wordt een andere weergave van de data verwacht. De onderstaande tabel beschrijft de verschillende basistypes en de regels voor het verstrekken van de inhoud voor deze types.

InhoudstypeVerwacht formaat/inhoud
booleanTRUE, FALSE
datumdd/mm/yyyy
keuzecode uit keuzelijst
lijstoption1_label|option2_label|etc.
meerlijnigvrije tekst
nummergetal (decimaalteken = ,)
patientIDSSIN-nummer. Als de persoon geen SSIN heeft, laat u dit veld leeg.
vragenlijstcode uit de lijst met antwoorden op de vragenlijst
tekst●  vrije tekst
● bij gebruik van een bindende referentielijst: een code uit de referentielijst
● als een niet-bindende referentielijst wordt gebruikt: een code uit de referentielijst of vrije tekst
bijlage● verwacht formaat/inhoud: Naam van het bestand dat moet worden bijgevoegd (bijv. protocol.txt).
● verwachte extensie: .txt
● Het bestand moet worden opgeslagen in dezelfde map als de map die wordt gebruikt voor de CSV-upload

Geavanceerde inhoudstypes

Naast deze eenvoudige types kunnen complexere gegevensstructuren worden gebruikt, zoals aangegeven in de onderstaande tabel. Elk van deze types wordt onder de tabel in meer detail uitgelegd.

Type inhoudCSV kolomnaamVerwacht formaat
velden binnen veldsetfieldset_label|field_labelafhankelijk van het veldtype
lijst (1 veld)list_label|fieldvalue1|value2|etc
lijst (blok van velden)list_label|0|field1
list_label|0|field2
list_label|1|field1
list_label|1|field2
etc.
afhankelijk van het veldtype
geneste velden onder keuze of meerkeuzechoice_label|nested_itemafhankelijk van het veldtype

Veldset

Een fieldset is een verzameling velden, zoals te zien is in onderstaande afbeelding:

Antropometrie is de titel van de veldset, en deze veldset bevat twee velden, gewicht en lengte. Veldsets hebben geen nummer cfr. afbeelding hieronder - Antropometry.

Secties hebben geen invloed op het CSV-bestand, veldenreeksen wel. De titel van de fieldset moet als volgt in de veldnaamkolom worden opgenomen: fieldset_label|field_label.

Bijv. voor de twee antropometrievelden gewicht en lengte hieronder zijn de correcte CSV-kolomkoppen: anthropometry|weight en anthropometry|height.

Lijsten

Een lijst is ook een verzameling van velden, zoals een fieldset, maar met de bijkomende eigenschap dat de verzameling van velden herhaald kan worden.

Een voorbeeld is te zien in de afbeelding hieronder: "Birthdays of the biological children for this patient" is een lijst. Een lijstitem bestaat uit twee velden, "Child birth month" en "Child birth year". Voor elk kind kan een lijstitem worden toegevoegd.

De CSV-kolomnamen bestaan uit het label van de lijstkop en het veldlabel (zoals voor fieldsets), samen met een teller om de verschillende lijstitems te onderscheiden. De correcte CSV kolomnamen voor de twee lijstitems hieronder zijn:

  • 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

Merk op dat voor elke lijn, de getallen moeten oplopen, beginnend bij 0 (|00|,|01|, … is ok, |01|, |03|, … is niet ok). U kunt geen lege waarden hebben voor |00| en gevulde waarden voor een hoger nummer.

Merk op dat de nummering een stabiel formaat vereist, wat betekent dat het aantal karakters dat door het nummer wordt gebruikt constant moet zijn. U kunt niet een record hebben met |00| en een ander met |0|. Over het algemeen adviseren wij om een string lengte van 2 cijfers te gebruiken.

Voor lijsten die uit 1 veld bestaan is een vereenvoudigde implementatie mogelijk. De kop van de CSV-kolom bestaat alleen uit het label van de lijstkop en in de ene kolom worden meerdere waarden gegeven, gescheiden door een pipe (|).

Bijv. voor de lijst in de onderstaande afbeelding is de kop van de CSV-kolom diagnosis_orphacode en de inhoud van de kolom 562|702. Dit is het voorbeeld van een tekstveld met een referentielijst: het verstrekken van de codes van de referentielijst is voldoende.

Geneste velden

Geneste velden zijn velden die alleen beschikbaar worden als bepaalde opties in het formulier zijn geselecteerd. Een voorbeeld staat hieronder: het veld "Specificeer" wordt alleen beschikbaar als het selectievakje "Overig" is aangevinkt. Deze velden hebben ook een gecombineerde CSV kolomkop, bestaande uit het keuzelijst label en het veld label. Voor het onderstaande voorbeeld is de correcte CSV kolomkop dus base_of_diagnosis|specify.

Bijlagen

Wanneer een CSV wordt voorbereid en in de provisioning-map wordt gezet, kan het verwijzingen bevatten naar bijlagen voor gegevensverzamelingen die dit specifiek toestaan.

Deze verwijzingen zijn relatieve paden naar de bestandslocatie. Als een dergelijke verwijzing in het CSV-bestand aanwezig is, wordt de inhoud van de bijlage geüpload en gekoppeld aan de aangemaakte registratie. De bijlage is dan beschikbaar in zowel de HD4DP client als in de HD4RES client wanneer de registratie wordt ingediend.

De maximale bestandsgrootte voor bijlagen is 6 MB.

Als een gegevensverzameling u toestaat bijlagen te verzenden, zou u de kolomnaam moeten hebben om in het CSV te gebruiken. Zo niet, dan zou u die moeten kunnen vinden op https://www.healthdata.be/dcd/#/collections of u kunt contact opnemen met Support.Healthdata@sciensano.be.

Voeg de kolomnaam toe aan de header van het CSV en voeg de bestandsnamen toe als waarden in de kolom.
Voorbeeld: "picture.png"

Plaats het CSV-bestand in de juiste provisioning-map (submap organisatie, dan in de submap registreren), samen met een "picture.png"-bestand van uw keuze. De applicatie kiest het CSV-bestand en maakt een nieuwe registratie aan.

Open de registratie en controleer of de bijlage correct is geüpload.

Vertaald met https://www.deepl.com/Translator. Heeft u een fout opgemerkt? Neem dan contact met ons op via https://docs.healthdata.be/nl/contact