eLabNext offers the option to migrate samples in bulk into the system. To facilitate the migration of data of groups, the System Administrator can provide a sample import template to the group or end-user for which samples should be imported. The existing data should be transferred to the import template according to the specification below. After quality assurance, the System Admin can execute the data migration
Note: Sample series and separate samples need to be imported from a separate file
The sample migration option is intended for use during initial data migration when new groups within the organisation are set up. In case large batches of samples should be periodically added to the system, the batch migration option available for end-users in the system should be used.
Note: batch migration should first be activated as an add-on in Marketplace
Important: The data in the sample import template should be formatted according to the specifications below.
Column |
Data entry: Expected data: Data condition: Data context: Exception handling |
---|---|
User (email) |
Required field Expected data: Email address of an existing active account (e.g., user@institute.country) Data condition: User with the email address should exist and be linked to a user in eLabJournal. The user should be a member of the lab in which samples are being imported. Data context: Data in this column will be imported to the system as the sample owner. Exception handling: If the person who created the sample no longer works in the lab, choose the email address of the person now responsible for the sample (e.g., the group leader or another colleague). If the original creator should be tracked, include that data in the "notes" field, a custom sample type field, or the "created by" column. |
Created by (email) |
Required field Expected data: Email address of an existing account (e.g., user@institute.country). The account is not required to be active. Data condition: User with the email address should exist and be linked to a user in eLabJournal. Data context: Data in this column will be imported to the system as the sample creator. Exception handling: If the sample creator no longer works in the lab and has never had an active account in eLabJournal, create an account for them and subsequently deactivate it (to avoid it being counted in the active license plan). |
Storage Location |
Optional field: The storage location will not be imported from this column Expected data: When creating a sample import template that includes storage locations, this column will automatically contain all included storage locations. This location is linked to the StorageLayerID column (see below). Data condition: The storage location will not be imported from this column. Data context: The storage location will not be imported from this column. Exception handling: The storage location will not be imported from this column. |
Position |
Optional field: The position will not be imported from this column Expected data: When creating a sample import template that includes storage locations, this column will automatically contain all included positions in compartments. This location is linked to the eLABPosition column (see below). Data condition: The position will not be imported from this column. Data context: The position will not be imported from this column. Exception handling: The position will not be imported from this column. |
Storage Layer ID |
Optional field Expected data: The ID number of the location where the sample should be imported (which is linked to the location as displayed in the "Storage Location" column). Samples without a StorageLayerID will be imported with "location unspecified" and can later be moved by the end-user. Data condition: The location with the ID number should exist, and the combination of StorageLayerID and eLABPosition must be unique for boxes. Data context: The StorageLayerID in eLabJournal is linked to the compartment in which a sample will be imported. Each compartment has a unique StorageLayerID. Exception handling: If you create a template from an existing storage location and a box in that location is deleted before the import, the import will fail because the samples cannot be migrated to a non-existent location. Recreate the compartment and adjust the StorageLayerID accordingly. |
eLab Position |
Optional field Expected data: The position in the compartment translated to numeric values (identical to when numeric boxes are created). Samples without an eLABPosition will be imported to an “unspecified location.” Data condition: eLABPosition is always numeric (1, 2, 3, 4, etc.), independent of user configuration (A1, 1A, 1B, 1C, etc.). The eLABPosition should not be higher than the box size (e.g., position 101 does not exist in a 10x10 box), and duplicate positions within boxes are not allowed. Data context: The position in this column will be used to visualize the sample in 2-dimensional compartments (e.g., boxes). Exception handling: If you create a template from an existing storage location and a box in that location is deleted before the import, the import will fail because the samples cannot be migrated to a non-existent location. Recreate the compartment and adjust the StorageLayerID accordingly. |
Barcode |
Optional field Expected data: Barcode of the sample, which will be linked to the sample as an external barcode. Data condition: Must be unique within the group. Data context: The barcode will be displayed in the Sample Information sheet. During the import, every sample still receives an internal sampleID, which may also be used as the barcode. Exception handling: |
Expiration Date |
Optional field Expected data: Date in the format yyyy-mm-dd. Data condition: In Excel, convert the date format to text using the formula `=TEXT(A1,"yyyy-mm-dd")`, where A1 is the cell containing the date. Ensure the formula's output is converted to text after conversion. Data context: The date to indicate when the sample expires. After the expiration date, the sample will be marked. Exception handling: |
Parent Sample |
Optional field Expected data: Sample name or SampleID:111. Data condition: May only contain 1 sample (use the sample link field to link multiple samples). The sample name may only be used if it is unique. If multiple samples have the same name, append "SampleID:" to the SampleID, resulting in "SampleID:111," for instance. The SampleID can be retrieved with the sample export. Data context: To indicate the sample from which the imported sample is derived. Exception handling: |
Sample Name |
Required field Expected data: Any text. Data condition: Maximum of 255 characters. Data context: The data entered in this column will be imported into the Sample Name field. This is usually the same as how the sample is labeled and is the primary sample identifier for users (an internal sampleID is automatically generated during the import, which is also used to generate the sample barcode). Exception handling: |
Description |
Optional Expected data: Any text up to 4000 characters. Data condition: None Data context: General description of a sample. If your lab has data in Excel with similar content (e.g., remarks or comments), preferably put this data in the standard "description" or "notes" field rather than a custom field. Exception handling: |
Notes |
Optional Expected data: Any text up to 4000 characters. Data condition: None Data context: Notes about a sample. If your lab has data in Excel with similar content (e.g., remarks or comments), preferably put this data in the standard "description" or "notes" field rather than a custom field. Exception handling: |
Storage Date |
Required Expected data: Date in the format yyyy-mm-dd. Data condition: In Excel, convert the date format to text using the formula `=TEXT(A1,"yyyy-mm-dd")`, where A1 is the cell containing the date. Ensure the formula's output is converted to text after conversion. Data context: Each sample must have a storage date. If no storage date is known for a sample, use a standard date in the past, like 2000-01-01. Exception handling: Dates before 1970-01-01 and dates in the future are not supported. |
Quantity |
Optional Expected data: Numeric value, use the . as the separator for decimal numbers. Data condition: Lab requires the ordering module. Data context: Sets the sample quantity field, which is available when the ordering module is active. Exception handling: |
Unit |
Optional; required if the quantity column is used Expected data: Unit of quantity. Data condition: Accepted values (case-sensitive, without quotes): "Liter," "Milliliter," "Microliter," "Kilogram," "Gram," "Milligram," "Microgram," "Unit." Data context: Sets the unit of the sample quantity; the value should match one of the accepted unit values. Exception handling: Use "Unit" for arbitrary units (e.g., to indicate pieces). |
Series |
Optional Expected data: Arbitrary numeric value to group samples to be imported as a sample series (e.g., all samples with the value 1 in this column will be imported into the same series; all samples with the value 2 will be imported as a different series). Data condition: Should be a numeric value. Data context: Exception handling: |
Series Name |
Optional; required if the Series column is used Expected data: Sample series name. Data condition: None Data context: Sets the name of the sample series as used in the system. Exception handling: |
Custom Sample Type FieldseLabNext offers the option to customize the sample type by adding custom sample type fields. The custom fields can be of different types, and data in columns should be entered according to the following specifications: Note: custom fields are always marked: ##fieldname |
|
##short text field |
Optional Expected data: Text Data condition: Maximum of 255 characters (longer texts will be trimmed). Data context: Custom field in the sample type defined to add text. Exception handling: |
##long text field |
Optional Expected data: Text Data condition: Maximum of 2000 characters (longer texts will be trimmed). Data context: Custom field in the sample type defined to add long text. Exception handling: |
##numeric field |
Optional Expected data: Numeric value Data condition: Use . to separate decimal numbers. Data context: Custom field in the sample type defined to add numeric values. Exception handling: |
##date field |
Optional Expected data: Date in the format yyyy-mm-dd. Data condition: In Excel, convert the date format to text using the formula `=TEXT(A1,"yyyy-mm-dd")`, where A1 is the cell containing the date. Ensure the formula's output is converted to text after conversion. Data context: Custom field in the sample type defined to add a date. Exception handling: |
##date and time field |
Optional Expected data: Date and time in the format yyyy-mm-dd hh:mm. Data condition: In Excel, set the format to English (Great Britain), for instance, 2017-01-01 12:00 in UTC time. Data context: Custom field in the sample type defined to add a date and time. Exception handling: Based on the timezone, convert the date to UTC for correct conversion in the interface if this is important. |
##dropdown menu field |
Optional Expected data: One of the options available in the dropdown menu. Data condition: Should be identical to one of the values in the dropdown menu. Values are case-sensitive, should not be preceded or followed by a space, and can only contain 1 value. Data context: Custom field in the sample type defined to select one of the set values. Exception handling: If multiple values should be selected, change the field type to a checkbox field. |
##radio button field |
Optional Expected data: One of the options available in the radio button field. Data condition: Should be identical to one of the values in the radio button field. Values are case-sensitive, should not be preceded or followed by a space, and can only contain 1 value. Data context: Custom field in the sample type defined to select one of the set values. Exception handling: If multiple values should be selected, change the field type to a checkbox field. |
##checkbox field |
Optional Expected data: One or more of the options available in the checkbox field. Data condition: Should be identical to the values in the checkbox field. Values are case-sensitive and should not be preceded or followed by a space. If multiple values should be selected, use a comma to separate them (e.g., value1,value2). Data context: Custom field in the sample type defined to select one or more of the set values. Exception handling: |
##link to file field |
Optional Expected data: File name + extension of the file (e.g., filename.pdf or document.docx).
|
To import samples, start with the creation of an import template for a sample type. Navigate to the Import tab in the System Admin Panel and open Import Samples from Template. Please read the instructions above for on the formatting of data prior to executing the data migration.
Prior to importing the file, make sure that the imported sample type template is created according to the following specifications:
The name of the sample import template must be contained in the imported file. It is allowed add additional info using only letters in the file name (e.g. the file name should be SamplesImportTemplate_24_228.xlsx or SamplesImportTemplate_24_228.csv)
The file contains a maximum of 1000 rows (e.g import up to 1000 samples at a time)
The to be imported data is formatted according to the import specifications (see here). The common reasons problems in data formatting are wrong or mixed date formatting (should be yyy-mm-dd), use of comma (,) to separate decimal numbers and importing multiple samples on the same position.
In case of import from CSV, the file must be converted to a .CSV file with a ; as the separator
In case special characters are used (e.g. Greek characters or symbols), make sure that the .CSV file is created with the UTF-8 character set. Note that there are known issues in Excel when converting the file to CSV with special characters. LibreOffice provides better options to concert Excel to CSV files.
To execute the sample import, Upload the file and click Import Samples. Depending on the number of samples to be imported, the application is processing the file and importing the sample. Note that if the file is not formatted according to specifications, the import is not executed and will display an error.
Imported samples are indexed every night at midnight. When the samples are indexed they can be found using the Sample List Search function.