> 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/frequently-asked-questions/fcp-terminology-renaming-guide.md).

# FCP Terminology Renaming Guide

Indicates the terminology changes in Rhino FCP.

Core FCP components have been renamed as of January 30, 2023. Details appear below.

| Former Name   | New Name     |
| ------------- | ------------ |
| Cohorts       | Datasets     |
| Models        | Code Objects |
| Model Results | Code Runs    |

We're switching up a few names, but it's not just about words; it's about making your experience with the Rhino Federated Computing Platform even better. When we replace **Cohorts** with **Datasets**, **Models** with **Code** (or **Code Objects**), and **Model Results** with **Code Runs**, we're enhancing consistency, streamlining things, and ensuring everything flows smoothly.

In the following guide, we'll cover each interface and detail specifically what and how this renaming effort will change your interaction with the Rhino FCP.

If you have any questions or concerns, please reach out to <support@rhinohealth.com>.

***

### FCP UI View Terminology Changes

#### Project Dashboard Page *(No Name Change)*

1. Owner *(No Change)*
2. Collaborator *(No Change)*
3. Permissions Policy *(*[*See Changes Below*](#h_01HMFSW2XX8BE38CNF1SNT071D)*)*
   * Project-level
   * Site-level

#### Project Overview Page *(No Name Change)*

**Project Steps**

1. Project Definition *(No Change)*
2. Collaborator *(No Change)*
3. Data Schemas *(No Change)*
4. **Cohorts** → **Datasets**
5. **Models** → **Code**
6. **Model Results** → **Code Runs**

**Recent Activities**

* Project Created *(No Change)*
* **Cohort imported** → **Dataset Imported**
* **Cohort version created** → **Dataset Version Created**
* **Cohort removed** → **Dataset Removed**
* **Cohort version removed** → **Dataset Version Removed**
* **Model created** → **Code Object Created**
* **Model removed** → **Code Object Removed**
* **Model version created** → **Code Object Version Created**
* **Model version removed** → **Code Object Version Removed**
* **Model Run Started** → **Code Run Started**
* Data Schema Created *(No Change)*
* Data Schema Version Created *(No Change)*
* Data Schema Removed *(No Change)*
* Data Schema Version Removed *(No Change)*
* Collaborator Joined Project *(No Change)*

#### Collaborators Page *(No Name Change)*

* Add New Collaborators *(No Change)*
* Search Collaborators *(No Change)*
* Lead *(No Change)*
* Permissions Policy *(See below)*

**Permission Policy**

**Project-Level Permissions**

| Current Permission Name                                   | New Permission Name + Description                                                                                                                                                                                                                                                                                                                                                                                                                             |
| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Level of enforcement of differential privacy (0, 1, 2, 3) | <p><strong>Differential Privacy Setting (None, Low, Medium, High)</strong><br>(Privacy filter) - Control the level of noise (if any) is added to data when calculating metrics:<br>- None: Noise is never added.<br>- Low: Noise is only added when calculating percentiles.<br>- Medium: Noise is added for percentiles and other standard metrics when the number of unique values is small.<br>- High: Noise is always added when calculating metrics.</p> |
| K-anonymization parameter                                 | <p><strong>K-Anonymization Parameter</strong><br>(Privacy filter) - Subgroups smaller than K will be excluded from summary statistics.</p>                                                                                                                                                                                                                                                                                                                    |
| Manage models                                             | <p><strong>Manage Code Objects</strong><br>Create, modify, and remove Code Objects in the project</p>                                                                                                                                                                                                                                                                                                                                                         |
| Manage schemas                                            | <p><strong>Manage Data Schemas</strong><br>Create, modify, and remove Data Schemas in the project</p>                                                                                                                                                                                                                                                                                                                                                         |
| Run models                                                | <p><strong>Run Code</strong><br>Run code in the project</p>                                                                                                                                                                                                                                                                                                                                                                                                   |

**Site-Level Permissions**

| Current Permission Name        | New Permission Name + Description                                                                                                                                             |
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Import and Export cohorts      | <p><strong>Manage This Site's Datasets</strong><br>Import, export, modify, and remove Datasets associated with this site</p>                                                  |
| Manage my site's models        | <p><strong>Manage This Site's Code Runs</strong><br>Modify and remove Code Runs associated with this site</p>                                                                 |
| Manage Secure Access Lists     | <p><strong>Manage Secure Access Lists </strong><em><strong>(No Change)</strong></em><br>Create, modify, and remove Secure Access Lists for Datasets from this site</p>        |
| Run models on my site          | <p><strong>Run Code On This Site</strong><br>Run code on Datasets from this site</p>                                                                                          |
| Share Secure Access Lists      | <p><strong>Share Secure Access Lists </strong><em><strong>(No Change)</strong></em><br>Share Secure Access Lists for Datasets from this site</p>                              |
| View client-side logs          | <p><strong>View Client-Side Logs</strong><br>View logs from code run on Datasets from this site</p>                                                                           |
| View cohort analytics          | <p><strong>View Dataset Analytics</strong><br>View aggregated analytics and metrics for Datasets from this site</p>                                                           |
| View cohorts via Secure Access | <p><strong>View Datasets via Secure Access</strong><br>Access data from this site via zero-footprint viewers (e.g. tabular data viewer, and interactive containers, OHIF)</p> |

#### Data Schemas Page *(No Name Change)*

* **Create new schema** → **Create New Data Schema**
* Version *(No Change)*
* Date Created *(No Change)*
* Number of Fields *(No Change)*
* **Number of Cohorts** → **Number of Datasets**
* **Source** → **Creator**
* New Version *(No Change)*
* **Schema variable** → **Data Schema Field**
  * Identifier *(No Change)*
  * Description *(No Change)*
  * Role *(No Change)*
  * Type *(No Change)*
  * **Type params** → **Type Parameters**
  * Units *(No Change)*
  * May contain PHI *(No Change)*
  * Permissions *(No Change)*
* **Add Column** → **Add Field**

#### Cohorts Page → Datasets Page

* Overview *(No Change)*
  * Version *(No Change)*
  * **Schema** → **Data Schema**
  * Date Created *(No Change)*
  * Number of Rows *(No Change)*
  * **Source** → **Creator**
  * **Show cohort configuration** → **Show Dataset Configuration**
* **Import new cohort** → **Import New Dataset**
  * Data Schema *(No Change)*
  * **tabular data file location** → **Tabular Data File Path**
  * **dicom data location** → **DICOM Data Path**
  * **file data location** → **File Data Path**
* Analytics *(No Change)*
  * **datapoints** → **Rows**
  * Data Completeness *(No Change)*
  * **features** → **Fields**

#### Models Page → Code Page

* Version *(No Change)*
* Date Created *(No Change)*
* Runs *(No Change)*
* Latest Run (UTC) *(No Change)*
* **Input Schema** → **Input Data Schema**
* **Output Schema** → **Output Data Schema**
* **Source** → **Creator**
* **Create a new model** → **Create New Code**
  * Type *(No Change)*
  * Python Code *(No Change)*
  * Generalized Compute *(No Change)*
  * Interactive Container *(No Change)*
  * NVIDIA FLARE *(No Change)*
  * Input Data Schema *(No Change)*
  * Output Data Schema *(No Change)*
  * **Auto-generate schema from data** → **Auto-generate Data Schema from Data**
  * Container *(No Change)*
  * Code snippet *(No Change)*
* Run *(No Change)*
  * **Input Cohorts** → **Input Datasets**
  * **Output Cohort name suffix** → **Output Dataset Name Suffix**
  * **idle timeout** → **Idle Timeout (seconds)**
  * **max duration (seconds)** → **Max Duration (seconds)**
  * **run parameters (optional)** → **Run Parameters (JSON, optional)**
  * **Model run triggered** → **Run Triggered**
  * **Import output cohorts** → **Save Output to Project**
  * **Terminate + Import** → **Terminate and Save**
  * **Terminate without import** → **Terminate without Saving**
  * **Model name** → **Code Object Name**
  * **Input name** → **Input Dataset**
* Run Model Training *(No Change)*
  * **training cohorts** → **Training Datasets**
  * **one FL client per training cohort** → **Simulated FL - one FL client per training dataset**
  * **validation cohorts (optional)** → **Validation Datasets (optional)**
  * **output cohort name suffix** → **Output Dataset Name Suffix**
  * **FEDERATED SERVER CONFIG OVERRIDE (OPTIONAL)** → **Federated Server Config Override (optional)**
  * **FEDERATED CLIENT CONFIG OVERRIDE (OPTIONAL)** → **Federated Client Config Override (optional)**
  * **Timeout in seconds** → **Timeout (seconds)**

#### Model Results Page → Code Runs Page

* Type (No Change)
* Run Time (UTC) (No Change)
* Status (No Change)
* **Model Version Code** → **Object Version**
* **Input Cohorts** → **Input Datasets**
* **Output Cohorts** → **Output Datasets**
* Report (No Change)
* **Show model run configuration** → **Show Run Configuration**
* Run Inference (No Change)
* Download Model Parameters (No Change)
* Open TensorBoard *(No Change)*

***

### API Endpoint Changes

#### `/api/{version}/...`

#### `aimodels` → `code_objects`

* `GET /api/{version}/aimodels/` ▶ `GET /api/{version}/code_objects/`
* `POST /api/{version}/aimodels/` ▶ `POST /api/{version}/code_objects/`
* `GET /api/{version}/aimodels/ensure_can_create/` ▶ `GET /api/{version}/code_objects/ensure_can_create/`
* `GET /api/{version}/aimodels/get_ic_supported_versions/` ▶ `GET /api/{version}/code_objects/get_auto_containers_supported_versions/`
* `GET /api/{version}/aimodels/{uid}/` ▶ `GET /api/{version}/code_objects/{uid}/`
* `GET /api/{version}/aimodels/{uid}/build_logs/` ▶ `GET /api/{version}/code_objects/{uid}/build_logs/`
* `POST /api/{version}/aimodels/{uid}/remove/` ▶ `POST /api/{version}/code_objects/{uid}/remove/`
* `PATCH /api/{version}/aimodels/{uid}/rename/` ▶ `PATCH /api/{version}/code_objects/{uid}/rename/`
* `POST /api/{version}/aimodels/{uid}/run/` ▶ `POST /api/{version}/code_objects/{uid}/run/`
* `POST /api/{version}/aimodels/{uid}/train/` ▶ `POST /api/{version}/code_objects/{uid}/train/`
* `GET /api/{version}/aimodels/{uid}/versions/` ▶ `GET /api/{version}/code_objects/{uid}/versions/`

#### `cohorts` → `datasets`

* `GET /api/{version}/cohorts/` ▶ `GET /api/{version}/datasets/`
* `POST /api/{version}/cohorts/` ▶ `POST /api/{version}/datasets/`
* `GET /api/{version}/cohorts/{uid}/` ▶ `GET /api/{version}/datasets/{uid}/`
* `GET /api/{version}/cohorts/{uid}/data/` ▶ `GET /api/{version}/datasets/{uid}/data/`
* `POST /api/{version}/cohorts/{uid}/export/` ▶ `POST /api/{version}/datasets/{uid}/export/`
* `GET /api/{version}/cohorts/{uid}/image_data/` ▶ `GET /api/{version}/datasets/{uid}/image_data/`
* `POST /api/{version}/cohorts/{uid}/import/` ▶ `POST /api/{version}/datasets/{uid}/import/`
* `GET /api/{version}/cohorts/{uid}/info/` ▶ `GET /api/{version}/datasets/{uid}/info/`
* `POST /api/{version}/cohorts/{uid}/metric/` ▶ `POST /api/{version}/datasets/{uid}/metric/`
* `POST /api/{version}/cohorts/{uid}/remove/` ▶ `POST /api/{version}/datasets/{uid}/remove/`
* `PATCH /api/{version}/cohorts/{uid}/rename/` ▶ `PATCH /api/{version}/datasets/{uid}/rename/`
* `GET /api/{version}/cohorts/{uid}/secure_access_lists/` ▶ `GET /api/{version}/datasets/{uid}/secure_access_lists/`
* `POST /api/{version}/cohorts/{uid}/update_notes/` ▶ `POST /api/{version}/datasets/{uid}/update_notes/`

#### `dataschemas` → `data_schemas`

* `GET /api/{version}/dataschemas/` ▶ `GET /api/{version}/data_schemas/`
* `POST /api/{version}/dataschemas/` ▶ `POST /api/{version}/data_schemas/`
* `GET /api/{version}/dataschemas/ensure_can_create/` ▶ `GET /api/{version}/data_schemas/ensure_can_create/`
* `GET /api/{version}/dataschemas/validate_config/` ▶ `GET /api/{version}/data_schemas/validate_config/`
* `GET /api/{version}/dataschemas/{uid}/` ▶ `GET /api/{version}/data_schemas/{uid}/`
* `GET /api/{version}/dataschemas/{uid}/export_to_csv/` ▶ `GET /api/{version}/data_schemas/{uid}/export_to_csv/`
* `POST /api/{version}/dataschemas/{uid}/remove/` ▶ `POST /api/{version}/data_schemas/{uid}/remove/`
* `PATCH /api/{version}/dataschemas/{uid}/rename/` ▶ `PATCH /api/{version}/data_schemas/{uid}/rename/`

#### `dicomweb-queries` → `dicomweb_queries`

* `GET /api/{version}/dicomweb-queries/` ▶ `GET /api/{version}/dicomweb_queries/`
* `POST /api/{version}/dicomweb-queries/` ▶ `POST /api/{version}/dicomweb_queries/`
* `GET /api/{version}/dicomweb-queries/{uid}/` ▶ `GET /api/{version}/dicomweb_queries/{uid}/`

#### `federated-dataset-access-requests` → `federated_dataset_access_requests`

* `GET /api/{version}/federated-dataset-access-requests/` ▶ `GET /api/{version}/federated_dataset_access_requests/`
* `POST /api/{version}/federated-dataset-access-requests/` ▶ `POST /api/{version}/federated_dataset_access_requests/`
* `GET /api/{version}/federated-dataset-access-requests/{uid}/` ▶ `GET /api/{version}/federated_dataset_access_requests/{uid}/`
* `PUT /api/{version}/federated-dataset-access-requests/{uid}/` ▶ `PUT /api/{version}/federated_dataset_access_requests/{uid}/`
* `PATCH /api/{version}/federated-dataset-access-requests/{uid}/` ▶ `PATCH /api/{version}/federated_dataset_access_requests/{uid}/`

#### `federated-datasets` → `federated_datasets`

* `GET /api/{version}/federated-datasets/` ▶ `GET /api/{version}/federated_datasets/`
* `POST /api/{version}/federated-datasets/` ▶ `POST /api/{version}/federated_datasets/`
* `GET /api/{version}/federated-datasets/cohort_analytics_accessibility_for_user/` ▶ `GET /api/{version}/federated_datasets/dataset_analytics_accessibility_for_user/`
* `GET /api/{version}/federated-datasets/cohorts_workgroup_admin_users_info/` ▶ `GET /api/{version}/federated_datasets/dataset_workgroup_admin_users_info/`
* `GET /api/{version}/federated-datasets/{uid}/` ▶ `GET /api/{version}/federated_datasets/{uid}/`
* `DELETE /api/{version}/federated-datasets/{uid}/` ▶ `DELETE /api/{version}/federated_datasets/{uid}/`
* `GET /api/{version}/federated-datasets/{uid}/cohorts_info/` ▶ `GET /api/{version}/federated_datasets/{uid}/cohorts_info/`
  * **Parameter:** `cohorts` ▶ `datasets`

#### `federatedmodelactions` → `code_runs`

* `GET /api/{version}/federatedmodelactions/` ▶ `GET /api/{version}/code_runs/`
  * **Parameter:** `aimodel_uid` ▶ `code_object_uid`
* `GET /api/{version}/federatedmodelactions/{uid}/` ▶ `GET /api/{version}/code_runs/{uid}/`
* `GET /api/{version}/federatedmodelactions/{uid}/download_model_params/` ▶ `GET /api/{version}/code_runs/{uid}/download_code_params/`
  * **Parameter:** `model_weights_files` ▶ `model_params_files`
* `POST /api/{version}/federatedmodelactions/{uid}/end_interactive_gc/` ▶ `POST /api/{version}/code_runs/{uid}/end_interactive_gc/`
* `GET /api/{version}/federatedmodelactions/{uid}/get_secure_access_logs/` ▶ `GET /api/{version}/code_runs/{uid}/get_secure_access_logs/`
* `GET /api/{version}/federatedmodelactions/{uid}/halt/` ▶ `GET /api/{version}/code_runs/{uid}/halt/`
* `GET /api/{version}/federatedmodelactions/{uid}/heart_beat/` ▶ `GET /api/{version}/code_runs/{uid}/heart_beat/`
* `POST /api/{version}/federatedmodelactions/{uid}/import_cohorts_interactive_gc/` ▶ `POST /api/{version}/code_runs/{uid}/import_dataset_interactive_gc/`
* `GET /api/{version}/federatedmodelactions/{uid}/logs/` ▶ `GET /api/{version}/code_runs/{uid}/logs/`
* `POST /api/{version}/federatedmodelactions/{uid}/remove/` ▶ `POST /api/{version}/code_runs/{uid}/remove/`
* `POST /api/{version}/federatedmodelactions/{uid}/run_inference/` ▶ `POST /api/{version}/code_runs/{uid}/run_inference/`
* `POST /api/{version}/federatedmodelactions/{uid}/set_report/` ▶ `POST /api/{version}/code_runs/{uid}/set_report/`
* `POST /api/{version}/federatedmodelactions/{uid}/set_scores/` ▶ `POST /api/{version}/code_runs/{uid}/set_scores/`

#### `projects` → `projects`

* `POST /api/{version}/projects/calculate_aggregate_metric/` ▶ `POST /api/{version}/projects/calculate_aggregate_metric/`
  * **Parameter:** `cohort_uids` ▶ `dataset_uids`
* `GET /api/{version}/projects/{uid}/cohorts/` ▶ `GET /api/{version}/projects/{uid}/datasets/`
* `GET /api/{version}/projects/{uid}/cohorts_info/` ▶ `GET /api/{version}/projects/{uid}/datasets_info/`
  * **Parameter:** `cohorts` ▶ `datasets`
* `GET /api/{version}/projects/{uid}/model_actions/` ▶ `GET /api/{version}/projects/{uid}/code_actions/`
* `GET /api/{version}/projects/{uid}/models/` ▶ `GET /api/{version}/projects/{uid}/code_objects/`

#### `secureaccesslist` → `secure_access_lists`

* `GET /api/{version}/secureaccesslist/` ▶ `GET /api/{version}/secure_access_lists/`
* `POST /api/{version}/secureaccesslist/` ▶ `POST /api/{version}/secure_access_lists/`
* `GET /api/{version}/secureaccesslist/{uid}/` ▶ `GET /api/{version}/secure_access_lists/{uid}/`
* `GET /api/{version}/secureaccesslist/{uid}/data/` ▶ `GET /api/{version}/secure_access_lists/{uid}/data/`

#### `secureaccesslistshare` → `secure_access_list_shares`

* `GET /api/{version}/secureaccesslistshare/` ▶ `GET /api/{version}/secure_access_list_shares/`
* `POST /api/{version}/secureaccesslistshare/` ▶ `POST /api/{version}/secure_access_list_shares/`
* `GET /api/{version}/secureaccesslistshare/{uid}/` ▶ `GET /api/{version}/secure_access_list_shares/{uid}/`

#### `sql-queries` → `sql_queries`

* `GET /api/{version}/sql-queries/` ▶ `GET /api/{version}/sql_queries/`
* `POST /api/{version}/sql-queries/` ▶ `POST /api/{version}/sql_queries/`
* `GET /api/{version}/sql-queries/{uid}/` ▶ `GET /api/{version}/sql_queries/{uid}/`

#### `tensorboard` → `tensorboard`

* `GET /api/{version}/tensorboard/get-or-create/` ▶ `GET /api/{version}/tensorboard/get_or_create/`
* `GET /api/{version}/tensorboard/heart-beat/` ▶ `GET /api/{version}/tensorboard/heartbeat/`

### API Model Changes

#### `AIModelFlat` → `CodeObjectFlat`

#### `CohortFlat` → `DatasetFlat`

#### `FederatedDataset` → `FederatedDataset`

* **Entity:** `cohorts` ▶ `datasets`

#### `FederatedModelActionFlat` → `CodeRunFlat`

* **Entity:** `aimodel` ▶ `code_object`
* **Entity:** `input_cohort_uids` ▶ `input_dataset_uids`
* **Entity:** `output_cohort_uids` ▶ `output_dataset_uids`

#### `RunInferenceParams` → `RunInferenceParams`

* **Entity:** `validation_cohort_uids` ▶ `validation_dataset_uids`
* **Entity:** `validation_cohorts_inference_suffix` ▶ `validation_datasets_inference_suffix`

#### `TrainParams` → `TrainParams`

* **Entity:** `input_cohort_uids` ▶ `input_dataset_uids`
* **Entity:** `validation_cohort_uids` ▶ `validation_dataset_uids`
* **Entity:** `validation_cohorts_inference_suffix` ▶ `validation_datasets_inference_suffix`

#### `ModelResultsSetScoreParams` → `CodeRunSetScoreParams`

#### `SecureAccessListFlat` → `SecureAccessListFlat`

* **Entity:** `cohort` ▶ `dataset`

***

### SDK Changes

#### `rhino_health.lib.endpoints`

#### ↳ `aimodel` → `code`

* **Class:** `AIModel` ▶ `CodeObject`
  * **Variable:** `build_status` ▶ `build_status`
    * **Type:** `Optional[AIModelBuildStatus]` ▶ `Optional[CodeObjectBuildStatus]`
  * **Variable:** `model_type` ▶ `code_type`
  * **Function:** `wait_for_build` ▶ `wait_for_build`
    * **Returns:** `AIModel` ▶ `CodeObject`
* **Class:** `AIModelCreateInput` ▶ `CodeObjectCreateInput`
  * **Variable:** `model_type` ▶ `code_type`
* **Class:** `AIModelRunInput` ▶ `CodeObjectRunInput`
  * **Variable:** `input_cohort_uid` ▶ `input_dataset_uid`
  * **Variable:** `output_cohort_names_suffix` ▶ `output_dataset_names_suffix`
  * **Variable:** `aimodel_uid` ▶ `code_object_uid`

#### ↳ `aimodel.aimodel_dataclass` → `code.code_object_dataclass`

* **Class:** `CodeRunType` ▶ `CodeRunType`
  * **Variable:** `INSTANT_CONTAINER_NVFLARE` ▶ `AUTO_CONTAINER_NVFLARE`
  * **Variable:** `INSTANT_CONTAINER_SNIPPET` ▶ `AUTO_CONTAINER_SNIPPET`
  * **Variable:** `INSTANT_CONTAINER_FILE` ▶ `AUTO_CONTAINER_FILE`
* **Class:** `ModelTypes` ▶ `CodeTypes`
* **Class:** `AIModelBuildStatus` ▶ `CodeObjectBuildStatus`
* **Class:** `AIModelCreateInput` ▶ `CodeObjectCreateInput`
  * **Variable:** `model_type` ▶ `code_type`
  * **Variable:** `input_dataschema_uid` removed as was deprecated
  * **Variable:** `output_dataschema_uid` removed as was deprecated
* **Class:** `AIModel` ▶ `CodeObject`
  * **Variable:** `build_status` ▶ `build_status`
    * **Type:** `Optional[AIModelBuildStatus]` ▶ `Optional[CodeObjectBuildStatus]`
  * **Variable:** `model_type` ▶ `code_type`
  * **Function:** `wait_for_build` ▶ `wait_for_build`
    * **Returns:** `AIModel` ▶ `CodeObject`
* **Class:** `AIModelRunInput` ▶ `CodeObjectRunInput`
  * **Variable:** `input_cohort_uid` ▶ `input_dataset_uid`
  * **Variable:** `output_cohort_names_suffix` ▶ `output_dataset_naming_templates`
  * **Variable:** `aimodel_uid` ▶ `code_object_uid`
* **Class:** `AIModelMultiCohortInput` ▶ `CodeRunMultiDatasetInput`
  * **Variable:** `input_cohort_uids` ▶ `input_dataset_uids`
  * **Variable:** `output_cohort_naming_templates` ▶ `output_dataset_naming_templates`
  * **Variable:** `aimodel_uid` ▶ `code_object_uid`
* **Class:** `AIModelTrainInput` ▶ `ModelTrainInput`
  * **Variable:** `aimodel_uid` ▶ `code_object_uid`
  * **Variable:** `input_cohort_uids` ▶ `input_dataset_uids`
  * **Variable:** `validation_cohort_uids` ▶ `validation_dataset_uids`
  * **Variable:** `validation_cohorts_inference_suffix` ▶ `validation_datasets_inference_suffix`
* **Class:** `AIModelTrainAsyncResponse` ▶ `ModelTrainAsyncResponse`
  * **Variable:** `model_result_uid` ▶ `code_run_uid`
  * **Property:** `model_result` ▶ `code_run`
    * **Returns:** `ModelResult` ▶ `CodeRun`
  * **Function:** `wait_for_completion` ▶ `wait_for_completion`
    * **Returns:** `ModelResult` ▶ `CodeRun`

#### ↳ `aimodel.aimodel_endpoints` → `code.code_object_endpoints`

* **Class:** `AIModelEndpoints` ▶ `CodeObjectEndpoints`
  * **Function:** `get_aimodel` ▶ `get_code_object`
    * **Parameter:** `aimodel_uid` ▶ `code_object_uid`
    * **Returns:** `AIModel` ▶ `CodeObject`
  * **Function:** `get_aimodel_by_name` ▶ `get_code_object_by_name`
    * **Returns:** `Optional[AIModel]` ▶ `Optional[CodeObject]`
  * **Function:** `search_for_aimodels_by_name` ▶ `search_for_code_object_by_name`
    * **Returns:** `List[AIModel]` ▶ `List[CodeObject]`
  * **Function:** `create_aimodel` ▶ `create_code_object`
    * **Parameter:** `AIModelCreateInput` ▶ `CodeObjectCreateInput`
    * **Returns:** `AIModel` ▶ `CodeObject`
  * **Function:** `run_aimodel` ▶ `run_code_object`
    * **Parameter:** `Union[AIModelRunInput, AIModelMultiCohortInput]` ▶ `Union[CodeObjectRunInput, CodeRunMultiDatasetInput]`
    * **Returns:** `Union[AIModelRunSyncResponse, AIModelRunAsyncResponse]` ▶ `Union[CodeRunSyncResponse, CodeRunAsyncResponse]`
  * **Function:** `train_aimodel` ▶ `train_model`
    * **Parameter:** `AIModelTrainInput` ▶ `ModelTrainInput`
    * **Returns:** `model_action_uid` ▶ `code_run_uid`
  * **Function:** `get_build_logs` ▶ `get_build_logs`
    * **Parameter:** `aimodel_uid` ▶ `code_object_uid`

#### ↳ `cohort` → `dataset`

#### ↳ `cohort.cohort_dataclass` → `dataset.dataset_dataclass`

* **Class:** `CohortCreateInput` ▶ `DatasetCreateInput`
* **Class:** `Cohort` ▶ `Dataset`
  * **Variable:** `cohort_info` ▶ `dataset_info`
  * **Function:** `run_code` ▶ `run_code`
    * **Parameter:** `output_cohort_names_suffix` ▶ `output_dataset_names_suffix`
    * **Returns:** `Tuple[List[Cohort], AIModelRunSyncResponse]` ▶ `Tuple[List[Dataset], CodeRun]`

#### ↳ `cohort.cohort_endpoints` → `dataset.dataset_endpoints`

* **Class:** `CohortEndpoints` ▶ `DatasetEndpoints`
  * **Function:** `get_cohort_by_name` ▶ `get_dataset_by_name`
    * **Returns:** `Optional[Cohort]` ▶ `Optional[Dataset]`
  * **Function:** `search_for_cohorts_by_name` ▶ `search_for_datasets_by_name`
    * **Returns:** `List[Cohort]` ▶ `List[Dataset]`
  * **Function:** `add_cohort` ▶ `add_dataset`
    * **Parameters:** `CohortCreateInput` ▶ `DatasetCreateInput`
    * **Returns:** `Cohort` ▶ `Dataset`
  * **Function:** `export_cohort` ▶ `export_dataset`
    * **Parameters:** `cohort_uid` ▶ `dataset_uid`
  * **Function:** `sync_cohort_info` ▶ `sync_dataset_info`
    * **Parameters:** `cohort_uid` ▶ `dataset_uid`
  * **Function:** `remove_cohort` ▶ `remove_dataset`
    * **Parameters:** `cohort_uid` ▶ `dataset_uid`
  * **Function:** `get_cohort` ▶ `get_dataset`
    * **Parameters:** `cohort_uid` ▶ `dataset_uid`
    * **Returns:** `Cohort` ▶ `Dataset`
  * **Function:** `get_cohort_metric` ▶ `get_dataset_metric`
    * **Parameters:** `cohort_uid` ▶ `dataset_uid`

#### ↳ `data_schema` → `data_schema`

#### ↳ `data_schema.data_schema_dataclass` → `data_schema.data_schema_dataclass`

* **Class:** `Dataschema` ▶ `DataSchema`
  * **Variable:** `num_cohorts` ▶ `num_datasets`
* **Variable:** `num_datasets` removed

#### ↳ `federated_dataset` → `federated_dataset`

#### ↳ `federated_dataset.federated_dataset_dataclass` → `federated_dataset.federated_dataset_dataclass`

* **Class:** `FederatedDatasetCreateInput` ▶ `FederatedDatasetCreateInput`
  * **Variable:** `cohorts` ▶ `datasets`
  * **Variable:** `cohort_uids` ▶ `dataset_uids`
* **Class:** `FederatedDataset` ▶ `FederatedDataset`
  * **Parameter:** `cohort_uids` ▶ `cohort_uids`
  * **Variable:** `cohorts` ▶ `cohorts`
  * **Returns:** `List[Cohort]` ▶ `List[Dataset]`

#### ↳ `model_result` → `code_run`

#### ↳ `model_result.model_result_dataclass` → `code_run.code_run_dataclass`

* **Class:** `ModelResultStatus` ▶ `CodeRunStatus`
* **Class:** `ModelResult` ▶ `CodeRun`
  * **Parameter:** `status` ▶ `status`
    * **Type:** `ModelResultStatus` ▶ `CodeRunStatus`
  * **Parameter:** `input_cohort_uids` ▶ `input_dataset_uids`
  * **Parameter:** `output_cohort_uids` ▶ `output_dataset_uids`
  * **Parameter:** `aimodel_uid` ▶ `code_object_uid`
  * **Property:** `aimodel` ▶ `code_object`
    * **Returns:** `AIModel` ▶ `CodeObject`
  * **Property:** `input_cohorts` ▶ `input_datasets`
    * **Returns:** `List[Cohort]` ▶ `List[Dataset]`
  * **Property:** `output_cohorts` ▶ `output_datasets`
  * **Function:** `wait_for_completion` ▶ `wait_for_completion`
    * **Returns:** `ModelResult` ▶ `CodeRun`
  * **Property:** `model_params_external_storage_path` ▶ `paths_to_model_params`

#### ↳ `model_result.model_result_endpoints` → `code_run.code_run_endpoints`

* **Class:** `ModelResultEndpoints` ▶ `CodeRunEndpoints`
  * **Function:** `halt_model_run` ▶ `halt_code_run`
    * **Parameters:** `model_action_uid` ▶ `code_run_uid`
  * **Function:** `run_inference` ▶ `run_inference`
    * **Parameter:** `model_action_uid` ▶ `code_run_uid`
    * **Parameter:** `validation_cohort_uids` ▶ `validation_dataset_uids`
    * **Parameter:** `validation_cohorts_suffix` ▶ `validation_datasets_suffix`
    * **Returns:** `AIModelRunAsyncResponse` ▶ `CodeRunAsyncResponse`
* **Class:** `ModelResultFutureEndpoint` ▶ `CodeRunFutureEndpoints`
  * **Function:** `get_model_result` ▶ `get_code_run`
    * **Parameter:** `model_result_uid` ▶ `code_run_uid`
    * **Returns:** `ModelResult` ▶ `CodeRun`
  * **Function:** `get_model_params` ▶ `get_model_params`
    * **Parameter:** `model_result_uid` ▶ `code_run_uid`
    * **Returns:** model\_params

#### ↳ `project` → `project`

#### ↳ `project.project_dataclass` → `project.project_dataclass`

* **Class:** `Project` ▶ `Project`
  * **Property:** `cohorts` ▶ `datasets`
    * **Returns:** `List[Cohort]` ▶ `List[Dataset]`
  * **Property:** `status` ▶ `stats`
  * **Function:** `get_cohort_by_name` ▶ `get_dataset_by_name`
    * **Returns:** `Optional[Cohort]` ▶ `Optional[Dataset]`
  * **Function:** `search_for_cohorts_by_name` ▶ `search_for_datasets_by_name`
    * **Returns:** `List[Cohort]` ▶ `List[Dataset]`
  * **Property:** `aimodels` ▶ `code_objects`
    * **Returns:** `List[AIModel]` ▶ `List[CodeObject]`
  * **Function:** `get_aimodel_by_name` ▶ `get_code_object_by_name`
    * **Returns:** `Optional[AIModel]` ▶ `Optional[CodeObject]`
  * **Function:** `search_for_aimodels_by_name` ▶ `search_for_code_object_by_name`
    * **Returns:** `List[AIModel]` ▶ `List[CodeObject]`
  * **Function:** `aggregate_cohort_metric` ▶ `aggregate_dataset_metric`
    * **Parameters:** `cohort_uids` ▶ `dataset_uids`
  * **Function:** `joined_cohort_metric` ▶ `joined_dataset_metric`
    * **Parameters:** `data_cohorts` ▶ `data_datasets`
    * **Parameters:** `filter_cohorts` ▶ `filter_datasets`

#### ↳ `project.project_endpoints` → `project.project_endpoints`

* **Class:** `ProjectEndpoints` ▶ `ProjectEndpoints`
  * **Function:** `get_cohorts` ▶ `get_datasets`
    * **Returns:** `List[Cohort]` ▶ `List[Dataset]`
  * **Function:** `get_cohort_by_name` ▶ `get_dataset_by_name`
    * **Returns:** `Optional[Cohort]` ▶ `Optional[Dataset]`
  * **Function:** `search_for_cohorts_by_name` ▶ `search_for_datasets_by_name`
    * **Returns:** `List[Cohort]` ▶ `List[Dataset]`
  * **Function:** `get_aimodels` ▶ `get_code_objects`
    * **Returns:** `List[AIModel]` ▶ `List[CodeObject]`
  * **Function:** `get_aimodel_by_name` ▶ `get_code_object_by_name`
    * **Returns:** `Optional[AIModel]` ▶ `Optional[CodeObject]`
  * **Function:** `search_for_aimodels_by_name` ▶ `search_for_code_objects_by_name`
    * **Returns:** `List[AIModel]` ▶ `List[CodeObject]`
  * **Function:** `aggregate_cohort_metric` ▶ `aggregate_dataset_metric`
    * **Parameters:** `cohort_uids` ▶ `dataset_uids`
  * **Function:** `joined_cohort_metric` ▶ `joined_dataset_metric`
    * **Parameters:** `data_cohorts` ▶ `data_datasets`
    * **Parameters:** `filter_cohorts` ▶ `filter_datasets`

#### ↳ `sql_query` → `sql_query`

* **Class:** `SQLQueryImportInput` ▶ `SQLQueryImportInput`
  * **Variable:** `cohort_name` ▶ `dataset_name`

#### ↳ `sql_query.sql_query_dataclass` → `sql_query.sql_query_dataclass`

* **Class:** `SQLQueryImportInput` ▶ `SQLQueryImportInput`
  * **Variable:** `cohort_name` ▶ `dataset_name`

#### `rhino_health.lib.metrics`

#### ↳ `aggregate_metrics` → `aggregate_metrics`

#### ↳ `aggregate_metrics.aggregation_service` → `aggregate_metrics.aggregation_service`

* **Function:** `get_cloud_aggregated_metric_data` ▶ `get_cloud_aggregated_metric_data`
  * **Parameter:** `cohort_uids` ▶ `dataset_uids`

#### ↳ `base_metric` → `base_metric`

* **Class:** `DataFilter` ▶ `DataFilter`
  * **Variable:** `filter_cohort` ▶ `filter_dataset`

#### `rhino_health.lib.rhino_session`

* **Class:** `RhinoSession` ▶ `RhinoSession`
  * **Attributes:** `aimodel` ▶ `code_object`
  * **Attributes:** `cohort` ▶ `dataset`
  * **Attributes:** `model_result` ▶ `code_runs`

If you have questions or comments at any part of this conversion process, please reach out to <support@rhinohealth.com>.


---

# 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/frequently-asked-questions/fcp-terminology-renaming-guide.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.
