Overview
Help centre

Library Medicine® documentation

Everything you need to run a study from first form to final report: step-by-step guides for every feature, answers to common questions and fixes for the errors you might meet.

Overview

Library Medicine® is a secure workspace for collecting, managing and analysing research data. You design your own variables and forms, collect answers online or offline, check and correct data in a spreadsheet-style grid, run statistics and charts, and export to Excel, SPSS, Stata or R. Personal data is encrypted, and every change is recorded in an audit trail.

Clinicians & hospital teams

Chart reviews, registries and audits with patient data kept private.

Students & supervisors

Theses and dissertations, from data collection to the statistics chapter.

Field & survey teams

Phones and tablets that keep working without internet, then sync.

How a study flows

  1. ProjectYour study's workspace
  2. VariablesWhat you measure
  3. FormsHow you ask
  4. CollectOnline, offline, import
  5. ManageCheck & correct
  6. AnalyseStatistics & charts
  7. ShareReports & exports
A project overview page showing records collected, forms, team members and a chart of submissions over the last 30 days (as seen by: Project owner)
A project's overview: key numbers, recent submissions and team activity in one place. As seen by: Project owner

Getting started

You need only a web browser: there is nothing to install. The free plan is enough to try every step below.

Create your account

  1. Open the home page and choose Get started (or Create account in the sign-in window).
  2. Enter your full name, a username, your email and a password. Institution and research field are optional but help your team recognise you.
  3. Tick the data-protection agreement and select Create account.
  4. Open the verification email and select the link. Until you verify, you can sign in but some features stay locked.
The create-account window with fields for full name, username, email, institution, research field and password
The create-account window.

Sign in

  1. Select Sign in at the top of any page.
  2. Type your email or username and your password. The eye icon shows the password so you can check it.
  3. If you turned on two-step verification, enter the 6-digit code from your authenticator app (or one of your recovery codes).

Your first project in five minutes

  1. Select New project (top right).
  2. Choose Blank, From a template (for example the ready-made paediatric cardiac-nutrition study), Copy a project or Import a template file.
  3. Give it a title, an optional description, your ethics approval ID and the study dates, then select Create project.
  4. Add variables, build a form, set the form to Open, and start collecting.
The new-project page with four ways to start: blank project, from a template, copy a project or import a template file
Four ways to start a project.

Roles & permissions

Access is set per project: the same person can own one study and be a viewer in another.

What you can doOwnerResearcherData collectorViewer / analyst
See the projectYesYesYesYes
Edit variables & formsYesYesNoNo
Fill in formsYesYesAssigned formsNo
See all recordsYesYesOwn onlyYes, personal data masked
Edit, delete, import, exportYesYesNoNo
Statistics, charts & dashboardYesYesNoYes
Team, reports, API, audit trailYesYesNoNo
Consents & privacy, archive, delete projectYesNoNoNo

Projects

A project is an isolated workspace for one study, with its own variables, forms, data, team and settings.

How to use

  1. Open My projects to see every study you belong to. Search, filter (active, owned by me, shared with me) and switch between card and list views.
  2. Open a project to reach its Overview: records, recent submissions, team and activity.
  3. Use Settings to change the title, description, ethics ID, study dates, tags and duplicate rules.
  4. Use Save as template to reuse the structure (variables and forms, never data) in a new study.
  5. When the study ends, Archive it: data stays readable but nobody can change it.
The My projects workspace with a greeting, quick actions, project counters and the list of projects (as seen by: Free plan)
Your workspace lists every project you belong to. As seen by: Free plan

Common mistakes

  • Study dates in the past: forms with an end date close automatically. Update the dates in Settings to reopen collection.
  • Can't find a project: check the Shared with me filter, or ask the owner to re-invite you.

Team & invitations

Invite colleagues by email, give each a role, and assign forms to data collectors.

  1. Open the project and select Team.
  2. Type one or more email addresses (separate them with commas, spaces or new lines) and choose a role.
  3. Select Invite. Each person receives an email link; people without an account create one in the same step.
  4. For collectors, open Forms and assign the forms they should fill in.
  5. To change a role or remove someone, use the menu next to their name.
The team page showing role cards, the member list and the invitation panel
The Team page shows who has access and what each role allows.

Variables

Variables are the columns of your dataset: each one defines what is recorded, its type and its validation rules.

Available types

  • Short text
  • Long text
  • Number (integer)
  • Number (decimal)
  • Yes / No
  • Date
  • Time
  • Date & time
  • Single choice
  • Multiple choice
  • Dropdown
  • Likert scale
  • Rating (stars / slider)
  • File upload
  • GPS coordinates
  • Calculated (formula)

