LogoLogo
FinnGen Handbook
  • Introduction
  • Where to begin
    • Quick guides
      • New to FinnGen
      • Green data users
      • Red data users
    • I'm new to FinnGen, where is the best place for me to start?
    • What kind of questions can I ask of FinnGen data?
    • How do I make a custom endpoint?
    • How do I run a GWAS of a phenotype I created myself?
    • I'm interested in FinnGen rare variant phenotypes
  • Background Concepts
    • Basics of Genetics
    • Linkage Disequilibrium (LD)
    • Genotype Imputation
    • Genotype Data Processing and Quality Control (QC)
    • GWAS Analysis
    • P Values
    • Heritability and genetic correlations
    • Finemapping
    • Conditional analysis
    • Colocalization
    • Using Polygenic Risk Scores
    • PheWAS analysis
    • Survival analysis
    • Longitudinal Data Analysis
    • GWAS Association to Biological Function
    • Genetic Data Resources outside FinnGen
    • Getting Started with Unix
    • Getting Started with R
    • Structure of the FinnGen project
    • Finnish gene pool and health register data
  • FinnGen Data Specifics
    • FinnGen Data Freezes and Releases
    • Analysis proposals
      • What is a FinnGen analysis proposal and when do I need to submit one?
      • How do I submit an analysis proposal?
      • How are analysis proposals handled?
      • What is a FinnGen bespoke analysis proposal and when do I need to submit one?
      • How do I submit a bespoke analysis proposal?
      • How are bespoke analysis proposals handled?
      • What is the difference between FinnGen analysis proposals and FinnGen bespoke analyses?
      • Existing analysis proposals
    • Finnish Health Registries and Medical Coding
      • Finnish health registries
      • Register data pre-processing
      • Data Masking/Blurring of Visit Dates
      • International and Finnish Health Code Sets
      • More information on health code sets
      • VNR code mapping to RxNorm
      • Register code translation files
    • Endpoints
      • FinnGen clinical endpoints
      • History of creating the FinnGen endpoints
      • Location of FinnGen Endpoint and Control Description Files
        • What's new in DF13 endpoints
        • What’s new in DF12 endpoints
        • What’s new in DF11 endpoints
        • What’s new in the DF10 endpoints
        • What’s new in DF9 endpoints
        • What’s new in DF8 endpoints
      • Interpretation of Endpoint Definition file
      • Location of Endpoint Quality Control Report
      • Creating a User-defined Endpoint(s)
      • Requesting a User-defined Endpoint to be included in Core Analysis
      • Complete follow-up time of the FinnGen registries – primary endpoint data
        • Survival analysis using the truncated endpoint file – secondary endpoint data
    • Biobanks in Finland
    • Publishing FinnGen results
      • Preparing manuscripts or conference abstracts
      • The 1-year “Exclusivity Period” Policy
      • List of Publications using FinnGen Data
      • How to share GWAS summary statistics with FinnGen community
      • How to publish GWAS summary statistics
      • Public Result Releases
    • Red Library Data (individual level data)
      • Genotype data
        • Genotype Arrays Used
          • Legacy cohorts and chips
        • Imputation Panel
          • Sisu v4 reference panel
          • Sisu v3 reference panel
          • Sisu v4.2 reference panel
            • Variant-wise QC metrics file
        • Genome build used in FinnGen
        • Genotype Data Processing Flow
        • Genotype Files in Sandbox
          • Imputed genotypes in VCF format
          • Imputed genotypes in BGEN format
          • Imputed genotypes in PLINK format
          • Chip data
          • Imputed HLA alleles
          • Principal components analysis (PCA) data
          • Kinship data
          • Analysis covariates
          • Polygenic risk scores (PRS)
          • Genetic Ancestry
          • Genetic relationships (GRM)
          • Mosaic chromosomal alterations (mCA)
          • Prune data (R9)
          • Imputed STR genotypes (R8)
      • Phenotype data
        • Register data
        • Detailed longitudinal data
          • Splitting combination codes in detailed longitudinal data
        • Service sector data
          • Service sector data code translations
        • Endpoint and endpoint longitudinal data
        • Kanta lab values
          • Data
          • FAQ
          • How-to guides
        • Kanta prescriptions
        • Minimum extended phenotype data
          • Extracting minimum phenotype data per biobank
          • DNA isolation protocols per biobank
        • Minimum longitudinal data
        • Minimum phenotype data (before R11)
        • Cohort data (before R11)
        • Other register data files in Sandbox
          • Register of Congenital Malformations
          • Finnish Registry for Kidney Diseases
          • Reproductive history data
          • Finnish Cancer Registry: Cervical cancer screening
          • Finnish Cancer Registry: Breast cancer screening
          • Finnish Cancer Registry: Detailed cancer data
          • Finnish Register of Visual Impairment
          • Parental cause of death data
          • Ejection fraction data
          • Finnish National Infectious Disease Register
          • Finnish National Vaccination Register
          • Covid-19 primary care data
          • Blood donor data from the Finnish Red Cross Blood Service (FRCBS)
          • Dental data
          • Socioeconomic data
          • Hilmo and avohilmo extended data
      • Omics data
        • Proteomics
          • Expansion Area 5 proteomics data
          • FinnGen 3 proteomics data
        • Metabolomics
        • Single-cell transcriptomics and immune profiling
        • High-content cell imaging
        • Full blood counts and clinical chemistry
      • Hospital administered medications
      • Whole exome sequencing (WES) data
    • Green Library Data (aggregate data)
      • What is "Green" Data?
      • Accessing Green Data
      • Other analyses available
        • Colocalizations in FinnGen
        • Autoreporting – information on overlaps
          • Index of Autoreporting variables
        • HLA
        • LoF burden test
        • Meta-analyses
      • Core analysis results files
        • Recessive GWAS results format
        • Variant annotation file format
        • Genotype cluster plots format
        • GWAS results format
        • Finemapping results format
        • Colocalization results format
          • Results format in colocalization before DF13
        • Autoreporting results format
        • Sex-specific GWAS results format
        • UKBB-FinnGen meta-analysis file formats
        • Pairwise endpoint genetic correlation format
        • Heritabilities
        • Coding variant associations format
        • HLA association results
        • Proteomics results
        • Coding variant results including CHIP EWAS (Exome-Wide Association Scan)
        • Kanta lab association results v1
    • Disease specific Task Force data
      • Inflammatory bowel disease (IBD) SNOMED codes data
    • Expansion Area 3 (EA3) studies
      • EA3 study: Fatty liver disease study and data in Sandbox
      • EA3 study: Age-related macular degeneration study and data in Sandbox
      • EA3 study: Women's health studies
        • EA3 study: Women’s health – Endometriosis and data in Sandbox
        • EA3 study: Human papilloma virus-related gynecological lesions, and data in Sandbox
        • EA3 study: Women’s health – PCOS and infertility study, and data in Sandbox
      • EA3 study: Diabetic Kidney Disease and Rare Kidney Disease study and data in Sandbox
      • EA3 study: Oncology studies
        • EA3 study: Oncology – Breast cancer study and data in Sandbox
        • EA3 study: Oncology –Prostate cancer study and data in Sandbox
        • EA3 study: Oncology – Ovarian cancer study and data in Sandbox
      • EA3 study: Pulmonary diseases (IPF, asthma and COPD) study and data in Sandbox
      • EA3 study: Immune-mediated diseases
      • EA3 study: Heart Failure study and data in Sandbox
      • FinnGen EA3 leads
  • Disease Specific Task Forces
    • Inflammatory bowel disease (IBD)
    • Kidney Diseases
    • Eye Diseases
    • Rheumatic Diseases
    • Atopic Dermatitis
    • Pulmonary Diseases
    • Neurological Diseases
    • Heart Failure
    • Fibrotic Diseases
    • Metabolic diseases
    • Parkinson's diseases
  • Working in the Sandbox
    • How to get started with Sandbox
    • What is Sandbox and what can you do there
    • What do we mean by "red" and "green" data?
    • General workflows for the most common analyses
    • Quirks and Features
      • Managing your files in Sandbox
      • Navigating the Sandbox
      • How to save Sandbox window configuration
      • Copying and pasting in and out of your IVM
      • How to report issues from within the Sandbox
      • Sharing individual-level data within the Sandbox
      • How to download results from your IVM
        • Sandbox download requests – rules and examples for minimum N
      • Keyboard combinations
      • Running analyses in your IVM vs. Pipelines
      • Timeouts and saving your work (backups, github)
      • How to install a R package into Sandbox?
        • How to install R packages with many dependencies
      • Install R and Python packages from the local Sandbox repository
      • How to install a Python package into Sandbox
      • How to install GNU Debian package
      • How to upload your own files to IVM via /finngen/green
      • How to remove files from /finngen/green
      • Using Sandbox as a Chrome application (full screen mode)
      • How to reset your finngen.fi account password
      • Sandbox IVM tool request handling policy
      • Docker images
        • How to get a new Docker image to Sandbox
        • How to mount data into Docker container image
        • Containers available to Sandbox
        • Containers with user customized tool sets
        • How to write a Docker file
        • Anaconda Python environment in the Sandbox
      • Python Virtual Environment in Sandbox
      • How to shut down your IVM
    • Which tools are available?
      • FinnGen exome query tool
      • Custom GWAS tools
        • Custom GWAS GUI tool
        • Custom GWAS command line (CLI) tool
          • Custom GWAS CLI Binary mode
          • Custom GWAS CLI Quantitative mode
        • How to make your summary stats viewable in a PheWeb-style?
        • Finemapping of Custom GWAS analyses
        • PheWeb Users Input Validator tool
        • Conditional analysis of Custom GWAS analyses
      • Pipelines
      • Pre-installed Linux tools
      • PGS Browser
      • Lmod Linux tools
      • Anaconda Python module with ready set of scientific packages
      • Python packages
      • R packages
      • Atlas
        • Quick guide
          • Introduction to OHDSI, OMOP CDM and Atlas
          • From research question to concepts and cohort building
          • Using Atlas in Sandbox
          • Examples on cohort building with Atlas
        • Detailed guide
          • Atlas data model
          • Standard and non-standard codes
          • How to define a cohort in Atlas
            • Select FinnGen data release in Atlas for Search
            • How to define a simple ICD case-control cohort in Atlas
              • Define a simple ICD Concept Set in Atlas
              • Define a simple ICD case cohort in Atlas
              • Define a simple ICD control cohort in Atlas
            • Concept Sets
              • Create Concept Sets using descendants
              • Exclude and Remove codes from Concept Set
              • Simplify Concept Sets that use standard code descendants
              • Create Concept Sets using equivalent standard and non-standard codes
              • View standard code hierarchy in Atlas
            • Cohort Definitions
              • Using the Death register in Atlas
              • Filtering by clinical registries in Atlas
              • Filtering by demographic criteria in Atlas
              • Defining exit rules for a cohort in Atlas
              • Selecting the correct box in Atlas for events and medical codes
            • How to export FinnGen IDs from Atlas
          • Downstream analyses after the Atlas cohorts are created
          • Data Release Summary Statistics in Atlas
          • Cohort Summary Statistics in Atlas
            • Time-dependent Cohort Summary Statistics in Atlas
            • Event inclusion in Cohort Summary Statistics in Atlas
          • Cohort Pathways
      • BigQuery (relational database)
      • Atlas vs BigQuery cohorts
      • Genotype Browser
      • Cohort Operations tool (CO)
        • Upload cohorts to CO
        • Combine cohorts with CO
        • Operate on Atlas cohorts and data with entries and exit events
        • Explore code and endpoint enrichments with CO (CodeWAS)
        • Explore endpoint overlaps with CO
        • Compare custom endpoint to FinnGen endpoint with CO
        • Launch custom GWAS with CO
        • Export FinnGen IDs using CO
        • Understanding phenotypic overlaps using CO
      • Trajectory Visualization Tool (TVT)
        • Running TVT
          • Filtering timelines with TVT
          • Reordering timelines with TVT
          • Clustering timelines with TVT
          • Viewing TVT results
        • Viewing Atlas, CO, and Genotype cohorts in TVT
        • Exporting cohorts from TVT
        • TVT help page
      • LifeTrack
      • Miscellaneous helper scripts/tools
        • Tool to annotate variants with RSIDs
        • Proper translations of medical, service sector and provider codes
        • BigQuery Connection – R
          • Case study – All register data for a person
          • Case study – UpSet plot
          • Case study – Tornado plot
          • Case study – defining simple cohorts using medical codes for running case-control GWAS
        • BigQuery Connection - Python
          • BigQuery Python - Downstream analysis - Active Ingredient - Bar plot
          • BigQuery Python - Case Study - Sex different - Tornado plot
          • BigQuery Python - Case Study - Comorbidity - Upset plot
          • BigQuery Python - Case Study - Patient Timeline - Scatter plot
      • Sandbox internal API for software developers
    • Working with Phenotype Data
      • Variant PheWas
      • How to select controls for your cases
      • Using the R libraries to look at Phenotype data
      • How to check case counts from the data
      • Creating your own user-defined endpoint
    • Working with Genotype Data
      • Genotype Browser how to
      • Cluster Plots
      • ClusterPlot viewer V3C
      • Rare Variant Calling in V3C
      • Create map of allele
      • Genotypes from VCF files
      • Variant PheWas
      • Interpreting rare-variant analysis results
      • Tools for geno-pheno explorations
        • Example: transferring data from Genotype Browser to LifeTrack
        • Example: Visualizing Genotype Browser output data with TVT
    • Running analyses in Sandbox
      • How to run survival analyses
      • How to create custom endpoint using bigquery: example
      • How to use the Pipelines tool
      • How to submit a pipeline from the command line (finngen-cli)
      • How to run genome-wide association studies (GWAS)
        • How to run GWAS using REGENIE
        • Running quantitative GWAS with REGENIE
        • Conditional analysis
        • Conditional Analysis with custom regions and loci
        • How to run GWAS using SAIGE
        • Adding new covariates in GWAS using REGENIE and SAIGE
        • How to run GWAS using plink2 (for unrelated individuals only)
        • How to run GWAS using GATE (survival models)
        • How to run trajGWAS
        • How to run GWAS using the Regenie unmodifiable pipeline
        • How to run an interaction GWAS using the Regenie unmodifiable pipeline
        • How to run survival analysis using GATE unmodifiable pipeline
        • How to run GWAS on imputed HLA alleles using Regenie
      • How to run finemapping pipeline
        • Finemapping with custom regions in DF12
        • Unmodifiable Finemapping pipeline
      • How to run colocalization pipeline
      • How to run the LDSC pipeline
      • How to run PRS pipeline
      • How to calculate PRS weights for FinnGen data
      • Sandbox path and pipeline mappings
      • If your pipeline job fails
      • Tips on how to find a pipeline job ID
      • Managing memory in Sandbox and data filtering tips
      • Using Google Life Sciences API in Sandbox
      • Pipelines is based on Cromwell and WDL
    • Billing information and where to find more details
      • Monitoring Sandbox costs by Sandbox billing report
      • Monitoring Sandbox costs directly from your Google billing account
  • Working outside the Sandbox
    • Risteys
    • Endpoint Browser
    • PheWeb
      • Volcano plots with LAVAA
    • Meta-analysis PheWeb(s)
    • Coding variant browser
    • Multiple Manhattan Plot (MMP)
      • How to prepare an input file for MMP
      • How to use MMP
    • LD browser
    • Green library data
  • FAQ
    • FinnGen Spin Offs
    • FinnGen access and accounts
      • How do I apply for data access?
      • What is "red" or "green" data?
      • I already have green data access, how do I apply for red data access?
      • I cannot access the /finngen/red?
      • How do I enable two-factor authentication (2FA)?
      • I cannot access my FinnGen account?
      • How to reset account credentials
      • What to do if you suspect your account has been compromised
      • Can't access your smartphone for 2FA?
      • How do I access the FinnGen members' area?
      • How do I access FinnGen All Sharepoint?
      • How can I view existing analysis proposals?
      • How can I join the FinnGen Slack?
      • How do I join the FinnGen Teams group?
      • How to apply SES sandbox access
      • How to request a FinnGen account?
    • FinnGen data
      • What to do if I think I found a mistake in the data?
      • What are the field/column names in FinnGen?
      • What covariates are used in FinnGen's core GWAS analyses?
      • Does FinnGen have lab results available?
      • Does FinnGen have family and relatedness information available?
      • Where can I find a list of unrelated individuals in FinnGen?
      • When moving from BCOR to .txt files, what does the column called "correlation" mean?
      • Is there really no participant birth year data?
      • How do I calculate time between events?
      • Can I select only the columns needed for my analysis to import into RStudio?
      • What is the difference is between LD-clumping and the Saige conditional analysis?
      • Can I download all pairwise LD data across the genome at once?
      • How to find latest data releases?
      • Why are there differences in the GWAS results between Data Freezes/Releases?
    • Where can I find
      • COVID association results?
      • Users' Meeting materials?
      • A list of what coding variants are enriched in Finland?
      • A comprehensive list of key file locations in FinnGen?
      • Medical code translations?
    • PheWeb
      • What are QQ and Manhattan plots?
      • How can I access PheWeb?
      • Are fine-mapping results that available in PheWeb also available as flat files?
      • Do the autoreports report the 95% or 99% credible set?
    • Registries
      • What do KELA reimbursement codes map to?
      • What's the cutoff date for FinnGen data?
    • Sandbox
      • What is the FinnGen Sandbox?
      • Why does my IVM freeze while loading data into R/Rstudio
      • Where can I find tutorials and documentation on Sandbox?
      • How do I get my own analysis code into Sandbox?
      • Where to ask for software you'd like to see in Sandbox
      • Can I share individual level data between different Sandbox users?
      • Is there a sun grid engine for running long scripts?
      • How to clear browser cache after sandbox update
      • How do I increase the window resolution on my IVM?
      • How can I view pdf, jpg and HTML files?
      • My Sandbox job was killed - why?
      • How to unzip files in the command line
      • Why aren't my keyboard/shortcuts working in Sandbox like they do in my local computer?
      • How to know if my pipeline job was failed due preemption of worker VM
    • Risteys
      • Why is the case number dropping after the "Check pre-conditions, main-only, mode, ICD version" step?
    • Endpoints
      • Where do I find the most recent list of FinnGen endpoints?
      • What does it mean when an endpoint has “mode” at the end?
      • What scenario would cause an NA (missing data) entry rather than a zero?
      • Does it mean anything when a value is written as $!$ instead of NA?
      • Why is there an inconsistency between ICD10 code J84.1 (IPF) and J84.112?
      • How are control endpoints calculated?
      • Can I get a list of FinnGen IDs by control group for my endpoint?
      • What does Level C mean in the endpoints data table?
      • What does the SUBSET_COV field show?
      • Why is there a "K." prefix on some endpoints?
      • Why there are fewer endpoints going from R5 (N = 2,925) to R8 (N = 2,202)?
      • Should I include primary care registry (PRIM_OUT) codes in my cohort definitions?
      • I found BL_AGE after FU_END_AGE in the endpoint data, how is it possible?
      • Why do individuals who are not dead have death age in endpoint data?
      • I found EVENT_AGE after FU_END_AGE in endpoint data, how is it possible?
    • Pipelines
      • Are there example SAIGE pipelines?
      • How do I apply finemapping to my SAIGE results?
      • Why Pipelines is claiming that my files or folders are not in /finngen/red?
    • Citing
      • How do I cite analysis using publicly available FinnGen results?
      • How do I cite FinnGen results that use individual level data?
    • For biobanks
      • How to apply for data return
    • Data Security and Protection
      • How do I report a data breach?
  • Release Notes
    • Data Releases 2025
    • Data Releases 2024
    • Data Releases 2023
    • Data Releases 2022
    • Data Releases 2021
  • Tool Catalog
  • Glossary
  • User Support
  • Data Protection & Security
