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, Python SDK, MCP server, or Rest API.

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.
For more information, see this page.
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
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
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. 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.
For more information, see Executing the Transformation
Last updated
Was this helpful?