Linkr
Home Resources Tools Documentation Blog Demo
FR
  • What is Linkr?
  • Deployment modes
  • Quick start
  • Local install
  • With Docker
  • Manual install
  • Client-only
  • Install LibreChat
  • Your first project
  • Linkr in a clinical data warehouse
  • Workspaces and projects
  • The data pipeline
  • Entities and sharing
  • Versioning and collaboration
  • Overview
  • Projects
  • Wiki
  • Plugins
  • Members and roles
  • Settings
  • Schemas
  • Getting and exploring
  • Mapping
  • Databases
  • Derived sub-databases
  • Data quality
  • Data catalog
  • Build and publish
  • Anonymize
  • SQL script collections
  • ETL pipelines
  • Building and running
  • Generating the scripts
  • Overview
  • Mapping projects
  • Global view
  • Target concepts
  • Mapping editor
  • Suggestions
  • AI agent
  • Evaluation
  • Export
  • Overview
  • Databases
  • Concepts
  • Cohorts
  • Building
  • Results, SQL and report
  • Patient data
  • Pipeline
  • Datasets
  • IDE
  • Web apps
  • Versioning
  • Overview
  • Tabs and widgets
  • Built-in widgets
  • Analysis widgets
  • Control charts (SPC)
  • Surveys and eCRF
  • R and Python code
  • Filters, settings and export
  • Overview
  • Presentation mode
  • Exporting a report
  • Agents
  • MCP server
  • Skills
  • Import and export
  • Git versioning
  • Community catalog
  • Publishing content
  • Production install
  • Configuration
  • Database connectors
  • Authentication and permissions
  • Files on the server
  • Backup and restore
  • Contributing code
  • Glossary
  • Keyboard shortcuts
  • Release notes
Documentation Concept mapping Mapping projects

Mapping projects

Creating, organising and tracking mapping projects (sources, extraction, statuses, badges, source IDs).

Summary

A mapping project bundles a source (database or imported file) and all the alignments made from it. This page explains how to create, organise and navigate between your projects, and how to extract a database’s concepts before mapping them.

Client Available in client-only mode — runs entirely in the browser, no backend. Backend Available with the FastAPI backend.

Project list

Each project shows up in the list as a card with the key information:

demo.linkr.interhop.org
MIMIC-IV lab dataIn progress
mimic-iv-labs-concepts.csv
MIMIC-IV180 / 540 approved
540 of 1622 mapped33%
A mapping project in progress, with source, badge, status and progress.
  • Name — short project label (here MIMIC-IV lab data).
  • Source — connected database or imported file (spreadsheet icon + filename).
  • Badges — colored free labels to group projects (by hospital, team, study…). A project can carry several.
  • Status — colored pill: In progress (blue), On hold (amber) or Completed (green).
  • Progress — bar showing mapped / total, with the approved count in green above.

Creating a project

Click New mapping project at the top of the list. A dialog opens:

demo.linkr.interhop.org

New mapping project

Create a new concept mapping project from a database or an imported file.

e.g. MIMIC-IV Conditions Mapping
my-mapping-project
Describe the scope and purpose of this mapping project…
In progressOn holdCompleted
Badges

Used in other projects

Drag & drop a file or click to browse

CSV, TSV, Excel (.xlsx, .xls), Parquet

The new mapping project dialog.

You fill in:

  • Name (required) and a technical identifier (a slug used in the URL and exports, auto-generated from the name).
  • Description of the scope.
  • Initial status — three options, usually In progress at creation:
    • In progress — active work. Most projects sit here.
    • On hold — paused (waiting on validation, data, etc.).
    • Completed — mapping done and exported. Keep for traceability.
  • Badges — colored free labels to group projects (by hospital, team, study…). Pick a colour, type a label, confirm. Multiple badges allowed. If other projects in the workspace already use badges, they’re suggested for reuse.
  • Source type — toggle button:
    • Source database: pick a database already connected to your workspace. Its concepts are then extracted from the Source Concepts tab (see below).
    • File import: drop a .csv, .tsv, .txt, .xlsx, .xls or .parquet file. A second settings page appears automatically (see below).

Import settings (file only)

For file sources, a second page of the dialog appears:

demo.linkr.interhop.org

Import settings

Configure file parsing and map columns to concept fields.

Auto-detect
UTF-8
0
Yes

Map file columns to concept fields. At least the concept name or code is required.

— None —
category
itemid
— None —
label
— None —
— None —
— None —
#itemidlabelfluidcategory
150808Free CalciumBloodBlood Gas
250826Tidal VolumeBloodBlood Gas
350813LactateBloodBlood Gas
452029% Ionized CalciumBloodBlood Gas
550801Alveolar-arterial GradientBloodBlood Gas
650810Hematocrit, CalculatedBloodBlood Gas
750820pHBloodBlood Gas
850912CreatinineBloodChemistry
951221HematocritBloodHematology
1051301White Blood CellsBloodHematology
Showing 10 of 1,622 rows
Import settings on the d_labitems.csv file from MIMIC-IV.

