Skip to content

Commit 4d2ca75

Browse files
KshitizGITrads-bVivekShrVivekShr
authored
Add structure for Terminology Server docs (#1767)
* Add structure for Terminology Server docs * Update term_server.md * Update support.md * Update term_server.md content updates * Add files via upload * Add files via upload * Update term_server.md content changes * Add files via upload * Update term_server.md updated content * Update term_server.md updated content * Update term_server.md content update * feat: documentation for on-prem guide on Term server (#1773) Co-authored-by: VivekShr <vivek@johnsnowlabs.com> * Add notes for on-prem deployment of term server (#1774) * Update term_server.md added comparison info provided by Veysel * Update term_server.md content corrections * Add files via upload New main page with concept code map search as default * Add files via upload new TS1.png * Add files via upload * Update term_server.md new functionality explained * Update Release_notes.md * Update Release_notes.md --------- Co-authored-by: rads-b <52103218+rads-b@users.noreply.github.com> Co-authored-by: Vivek Shrestha <vivek.shres@gmail.com> Co-authored-by: VivekShr <vivek@johnsnowlabs.com>
1 parent ba0dd2e commit 4d2ca75

File tree

11 files changed

+281
-1
lines changed

11 files changed

+281
-1
lines changed

docs/_data/navigation.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,14 @@ term-server:
111111
children:
112112
- title: Home
113113
url: /docs/en/terminology_server/term_server
114+
- title: Deploy on Premise
115+
url: /docs/en/terminology_server/on_prem_deploy
116+
- title: Deploy on AWS
117+
url: /docs/en/terminology_server/on_aws
118+
- title: Support
119+
url: /docs/en/terminology_server/support
120+
- title: Release Notes
121+
url: /docs/en/terminology_server/release_notes
114122

115123
annotation-lab:
116124
- title: Generative AI Lab

docs/assets/images/TS-MainPage.png

191 KB
Loading

docs/assets/images/TS-MainPage2.png

203 KB
Loading

docs/assets/images/TS1.png

203 KB
Loading

docs/assets/images/TS2.png

250 KB
Loading

docs/assets/images/TS3.png

268 KB
Loading

docs/en/terminology_server/on_aws.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
layout: docs
3+
header: true
4+
seotitle: Terminology Server | John Snow Labs
5+
title: Terminology Server
6+
permalink: /docs/en/terminology_server/on_aws
7+
key: docs-term-server
8+
modify_date: "2025-04-01"
9+
show_nav: true
10+
sidebar:
11+
nav: term-server
12+
---
13+
14+
## Coming soon!
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
layout: docs
3+
header: true
4+
seotitle: Terminology Server | John Snow Labs
5+
title: Terminology Server
6+
permalink: /docs/en/terminology_server/on_prem_deploy
7+
key: docs-term-server
8+
modify_date: "2025-04-01"
9+
show_nav: true
10+
sidebar:
11+
nav: term-server
12+
---
13+
14+
## **On-Prem Installation Guide**
15+
16+
**Prerequisites:**
17+
18+
* Docker
19+
* awscli (AWS command-line interface)
20+
* jq (lightweight command-line JSON processor)
21+
22+
**Step 1: Get your license file or license key**
23+
24+
If license file is provided, place your license file in a local path. If license key is provided, you can directly use it in next step.
25+
26+
**Step 2: Run the Installation/Upgrade Command**
27+
28+
* Install `latest` version using your license file path or license key:
29+
30+
```bash
31+
curl -sSL https://s3.us-east-1.amazonaws.com/artifacts.terminologyservice.johnsnowlabs.com/install.sh | bash -s "YOUR_LICENSE_FILE_PATH_OR_LICENSE_KEY"
32+
```
33+
34+
> **_NOTE:_** The initial setup may take a little longer if you’re running it for the first time, as databases and images are downloaded and services are created. We appreciate your patience! For more information regarding installation of Terminology Server on a dedicated server please contact us at [support@johnsnowlabs.com](mailto:support@johnsnowlabs.com).
35+
36+
## Recommended Configurations
37+
38+
<table class="table2">
39+
<tr>
40+
<th>System requirements</th>
41+
<td>You can install Terminology Server on a Ubuntu 20+ machine.</td>
42+
</tr>
43+
<tr>
44+
<th>Port requirements</th>
45+
<td>The service uses port <bl>8000</bl>. So it expects the port to be unused.</td>
46+
</tr>
47+
<tr>
48+
<th>Server requirements</th>
49+
<td>The minimal required configuration is <bl>16GB RAM, 8 Core CPU, 300GB+ Storage</bl>.
50+
<br /><br />
51+
The ideal configuration for a smooth performance is <bl>32 GB RAM and 16 Core CPU</bl>.
52+
</td>
53+
</tr>
54+
<tr>
55+
<th>Web browser support</th>
56+
<td>Terminology Server is tested with the latest version of Google Chrome and is expected to work in the latest versions of:
57+
<ul>
58+
<li>Google Chrome</li>
59+
<li>Apple Safari</li>
60+
<li>Mozilla Firefox</li>
61+
</ul>
62+
</td>
63+
</tr>
64+
</table>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
layout: docs
3+
header: true
4+
seotitle: Terminology Server | John Snow Labs
5+
title: Terminology Server
6+
permalink: /docs/en/terminology_server/release_notes
7+
key: docs-term-server
8+
modify_date: "2025-04-01"
9+
show_nav: true
10+
sidebar:
11+
nav: term-server
12+
---
13+
14+
**V1 Key Features:**
15+
* Term Search - associated synonyms and employing both string matching and embedding matches for similarity searches.
16+
* Code Search - Search for specific Code and filter by specific available Code System
17+
* Code Seach with Code mapping results - Search for specific Code and show similar code results in other vocabularies
18+
* Spell checker - Account for misspellings, allowing the user to retain original string or apply correction
19+
* Filter search results by:
20+
* Domain: Specifies the general topic area of a concept (e.g., Condition/Device, Condition/Meas, Drug, Gender). The available options for this filter are pre-populated in the dropdown list.
21+
* OMOP Standards Concepts Only: Limits the search results to concepts that are flagged as “Standard” in the OMOP CDM.
22+
* Only Valid Concepts: Filters out concepts that have been invalidated due to deletion or being superseded.
23+
* Confidence Score: Allows refining results based on their confidence score.
24+
* Value Set
25+
* Value Set Management:
26+
* Craft custom Value Sets and apply them as filters to refine search outcomes based on data from a specific version of the chosen Value Set.
27+
* Generate new versions of an existing Value Set through the upload feature.
28+
* Access and review the data of any selected Value Set within the application.
29+
* API service:
30+
31+
Allows seamless integration with your applications, enabling you to leverage our platform’s capabilities. By obtaining an API key, developers can interact with various endpoints to retrieve and manipulate data, ensuring smooth connectivity with external systems. Detailed documentation is available to guide you through authentication, rate limits, and usage examples, making the integration process straightforward.

docs/en/terminology_server/support.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
layout: docs
3+
header: true
4+
seotitle: Terminology Server | John Snow Labs
5+
title: Terminology Server
6+
permalink: /docs/en/terminology_server/support
7+
key: docs-term-server
8+
modify_date: "2025-04-01"
9+
show_nav: true
10+
sidebar:
11+
nav: term-server
12+
---
13+
14+
<div class="h3-box" markdown="1">
15+
16+
Our priority is to ensure that your experience with John Snow Labs Terminology Service is seamless, efficient, and valuable to your medical practice or research. Here, you'll find various resources to assist you with any questions or challenges you may encounter while using our models. Whether you need troubleshooting advice, want to report a problem, or have questions about features, we're here to help.
17+
18+
</div><div class="h3-box" markdown="1">
19+
20+
## 🛠️ Contact Support
21+
22+
For direct assistance, our support team is available via:
23+
- **Email:** [support@johnsnowlabs.com](mailto:support@johnsnowlabs.com)
24+
- **Live Chat:** Available on our [website](https://www.johnsnowlabs.com/) during business hours
25+
- **Slack:** Contact us on [slack](https://spark-nlp.slack.com/archives/C06E88Q93FE).
26+
27+
</div><div class="h3-box" markdown="1">
28+
29+
## 📝 Licensing
30+
31+
A valid John Snow Labs license is required to deploy the models on premise for inference. Licenses can be obtained by contacting [sales@johnsnowlabs.com](mailto:sales@johnsnowlabs.com).
32+
33+
</div>

docs/en/terminology_server/term_server.md

Lines changed: 131 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,134 @@ sidebar:
1111
nav: term-server
1212
---
1313

14-
## Coming soon!
14+
The Medical Terminology Server offers users the ability to look up standard medical codes from text phrases. It uses both string matching and embeddings to efficiently search for concepts across multiple vocabularies, with filters that can constrain results to meet your specific needs.
15+
16+
The Medical Terminology Server combines up-to-date editions of a wide range of terminologies with extensive supplementary datasets of synonyms, common misspellings, and colloquialisms to provide code mappings for input text, whether it is from the clinical record, patient statements, or other sources of written information about health. In addition to being to select from many standard vocabularies, the Medical Terminology Server is also aware of OMOP CDM conventions. It can also be constrained to only return codes that are OMOP Standard concepts and is able to check any concept for current validity. Batch transaction support makes efficient use of network calls.
17+
18+
19+
## Highlights
20+
* Tailored for healthcare, the Medical Terminology Server allows the use on state of the art JSL models that understands the nuances of clinical language and medical terminologies, ensuring that the information it generates is accurate and highly relevant. The Medical Terminology Server comes pre-loaded with all widely used medical terminologies; it offers a robust API and user interface that enable advanced concept search, mapping, and normalization
21+
22+
* The Medical Terminology Server addresses challenges often faced by traditional terminology servers in healthcare: identifying concepts without exact matches by correcting spelling errors and using synonyms; finding the most relevant concept based on clinical context for accurate coding of diagnoses, drugs, treatments, or adverse events; identifying semantically close concepts for terms that may vary in expression, such as ICD-10 descriptions or prescriptions.
23+
24+
25+
## Features
26+
27+
🚀 The standout feature of John Snow Lab's Terminology Server is its **search** capability: it excels by leveraging associated synonyms, accounting for misspellings, and employing both string matching and embedding matches for similarity searches.
28+
29+
🚀 Opt for either exact text match or semantic search, or utilize both in tandem — the default setting.
30+
31+
🚀 **Custom Value Sets Management**:
32+
33+
* Craft custom Value Sets and apply them as filters to refine search outcomes based on data from a specific version of the chosen Value Set.
34+
* Generate new versions of an existing Value Set through the upload feature.
35+
* Access and review the data of any selected Value Set within the application.
36+
37+
🚀 **Concept Maps**:
38+
When searching for a term in the Terminology Server application from a chosen Code System, users have the option to select one or more "connected" Code Systems. This feature allows for the display of corresponding concept codes across various systems, assuming such data is accessible.
39+
40+
🚀 **Additional Filters**:
41+
Improve your search outcomes by utilizing a variety of additional filters:
42+
43+
* **Domain**: Specifies the general topic area of a concept (e.g., Condition/Device, Condition/Meas, Drug, Gender). The available options for this filter are pre-populated in the dropdown list.
44+
* **OMOP Standards Concepts Only**: Limits the search results to concepts that are flagged as "Standard" in the OMOP CDM.
45+
* **Include Only Valid Concepts**: Filters out concepts that have been invalidated due to deletion or being superseded.
46+
* **Filter by Confidence Score**: Allows refining results based on their confidence score.
47+
48+
🚀 **API service**:
49+
The API service allows seamless integration with your applications, enabling you to leverage our platform's capabilities. By obtaining an API key, developers can interact with various endpoints to retrieve and manipulate data, ensuring smooth connectivity with external systems. Detailed documentation is available to guide you through authentication, rate limits, and usage examples, making the integration process straightforward.
50+
51+
🔍 **Core capabilities, strengths, and limitations**
52+
53+
The following section compares the core capabilities, strengths, and limitations of John Snow Labs’ Medical Terminology Server (TS) with OpenAI’s large language models (LLMs) with , focusing on terminology mapping use cases in healthcare and life sciences.
54+
55+
1. **Deterministic Output vs. Generative Variability:**
56+
* **TS** offers stable and deterministic results. The same term will always return the same code, thanks to its reliance on official terminology datasets and carefully curated in-house augmentations.
57+
* **OpenAI LLMs**, such as GPT-4, are non-deterministic by design. The same prompt may yield different outputs across calls. Since LLMs do not have direct access to up-to-date, structured medical terminologies like SNOMED, ICD-10, RxNorm, etc., their accuracy is typically lower in structured terminology mapping.
58+
For a comparative benchmark, see our blog post: State-of-the-Art RxNorm Code Mapping with NLP, where we evaluated JSL's resolver models against GPT-4 and Amazon for RxNorm mapping.
59+
60+
2. **Pricing and Licensing**
61+
* **TS** operates on a fixed licensing model. There are no usage-based charges or unexpected costs regardless of query volume.
62+
* **OpenAI LLMs** are priced per token, which can become expensive with large-scale usage or high-frequency requests.
63+
64+
3. **Deployment and Security**
65+
* **TS** can be deployed on-premises or in air-gapped environments with no internet connection, making it fully compliant with strict data privacy regulations (e.g., HIPAA, GDPR).
66+
* **OpenAI LLMs** can only be accessed via cloud APIs, which introduces compliance and security concerns in regulated environments.
67+
68+
4. **Interface and Integration**
69+
* **TS** comes with a user-friendly UI and a remote-accessible API, making it easy to use both as a standalone tool or as an embedded service in other systems.
70+
* **OpenAI models** are accessible only via API, with no native UI for terminology mapping use cases.
71+
5. **Terminology Coverage and Customization**
72+
* **TS** supports:
73+
* **Value set mapping** (predefined or user-defined collections of concepts),
74+
* **Concept mapping across vocabularies** (e.g., mapping SNOMED terms to ICD-10),
75+
* **Hierarchy navigation** within and across terminologies.
76+
* **OpenAI LLMs** offer no native support for value sets, concept hierarchies, or controlled vocabularies.
77+
6. **Up-to-Date Terminologies**
78+
* **TS** ensures that its terminology databases are continuously updated in sync with changes made by official regulatory bodies (e.g., WHO, UMLS).
79+
* **OpenAI LLMs** are trained on static datasets and may take months or years to reflect terminology updates.
80+
7. **Rate Limiting and Performance**
81+
* **TS** has no rate limitations. Users can process as many terms as needed under an active license.
82+
* **OpenAI LLMs** may impose rate limits depending on the subscription plan and system load
83+
8. **Document-Level Understanding vs. Term-Level Mapping**
84+
85+
This is a **critical distinction** and often the source of confusion when comparing TS and LLMs.
86+
87+
* **TS** performs **term-level mapping**: You input a term, and it returns the best matching concept from the terminology database.
88+
* It **does not** infer additional context or concepts beyond the input
89+
* It **does not** perform document-level analysis.
90+
* If a user inputs an entire document, the embeddings become diluted, and results may be nonsensical.
91+
* **OpenAI LLMs** excel at **document-level analysis**:
92+
* They can extract key clinical findings, inferred diagnoses, and primary/secondary conditions by analyzing the full context of a clinical note or discharge summary.
93+
* LLMs can assign ICD-10 or SNOMED codes based on this inferred context—mimicking human coders.
94+
* This behavior makes LLMs appealing for use cases where document-level abstraction and coding are required.
95+
96+
**Example**:
97+
98+
Uploading a discharge summary to GPT-4 and prompting it to extract ICD-10 codes may result in:
99+
* Primary diagnosis
100+
* Secondary diagnoses
101+
* Procedures
102+
* Medications
103+
* … all inferred from context.
104+
105+
In contrast, submitting the same text to TS:
106+
* Will treat the whole input as a single term.
107+
* Return a single code based on embedding similarity, which may be inaccurate if the document is lengthy or complex.
108+
9. **Flexibility and Future Integration**
109+
* While TS is not designed for document-level LLM-style coding, it is possible to embed JSL’s proprietary small LLMs within TS to enable such capabilities—if there is demand.
110+
* This hybrid approach could provide the best of both worlds: deterministic, terminology-backed mapping with optional contextual inference.
111+
112+
🚦**Recommendation**
113+
114+
Before choosing between TS and OpenAI LLMs for terminology mapping, clearly define your goal:
115+
* If you need accurate, up-to-date, and secure mapping for individual terms or structured applications—TS is the better choice.
116+
* If you want AI-driven abstraction from unstructured clinical text (e.g., coding a discharge summary)—LLMs might be more appropriate, though at the cost of accuracy and explainability.
117+
118+
For hybrid use cases, John Snow Labs offers modular and extensible solutions to support both deterministic terminology mapping and generative document understanding, as needed
119+
120+
121+
**Overview of Terminology Server's main page and features:**
122+
123+
**Landing Page**
124+
* Default setting, with code Search & Map to code in another Code System
125+
126+
![Terminology Service by John Snow Labs](/assets/images/TS-MainPage.png)
127+
128+
* Term Search, Multiple chunk Search, Filters
129+
130+
![Terminology Service by John Snow Labs](/assets/images/TS1.png)
131+
132+
133+
**Concepts maps**
134+
135+
Concept code mappings shown in the grid results, together with additional filters:
136+
137+
![Terminology Service by John Snow Labs](/assets/images/TS2.png)
138+
139+
140+
**Manage Value Sets**
141+
142+
Create, Add new or Update (new version), View data of custom Value Sets:
143+
144+
![Terminology Service by John Snow Labs](/assets/images/TS3.png)

0 commit comments

Comments
 (0)