Data import from Excel and CSV
A file into one form: column mapping, the same checks as typing, a report by row.
Import brings data from Excel or CSV into the study forms: exports from a hospital system, laboratory results, old spreadsheets. One file goes into one form of one visit, or, from the study workbook, whole patients with every visit go in at once. Every row goes through the same checks as typing, and at the end you get a report for every row.
Step 1. File
Open “Import” in the study menu. Choose the visit and the form to load into, and an .xlsx or .csv file. The first row of the file holds the headers, up to 20,000 rows in all. From Excel the first sheet is read. A CSV file may be in UTF-8 or Windows-1251, separated by “;”, “,” or tab: the portal works it out itself. For an event visit, such as “Adverse event”, every row of the file adds a new event to the patient.
“Excel template of this form” downloads an empty file with the right headers and hints: answer codes, the date format, the allowed range of numbers.

Step 2. Columns
- Choose the column with the patient ID.
- When a column header matches a field code or label, the portal maps it itself. Check the result and correct it by hand if needed.
- “Create the patients that are not in the study yet” adds new patients from the file. For them choose the column with the site or a default site, and if you like the enrolment date, sex and year of birth.
- Choose how to save: “Form complete” or “Draft”. A row that lacks required fields is saved as a draft.
- Forms that are already filled in are skipped by default. “Update forms that are already filled in” overwrites them, and every change goes to the audit trail.

Step 3. Report
For every row you see what happened to it:
- loaded: the row is saved;
- loaded, marked: the row is saved, but a value is unusual (outside the expected range, or a warning rule fired). An automatic query is opened on it at once;
- skipped: the form is already filled in;
- error: the row is not loaded. This happens with a wrong date, a value outside the allowed range, an unknown answer option or another site. Fix those rows in the file and load only them.

Example: results from the laboratory
In the demo study REG-DIAB-01 (type 2 diabetes registry) the laboratory sent the results of the “Month 6” visit. It is the file lab_month6.csv from its system, in Windows-1251 and separated by “;”:
| ID пациента | Центр | Дата взятия | HbA1c, % | Глюкоза натощак |
|---|---|---|---|---|
| REGDIA-01-0004 | 01 | 28.09.2026 | 7,4 | 6,8 |
| REGDIA-02-0004 | 02 | 29.09.2026 | 11,8 | 9,1 |
| REGDIA-03-0003 | 03 | 30.09.2026 | 6,9 | ND |
| REGDIA-01-0001 | 01 | 25.09.2026 | 7,1 | 6,2 |
| REGDIA-03-0004 | 03 | 30.09.2026 | 71 | 7,0 |
| REGDIA-02-0006 | 02 | 01.10.2026 | 8,2 | 7,7 |
| REGDIA-03-0005 | 03 | 31.09.2026 | 6,5 | 5,9 |
- The data manager chooses “Month 6 · HbA1c and glucose” and the file.
- The sample date and fasting glucose columns match the field labels and are mapped automatically. The column “HbA1c, %” is named differently from the field, so it is chosen by hand. Patient REGDIA-02-0006 is not in the study yet, so “Create the patients” is ticked, and the site comes from the site column.
- The result: 4 loaded, 2 errors, 1 skipped.
- For REGDIA-02-0004, HbA1c 11.8% is above the expected 11%. The row is loaded, and an automatic query is opened for site 02.
- For REGDIA-03-0003, the glucose is ND, “no data”. The field allows it.
- REGDIA-02-0006 is created at site 02 together with the form.
- For REGDIA-01-0001, the Month 6 form is already filled in, so the row is skipped.
- REGDIA-03-0004 has HbA1c 71, a typo for 7.1, while 3 to 20 is allowed. REGDIA-03-0005 has 31.09.2026, a date that does not exist. These two rows are fixed in the file and loaded again on their own.
1) or as text (Mild). List several options with “;” or “,”. For yes/no, yes/no, 1/0 and the Russian да/нет all work. Write dates as DD.MM.YYYY or YYYY-MM-DD; decimals may use a comma. ND, UNK and NA mean “no data” for fields that allow it.Whole patients from one workbook
When a registry moves from another system, loading form by form is slow. The study workbook takes everything in one Excel file: the patients, their consents and every form of every visit. It has the layout of the study's own Excel export, so an exported file also loads back as it is, for example into a copy of the study.
- On the Import page, in “Whole patients from a workbook”, download the study workbook template. It has a Patients sheet, a Consents sheet when the study keeps consents, and a sheet per form named by the form code. The first row holds the variable codes. The last sheet says how to fill it in and which visits each form belongs to.
- Fill it in from the old system and upload it. The portal shows what the file holds before anything is loaded: new patients, patients already in the study, rows per form, and the sheets and columns it will leave alone.
- Choose whether to enrol the patients who are not in the study yet and whether to change forms already filled in, then press “Load in the background”. You can leave the page. When the load is done, the report appears on the import page and in My background jobs, and an e-mail arrives.
Example: the demo registry REG-DIAB-01 takes 1 200 patients from an old spreadsheet registry. The Patients sheet has 1 200 rows, Consents 1 200, and the forms VS, LAB and AE have 3 600, 2 400 and 310 rows. The patients are enrolled first, then the consents are recorded, then the forms are loaded, so the rule “data entry only after consent” still holds. Patient REGDIA-02-0117 has the consent version “Version 0.9”, which the study does not have, so that consent row fails, and so do all the forms of that patient. The report lists the errors first: fix the rows and load only them again.
Who can import, and what the audit trail keeps
- The study manager and data managers can import. A data manager with access to only some sites loads and sees in the report only the patients of those sites. Rows of other sites get an error.
- Import is closed once the database is locked.
- The audit trail records every changed value with the reason “Import from the file “…””, every new patient, and the import itself: the file and how many rows were loaded, failed and skipped.
- The bottom of the Import page lists earlier imports, and the report of any of them opens from there.
- A workbook is loaded by a background job on behalf of the person who started it: the audit trail shows that person, not the system.
- The file is kept until it is loaded, for one day at most. After the import it is deleted, and only the report stays.
© 2026 Т.Г. (contact@youedc.com), YouEDC. All rights reserved. Terms of use. Data entered by users belongs to them.
MainEDC™ is a trademark of DM365.