> 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/getting-started.md).

# Getting Started

How to use Rhino's Data Harmonization Engine (RhinoDHE)

Transforming data with the **RhinoDHE** involves **four key steps**: Data Ingestion, Semantic Mapping, Syntactic Mapping, and ETL Execution. All these steps can be managed from any of Rhino's interfaces, including the [web interface](/getting-started/quick-start-guide/the-fcp-dashboard.md), [Python SDK](/rhino-sdk/what-is-the-rhino-sdk.md), [MCP server](/using-the-rhino-mcp-server/mcp-getting-started.md), or Rest API.&#x20;

<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%2FDEwmZESQLTPzlXfJ4jwo%2FScreenshot%202026-08-13%20at%205.26.37%E2%80%AFPM.png?alt=media&amp;token=5a5f0f86-5276-426a-9969-356fc1940f12" alt=""><figcaption></figcaption></figure></div>

#### Step 1: Data Ingestion

**Data ingestion** is the first step in the RhinoDHE data harmonization workflow, where a source dataset is loaded into the platform and profiled before any transformation begins. During ingestion, the RhinoDHE inspects the incoming file(s) to detect the data schema — tables, columns, and data types — and generates an initial data profile, surfacing row counts, unique values, and basic data quality signals for each field.&#x20;

For more information, see [this page](/datasets/registering-configuring-and-exporting-datasets.md).

***

#### Step 2: Semantic Mapping

After data ingestion, the next task is to perform **semantic mapping.** This process involves associating local terms (*aka* codes) from a source dataset to a standardized target vocabulary. For example, a hospital might want to transform their laboratory test named `Albumin Blood Test` to the LOINC code `1751-7` (Albumin \[Mass/volume] in Serum or Plasma). Rhino allows users to select which vocabulary they want to map their local terms to, and then AI-generated recommended mappings are presented to human reviewers for review and approval.

For more information, see [Semantic Mapping](/data-harmonization/semantic-mapping.md)

***

#### Step 3: Syntactic Mapping

**Syntactic mapping** defines how the structure of a source dataset — its tables, columns, and field types — must be transformed to conform to the target data model. While semantic mapping handles the *values* within a column (e.g., `Albumin Blood Test` to LOINC `1751-7`), syntactic mapping handles the *shape* of the data itself: renaming columns, reformatting data types, splitting or combining fields, and restructuring tables so they align with the target schema. This process should follow semantic mapping, as local-to-standard term mappings are often incorporated into the syntactic mappings.

For more information, see [Syntactic Mapping](/data-harmonization/syntactic-mapping.md)

***

#### Step 4: Execute the Transformation

Once syntactic and semantic mappings have been reviewed and approved, a self-contained transformation script that encodes every mapping decision (structural and semantic) into executable logic is created. These are called *Data Harmonization Code Objects*, which are a special type of a [Code Object](/creating-and-running-code-objects/what-is-a-code-object.md).  **Execution** occurs when the code object is run, either via the Rhino dashboard, MCP Server, or Python SDK. Users may also automate execution using Rhino's Python SDK and an orchestration tool such as Airflow or Prefect.io.&#x20;

For more information, see [Executing the Transformation](/data-harmonization/executing-the-transformation.md)

{% hint style="info" %}
Reviewers do not need to write any code to create Data Harmonization Code Objects. Rhino FCP automatically generates them based on the mapping choices made through the review interface. The underlying ETL code is managed by Rhino FCP and cannot be accessed or exported by users.
{% endhint %}

\
\
\
\ <br>

\ <br>


---

# 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/getting-started.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.
