> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.medicomp.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.medicomp.com/_mcp/server.

# Translating Text to Structured Concepts

## Overview

There are many use cases that involve a free text narrative or clinical summary to begin the documentation process. But then what? The clinical information in that text is needed for quality measures, HCC analysis, billing, and making sense of a patient's chart or the history of a chronic disease.

Quippe has the ability to generate structured and coded notes from a plain text summary by utilizing NLP engines, the MEDCIN knowledge graph, and the Quippe Clinical Engine.

## How Text Translation Works

The best way to explain this process is to use the Quippe demo application. 

In the [Quippe Ambient UI](https://ambient.medicomp.com/), start a note for Seymour Patients. 

![Start an Encounter](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/medicomp-systems.docs.buildwithfern.com/7b40f6d22fb98d64b4a71e0893f03a220761c67d0fd83ec196f2e3bf49c5a4b5/docs/capabilities/translateimages/01_start-encounter.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260828T022714Z&X-Amz-Expires=604800&X-Amz-Signature=af77c90bf1b93cc265558f7cf2b3c0de73efd57f976c7bbeebc68505cff685d0&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

**Step 1:** Record the conversation

In this version of the Quippe application, we have incorporated ambient listening capabilities. Feel free to click the *Start Recording* button to generate your own example or click the *Recent Activity* icon at the bottom left of the window to load a canned transcript. 

**Step 2:** Create a clinical summary of the transcript.

Click *Summary* to send the transcript off to the ambient listening tool and receive a text clinical summary back. 

**Step 3:** Translate the free text clinical summary to structured MEDCIN concepts

The final step in the process is to click *Merge*. This action sends the clinical summary to an NLP engine to convert the text to structured concepts.

![From Text to Structure](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/medicomp-systems.docs.buildwithfern.com/f5995a3e362b26f6fa939d22a465e1a229593a5ec3b6659533878b541536833d/docs/capabilities/translateimages/02_nlp-output.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260828T022714Z&X-Amz-Expires=604800&X-Amz-Signature=7ac04dd3e4682f21b2c875d6e233f82de8f4dd6598964fdec5073119268f3a4c&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

Now with the structured concepts, everything downstream in the clinical workflow is possible. Each MEDCIN concept is mapped to the reference terminologies like ICD-10, CPT, RxNorm, SNOMED, DSM5...so billing and compliance are more efficient.

## Text Translation Use Cases

### Translate the Whole Note

Use Case: You are a clinician and have just had a conversation with your patient. Your ambient listening provider has provided you with a free text clinical summary and now you want to translate that to structured clinical concepts.

API: [/Quippe/TextRecognition/Recognize](https://quippe.medicomp.com/ServiceTester.htm#/Quippe/TextRecognition/Recognize)

Documentation: [POST /Quippe/TextRecognition/Recognize](/api-reference/rest/post-quippe-text-recognition-recognize)

Parameters:

- `Text`: The full free text clinical summary

  ```
  Patient has mild depression.  Their most recent PHQ-9 score was 14.
  ```

- `ResolveFindings`: true

This API returns a `taggedText` object that includes the original source text and all of the findings that were discovered with their locations in the text.  The API makes use of one or more configured NLP engines to do the initial translation to MEDCIN.  It then makes several refinements using the MEDCIN knowledge graph to remove spurious results and verify proper translation to the MEDCIN data model. The resulting MEDCIN data can then be translated into various other coding systems, rendered as a FHIR bundle or CDA document, or used in a variety of analysis tasks.

Response:

```json
{
  "taggedText": {
    "text": "The patient has mild depression. Their most recent PHQ-9 score was 14.",
    "results": [
      {
        "index": 16,
        "length": 15,
        "confidence": 0,
        "medcinId": 339755,
        "result": "A",
        "description": "mild depression",
        "ext_EntityLabel": "E1",
        "nodeKey": "-FEN-RELND",
        "termType": 6,
        "flag": 2,
        "specialty": "NS",
        "text": "DEPRESSION MILD",
        "sectionId": "S11",
        "groupId": "G32637",
        "phrasing": {
          "ctnk": "-FEN-REL",
          "ip": "mild depression",
          "in": "~< no diagnosis of",
          "dp": "mild",
          "dn": "~< not"
        }
      },
      {
        "index": 51,
        "length": 5,
        "confidence": 0,
        "medcinId": 328659,
        "result": "A",
        "description": "Patient Health Questionnaire 9-Item (PHQ-9)",
        "ext_EntityLabel": "E6",
        "nodeKey": "-DGL-UCR",
        "termType": 3,
        "subs": "+",
        "specialty": "S",
        "text": "Questionnaires PHQ-9",
        "isOrderable": true,
        "isResultable": true,
        "sectionId": "S21",
        "groupId": "R328496",
        "phrasing": {
          "ip": "Patient Health Questionnaire 9-Item (PHQ-9)",
          "in": "~< no",
          "startContext": "-DGL-UCR"
        }
      }
    ]
  }
}
```

At this point, you can organize the returned MEDCIN findings in a note suing the various concept properties like term type and section and group ID, or retrieve the necessary external codes for each finding (ICD-10, Rx Norm, CPT...) via the [POST /Quippe/Coding/ChartMap](/api-reference/rest/post-quippe-coding-chart-map) API.

### Translate a Portion of a Note

You may only be interested in translating a portion of the free text note into structured concepts or limiting it to concepts within a specific external vocabulary. In this case, we'll just translate the diagnoses in the free text note.

API: [/Quippe/TextRecognition/Recognize](https://quippe.medicomp.com/ServiceTester.htm#/Quippe/TextRecognition/Recognize)

Documentation: [POST /Quippe/TextRecognition/Recognize](/api-reference/rest/post-quippe-text-recognition-recognize)

Parameters: 

- `Text`: Only send a portion or section of the note; ex: Assessment Section.

  ```
  Assessment:
  
  - Hypertension
  - Hyperlipidemia
  - Obesity
  ```

- `ResolveFindings`: true

Response:

```json
{
  "taggedText": {
    "text": "Assessment:\n\n- Hypertension\n- Hyperlipidemia\n- Obesity",
    "results": [
      {
        "index": 15,
        "length": 12,
        "confidence": 0,
        "medcinId": 33288,
        "result": "A",
        "description": "systemic HTN",
        "ext_EntityLabel": "E1",
        "nodeKey": "-FAF-X",
        "termType": 6,
        "flag": 2,
        "subs": "+",
        "specialty": "C",
        "text": "HYPERTENSION SYSTEMIC",
        "sectionId": "S11",
        "groupId": "G38666",
        "phrasing": {
          "ctnk": "-FAF",
          "ip": "systemic HTN",
          "in": "~< no diagnosis of",
          "dp": "systemic HTN",
          "dn": "~< no",
          "startContext": "-FAF-X"
        }
      },
      {
        "index": 30,
        "length": 14,
        "confidence": 0,
        "medcinId": 214032,
        "result": "A",
        "description": "hyperlipidemia",
        "ext_EntityLabel": "E2",
        "nodeKey": "-FCNHD",
        "termType": 6,
        "flag": 2,
        "subs": "+",
        "specialty": "CE",
        "text": "HYPERLIPIDEMIA",
        "sectionId": "S11",
        "groupId": "G38671",
        "phrasing": {
          "ctnk": "-FCN",
          "ip": "hyperlipidemia",
          "in": "~< no diagnosis of",
          "dp": "hyperlipidemia",
          "dn": "~< no",
          "startContext": "-FCNHD"
        }
      },
      {
        "index": 47,
        "length": 7,
        "confidence": 0,
        "medcinId": 33649,
        "result": "A",
        "description": "obesity",
        "ext_EntityLabel": "E3",
        "nodeKey": "-FCNRN",
        "termType": 6,
        "flag": 2,
        "subs": "+",
        "specialty": "ER",
        "text": "OBESITY",
        "sectionId": "S11",
        "groupId": "G38671",
        "phrasing": {
          "ctnk": "-FCN",
          "ip": "obesity",
          "in": "~< no diagnosis of",
          "dp": "obesity",
          "dn": "~< no",
          "startContext": "-FCNRN"
        }
      }
    ]
  }
}
```

## Resources

API Documentation:  [POST /Quippe/TextRecognition/Recognize](/api-reference/rest/post-quippe-text-recognition-recognize)