Powered by GitBook
On this page
  • Q: Which years are covered in the data?
  • Q: What part of the FinnGen cohort also has data in the Kanta Lab dataset?
  • Q: Why are some rows missing both the measurement value and the test outcome?
  • Q: How do we know the reference range for each test?
  • Q: How reliable are the time measurements from APPROX_EVENT_DATETIME in the data?
  • Q: Can I differentiate between the time a test is ordered vs. the time is test is taken?
  • Q: What is the meaning of the different TEST_OUTCOME and TEST_OUTCOME_IMPUTED values?
  • Q: How do I know if a test was positive or negative, say for Covid?
  • Q: What is "vierimittaus"?
  • Q: When will the Kanta Lab dataset be updated?
  • Q: Should I use MEASUREMENT_VALUE or MEASUREMENT_VALUE_HARMONIZED for my analysis?
  • Q: Is it possible to know which test center processed the sample and made the test measurement?
  • Q: Why are some rows duplicates by FINNGENID, APPROX_EVENT_DATETIME, OMOP_CONCEPT_ID and MEASUREMENT_VALUE?
  • Q: Some of the units are unfamiliar to me, how do I know what they are?
  • Q: I have found some negative measurement values, are they a mistake?
  • Q: How was the Kanta data preprocessed before it got to FinnGen users?

