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 Workspace Plugins

Plugins

A workspace's reusable analyses: the ones shipped with Linkr, the ones you build, and the editor that goes with them.

Summary

A plugin is a packaged analysis: you configure it instead of rewriting it, and it becomes a widget available in every project of the workspace. Linkr ships a library of them, marked Built-in, and you can build your own — from an existing plugin or from a blank page — in an editor that lets you test them on real data before handing them out.

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

Why package an analysis

A useful analysis is rarely useful only once. The same survival curve, the same descriptive table, the same control chart come back from one project to the next, give or take a few columns.

Without plugins, you copy code from one project into the next. And the day you fix a mistake, you fix it in one copy — the others keep producing wrong numbers.

A plugin moves the line: the analysis is written once, exposed with settings, and it is the settings that change from project to project. What gets fixed gets fixed for everyone.

Two families of plugins

A plugin declares where it is used, and that determines where in Linkr it shows up.

Lab

Analyses working on a dataset — one row per patient.

These are the most numerous: descriptive table, survival, regression, plots. They are shared between the Datasets page and dashboards: an analysis worked out on a dataset then drops in as a widget unchanged.

Warehouse

Views working on one patient’s individual data.

Measurement timeline, demographic summary, clinical notes. They appear in patient dashboards, where you look at one record at a time rather than a population.

The distinction comes down to the shape of the data. A lab plugin receives a table; a warehouse plugin receives one patient’s record. The Plugins page files them under two tabs, Data Warehouse and Lab, and a new plugin takes the family of the open tab.

The plugins that ship with Linkr

Linkr comes with a library of ready-made analyses — descriptive table, survival, regression, control charts, plots, indicators, geographic map. They carry the Built-in badge and cover most common needs. Their code is part of the application: you can read them, not change them — their card has no ⋯ menu.

demo.linkr.interhop.org

Plugins

Create and manage analysis plugins.

Search plugins...
Table 1
Built-in

Descriptive table of a population

IInterHop·AGPL-3.0
Kaplan-Meier
Built-in

Survival curve and log-rank test

IInterHop·AGPL-3.0
Daily SOFA score
R

SOFA computed per day of stay

MDMarie Dupont·
Control chart
Built-in

An indicator tracked over time

IInterHop·AGPL-3.0
The Plugins page. Built-in plugins carry the Built-in badge and have no menu; yours have their ⋯ menu (Edit, Export, Versioning, Duplicate, Delete). Switch tabs to go from lab plugins to warehouse ones.

Their detailed catalogue is on the Built-in widgets page.

The easiest way in is to look at them. In the demo, the workspace’s Plugins page lists them all: open one to read its documentation and browse its settings.

See the plugins in the demo

Every plugin carries its documentation

A plugin embeds its own instructions, readable from the Doc tab when configuring a widget. That is where to find what an option actually does — more reliable than guessing from its name.

Building your own

Three starting points, from the simplest to the most open.

Duplicate one of your plugins

The usual route: start from an analysis that works and adapt it. The original stays untouched. Built-in plugins cannot be duplicated.

Create a blank plugin

For an analysis unlike any other. You write the code and declare the settings it exposes.

Import a plugin

Pick up another team’s plugin from the ZIP archive they exported: the page’s Import button. See Import and export.

The editor

A plugin is a set of files — its plugin.json manifest, the analysis code template, its documentation. The editor’s Code tab lists them on the left, opens the chosen file in the middle, and adds on the right an output pane with three tabs that make the difference.

demo.linkr.interhop.org
Files
analysis.R.template
1library(dplyr)
2library(ggplot2)
3
4df |>
5 group_by(day = {{dateColumn}}) |>
6 summarise(m = mean({{valueColumn}})) |>
7 ggplot(aes(day, m)) + geom_line()
Date column
admission_date
Value column
sofa
Group by
sex
A plugin's editor: the files, the code, and the output pane. Open Test configuration to see the chosen data, then click Run: the result shows in Results.
  • Config — a preview of the settings as the widget’s user will see them. It is how you check that an option makes sense without having read the code.
  • Code — the code as it will run, once the settings are substituted into the template.
  • Results — the plugin’s output on real data. Test configuration, in the toolbar, picks the project and dataset (or, for a warehouse plugin, the database and patient) and the language; Run starts the test. Essential before putting an analysis in a team’s hands.

Editing a plugin affects existing widgets

Widgets already placed on dashboards use the plugin, they do not hold a copy of it. Changing the analysis therefore changes what they display. The dashboard says so — “2 widgets use a plugin version that has changed since they were created” — with Accept new version for each; it is worth knowing before publishing a fix.

Sharing a plugin

A plugin is an entity like any other: it carries an author and a licence, exports as a ZIP archive and versions to a git repository, from its card’s ⋯ menu. It also travels in its workspace’s export. See Entities and sharing.

No plugins in the catalog yet

The community catalog does not list plugins for now: you can neither install nor publish a plugin there. To hand one over, send its ZIP archive, or share the workspace that holds it.

That is what lets an analysis method travel between institutions in directly runnable form, rather than as a paper someone has to reimplement.

Going further

  • Built-in widgets — the catalogue of shipped analyses.
  • R and Python code — for a one-off analysis that does not warrant a plugin.
  • Publishing content — the author, licence and version to fill in before handing a plugin over.
PreviousWikiNextMembers and roles

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)