For the complete documentation index, see llms.txt. This page is also available as Markdown.

Supported Data Schema Data Types

The Rhino Federated Computing Platform (FCP) supports over 50 different data types within its Data Schema definition. Similar to the attributes of a Data Schema, as defined in the Data Schema Field Attributes article, each data type has the following attributes:

  • Validation: The validation method outlined will be used when a dataset is imported into the FCP. Each value will be validated to ensure it meets the criteria set for the data type. If the criteria are not met, the dataset will fail to import into the FCP.

  • De-identification: On import of a dataset into the FCP, if a column or feature within the Data Schema is marked as Sensitive Data = True, the system will trigger a de-identification transformation over the columns that may contain Sensitive Data. De-identification transformations are unique to each data type.

  • Type Parameters: Type Parameters are constraints that can be passed into certain data types to restrict potential values when importing a dataset into the FCP. If a value fails to meet the type parameter constraints, the dataset will fail to import.

Supported Data Types in FCP

Age

Validation: Equivalent to a ConstrainedInteger in the range 0 to 130

De-Identification: Any ages below 90 are unchanged, and any ages 90+ are changed to 90

Type Parameters: None

Birthdate

Validation: Any valid date (see supported Date formats: Date and DateTime)

De-Identification: Only the year of birth is left (dropping the day and month). If the birth year is 90+ years ago, the birth year is set to 1900.

Type Parameters: None

Boolean

Validation: One of the following values: True, true, t, yes, y, 1, False, false, f, no, n, 0

De-Identification: Drop Value (None)

Type Parameters: None

Bytes

Validation: Bytes converted from a string using str.encode()

De-Identification: Drop Value (None)

Type Parameters: None

ConstrainedBytes

Validation: Bytes that can have additional constraints defined in the parameters

De-Identification: Drop Value (None)

Type Parameters:

  • min_length: (Type: Integer, Default Value: None) - the minimum length of the byte string

  • max_length: (Type: integer, Default Value: None) - the maximum length of the byte string

ConstrainedDecimal

Validation: A Decimal that can have additional constraints defined in the parameters

De-Identification: Drop Value (None)

Type Parameters:

  • gt: (Type: Decimal, Default Value: None) - enforces the decimal to be greater than the set value

  • ge: (Type: Decimal, Default Value: None) - enforces the decimal to be greater than or equal to the set value

  • lt: (Type: Decimal, Default Value: None) - enforces the decimal to be less than the set value

  • le: (Type: Decimal, Default Value: None) - enforces the decimal to be less than or equal to the set value

  • max_digits: (Type: Integer, Default Value: None) - the maximum number of digits in the decimal, excluding leading zeros before the decimal point or trailing zeros after the decimal point

  • decimal_places: (Type: Integer, Default Value: None) - the maximum number of decimal places allowed, excluding trailing zeros after the decimal point

  • multiple_of: (Type: Decimal, Default Value: None) - enforces the decimal to be a multiple of the set value

ConstrainedFloat

Validation: A float that can have additional constraints defined in the parameters

De-Identification: Drop Value (None)

Type Parameters:

  • gt: (Type: Float, Default Value: None) - enforces the float to be greater than the set value

  • ge: (Type: Float, Default Value: None) - enforces the float to be greater than or equal to the set value

  • lt: (Type: Float, Default Value: None) - enforces the float to be less than the set value

  • le: (Type: Float, Default Value: None) - enforces the float to be less than or equal to the set value

  • multiple_of: (Type: Float, Default Value: None) - enforces the float to be a multiple of the set value

ConstrainedInt

Validation: An integer that can have additional constraints defined in the params

De-Identification: Drop Value (None)

Type Parameters:

  • gt: (Type: Integer, Default Value: None) - enforces the integer to be greater than the set value

  • ge: (Type: Integer, Default Value: None) - enforces the integer to be greater than or equal to the set value

  • lt: (Type: Integer, Default Value: None) - enforces the integer to be less than the set value

  • le: (Type: Integer, Default Value: None) - enforces the integer to be less than or equal to the set value

  • multiple_of: (Type: Integer, Default Value: None) - enforces the integer to be a multiple of the set value

ConstrainedString

Validation: A string that can have additional constraints defined in the params

De-Identification: Drop Value (None)