How to add a variable

  1. Open Variables and select Add variable, or a quick-add type (Number, Single choice, Date…).
  2. Enter a label (what people read) and a name (the short column name used in exports and formulas, for example weight_kg).
  3. Set validation: required, minimum / maximum, length, a pattern, units and help text.
  4. For choice types, add the options (code and label). Tick "Other" to let people type their own answer.
  5. Use Show if to display the question only when an earlier answer matches.
  6. Mark identifying fields as Personal data (PII) and, if needed, Encrypted.
The variables designer with a searchable list of variables on the left and an editor on the right
The variables designer.

Common mistakes

  • Names with spaces or accents: keep names short, lowercase, with underscores (age_months). They become column names in SPSS, Stata and R.
  • Choice codes changed after collection: codes are what is stored. Change the label, not the code.

Formulas & calculations

Calculated variables work out values for you (BMI, age, length of stay, classifications) live on the form and again on the server.

  1. Add a variable of type Calculated (formula).
  2. Write the formula using other variable names, numbers and functions.
  3. Select Test to try it on recent records before saving.

Examples

Formula
weight / (height / 100) ^ 2
Formula
datediff(dob, surgery_date, 'months')
Formula
if(waz < -2, 'Malnourished', 'Well-nourished')
Formula
who_zscore('waz', sex, age_days, weight, height)

Functions

  • if
  • round
  • floor
  • ceil
  • abs
  • sqrt
  • pow
  • log
  • ln
  • exp
  • min
  • max
  • sum
  • mean
  • count
  • coalesce
  • isblank
  • between
  • len
  • concat
  • upper
  • lower
  • contains
  • number
  • text
  • today
  • now
  • datediff
  • year
  • month
  • day
  • who_zscore

Operators: + - * / ^, comparisons = != < <= > >= and and, or, not. datediff accepts days, weeks, months, years, hours or minutes.

Form builder

Arrange your variables into data-entry forms with pages, sections, instructions, skip logic and repeat groups, all by drag and drop.

  1. Open Forms and select New form, then Build.
  2. Drag pages, sections, notes and sub-headings from the palette, then drag variables into place. You can create a new variable without leaving the builder.
  3. Use logic jumps to skip pages that do not apply, and repeat groups for lists such as medications.
  4. Select Preview to try the form exactly as collectors will see it.
  5. Choose who can fill it in: Assigned collectors, All members, or a Public link (with QR code).
  6. Optionally close the form on a date or after a maximum number of responses, then set its status to Open.
The form builder with the element palette on the left, the form canvas in the middle and question settings on the right
Build forms by drag and drop.

Common mistakes

  • Form not visible to a collector: it is still a draft, or the collector is not assigned. Set it to Open and check the access setting.
  • A question never appears: its Show if rule refers to an answer that is on a later page. Move the rule's source question earlier.

Collecting data

Enter data on any device: inside the app, through a public link, offline, by import or through the API.

  1. Open Forms and select Enter data on an open form.
  2. Answer the questions. Calculations update as you type and skip logic hides what does not apply.
  3. Use Next and Back between pages. Your answers are saved as a draft automatically.
  4. Select Submit. Duplicate records are detected and flagged (or blocked, if the project is set up that way).
A data-collection form with numbered questions, a progress bar and a Next button
A form as collectors see it.

Public links & QR codes

Forms with Public link access can be filled in by anyone with the link, without an account. Share the link or print its QR code. Optional: an informed-consent step that must be accepted before the first question.

A public form opened from a shared link, showing the study title and the first section
A public form opened from a link.

Offline & mobile app

Install the site on a phone or tablet like an app and keep collecting with no internet; answers sync when the connection returns.

  1. While online, open each form you will need once on the device. This stores it for offline use.
  2. Install the app: on Android/Chrome choose Install app (or Add to Home screen); on iPhone/iPad tap Share → Add to Home Screen.
  3. In the field, fill in forms as usual. A small badge shows how many records are waiting to sync.
  4. When the device is back online, records upload automatically. The same submission is never stored twice.
The project overview on a phone with the bottom tab bar for Overview, Forms, Data, Stats and Menu
The app on a phone, with the bottom tab bar.

Importing data

Bring existing data in from CSV, Excel or JSON files.

  1. Open Import and drop your file (or select it). The first row must hold the column names.
  2. Match each column to a variable. Unknown columns can create new variables automatically.
  3. Run the dry run: it validates every row and lists problems without saving anything.
  4. Choose how to treat existing records (update by key or skip existing), then import.