Was this helpful?

  1. FinnGen Data Specifics
  2. Red Library Data (individual level data)
  3. Phenotype data
  4. Kanta lab values

FAQ

Explanations for common questions about the Kanta lab values dataset

PreviousDataNextHow-to guides

Last updated 6 months ago

Was this helpful?

Q: Which years are covered in the data?

The data covers the years 2014 to 2023. However, not all lab data providers sent their data right from 2014. Most of the data comes online starting in 2018.

Q: What part of the FinnGen cohort also has data in the Kanta Lab dataset?

The Kanta Lab data was requested for all FinnGen participants. However, the Kanta Lab data spans from 2014 to 2023 so only FinnGen participants alive during this period and having lab records in Kanta are in the dataset.

In total, there are 482k FinnGen participants with data in the Kanta Lab dataset and an average of 482 tests/individual.

Q: Why are some rows missing both the measurement value and the test outcome?

Even if some rows are missing both the measurement value and the test outcome, we decided to retain these as there might still be information in knowing the test was ordered. There are a few reasons we are aware of that these can occur:

  • The test abbreviation refers to a panel of tests, such as a blood count/CBC panel. In this situation, the abbreviation lets you know the whole panel was run. Still, specific measurements and outcomes such as (H)igh, (L)ow or (A)bnormal would only be available for specific tests on red blood cells, white blood cells, hemoglobin, etc.

