⚠️ Medical Disclaimer GenPRES is not intended for direct clinical use without appropriate validation and regulatory approval. See SUPPORT.md for the full disclaimer.
- Introduction
- Accessing the Application
- Basic Navigation
- Prescribing Medication
- Emergency List and Infusion Pumps
- Testing Without Patient Data
- Unit Conversion Testing
- Common Use Cases
- Troubleshooting
GenPRES (Generic Prescribing System) is an open-source Clinical Decision Support System (CDSS) designed to assist clinical staff in:
- Looking up evidence-based dosing rules and constraints
- Performing safe medication calculations
- Verifying the correct application of clinical protocols
GenPRES targets pediatric and neonatal intensive care settings, but can be adapted to any medical environment.
The live system runs at http://genpres.nl.
In a clinical setting GenPRES is typically launched from an Electronic Patient Dossier (EPD) with patient parameters pre-filled in the URL, for example:
https://genpres.nl/#patient?pg=pr&dc=n&la=en&ad=730&wt=12000The URL uses hash-based routing (/#patient?...). Supported query parameters:
Patient parameters:
| Parameter | Description | Unit / Values |
|---|---|---|
ad |
Age | Days (e.g., 730 ≈ 2 years) |
by |
Birth year | YYYY |
bm |
Birth month | 1–12 |
bd |
Birth day | 1–31 |
wt |
Weight | Grams (e.g., 12000 = 12 kg) |
ht |
Height | Centimeters |
gw |
Gestational age weeks | Weeks |
gd |
Gestational age days | Days |
cv |
Central venous line | y = yes |
dp |
Department | Text |
Use either
ad(age in days) orby/bm/bd(birth date), not both.
Medication parameters:
| Parameter | Description | Unit / Values |
|---|---|---|
md |
Medication | Generic name |
rt |
Route | e.g., oraal, intraveneus |
in |
Indication | Text |
dt |
Dose type | Text |
fr |
Form | Text |
UI parameters:
| Parameter | Description | Unit / Values |
|---|---|---|
pg |
Page | pr, el, cm, fm, pe |
la |
Language | en, du, fr, gr, sp, it |
dc |
Disclaimer | n = hide |
Example patients using query parameters:
| Age (years) | Age (days) | GA (weeks) | Weight (kg) | Height (cm) | Medication | Route | Indication | Link |
|---|---|---|---|---|---|---|---|---|
| 1 | 10 | paracetamol | oraal | Milde tot matige pijn; koorts | GenPRES | |||
| 2 | 35 | 1.2 | 45 | paracetamol | oraal | Pijn, acuut/post-operatief | GenPRES | |
| 1 | 10 | gentamicine | intraveneus | Ernstige infectie, gram negatieve microorganismen | GenPRES | |||
| 2 | 35 | 1.2 | 45 | gentamicine | intraveneus | Ernstige infectie, gram negatieve microorganismen | GenPRES | |
| 1 | 10 | adrenaline | intraveneus | Circulatoire insufficientie | GenPRES | |||
| 2 | 35 | 1.2 | 45 | adrenaline | intraveneus | Circulatoire insufficientie | GenPRES | |
| 1 | 10 | trimethoprim/sulfametrol | intraveneus | Bacteriele infecties | GenPRES | |||
| 1 | 10 | trimethoprim/sulfametrol | intraveneus | Behandeling Pneumocystis Jiroveci Pneumonie (PCP) | GenPRES | |||
| 16 | 60 | trimethoprim/sulfamethoxazol | intraveneus | Behandeling Pneumocystis Jiroveci Pneumonie | GenPRES | |||
| 2 | 35 | 1.2 | 45 | coffeine 0-water | intraveneus | Neonatale apneu | GenPRES | |
| 2 | 35 | 1.2 | 45 | coffeine citraat | intraveneus | Neonatale apneu | GenPRES | |
| 1 | 10 | tramadol | oraal | Pijn | GenPRES | |||
| 21 | 3.8 | 50 | benzylpenicilline | intraveneus | Infecties, sepsis | GenPRES | ||
| 1 | 10 | benzylpenicilline | intraveneus | Infecties, sepsis | GenPRES | |||
| 2 | 35 | 1.2 | 45 | benzylpenicilline | intraveneus | Infecties, sepsis | GenPRES | |
| 5 | 20 | 100 | midazolam | intraveneus | Status epilepticus | GenPRES | ||
| aciclovir | intraveneus | GenPRES | ||||||
| 3 | 29 | 1.05 | 45 | amoxicilline | intraveneus | (Ernstige) waarschijnlijke bacteriële infecties bij pasgeborenen | GenPRES | |
| 13 | rituximab | intraveneus | Granulomatose met polyangiitis (GPA/ziekte van Wegener), microscopische polyangiitis (MPA) | GenPRES | ||||
| 5 | 20 | 109 | ceftazidim/avibactam | intraveneus | Gecompliceerde intra-abdominale of urineweg infecties, nosocomiale pneumonie, andere ernstige infecties door gevoelige verwekkers wanneer andere behandelopties beperkt zijn. | GenPRES | ||
| 30 | 2.77 | piperacilline/tazobactam | intraveneus | GenPRES | ||||
| 10 | dantroleen | oraal | GenPRES |
The application can be used without patient data in the query string. Open the application directly:
http://localhost:5173or on the production server:
http://genpres.nlWhen no patient context is provided the application starts in demo mode. You can enter patient details manually in the interface before selecting a medication.
After opening the application you will see the main screen divided into functional areas:
Displays patient parameters (age, weight, gender, height). If these are not provided via the URL, you can enter them manually here.
Use the search field to find medications by:
- Generic name (e.g., paracetamol, morphine)
- ATC code
Select a medication from the search results to open the dosing panel.
Shows the calculated dose range based on the patient parameters and the selected dosing protocol. Fields include:
- Dose per kg – weight-adjusted dose
- Total dose – calculated absolute dose
- Frequency – number of doses per day
- Route – administration route (oral, IV, etc.)
- Concentration / Volume – for infusion preparations
- Enter patient details (age, weight, gender) in the patient panel.
- Search for a medication by typing the generic name or ATC code in the search field.
- Select the medication from the list of results.
- Review the dose range shown in the dosing panel. The system highlights values that are outside safe limits.
- Adjust dose or frequency if clinically indicated. The system will warn you if the entered value exceeds maximum or minimum limits.
- Select the administration route (oral, IV, rectal, etc.).
- Confirm the prescription and transfer the details to the EPD or print/export as required.
GenPRES displays colour-coded alerts:
| Colour | Meaning |
|---|---|
| 🟢 Green | Value within safe range |
| 🟡 Yellow | Value at the boundary of the safe range – use with caution |
| 🔴 Red | Value outside safe range – review before proceeding |
The emergency list provides quick access to standard infusion pump settings for critical medications (e.g., adrenaline, dopamine, noradrenaline). It is designed for use in emergency and ICU scenarios.
- Open the application.
- Navigate to Emergency or Noodlijst in the main menu.
- Enter or confirm the patient's weight.
- The system generates the standard infusion concentrations and pump rates for each medication.
Each entry on the emergency list shows:
- Medication name
- Recommended concentration (e.g., 1 mg/mL)
- Starting dose (µg/kg/min or mL/h)
- Dose range (minimum – maximum)
You can run a complete end-to-end workflow without real patient data, which is useful for:
- Developer onboarding
- QA testing
- Training and demonstrations
-
Start the application locally:
dotnet run
Open http://localhost:5173 in your browser.
-
Leave the URL query string empty (no query parameters).
-
On the main screen, manually enter test patient data:
- Age: e.g.,
2years - Weight: e.g.,
12kg - Gender:
Male
- Age: e.g.,
-
Search for a medication, e.g.,
paracetamol. -
Review the calculated dosing information.
-
Optionally adjust dose values and observe safety alerts.
The repository contains a demo cache file with sample medication data. This is sufficient for all testing workflows above. No live internet connection or proprietary data files are required.
GenPRES internally uses BigRational arithmetic for exact unit-safe calculations via Informedica.GenUNITS.Lib. The following procedure lets you verify unit conversions in the UI.
- Select a medication with a known dose (e.g., paracetamol oral).
- Observe the dose per kg field — it should show the value in
mg/kg. - Change the patient weight and confirm that the total dose field updates correspondingly.
- Select an IV medication (e.g., morphine).
- Observe the concentration field (mg/mL) and the rate field (mL/h).
- Modify the desired dose and confirm the pump rate recalculates correctly.
| Patient weight | Dose/kg | Expected total dose |
|---|---|---|
| 10 kg | 15 mg/kg | 150 mg |
| 20 kg | 15 mg/kg | 300 mg |
| 30 kg | 15 mg/kg | 450 mg |
- Enter: age
2years, weight12kg, genderMale. - Search:
paracetamol. - Select Paracetamol – oral.
- Observe the recommended dose range (typically 10–15 mg/kg, 4–6 times daily).
- Confirm the maximum daily dose is not exceeded.
- Enter: age
5years, weight20kg, genderFemale. - Search:
morphine. - Select Morphine – IV continuous infusion.
- Observe the starting dose (e.g., 10–40 µg/kg/h) and the calculated pump rate.
- Adjust the dose; confirm the rate updates.
- Enter patient parameters (weight, age).
- Navigate to TPN in the main menu.
- Review the auto-generated macronutrient and micronutrient formula.
- Adjust individual components if clinically indicated.
- Export or print the TPN order for pharmacy.
- Make sure you have the required prerequisites installed (.NET SDK, Node.js, npm). See DEVELOPMENT.md.
- Run
dotnet runfrom the repository root. - Check that port
5173is not occupied by another process.
- The application requires a cache file. The demo cache (
*.demo) included in the repository is sufficient for testing. - Ensure the
GENPRES_PRODenvironment variable is set to0(demo mode). See DEVELOPMENT.md.
- Verify that patient weight and age are entered correctly.
- Check whether the correct administration route is selected.
- Review the safety colour coding — a red alert indicates a value outside the permitted range.
- GitHub Issues: https://github.com/informedica/GenPRES/issues
- Slack workspace: https://genpresworkspace.slack.com
Version: 1.0 — March 2026 Language: English 🇳🇱 Nederlandse versie