> For the complete documentation index, see [llms.txt](https://docs.rhinofcp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rhinofcp.com/using-the-rhino-mcp-server/schemas-and-harmonization-via-mcp.md).

# Schemas & Harmonization via MCP

This article describes what you can do in the Harmonization capability area, with example prompts for each action.

Rhino's [Harmonization](/data-harmonization/overview.md) tools allow you to map source datasets from participating sites to a target schema or standard medical vocabulary (e.g., OMOP, FHIR), and perform transformations in a federated manner. The raw and transformed data stay at each site — no data is centralized at any point.

{% hint style="warning" %}
If you do not have the required permissions, you will not be able to perform the following actions.
{% endhint %}

## Managing schemas

[Schemas](/data-schemas/what-is-a-data-schema.md) define the structure that source and target data are mapped to. You can list, inspect, create, and delete schemas through conversation.

* *"What data schemas are available in my workgroup?"*
* *"Show me the columns defined in the OMOP patient target."*
* *"Create a new target schema called 'Standard Admissions' with columns for patient\_id, admission\_date, diagnosis\_code, and los\_days."*
* *"Delete the 'Draft Schema v1' schema."*

{% hint style="info" %}
**AI tools are only as good as the information they are given**, for this reason Rhino enables augmenting data schemas by including a description for each field.&#x20;

Auto-generated schemas have empty descriptions and default most columns Float, or String.&#x20;

While LLMs like Claude can draft column descriptions and proposed definitions, human ownership and curation are essential—automatically bootstrapping a semantic layer from raw tables or query logs risks encoding existing ambiguities into source-of-truth definitions.&#x20;

A curated semantic layer (descriptions, correct types, valid values, concept IDs and join keys on every schema) is what lets a clinical question map to the right column the first time.
{% endhint %}

## Browsing custom vocabularies

Look up standard custom concepts that have been added before constructing mappings. Or, you can upload your own [custom vocabulary](/data-harmonization/semantic-mapping/custom-vocabularies.md). Some example vocabularies that you might want to add include OMOP CDM, SNOMED CT, ICD-10, LOINC, and RxNorm.

* *"Find the SNOMED concept ID for 'type 2 diabetes mellitus'."*
* *"Look up ICD-10 codes related to heart failure."*
* *"What is the LOINC code for serum creatinine?"*
* *"Search the RxNorm vocabulary for metformin."*

## Creating semantic mappings

Use AI-assisted [semantic mapping](/data-harmonization/semantic-mapping.md) to generate suggested mappings from your source dataset column values to standard vocabulary concepts. Suggestions come with confidence scores for you to review before applying.

* *"Which columns in my dataset need vocabulary-based term mapping to fit the target schema?"*
* *"Create a semantic mapping for the diagnosis\_code column using the ICD vocabulary."*
* *"Is my semantic mapping for the diagnosis codes ready to use?"*

## Creating syntactic mappings

[Syntactic mapping](/data-harmonization/syntactic-mapping.md) defines the structural field-level mapping between your source dataset's columns and the target schema's columns, independent of medical concept meaning.

* *"Create a syntactic mapping from my admissions dataset to the Standard Admissions schema."*
* *"Auto-generate the field transformations for the Standard Admissions syntactic mapping."*
* *"Show me the current configuration of the Standard Admissions syntactic mapping."*
* *"The date format transformation is wrong - change it to use ISO 8601 format in the Standard Admissions mapping."*
* *"Update the description of the Standard Admissions mapping to 'Admissions to OMOP v2'."*

## Running the harmonization pipeline

Once your semantic and syntactic mappings are in place, [run the full harmonization pipeline](/data-harmonization/executing-the-transformation.md) to transform the source dataset to the target schema across all sites.

* *"Run the harmonization on the admissions dataset using the Standard Admissions mapping."*
* *"Transform the admissions data and check the status of the harmonization run."*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rhinofcp.com/using-the-rhino-mcp-server/schemas-and-harmonization-via-mcp.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