Q: How do we know the reference range for each test?

Reference range is a free text string that depends on:

  • age of the individual

  • sex of the individual

  • chemistry/detection method used by the particular lab

  • units of the test

  • date of the test (ranges may change over time or due to updated public health guidelines for tests such as cholesterol)

Unfortunately, only 1/3 of the events include a reference range specific to these combined values. Because so many tests lack this information we have created an imputed range for each OMOP ID. We have computed these based on events where the MEASUREMENT_VALUE, MEASUREMENT_UNIT and TEST_OUTCOME are present for the event. Please see below for more about this.

Q: How reliable are the time measurements from APPROX_EVENT_DATETIME in the data?

The most common times for a test are 7:00 a.m. and 7:01 a.m., this is likely the time at which tests are ordered, but may be carried out throughout the morning. Other test times should be a more reliable indicator of when the test was actually taken.

Q: Can I differentiate between the time a test is ordered vs. the time is test is taken?

No. The original data is coming from different sources (different lab centers, different IT systems, etc.) and has undergone several data processing stages before reaching FinnGen. So, unfortunately, when the raw data has reached FinnGen we do not know to what the time information relates to, and is most likely inconsitent depending on the original data source.

Q: What is the meaning of the different TEST_OUTCOME and TEST_OUTCOME_IMPUTED values?