The import page with a drop zone for CSV, Excel and JSON files
Import CSV, Excel or JSON files.

Data grid

Review, search, correct and clean your records in a spreadsheet-style view.

  1. Open Data. Use the search box (press /) to search every column, or filter each column.
  2. Double-click a cell to edit it. Changes are validated, saved instantly and recorded in the history.
  3. Tick rows for bulk edit or bulk delete.
  4. Click a record number to open its page with the full revision history.
  5. Show, hide, freeze and resize columns; switch between Labels and Codes. Your layout is remembered.
  6. Deleted records go to Trash, where they can be restored or erased for good.
The data grid with record counters, a search bar and a table of records (as seen by: Project owner)
The data grid. As seen by: Project owner

Exporting data

Download your data ready for analysis in the software you use.

  1. Open Export and pick a format: CSV, Excel (with data dictionary and value labels), JSON, SPSS (.sav), Stata (.dta) or R (.rds).
  2. Choose the records (form, status, date range) and options such as labels or codes.
  3. Tick Anonymise to drop personal data, then select Download.
  4. Download the data dictionary (codebook) as Excel, PDF, CSV or JSON.
The export page with format choices, record filters and a download summary
Choose a format and download.

Statistics & charts

Run descriptive and inferential statistics and build charts without leaving the platform.

  1. Open Statistics and choose an analysis from the menu (search it with Find an analysis…).
  2. Pick the variables. The platform suggests an appropriate test and checks its assumptions (normality, equal variances).
  3. Read the result in plain language, with the numbers you need for a paper.
  4. In the Chart builder, choose a chart type, map variables and save it to the dashboard. Export charts as PNG, SVG or PDF.
Describe

Mean, median, mode, SD, variance, SE, 95% CI, percentiles, skewness, kurtosis, frequency tables.

Compare & relate

Cross-tabs with χ², Yates, Fisher exact, Cramér's V and odds ratios; t-tests, Mann–Whitney U, ANOVA, Kruskal–Wallis, Levene; Pearson and Spearman correlation; linear and logistic regression.

The statistics page with the analysis menu, chart type choices and a chart preview
Statistics and the chart builder.

Statistics workbench

A desktop-style statistics environment with a data view, variable view, menus and an output window.

  1. Open Workbench. Your data loads in the Data view; switch to Variable view for the dictionary.
  2. Use the menus (Analyze, Graphs, Transform) to run procedures; results appear in the Output tab.
  3. Copy tables into Word or Excel, export the output as HTML, or print it.
The statistics workbench with menus, a toolbar and a data view of records (as seen by: Free plan)
The workbench feels familiar to SPSS users. As seen by: Free plan

Dashboard

Live charts you saved from the chart builder, updated from your data every time you open it.

  1. Save charts from Statistics → Chart builder with Save to dashboard.
  2. Open Dashboard. Drag cards to reorder them; use each card's menu to edit, refresh or remove it.
A dashboard with a donut chart of nutritional status and a bar chart of malnutrition classification
A live project dashboard.

Reports

Professional PDF reports on demand or by email on a schedule. Reports never include personal data.

  1. Open Reports and choose the sections: summary and progress, descriptive statistics, frequency tables, dashboard charts, data dictionary.
  2. Select Download PDF, or set up a schedule (daily, weekly or monthly) and add the recipients' emails.
The reports page with report sections to include and a panel to schedule an email report (as seen by: Free plan)
Build a PDF report or schedule it by email. As seen by: Free plan

Consents & privacy

GDPR/HIPAA-style tools: consent capture, a personal-data inventory, data-subject requests and the right to be forgotten.

  1. Open Consents (project owners). Review Needs attention for quick wins such as unencrypted personal data.
  2. Turn on Require consent before a form can be submitted and write the consent text. Each record stores a fingerprint of the exact text accepted.
  3. Use Data-subject request to find every record for a person, export them (access request) or erase them (right to be forgotten).
The consents and privacy page with a privacy score, items needing attention and consent settings
Privacy tools for project owners.

Audit trail

An append-only log of sign-ins, schema changes, data edits, exports and administrative actions.

  1. Open Audit trail. Filter by action, person, category and date, or search.
  2. Expand an entry to see what changed. Use Export CSV for monitors and auditors.
The audit trail with a 14-day activity chart, filters and a timeline of actions
Every change is recorded.

API access

