> 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/data-harmonization/overview.md).

# Overview

The Rhino FCP's Data Harmonization Engine (RhinoDHE) enables users to remotely harmonize complex datasets into standardized data models using AI-assisted mapping and human-in-the-loop review.

***

### What is it?

The process of **data harmonization** involves integrating, transforming, and standardizing data from disparate sources to create a unified and consistent dataset that can be readily analyzed and utilized.&#x20;

Traditional data harmonization approaches are often time-consuming, labor-intensive, and prone to error. Rhino's **Data Harmonization Engine (RhinoDHE)** streamlines this process by using AI to enable complex extract-transform-load (ETL) workflows that can be executed remotely. With RhinoDHE, users can complete data transformations in hours rather than the weeks traditionally required.

<figure><img src="https://2949362692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FydySyCBmy6F7NnGn4bPa%2Fuploads%2F6F58TedLqzyqDwiwTDCS%2Frhino_dhe_white_vertical.gif?alt=media&amp;token=2f37f33d-25ad-4e2a-8298-46d126d521d7" alt=""><figcaption></figcaption></figure>

***

### Why is it useful?

Data collected across different sites, systems, and organizations rarely arrives in the same format. Field names differ, coding systems vary, and data structures conflict — creating barriers to reliable analysis. Data harmonization addresses this challenge whether you're preparing data for research, meeting regulatory and compliance requirements, or running analytics across a federated network.

Rhino customers have applied the DHE to a wide range of use cases, including:

* Transforming complex local data warehouses into clean, standardized databases based on common data models such as **OMOP** or **i2b2** for research use.
* Mapping local, non-standard codes to standardized terminologies and vocabularies such as **LOINC**.
* Generating **FHIR resources** to support healthcare interoperability initiatives and patient care.
* Aligning a research collaborator's data with the format required by a machine learning model for **external validation**.

***

### How does it work?

In short, the RhinoDHE works by transmitting non-sensitive metadata to an LLM, which then recommends the required logic to transform the source data into the target data model.&#x20;

**As always is the case on the Rhino FCP, raw row-level data never leaves the local network boundary.** RhinoDHE runs on-premises on each Rhino Client.

<div data-with-frame="true"><figure><img src="https://2949362692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FydySyCBmy6F7NnGn4bPa%2Fuploads%2F21FJOs3mLoz1XNRBfEBL%2FHow%20DHE%20works.png?alt=media&amp;token=4ef02ea5-361d-4419-8116-df2cdd6d7a60" alt=""><figcaption></figcaption></figure></div>

#### *Step 1: Non-Sensitive Data Is Sent to the Frontier LLM*

[Data Schemas](/data-schemas/what-is-a-data-schema.md) for both the source data and the target data model are transmitted to the LLM. This ensures that the LLM can accurately represent the dimensionality and content of each data table. Moreover, histograms constrained by [Rhino's privacy filters](/datasets/sensitive-datasets.md) are also sent to the LLM. This ensures that the LLM can sample actual data values without compromising data security.&#x20;

#### *Step 2: Frontier LLM Recommends Data Transformations*

The LLM that powers Rhino's DHE uses the non-sensitive metadata to generate a set of recommended transformations. The agentic harness that Rhino uses ensures that the recommended transformations will lead to data that is consistent with the target data model. The output of the LLM is a [JSON configuration file](/data-harmonization/syntactic-mapping/syntactic-mapping-configuration.md) that represents the recommended transformations. This file can be saved for later use.&#x20;

#### *Step 3: Review LLM Recommendations via User Interface*

The Rhino platform provides an intuitive user interface in which to review the recommended transformation. We sometimes like to compare this to Level 3 self-driving cars, wherein the machine will do the brunt of the work while the human provides supervision. This is especially important in the realm of real-world data, where subject matter expertise is often required to ensure accuracy.

#### *Step 4: Execute ETL on the edge client*

Once the transformation has been reviewed and approved by a human, the edge client translates the LLM's recommendations into a code object, which can be run remotely using the Rhino user interface, the Rhino SDK, or MCP server.

***

### Important Terms and Concepts

There are several important concepts to understand before you create a data mapping using the RhinoDHE.

* **Custom Vocabulary**: A non-standard language used to describe clinical data fields. It can be useful if a standard vocabulary, such as OMOP, is not appropriate.
* **EHR/DW**: *(Electronic Health Record/Data Warehouse)* Stores and serves EHR/DW data.
* **FHIR**: *(Fast Healthcare Interoperability Resources)* A standard that defines how healthcare information should be exchanged using a common format and language.
* **LLM**: *(Large Language Model)* A type of machine learning model that can understand and generate natural text. LLMs are used in the RhinoDHE to make recommendations for data mappings.
* **OMOP**: *(Observational Medical Outcomes Partnership)* A standard common data model that standardizes the content and structure of observational data.
* [**Semantic Mapping**](/data-harmonization/semantic-mapping.md): *(SeM)* Also known as vocabulary mapping, this is the mapping of values with the columns of interest.
* [**Syntactic Mapping**](/data-harmonization/syntactic-mapping.md): Also known as schematic or ontology-based mapping, this is the mapping of table/column names to target table/column names (e.g., OMOP).
* **SNOMED**: *(Systematized Nomenclature of Medicine)* An organized collection of clinical/medical terms that provide codes, synonyms, definitions, and codes for clinical reporting and documentation.

***

### Related Pages

* [Getting Started](/data-harmonization/getting-started.md)
* **Tutorials**:&#x20;
  * [RhinoDHE w/ OMOP](/tutorials-recipes-and-demos/omop-etl-via-the-rhino-data-harmonization-engine-rhinodhe.md)
  * [RhinoDHE w/ FHIR](/tutorials-recipes-and-demos/fhir-etl-via-the-rhino-data-harmonization-engine-rhinodhe.md)
  * [RhinoDHE w/ Custom Data Model](/tutorials-recipes-and-demos/harmonizing-complex-rwd-to-a-custom-data-model.md)


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.rhinofcp.com/data-harmonization/overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