TEST_OUTCOME values may be recorded as:

(N) ormal

(L) & (LL) for low or very low

(H) & (HH) for high and very high

(A) & (AA) for abnormal and very abnormal. Note that if a test has a normal range between 10–20 that (A)bnormal can be marked for results <10 as well as >20.

(NA) in our QC of the data when the outcome is missing and listed as NA, most of the measured values are in the normal range; however, there is no guarantee of that.

TEST_OUTCOME_IMPUTED

Unfortunately, the raw data did not include defined reference ranges for all the lab tests. To approximate the ranges we have looked at tests that have the trio of measurement value, measurement units and outcomes and approximated a low and high for each type of lab tests. We have then applied these "imputed" high and low values to score tests which did not have an outcome.

Q: How do I know if a test was positive or negative, say for Covid?

Positive and negative are not concepts that exist in the raw data. In most cases you would want to look for N (Normal) vs. A (abnormal), AA (very abnormal) or H (High), HH (Very high) as analogous to negative vs. positive.

Q: What is "vierimittaus"?

Vierimittaus refers to point-of-care testing (POCT), also called near-patient testing or bedside testing. It refers to sampling, whether the sample was taken at laboratory, bedside or by patient themself.

Q: When will the Kanta Lab dataset be updated?

The mapping will be updated for the DF13 release in February 2025. However, we do not expect to add any additional lab results until DF14 in February 2026.

