Agent Skills: DedaLexicon TermViewer -- Terminology Lookup Skill

Interroge la base de connaissances terminologique interne Dedalus (DedaLexicon TermViewer) pour obtenir la terminologie multilingue officielle, les définitions, les catégories, les termes déconseillés (DO NOT USE) et les UID des concepts métier ERP/santé (ORBIS, DIIT, QARA, etc.). À utiliser quand l'utilisateur demande le terme correct pour un concept, la traduction validée d'un terme métier (EN/FR/DE/NL/IT/ES/PT/NO), la définition d'un terme ORBIS/Dedalus, ou veut aligner du code, une UI ou de la documentation sur le langage ubiquitaire officiel Dedalus.

UncategorizedID: dedalus-erp-pas/foundation-skills/dedalexicon-terminology

Install this agent skill to your local

pnpm dlx add-skill https://github.com/Dedalus-ERP-PAS/foundation-skills/tree/HEAD/skills/dedalexicon-terminology

Skill Files

Browse the full folder contents for dedalexicon-terminology.

Download Skill

Loading file tree…

skills/dedalexicon-terminology/SKILL.md

Skill Metadata

Name
dedalexicon-terminology
Description
"Interroge la base de connaissances terminologique interne Dedalus (DedaLexicon TermViewer) pour obtenir la terminologie multilingue officielle, les définitions, les catégories, les termes déconseillés (DO NOT USE) et les UID des concepts métier ERP/santé (ORBIS, DIIT, QARA, etc.). À utiliser quand l'utilisateur demande le terme correct pour un concept, la traduction validée d'un terme métier (EN/FR/DE/NL/IT/ES/PT/NO), la définition d'un terme ORBIS/Dedalus, ou veut aligner du code, une UI ou de la documentation sur le langage ubiquitaire officiel Dedalus."

DedaLexicon TermViewer -- Terminology Lookup Skill

This skill gives you access to DedaLexicon TermViewer, the internal Dedalus terminology knowledge base. Your role is to query the terminology REST API (or, when it is unreachable, guide the user) to return the official, validated multilingual terminology for Dedalus ERP / healthcare concepts.

Use it to make sure code identifiers, UI labels, documentation, and translations use the correct, validated business term (ubiquitous language) rather than an ad-hoc guess.

What is DedaLexicon TermViewer

A multilingual clinical / ERP termbase (TBX-style) maintained by Dedalus. Each concept has:

  • A concept definition (English) and a category (e.g. Patient Administration, ERP, Finance, Medical Treatment, Basic Tools).
  • One term per language with, optionally, a language-specific definition, a validation status, the validator name, and DO NOT USE synonyms (terms that exist but must not be used).
  • An origin (product/source): ORBIS, DIIT, QARA, Dedalus specific, AI.
  • A stable UID (e.g. 20210811_00996) and an internal refid (e.g. ID_ORBIS_994).

Supported languages: English, French (France + Luxembourg), German, Dutch (Belgium), Italian, Spanish, Portuguese, Norwegian.

The web UI lives at https://termviewer.dedalus.com/?q=<term> and is backed by a small REST API documented below.

When to use this skill

Activate when the user:

  • Asks "what is the correct/official term for X" (in code, UI, or docs).
  • Asks for the validated translation of a business term across languages (EN / FR / DE / NL / IT / ES / PT / NO).
  • Asks for the definition of an ORBIS / Dedalus / healthcare concept (e.g. "venue", "admission", "revenue distribution", "sojourn").
  • Wants to align code, a UI label, or documentation with the official Dedalus ubiquitous language.
  • Asks which synonym is deprecated / must not be used ("DO NOT USE").
  • Provides a UID or refid and wants the concept details.
  • Mentions DedaLexicon, TermViewer, terminologie Dedalus, or the termviewer.dedalus.com URL.

Access & authentication

IMPORTANT: TermViewer is behind Microsoft Entra ID SSO (SAML) and the corporate Zscaler network. It is only reachable from an authenticated session inside the Dedalus corporate network. A plain curl / WebFetch from outside will be redirected to login.microsoftonline.com (HTTP 303) and return the login page, not data.

Choose the first strategy that works in your environment:

  1. Authenticated corporate session (preferred). If you are running inside the corporate network with a valid session (browser cookies, SSO token), call the REST API directly (see below). A successful call returns a JSON array; a redirect to login.microsoftonline.com means you are not authenticated.
  2. Shared authenticated browser. If a shared/authenticated browser page on termviewer.dedalus.com is available, run the search there and read the results (the app calls /config/search under the hood).
  3. User-assisted fallback. If the API is unreachable, ask the user to open https://termviewer.dedalus.com/?q=<term> and paste the result, or to copy the JSON from /config/search?q=<term> in their authenticated browser. Never fabricate terminology — see the rules below.

REST API

Base URL: https://termviewer.dedalus.com

1. Search terms

GET /config/search?q={term}&origin={origins}&sourceLanguage={language}

| Param | Required | Description | |-------|----------|-------------| | q | yes | The term or fragment to search, in any language (e.g. venue, admission). Avoid an empty q — it returns the entire termbase (~10,500 concepts). | | origin | no | Comma-separated list from the origins below. URL-encode spaces (Dedalus%20specific). Omit to search all origins. An unknown origin simply yields no matches (HTTP 200, empty array). | | sourceLanguage | yes | One of the languages below, or All%20languages. Required — a missing or invalid value returns HTTP 500. |

Valid origin values: DIIT, ORBIS, QARA, Dedalus specific, AI (also retrievable live via GET /origins).