Two blocks to fill in (a third one, the Preview, is computed automatically by Linkr and lets you verify that parsing is correct):

Parsing options

Linkr provides sensible defaults that work for most files; tweak as needed:

  • Delimiter — auto-detected by default. Can be forced to comma, semicolon, tab or pipe.
  • Encoding — UTF-8 by default. ISO-8859-1 or Windows-1252 available for older Excel/Windows files.
  • Skip rows — useful if the file has decorative headers before the actual first row.
  • Header row — Yes if the first row contains column names (standard case).

Column mapping

For each column in your file, indicate what it represents:

  • Vocabulary * — name of the source terminology, usually local (e.g. ICCA for codes from the ICCA ICU software, Labs for the laboratory system…). Used to filter by vocabulary later.
  • Category — grouping present in the source system (e.g. lab parameter family, prescription type, clinical specialty…) that helps identify concepts and chunk the work.
  • Concept code * — source code of the concept, e.g. itemid in MIMIC.
  • Source concept ID — numeric ID matching the source_concept_id used in the OMOP ETL (source_to_concept_map table). Fill it in if your file already has one; otherwise Linkr can generate one automatically in the OMOP custom range (see Overview).
  • Concept name — label of the concept, e.g. label in MIMIC.
  • Record count / Patient count — frequencies observed in the source database. Very useful to prioritise the most common concepts.
  • Info (JSON) — column with JSON metadata (distributions, statistics) shown in the detail panel. The expected structure is detailed on the Mapping Editor page.
  • Extra columns — any other columns you want to keep as free-form metadata.

* required.

Auto-detection

Linkr tries to pre-fill column fields from header names (e.g. concept_name, code, vocabulary_id…). Double-check before confirming.

Extracting the concepts of a database

For a project on a source database, Linkr does not read the concepts to map straight from the database: it extracts them once, from the project’s Source Concepts tab. Until something has been extracted, the Mapping Editor shows “Source concepts not extracted yet” and a Go to Source Concepts button.

The reason is volume. Counting each concept’s records and patients, or computing its distribution, scans the clinical tables — on a warehouse of several hundred million rows, that takes minutes, even hours. The extraction does this work once; from then on, the editor, its sorting and its filters read a local table and answer at once.

Options

  • Concept dictionary — the schema’s concept tables to extract. All of them by default.
  • Compute concept metadata — when off, Linkr only copies the list (codes, names, categories), with no counts and no profile. Much faster.
  • Only concepts present in the data — on by default. Skips the dictionary concepts that no record uses. On OMOP, the dictionary is the whole concept table: hundreds of thousands of concepts, of which only a small share appears in your data.
  • What to compute for each concept — the blocks of the profile: record and patient counts, completeness, value statistics and distribution, unit, distribution over time…
  • Screen first and Order — the order concepts are extracted in. By default, Concepts with the most records, Largest first: if you pause, you already have the most frequent concepts.
  • Minimum patients and Minimum occurrences per value — confidentiality thresholds. Below the first, a concept keeps its counts but gets no profile; below the second, a categorical value is left out.

When the database links one dictionary to several event tables — on OMOP, measurements, drugs, conditions, procedures… — each concept is counted and profiled in the table holding most of its records.

Start, pause, resume

Click Start extraction. Progress is counted in concepts and saved as it goes: Pause at any point, then Resume, even days later. The concepts extracted so far are available in the editor at once. Start over runs the extraction again from the beginning, Discard deletes it; either way, the mappings you have already made are not affected.

The result is a table of concepts identical to an imported file: it travels with the project on export and git sync.

Local vocabularies in an OMOP database

An OMOP database’s dictionary is its concept table. A local code only appears there if it was loaded as a custom concept, with an id from 2,000,000,000 up, its code and its name. A code recorded only in *_source_value, with a *_source_concept_id of 0 or an id missing from concept, stays invisible to a mapping project: load your local vocabularies into concept first.

ZIP import / export

Two actions, in two different places:

  • Import — button above the project list, to load a Linkr ZIP file (typically a project exported from another instance or shared by a colleague).
  • Export — on each project card, via the … icon at the top right.

The ZIP format is detailed on the Export page — it contains entity.json (the project’s identity record), all mappings, the source concepts, the README and the licence. The SSSOM, C/CR and Usagi files are not in it: they are derived from the mappings and obtained from the Export tab. The ZIP re-imports as-is.

Import conflicts

If the imported project has the same identifier as an existing one, Linkr offers two options: overwrite or duplicate (generate a new internal ID and keep both).

PreviousOverviewNextGlobal view

Product

  • Home
  • Demo

Resources

  • Documentation
  • Resources
  • Tools
  • Blog

Community

  • Framagit source code
  • Github source code

About

  • InterHop.org
  • Contact

2021–2026 InterHop — CC BY-NC-SA 4.0 (site) · AGPLv3 (software)