Q: Should I use MEASUREMENT_VALUE or MEASUREMENT_VALUE_HARMONIZED for my analysis?

MEASUREMENT_VALUE_HARMONIZED is the best one to use. Different labs may deliver results for the same type of test with different units. When we map lab results from different labs, we harmonize the units to the OMOP standard, and we apply a conversion factor so they are all expressed in the same units, which generates MEASUREMENT_VALUE_HARMONIZED. MEASUREMENT_VALUE is provided more as a safeguard in case there are any problems in mapping or conversion factor, you would still have access to the raw value.

Q: Is it possible to know which test center processed the sample and made the test measurement?

No. Unfortunately we do not know which test center performed the test in the data that FinnGen received, so this information is also not currently available for FinnGen users.

Q: Why are some rows duplicates by FINNGENID, APPROX_EVENT_DATETIME, OMOP_CONCEPT_ID and MEASUREMENT_VALUE?

We found that one reason for this duplication is that in the raw data the same record appears once with test ID referring to a local lab test code system, and then once more with its test ID referring to the national lab test code system.

We chose to keep these rows as it is not clear which of the duplicate rows to keep, and we have not yet done a systematic investigation on the origins of the row duplication.

Q: Some of the units are unfamiliar to me, how do I know what they are?

One common one you will see is e9 - in blood cell counts, "e9/L" means "10^9 per liter" or "billion per liter". For example, a white blood cell count of 5.2 e9/L means 5.2 billion cells per liter. This unit is part of the International System of Units (SI) and is widely used in many countries for standardizing laboratory results. It's equivalent to the older unit "G/L" (giga per liter) or "10^9/L". Similarly, e12/L would mean "10^12 per liter" or "trillion per liter".