Read and write records from other software (R, Python, ETL tools, lab instruments) through a REST API.

  1. Open API access in the project and create a token: read-only or read & write, with an expiry date.
  2. Copy the token immediately: it is shown once. Store it as an environment variable, never in shared code.
  3. Send it as a Bearer token. The same validation and formulas apply as on forms.

Examples

curl
curl "https://librarymedicine.online/api/v1/projects/{project_id}/records?limit=100" \
  -H "Authorization: Bearer $RH_TOKEN"
Python
import os, requests, pandas as pd

h = {"Authorization": "Bearer " + os.environ["RH_TOKEN"]}
r = requests.get("https://librarymedicine.online/api/v1/projects/{project_id}/records", headers=h, params={"limit": 1000})
df = pd.DataFrame([x["data"] for x in r.json()["records"]])
R
library(httr2)

res <- request("https://librarymedicine.online/api/v1/projects/{project_id}/records") |>
  req_auth_bearer_token(Sys.getenv("RH_TOKEN")) |>
  req_url_query(limit = 1000) |>
  req_perform() |>
  resp_body_json()
Create a record
curl -X POST "https://librarymedicine.online/api/v1/projects/{project_id}/records" \
  -H "Authorization: Bearer $RH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"data": {"study_id": "KFH-121", "weight": 12.4}, "client_uuid": "a-unique-id"}'

Endpoints

MethodPathWhat it does
POST/auth/loginSign in with email, password (and code) to get a 1-hour token
GET/meThe account behind the token
GET/projectsProjects you can access
GET/projects/{id}/variablesData dictionary
GET/projects/{id}/formsForms and their variables
GET/projects/{id}/recordsList records (limit 1–1000, offset, updated_since)
POST/projects/{id}/recordsCreate a record (422 with errors if validation fails)
PATCH/projects/{id}/records/{rid}Update some fields of a record
DELETE/projects/{id}/records/{rid}Move a record to trash

Account & security

Your profile, password, two-step verification, personal API tokens and a copy of your data.

  1. Open Account & security from the menu.
  2. Profile: update your name, username, institution, research field and ORCID iD.
  3. Security: change your password and turn on two-step verification: scan the QR code with an authenticator app (Google Authenticator, Microsoft Authenticator, Authy…), enter the code, and save the recovery codes somewhere safe.
  4. Download my data gives you a copy of everything linked to your account.
The account page with profile details, security status and a profile checklist
Account & security.

Notifications

Alerts about your projects, team, forms, data activity and security, in the app and by email.

  1. Select the bell to open Notifications. Filter by category and mark items as read.
  2. Open Preferences to choose what reaches your email, and turn the weekend email digest on or off.
The notifications page with counters and category filters
Notifications.

Plans & billing

Free, Pro and Max plans set limits on projects, forms, records, team size and advanced tools.

  1. Open Plan & usage to see your plan, what you are using and what each plan includes.
  2. Select Upgrade on a plan and pay by mobile money or card. Your plan changes as soon as the payment is confirmed.

What the plan page looks like before you sign in, and on each plan:

The public pricing section on the home page comparing the Free, Pro and Max plans (as seen by: Not signed in)
Pricing as a visitor sees it on the home page. As seen by: Not signed in

Conversations & support

Write to our team from the Contact page and follow the conversation in your account.

  1. Open Contact us, pick a topic, add your details and your message (you can attach a PDF, image or CSV up to 2 MB).
  2. Signed-in users can choose to get the reply in their account: open Conversations in the sidebar to read and answer.
  3. Every message has a reference (for example LM-C95201): quote it when you follow up.
The Conversations page, opened from the sidebar, where users follow their conversations with the support team
Your conversations with our team.

Guide for visitors

You are not signed in. Sign in to see the guide for your role in your projects.

Visitor

You are not signed in. Here is what you can do right away, and how to get your own workspace.

What you can do

  • Fill in a public form someone shared with you (a link or QR code): no account needed
  • Try the free tools on the home page: statistics demos and the WHO growth calculator
  • Read this documentation and contact our team

Your first steps

  1. Select Get started to create a free account.
  2. Verify your email.
  3. Create your first project, or accept an invitation you received.

Not available with this role

  • Open projects or data: you need an account and an invitation
The home page a visitor sees, with the Get started button (as seen by: Visitor)
The home page: start here. As seen by: Visitor

Frequently asked questions