Valid sourceLanguage values: All languages, English, French, German, Dutch, Italian, Spanish, Portuguese, Norwegian.

Response: a JSON array of matches, ranked by score (higher = better). The HTTP Content-Type is text/html but the body is JSON — parse it as JSON. See reference/api.md for the full schema and a ready-to-use parser.

Example (broadest search for "venue"):

GET https://termviewer.dedalus.com/config/search?q=venue&origin=DIIT,ORBIS,QARA,Dedalus%20specific,AI&sourceLanguage=All%20languages

curl example (only works from an authenticated corporate session):

curl -sS --cookie "$TERMVIEWER_COOKIES" \
  "https://termviewer.dedalus.com/config/search?q=venue&origin=DIIT,ORBIS,QARA,Dedalus%20specific,AI&sourceLanguage=All%20languages"

2. List origins

GET /origins        ->  {"origins":["DIIT","ORBIS","QARA","Dedalus specific","AI"]}

3. App config

GET /assets/config/appConfig-prod.json   ->  { applicationTitle, applicationVersion, backendUrl }

Response schema (essentials)

Each array element:

  • score — relevance (float; 0 for exact metadata matches, higher for scored hits).
  • refid — internal id, e.g. ID_ORBIS_994.
  • matchData.metadata.<term> — which field/language matched.
  • entry — the concept:
    • concept[0] — concept id.
    • descripGrp[] — concept-level descriptors; each descrip[0] has a value _ and a $.type of Concept Definition, Concept Definition - Validation Status, or Category.
    • languageGrp[] — one group per language:
      • language[0].$.type — human label (e.g. French (France)); .$.lang — code (FR-FR).
      • termGrp[0].term[0]the term in that language.
      • termGrp[0].descripGrp[] — per-term descriptors: $.type in Definition, Validation status, Validated by, DO NOT USE.
      • A final languageGrp with type: "UID" holds the concept UID in its term.
    • origin — e.g. ORBIS.

Full annotated schema, a real example, and a Python flattener: reference/api.md.

Workflow

Step 1: Build the query

  • Take the user's term. Default to the broadest search unless they specify a language or origin:
    • origin = DIIT,ORBIS,QARA,Dedalus specific,AI
    • sourceLanguage = All languages
  • Narrow origin (e.g. ORBIS) or sourceLanguage (e.g. French) when the user asks for a specific product or language.

Step 2: Call the API

  • Fetch GET /config/search?... using the access strategy that works (see above).
  • Parse the body as JSON even though Content-Type is text/html.
  • If you get the Microsoft login page / a 303 redirect, you are not authenticated — fall back to the user-assisted strategy.

Step 3: Present the result

For each relevant concept, present a compact, readable summary:

### {English term} — {Category} · origin: {origin} · UID: {uid}

> {Concept definition (EN)}

| Language | Term | Definition | Do not use |
|----------|------|------------|------------|
| English  | visit | ... | case |
| French (France) | venue | Tout contact d'un patient avec une UF... | |
| French (Luxembourg) | visite | | venue |
| German (Germany) | Besuch | Ein Besuch ist jedweder Kontakt... | |
| Dutch (Belgium) | bezoek | | |
  • Always surface DO NOT USE terms explicitly — they are the most actionable output (they tell the user what not to write).
  • Mention the validation status when the user needs an authoritative term (VALIDATED / INTERNALLY VALIDATED / NOT VALIDATED).
  • When several concepts match, lead with the highest-score / exact match and list the others briefly.

Step 4: Apply to the task

If the user is naming a variable, label, or writing docs, recommend the validated term for the target language and warn about any DO NOT USE synonym.

Examples

Example 1 — Correct term across languages

User: What's the official Dedalus term for "venue" and its translations?
→ GET /config/search?q=venue&origin=DIIT,ORBIS,QARA,Dedalus%20specific,AI&sourceLanguage=All%20languages
→ Concept "visit" (ORBIS, Patient Administration, UID 20210811_00996):
   EN visit · FR-FR venue · FR-LU visite (DO NOT USE: venue) · DE Besuch · NL bezoek
→ Note: in French (Luxembourg), "venue" is DEPRECATED — use "visite".

Example 2 — Definition of an ORBIS concept

User: What does "admission" mean in ORBIS?
→ GET /config/search?q=admission&origin=ORBIS&sourceLanguage=English
→ "Movement that characterizes the start of a case (treatment and/or hospital stay)…"

Example 3 — Aligning a UI label

User: I'm labelling a button for the French UI, concept "revenue distribution".
→ GET /config/search?q=revenue%20distribution&origin=ORBIS&sourceLanguage=English
→ FR-FR validated term: "ventilation des honoraires" (DO NOT USE: profit distribution).

Important rules

  1. Never invent terminology. Only report terms, definitions, and UIDs that come back from TermViewer. If the API is unreachable and the user cannot provide the data, say so explicitly — do not guess a translation.
  2. Always quote the UID and origin when presenting a concept, so the user can trace it back in the TermViewer UI (?q=<term>).
  3. Prioritise DO NOT USE and validation status — these are the highest-value signals for choosing the right term.
  4. Parse the response as JSON despite the text/html content type.
  5. Handle auth gracefully — a redirect to login.microsoftonline.com means the session is not authenticated; switch to the user-assisted fallback rather than reporting an error.
  6. Respect the source language the user targets (e.g. French (France) vs French (Luxembourg) can differ — Luxembourg deprecates "venue", France uses it).
  7. Cross-reference ubiquitous-language — when building a domain glossary, feed the validated TermViewer terms into that skill instead of paraphrasing.
DedaLexicon TermViewer -- Terminology Lookup Skill Skill | Agent Skills