Type Parameters:

  • min_length: (Type: Integer, Default Value: None) - the minimum length of the string

  • max_length: (Type: Integer, Default Value: None) - the maximum length of the string

  • regex: (Type: String, Default Value: None) - a regular expression to validate the string against

Date

Validation: Either a string in YYYY-MM-DD format, or a number (integer or float) that represents a Unix timestamp in seconds (if -2e10 < value < 2e10) or milliseconds (otherwise). (Timestamp is in UTC.)

De-Identification: A random date shift is applied. This shift is at least plus or minus 1 year

Type Parameters: None

DateTime

Validation: Either a string in YYYY-MM-DD[T]HH:MM[:SS[.fff fff]][Z or [±]HH[:]MM]]] format, or a number (integer or float) that represents a Unix timestamp in seconds (if -2e10 < value < 2e10) or milliseconds (otherwise). (Timestamp is in UTC.)

De-Identification: A random date+time shift is applied. This shift is at least plus or minus 1 year

Type Parameters: None

Decimal

Validation: A decimal number

De-Identification: Drop Value (None)

Type Parameters: None

DicomInstanceUID

Validation: Any string (not strictly enforcing valid DICOM UID formats)

De-Identification: Drop Value (None)

Type Parameters: None

DicomSeriesUID

Validation: Any string (not strictly enforcing valid DICOM UID formats)

De-Identification: Drop Value (None)

Type Parameters: None

DicomStudyUID

Validation: Any string (not strictly enforcing valid DICOM UID formats)

De-Identification: Drop Value (None)

Type Parameters: None

DicomTag

Validation: No validation is performed on DicomTags - they are added to the Data S chema to include specific tags in dataset and code analysis. Within a Data S chema, the DicomTag field can be used to inform the Rhino FCP which DICOM metadata tags to include in the dataset and code analysis

De-Identification: Drop Value (None)

Type Parameters: None

Enum

Validation: The value must be one of those specified in the choices param

De-Identification: Drop Value (None)

Type Parameters:

  • choices: List, required - with a list of valid values for this field

Filename

Validation: The value must be a path to a file that exists and is accessible to the Rhino Agent

De-Identification: Drop Value (None)

Type Parameters: None

Float

Validation: A floating point number

De-Identification: Drop Value (None)

Type Parameters: None

Integer

Validation: An integer

De-Identification: Drop Value (None)

Type Parameters: None

Json

Validation: A string that can be parsed as valid JSON

De-Identification: Drop Value (None)

Type Parameters: None

NegativeFloat

Validation: A float that is less than 0

De-Identification: Drop Value (None)

Type Parameters: None

NegativeInt

Validation: An integer that is less than 0

De-Identification: Drop Value (None)

Type Parameters: None

NonNegativeFloat

Validation: A float that is greater than or equal to 0

De-Identification: Drop Value (None)

Type Parameters: None

NonNegativeInt

Validation: An integer that is greater than or equal to 0

De-Identification: Drop Value (None)

Type Parameters: None

NonPositiveFloat

Validation: A float that is less than or equal to 0

De-Identification: Drop Value (None)

Type Parameters: None

NonPositiveInt

Validation: An integer that is less than or equal to 0

De-Identification: Drop Value (None)

Type Parameters: None

Path

Validation: A valid path

De-Identification: Drop Value (None)

Type Parameters: None

Percent

Validation: Equivalent to a ConstrainedFloat in the range 0 to 1

De-Identification: Drop Value (None)

Type Parameters: None

PositiveFloat

Validation: A float that is greater than 0

De-Identification: Drop Value (None)

Type Parameters: None

PositiveInt

Validation: An integer that is greater than 0

De-Identification: Drop Value (None)

Type Parameters: None

String

Validation: Any string

De-Identification: Drop Value (None)

Type Parameters: None

Time

Validation: A string in HH:MM[:SS[.ffffff]][Z or [±]HH[:]MM]]] format. (Timestamp is in UTC.)

De-Identification: A random time shift is applied

Type Parameters: None

UID

Validation: Any String

De-Identification: A new value will be generated using SHA-5121 (with salting). Two identical UIDs will always generate the same de-identified value

Type Parameters: None

UUID

Validation: A hexadecimal UUID string

De-Identification: A new value will be generated using SHA-5121 (with salting). Two identical UUIDs will always generate the same de-identified value

Type Parameters: None

1 - The approved hashing method based on http://csrc.nist.gov/groups/ST/hash/

Last updated

Was this helpful?