Is my data safe?
Connections are encrypted (HTTPS). Fields you mark as encrypted, and uploaded files, are encrypted at rest with AES-256. Access is limited by role, personal data is masked for viewers, and every action is recorded in the audit trail.
Does it work without internet?
Yes. Open each form once while online, then it works offline. Answers are stored on the device and sync automatically when the connection returns. See Offline & mobile app.
Can I change my variables after I start collecting?
Yes. Every change creates a new schema version, renamed variables keep their data and deleted ones can be restored. You will see a warning before changing a variable that already holds data.
Which statistics software can I export to?
SPSS (.sav), Stata (.dta, version 118), R (.rds), Excel, CSV and JSON. SPSS, Stata and R files keep variable labels, value labels and real date types.
Can people fill in a form without an account?
Yes: set the form's access to Public link and share the link or QR code.
How many records can a project hold?
It depends on your plan. Technically, projects with tens of thousands of records work comfortably.
Can I undo a deletion?
Deleted records go to Data → Trash and can be restored until someone erases them permanently. Deleted projects and erased data cannot be recovered.
Do reports include patient names?
No. Reports never include personal (PII) variables.
Is there a cost?
The Free plan costs nothing and needs no card. Pro and Max add capacity and advanced tools; see Plans & billing.

Troubleshooting & error messages

The action you requested is not allowed.
Why: the page was open too long and its security token expired, or you signed in on another tab.
Fix: reload the page and try again. Your draft answers on forms are kept.
Too many requests. Please wait a minute and try again.
Why: too many sign-ins, submissions or API calls in a short time.
Fix: wait a minute. For the API, batch requests and use paging.
Too many failed attempts. Try again in a few minutes or reset your password.
Why: 5 wrong passwords in a row.
Fix: wait a few minutes or use Forgot password?.
Page not found (404) on a project
Why: you are not a member of that project (projects you cannot access are hidden), or it was deleted.
Fix: ask the owner to invite you, and check you are signed in with the right account.
This form is closed. / This study stopped collecting data on …
Why: its end date passed, it reached its maximum number of responses, the study period ended, or it was set to closed.
Fix: a project owner or researcher can reopen it in Forms or update the study dates in Settings.
Duplicate record: an identical submission already exists. / This value already exists in another record (must be unique).
Why: a record with the same identifying answers, or the same value in a field marked unique, already exists. Depending on the project setting, a likely duplicate is either blocked or saved and flagged for review.
Fix: check the existing record in Data. If it really is a different person, correct the identifying field.
Records stuck "waiting to sync"
Check the device is online, then open the app and select Retry on the sync badge. Keep the app open for a moment. Never clear the browser's data before the badge reaches zero.
The verification or reset email does not arrive
Look in spam/promotions, wait a few minutes, then use Resend. If it still does not arrive, contact us with the address you used.
Import shows many errors in the dry run
Most often the dates are in a different format, choice answers use labels instead of codes, or numbers contain units ("12 kg"). Fix the file and run the dry run again: nothing is saved until you import.
A feature shows a lock
It is not included in your current plan. Open Plan & usage to compare plans.
The page looks wrong or out of date
Reload with Ctrl + F5 (Cmd + Shift + R on Mac). On the installed app, accept the Update prompt when it appears.

Keyboard shortcuts

WhereKeysAction
This documentation/Search the documentation
Data grid/ · EscSearch every column · clear the search
FormsTab · Shift + TabNext / previous question
Message repliesCtrl + EnterSend the reply
Message page (admins)r · j / k · c · EscReply · older / newer · copy reference · back to inbox
Anywhere with a mouseWheel or dragScroll tab bars and chip rows sideways

Glossary

Project
An isolated workspace for one study.
Variable
One piece of information you record; a column in your dataset.
Record
One completed set of answers; a row in your dataset.
Form
The screen used to enter records, built from variables.
Schema version
A numbered snapshot of your variables, created at every change.
Skip logic / Show if
A rule that shows a question only when earlier answers match.
Logic jump
A rule that skips whole pages of a form.
Repeat group
A set of questions answered several times, such as one row per medication.
Calculated variable
A variable whose value comes from a formula.
PII
Personally identifiable information: names, dates of birth, phone numbers and similar.
Encryption at rest
Data stored in scrambled form that only the platform's key can read.
Anonymised export
An export with every PII variable removed.
Data dictionary (codebook)
The list of variables with their labels, types and codes.
Audit trail
The permanent log of who did what and when.
PWA
Progressive web app: the site installed on a device like an app, able to work offline.
API token
A secret key that lets other software read or write project data.
z-score (WHO)
How far a child's measurement is from the WHO growth standard median, in standard deviations.

Contact & support

Could not find your answer? Our team is happy to help with questions, training, institution plans and bug reports.

Support hours: Mon - Fri ,9h:00 - 21h00

Last updated 29 October 2026