Q: I have found some negative measurement values, are they a mistake?

Actually, there are a number of lab tests that are expected to have negative values! Checking for negative values is something that our OHDSI Achilles QC testing suite examines and any negative values you see in the data have been checked and should be realistic. Here are some tests that are expected to have negative values:

  • Calcium Balance: calcium balance studies can show negative values when there's more calcium excretion than intake.

  • Acid-Base Balance: Tests like Base Excess (BE) can be negative, indicating metabolic acidosis.

  • Iron Balance Studies: Like calcium, iron balance can be negative if more iron is lost than absorbed.

  • Anion Gap: While usually positive, it can be negative in rare cases like bromide intoxication.

Q: How was the Kanta data preprocessed before it got to FinnGen users?

While the date component of the APPROX_EVENT_DATETIME column (stable number of days per FINNGENID), the hour:minutes component comes from the raw data and is not randomized.

We have the Kanta lab data to make it as clean and usable as possible, but some oddities remain. We identified that ~0.7% of the rows in the Kanta lab dataset are duplicates by FINNGENID, APPROX_EVENT_DATETIME, OMOP_CONCEPT_ID and MEASUREMENT_VALUE.

The full list of units can be found here -

The data is originally extracted from Kanta and sent THL for pseudonymesation. Then, THL send the pseudonymised data to FinnGen. At this stage, FinnGen does a preprocessing step that includes: row deduplication, column subsetting, data cleaning, harmonization with OMOP, and more. Extensive documentation about the preprocessing of the Kanta lab data by FinnGen can be found here: .

is randomized for privacy blurring
https://github.com/FINNGEN/kanta_lab_harmonisation_public/blob/main/MAPPING_TABLES/UNITSfi.usagi.csv
https://github.com/FINNGEN/kanta_lab_preprocessing/tree/master
preprocessed
Number of records per year.