The Rhino Health 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 May Contain PHI = True, the system will trigger a de-identification transformation over the columns that may contain PHI. 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: None
Type Parameters: None
Bytes
Validation: Bytes converted from a string using str.encode()
De-Identification: None
Type Parameters: None
ConstrainedBytes
Validation: Bytes that can have additional constraints defined in the parameters
De-Identification: 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: 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: 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: 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: 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)
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)
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: None
Type Parameters: None
DicomInstanceUID
Validation: Any string (not strictly enforcing valid DICOM UID formats)
De-Identification: None
Type Parameters: None
DicomSeriesUID
Validation: Any string (not strictly enforcing valid DICOM UID formats)
De-Identification: None
Type Parameters: None
DicomStudyUID
Validation: Any string (not strictly enforcing valid DICOM UID formats)
De-Identification: None
Type Parameters: None
DicomTag
Validation: No validation is performed on DicomTags - they are added to the Data Schema to include specific tags in dataset and code analysis. Within a Data Schema, the DicomTag field can be used to inform the Rhino Health FCP which DICOM metadata tags to include in the dataset and code analysis
De-Identification: None
Type Parameters: None
Enum
Validation: The value must be one of those specified in the choices param
De-Identification: 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: None
Type Parameters: None
Float
Validation: A floating point number
De-Identification: None
Type Parameters: None
Integer
Validation: An integer
De-Identification: None
Type Parameters: None
JSON
Validation: A string that can be parsed as valid JSON
De-Identification: None
Type Parameters: None
NegativeFloat
Validation: A float that is less than 0
De-Identification: None
Type Parameters: None
NegativeInt
Validation: An integer that is less than 0
De-Identification: None
Type Parameters: None
NonNegativeFloat
Validation: A float that is greater than or equal to 0
De-Identification: None
Type Parameters: None
NonNegativeInt
Validation: An integer that is greater than or equal to 0
De-Identification: None
Type Parameters: None
NonPositiveFloat
Validation: A float that is less than or equal to 0
De-Identification: None
Type Parameters: None
NonPositiveInt
Validation: An integer that is less than or equal to 0
De-Identification: None
Type Parameters: None
Path
Validation: A valid path
De-Identification: None
Type Parameters: None
Percent
Validation: Equivalent to a ConstrainedFloat in the range 0 to 1
De-Identification: None
Type Parameters: None
PositiveFloat
Validation: A float that is greater than 0
De-Identification: None
Type Parameters: None
PositiveInt
Validation: An integer that is greater than 0
De-Identification: None
Type Parameters: None
String
Validation: Any string
De-Identification: None
Type Parameters: None
Time
Validation: A string in HH:MM[:SS[.ffffff]][Z or [±]HH[:]MM]]]
format
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/