JadeSUITE

The data platform of the Jade suite

All your sources.
One single read.

Jade Prism brings together data from the Jade suite and your other databases, feeds JadeBI, the laboratory's statistics database, every night, and makes it all readable, up to date and shareable: dashboards, queries and reports, with no re-entry. It is installed on a server in your laboratory.

10 sources
the Jade suite and your other databases, from PostgreSQL to 4D
8 models
of JadeBI statistics, ready as soon as it is switched on
1 server
in your laboratory, accessed from the browser

JadeBI updated overnight12,480 requests and tests

Monthly report sent07:00 · management, quality

Dashboard in TV modescreen on the lab floor

How it works

From source to dashboard, in three steps.

Jade Prism replaces none of your software: it listens to it, gathers what it knows and makes it readable.

01

Connect

Jade Prism connects to the Jade suite and to your PostgreSQL, Oracle, SQL Server, MySQL, MongoDB or 4D databases. Inside your network, an agent links up with the laboratory's servers.

02

Synchronise

Scheduled flows bring back whatever changed, every night. A failed flow or a source that stays empty raises an alert.

03

Read

In the morning, queries, dashboards, JadeBI statistics and exports all rest on up-to-date data, ready to share.

Synchronisation and agents

Every night, your data updates itself.

Scheduled flows copy whatever changed in each source. Your Apache Hop jobs can be imported into Jade Prism, and agents, on Windows or Linux, reach the servers that Jade Prism cannot see directly: each one runs several flows in parallel.

Laboratory network

  • Jade · Oracle
  • Analysers · SQL Server
agent-labo-01 Windows
2 flows at a time
  • JadeIH · Oracle
  • Billing · MongoDB
  • Schedule · 4D
agent-labo-02 Linux
2 flows at a time
Jade Prism lab server

The agents open the connection to Jade Prism themselves.

Agent console · live
  1. 01Requests and tests: reading Oracle
  2. 01Analyser results: reading SQL Server
  3. 02Blood groups: reading Oracle
  4. 02Invoices: reading MongoDB
  5. 02Blood groups: 1,905 rows sent
  6. 01Requests and tests: 12,480 rows sent
  7. 02Invoices: 3,912 rows sent
  8. 01Analyser results: 26,704 rows sent
  9. 02Sampling schedule: reading 4D, 0 rows
  10. 02“empty source” safeguard: flow stopped, alert raised
Night of 5 to 6 November Night complete: 4 flows succeeded, 1 stopped

agent-labo-01 · 2 flows at a time

  • Requests and tests → JadeBI 12,480 rows
  • Analyser results → JadeBI 26,704 rows

agent-labo-02 · 2 flows at a time

  • Blood groups → JadeBI 1,905 rows
  • Invoices → JadeBI 3,912 rows
  • Sampling schedule → JadeBI 0 rows: flow stopped
Empty source, flow stoppedThe “Sampling schedule” flow read no rows tonight. Its safeguard stopped it before writing: yesterday's data stays in place, and the alert is waiting for you in Jade Prism in the morning.
  • Several agents, several flows in parallel on each; the same table is never written by two flows at once.
  • Scheduling per task, with a date window.
  • Per-flow safeguards: stop a flow when its source is empty or when too many rows would be deleted.
  • Your existing Apache Hop jobs carried over.

JadeBI

All of Jade's activity, ready to analyse.

JadeBI is the analytics database produced by aggregating Jade's data. Every night, Jade Prism's flows copy requests, results, billing and microbiology into it, in a schema built for analysis.

Jade Oracle · production
every night · Jade Prism flows
JadeBI requests · tests + time dimension
Activityrequests, orderables, samplings
Resultsresults, text codes, clinical info
Peopleprescribers, requesters, performers
Billinginvoices, nomenclature, tariffs, contracts
Microbiologystrains, organisms, antibiograms
Statuses and timesstatuses of requests, tests, samples
Organisationlaboratories, sites, cost centres
Distributiondistributed reports
  • More than 80 JS_* tables, built for analysis.
  • A PostgreSQL database, on your server.
  • Fed every night by Jade Prism's flows.
  • Versioned schema: Jade Prism detects the version and switches on what it allows.
  • Multi-site and multilingual.
  • Readable by your usual tools too.
  • Your statistics never put load on Jade's production.

Your statistics never put load on the production database: Jade Prism computes them on JadeBI, fed every night by its flows.

Your laboratory's statistics, already written.

Jade Prism reads JadeBI in the laboratory's own vocabulary, tests, prescribers, requesters, billing letters, antibiograms, and delivers eight models ready as soon as it is switched on.

Activity

Tests, requests and orderable items by period, requester and prescriber.

Result extraction

The results of one or more tests over a period, ready for Excel.

Combined requests

The requests that contain both test X and test Y.

Billing · B

The number of B units billed per month, by requester or prescriber.

All billing letters

Units and amounts billed per billing letter and period.

Unbilled requests

The requests left without an invoice, with their theoretical value.

Microbiology

Strains by organism and sample type, antibiograms and S/I/R categories.

Turnaround times

The time between receipt, analyser return, technical and biological validation.

S/I/R categories and detailed turnaround times: JadeBI 1.33 or later.

Try it

Number of per for each

    See the SQL that Jade Prism writes for you (simplified excerpt)
    
            

    Switched on in a few clicks

    1. Choose the project's JadeBI connection
    2. Switch on the Jade statistics module
    3. Get the eight models, ready to filter

    Jade Prism's rights and categories apply: everyone sees only what concerns them.

    Queries and parameters

    One query, all your questions.

    Write a query once, in the builder, in SQL or with AI, then give it parameters. Everyone runs it again with their own period, sites and criteria, and keeps their favourite searches.

    Activity · Tests by department

    Validated tests and median turnaround by department.

    Periodlast 12 months

    SiteLausanne, Vevey

    Prescriber typePractices

    Combined criteriaK > 4.5 and NA < 140

    Searches RunCtrl ↵ CSV Excel
    DepartmentTestsMedian time
    Chemistry1,28438 min
    Haematology64225 min
    Immunology4182 h 10
    Microbiology30526 h
    Molecular biology1206 h
    Edit with AI

    No SQL to write: a view, some columns, some aggregates.

    Full SQL when you need to go further: median, joins, combined criteria.

    Source viewv_analyses_validees14 columns

    Query columns

    1. secteurNoneGroup
    2. analyse_oidCountanalysesGroup
    3. delai_minAveragedelai_moyenGroup

    3 columns · 2 aggregates · grouped by secteur · sorted by analyses

    Generated SQL

    SELECT secteur,
           COUNT(analyse_oid) AS analyses,
           AVG(delai_min) AS delai_moyen
    FROM v_analyses_validees
    GROUP BY secteur
    ORDER BY analyses DESC
    SELECT da.secteur, count(*) AS analyses,
           percentile_cont(0.5) WITHIN GROUP (ORDER BY a.delai)
             AS delai_median
    FROM js_analyse a
    JOIN js_dicoanalyse da ON da.oid = a.dicoanalyse_oid
    JOIN js_demandeanalyse d ON d.oid = a.demande_oid
    WHERE a.valide = true
      AND d.date_reception >= now() - interval '12 months'
      AND d.site IN ('LAU', 'VEV')
      AND d.type_prescripteur = 'CABINET'
      AND d.oid IN (
        SELECT x.demande_oid
        FROM js_resultat r
        JOIN js_analyse x ON x.oid = r.analyse_oid
        GROUP BY x.demande_oid
        HAVING MAX(CASE WHEN x.code = 'K' AND r.res_val > 4.5
                   THEN 1 ELSE 0 END) = 1
           AND MAX(CASE WHEN x.code = 'NA' AND r.res_val < 140
                   THEN 1 ELSE 0 END) = 1
      )
    GROUP BY da.secteur ORDER BY analyses DESC;

    Filters added by the parameters

    d.date_reception · Periodd.site · Sited.type_prescripteur · Prescriber typed.oid · Combined criteria

    • ListDepartments, sites, prescribers: a multiple choice from a list drawn from your data.
    • NumberA threshold, a minimum age, a number of days.
    • TextA test code, a name, a partial search.
    • Yes/NoUrgent only: yes or no, in one click.
    • DateFixed, range or relative: “last 12 months” recalculates every day.
    • Combined criteriaThe requests where several conditions are true together.
    • Saved searchesA combination of parameters kept for yourself, recalled in one click.

    Queries, exports and e-mails

    The monthly report sends itself.

    A list, an Excel template or charts: every query is presented the way it is needed. Jade Prism fills the file at every export, then sends it at a set time to the people waiting for it.

    Report · Revenue by prescriber

    Amounts excluding tax by prescriber type and prescriber.

    Billing · Requests blocked before billing

    Requests validated more than 30 days ago and still not billed, with the reason for the block.

    Activity · Tests per month

    Validated tests, compared with the previous year.

    TemplatePreview + Row Export

    A1fxRevenue by prescriber

    Blocks to place

    Query columns

    ≡ groupe≡ prescripteur≡ mois≡ famille# montant_ht

    Parameters

    {} Prescriber type{} Billing contract{} Period

    System information

    @ Export date@ Query name

    Dimensions

    ↻ Dimension value

    BandABC
    FreeRevenue by prescriber
    Free@ Export date{} Period
    HeaderAmounts excluding tax, in CHF
    HeaderPrescriber typePrescriberRevenue (CHF)
    Repeated≡ groupe≡ prescripteur# montant_ht
    Group totalTotal · ≡ groupeΣ Sum
    Grand totalGrand totalΣ Sum
    ca-prescripteurs-novembre.xlsx
    Laboratoire du Léman · Revenue by prescriber
    Exported on 1 December 2026 · Period: November 2026
    Prescriber typePrescriberRevenue (CHF)
    PracticesDr A. Favre96,420
    Dr L. Rochat71,380
    Dr S. Meier48,250
    Total · Practices216,050
    ClinicsAlpine Clinic88,960
    Rhône Medical Centre41,240
    Total · Clinics130,200
    Care homesLinden Care Home39,560
    Total · Care homes39,560
    Grand total385,810

    Cell A5 · Column A

    ContentDesignStructure

    Tokens

    groupeprescripteurmontant_htPeriodExport date

    Type your text and click a token to insert it at the cursor.

    Age> 30 days

    RunCtrl ↵ CSV Excel Schedule
    RequestRequesterValidated onCHFReason
    26-104512Alpine Clinic12.10.2026486.40Insurance missing
    26-104877Lakeside Practice14.10.202692.15Prescriber without GLN
    26-105230Rhône Medical Centre19.10.20261,240.00Test without a tariff
    26-105611Linden Care Home23.10.2026318.70Incomplete address
    26-105904Alpine Clinic27.10.2026154.90Insurance missing
    Tests per month 20262025 PNG

    DataAppearanceLayout

    Chart type

    BarsLineAreaDonut

    X axis

    date_validationby month

    Value

    Countanalyses

    Compare with

    Previous year

    07:00 1 December

    From Jade Prism

    To management, quality

    Subject November revenue

    ca-prescripteurs-novembre.xlsx

    Sent at 07:00

    06:30 Every Monday

    From Jade Prism

    To billing

    Subject Billing · Requests blocked before billing

    dossiers-bloques-2026-11-30.csv

    Sent at 06:30

    analyses-par-mois.pngExported straight from the tile, ready to drop into a presentation.

    Scheduled sends carry the query result: CSV, Excel or PDF.

    • Parameterised queriesPeriods, requesters, tests: everyone adjusts their filters and saves their searches.
    • Excel templatesPlace blocks in a grid of bands: headers, repeated rows, group totals. Jade Prism fills the file at every export.
    • Scheduled sendingCSV, Excel or PDF exports dropped into a folder and sent by e-mail, at the time and frequency you choose.

    Dashboards and TV mode

    A screen for the lab, up to date all day long.

    Build your dashboards by moving tiles around, filter them in one click by period, department or prescriber, pin them to the home page, then show them full screen in the lab or as a PDF for the meeting.

    Management

    Monthly overview: activity, turnaround times, revenue

    Saved EditPreview Save
    PDF TV
    Period01.11.2026 → 30.11.2026 Prescriber typeAll DepartmentChemistry Patient ageAll + Filter

    Key figures of the month

    Average validation time

    6.2 h

    ↓ 0.8 % year on year

    Tests this month

    14,760

    ↑ 4.6 % year on year

    Revenue

    152,430 CHF

    ↑ 2.2 % year on year

    Requests this month

    2,318

    ↑ 3.1 % year on year

    Activity and revenue

    Requests per month

    RoutineUrgent

    Revenue by contract

    • Free grid, global filtersDrag and resize tiles; a period, department or prescriber filter applies to the whole dashboard.
    • Pinned home pageEveryone finds their key figures as soon as they log in, according to their rights.
    • TV mode and PDFFull screen for the lab wall, or a PDF ready to share.

    AI assistant

    Ask the question. Jade Prism writes the query.

    From any screen, Ctrl K opens the assistant: it reads your databases' schema, asks for clarification when a question is ambiguous, writes the SQL, checks it and gives you back a table or a chart.

    • Questions and follow-ups in everyday language, answers as tables and charts.
    • It asks for clarification when a question is ambiguous, then checks the query before it runs; the query can be saved like any other.
    • “Fix with AI” repairs a query that fails.

    Your data stays on your server. If you switch on the AI assistant with an external model, it only receives the structure of the tables and aggregated figures, never any patient data.

    Local model (Ollama) or Claude (Anthropic), as the laboratory chooses.

    Ctrl K

    How many out-of-range potassium results per department this month?

    JadeBI schema read, sensitive tables hidden

    For “out of range”, do I use the flag Jade sets on each result, or a fixed threshold?

    Jade's flagA threshold: K > 5.0 mmol/L

    Jade's flag

    Query written and checked before running

    SELECT c.libelle AS service,
           count(*) FILTER (WHERE r.hors_norme) AS hors_norme,
           count(*) AS dosages
    FROM js_resultat r
    JOIN js_analyse a        ON a.oid = r.analyse_oid
    JOIN js_demandeanalyse d ON d.oid = a.demande_oid
    JOIN js_centrecharge c   ON c.oid = d.centrecharge_oid
    WHERE a.code = 'K'
      AND d.date_reception >= date_trunc('month', now())
    GROUP BY c.libelle
    ORDER BY hors_norme DESC;

    4 aggregated rows

    DepartmentK+ out of rangeTests
    Emergency42610
    Nephrology31187
    Internal medicine27498
    Paediatrics9211

    The emergency department has the most: 42 out of 610 tests. The highest rate is in nephrology: 31 out of 187, i.e. 16.6%.

    And compared with last month?

    Query reworked and checked again

    WITH mois AS (SELECT date_trunc('month', now()) AS debut)
    SELECT c.libelle AS service,
           count(*) FILTER (WHERE r.hors_norme
                              AND d.date_reception >= m.debut) AS ce_mois,
           count(*) FILTER (WHERE r.hors_norme
                              AND d.date_reception < m.debut) AS mois_prec
    FROM mois m, js_resultat r
    JOIN js_analyse a        ON a.oid = r.analyse_oid
    JOIN js_demandeanalyse d ON d.oid = a.demande_oid
    JOIN js_centrecharge c   ON c.oid = d.centrecharge_oid
    WHERE a.code = 'K'
      AND d.date_reception >= m.debut - interval '1 month'
    GROUP BY c.libelle
    ORDER BY ce_mois DESC;
    DepartmentThis monthLast monthChange
    Emergency4233+9
    Nephrology3130+1
    Internal medicine2726+1
    Paediatrics910−1

    A clear rise in the emergency department (+9); the other departments are stable.

    Show as a chartSave as a query

    Show as a chart

    Chart chosen: grouped bars, this month and last month

    This monthLast month

    As grouped bars, the rise in the emergency department stands out.

    Time saved

    How many hours does Jade Prism give back each year?

    Count the extractions and reports your team still prepares by hand. The estimate follows every setting.

    360hours a year

    that is 45 8-hour working days

    One square, one working day won back (60 at most).

    An indicative estimate, computed from your settings alone: manual preparation time replaced by automatic queries and exports.

    Security and trust

    Your data stays with you.

    Jade Prism is installed on a server in your laboratory. Synchronised data, queries and dashboards stay inside your network, and every access follows the rights you define.

    Your network

    Lab workstations Keycloak SSO or local account
    Jade Prism on a lab server
    Databases and agents Jade suite, other databases, Windows agents
    External AI model optional, never any patient data
    • Installed on your premisesDocker on a server in your laboratory, inside your network.
    • Rights per projectRoles and categories: everyone sees only the sources, queries and dashboards of their projects.
    • Audit logLogins and changes recorded, kept for 90 days.
    • Single sign-onKeycloak for centralised authentication, or local accounts.
    • Identified agentsEach agent authenticates with its own token.
    • AI under controlYour data stays on your server. If you switch on the AI assistant with an external model, it only receives the structure of the tables and aggregated figures, never any patient data.

    Technology

    Well-known building blocks, widely used and maintained.

    Jade Prism rests on technologies your IT department already knows, easy to monitor and to update.

    Server

    • Java
    • Spring Boot 3.4
    • Spring Security
    • Quartz

    Interface

    • React 19
    • Ant Design 5
    • TypeScript
    • Vite

    Data and integration

    • PostgreSQL 17
    • RabbitMQ 4
    • Keycloak
    • Connectors: PostgreSQL · Oracle · SQL Server · MySQL · MariaDB · MongoDB · 4D

    Operations

    • Docker Compose
    • nginx
    • Java agent, Windows service

    Let's look at your sources together

    A Jade Prism demonstration on a fictitious database, your questions, then what it would take to connect your own sources.

    Lysoft SA, based in Plan-les-Ouates (Geneva), has been developing laboratory information systems since 1989.

    Tell us about your laboratory and the sources you use today. Your data is used only to answer your request.

    Figures, names and charts on this page: fictitious demonstration data.

    Request a Demo

    Fill out the form below and our team will contact you within 24 hours to schedule your personalized demonstration.