class ObfuscatorAnnotatorApproach extends AnnotatorApproach[ObfuscatorAnnotatorModel] with DeidApproachParams with ObfuscatorParams

Linear Supertypes
ObfuscatorParams, BaseDeidParams, HasFeatures, DeidApproachParams, AnnotatorApproach[ObfuscatorAnnotatorModel], CanBeLazy, DefaultParamsWritable, MLWritable, HasOutputAnnotatorType, HasOutputAnnotationCol, HasInputAnnotationCols, Estimator[ObfuscatorAnnotatorModel], PipelineStage, Logging, Params, Serializable, Serializable, Identifiable, AnyRef, Any
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. ObfuscatorAnnotatorApproach
  2. ObfuscatorParams
  3. BaseDeidParams
  4. HasFeatures
  5. DeidApproachParams
  6. AnnotatorApproach
  7. CanBeLazy
  8. DefaultParamsWritable
  9. MLWritable
  10. HasOutputAnnotatorType
  11. HasOutputAnnotationCol
  12. HasInputAnnotationCols
  13. Estimator
  14. PipelineStage
  15. Logging
  16. Params
  17. Serializable
  18. Serializable
  19. Identifiable
  20. AnyRef
  21. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ObfuscatorAnnotatorApproach()
  2. new ObfuscatorAnnotatorApproach(uid: String)

Type Members

  1. type AnnotatorType = String
    Definition Classes
    HasOutputAnnotatorType

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def $[T](param: Param[T]): T
    Attributes
    protected
    Definition Classes
    Params
  4. def $$[T](feature: StructFeature[T]): T
    Attributes
    protected
    Definition Classes
    HasFeatures
  5. def $$[K, V](feature: MapFeature[K, V]): Map[K, V]
    Attributes
    protected
    Definition Classes
    HasFeatures
  6. def $$[T](feature: SetFeature[T]): Set[T]
    Attributes
    protected
    Definition Classes
    HasFeatures
  7. def $$[T](feature: ArrayFeature[T]): Array[T]
    Attributes
    protected
    Definition Classes
    HasFeatures
  8. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def _fit(dataset: Dataset[_], recursiveStages: Option[PipelineModel]): ObfuscatorAnnotatorModel
    Attributes
    protected
    Definition Classes
    AnnotatorApproach
  10. val additionalDateFormats: StringArrayParam

    Additional date formats to be considered during date obfuscation.

    Additional date formats to be considered during date obfuscation. This allows users to specify custom date formats in addition to the default dateFormats.

    Definition Classes
    BaseDeidParams
  11. val ageRanges: IntArrayParam

    List of integers specifying limits of the age groups to preserve during obfuscation

    List of integers specifying limits of the age groups to preserve during obfuscation

    Definition Classes
    BaseDeidParams
  12. val ageRangesByHipaa: BooleanParam

    A Boolean variable indicating whether to obfuscate ages based on HIPAA (Health Insurance Portability and Accountability Act) Privacy Rule.

    A Boolean variable indicating whether to obfuscate ages based on HIPAA (Health Insurance Portability and Accountability Act) Privacy Rule.

    The HIPAA Privacy Rule mandates that ages from patients older than 90 years must be obfuscated, while age for patients 90 years or younger can remain unchanged.

    When true, age entities larger than 90 will be obfuscated as per HIPAA Privacy Rule, the others will remain unchanged. When false, ageRanges parameter is valid.

    Definition Classes
    BaseDeidParams
  13. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  14. def beforeTraining(spark: SparkSession): Unit
    Definition Classes
    AnnotatorApproach
  15. val blackListEntities: StringArrayParam

    List of entities coming from NER or regex rules that will be ignored for masking or obfuscation.

    List of entities coming from NER or regex rules that will be ignored for masking or obfuscation. The rest entities will be processed. Defaults to an empty array.

    Definition Classes
    BaseDeidParams
  16. final def checkSchema(schema: StructType, inputAnnotatorType: String): Boolean
    Attributes
    protected
    Definition Classes
    HasInputAnnotationCols
  17. final def clear(param: Param[_]): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    Params
  18. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  19. lazy val combinedDateFormats: Array[String]
    Attributes
    protected
    Definition Classes
    BaseDeidParams
  20. val consistentAcrossNameParts: BooleanParam

    Param that indicates whether consistency should be enforced across different parts of a name (e.g., first name, middle name, last name).

    Param that indicates whether consistency should be enforced across different parts of a name (e.g., first name, middle name, last name). When set to true, the same transformation or obfuscation will be applied consistently to all parts of the same name entity, even if those parts appear separately.

    For example, if "John Smith" is obfuscated as "Liam Brown", then:

    • When the full name "John Smith" appears, it will be replaced with "Liam Brown"
    • When "John" or "Smith" appear individually, they will still be obfuscated as "Liam" and "Brown" respectively, ensuring consistency in name transformation.

    Default: true

    Definition Classes
    BaseDeidParams
  21. final def copy(extra: ParamMap): Estimator[ObfuscatorAnnotatorModel]
    Definition Classes
    AnnotatorApproach → Estimator → PipelineStage → Params
  22. def copyValues[T <: Params](to: T, extra: ParamMap): T
    Attributes
    protected
    Definition Classes
    Params
  23. val countryObfuscation: BooleanParam

    Whether to obfuscate country entities or not.

    Whether to obfuscate country entities or not. If true, country entities will be obfuscated using the Faker module. If false, country entities will be skipped during obfuscation. Default: false

    Definition Classes
    BaseDeidParams
  24. val dateEntities: StringArrayParam

    List of date entities.

    List of date entities. Default: Array("DATE", "DOB", "DOD", "EFFDATE", "FISCAL_YEAR")

    Definition Classes
    BaseDeidParams
  25. val dateFormats: StringArrayParam

    Format of dates to displace

    Format of dates to displace

    Definition Classes
    BaseDeidParams
  26. val dateToYear: BooleanParam

    true if dates must be converted to years, false otherwise

    true if dates must be converted to years, false otherwise

    Definition Classes
    BaseDeidParams
  27. val dateToYearEntities: StringArrayParam

    List of date entities that must be converted to year only (e.g.

    List of date entities that must be converted to year only (e.g. Array("DOB")). When this list is non-empty, only the listed date entities are converted to a year, while every other date entity is obfuscated with the regular format-preserving date displacement. This overrides the global dateToYear flag for the listed entities. When the list is empty (default), the global dateToYear flag governs all date entities as before. Only entities that are also present in dateEntities are affected. Default: Array()

    Definition Classes
    BaseDeidParams
  28. val days: IntParam

    Number of days to obfuscate the dates by displacement.

    Number of days to obfuscate the dates by displacement. If not provided a random integer between 1 and 60 will be used

    Definition Classes
    BaseDeidParams
  29. final def defaultCopy[T <: Params](extra: ParamMap): T
    Attributes
    protected
    Definition Classes
    Params
  30. val deidMarkers: StringArrayParam

    Tuple of markers to indicate the deidentified entities in the output text.

    Tuple of markers to indicate the deidentified entities in the output text. The first element is the prefix marker and the second element is the suffix marker. For example, if the markers are set to ("<DEID>", "</DEID>"), then an fake like "John Doe" would be transformed to "<DEID>John Doe</DEID>" in the deidentified text.

    Defaults to ("", "") which means no markers will be added.

    Definition Classes
    BaseDeidParams
  31. val description: String
    Definition Classes
    ObfuscatorAnnotatorApproach → AnnotatorApproach
  32. val enableDefaultObfuscationEquivalents: BooleanParam

    Whether to enable default obfuscation equivalents for common entities.

    Whether to enable default obfuscation equivalents for common entities. This parameter allows the system to automatically include a set of predefined common English name equivalents. Default: false

    Definition Classes
    BaseDeidParams
  33. val entity: Param[String]
    Definition Classes
    ObfuscatorParams
  34. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  35. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  36. def explainParam(param: Param[_]): String
    Definition Classes
    Params
  37. def explainParams(): String
    Definition Classes
    Params
  38. final val extraInputCols: StringArrayParam
    Attributes
    protected
    Definition Classes
    HasInputAnnotationCols
  39. final def extractParamMap(): ParamMap
    Definition Classes
    Params
  40. final def extractParamMap(extra: ParamMap): ParamMap
    Definition Classes
    Params
  41. val fakerLengthOffset: IntParam

    It specifies how much length deviation is accepted in obfuscation, with keepTextSizeForObfuscation enabled.

    It specifies how much length deviation is accepted in obfuscation, with keepTextSizeForObfuscation enabled. Value must be greater than 0. Default is 3.

    Definition Classes
    BaseDeidParams
  42. val features: ArrayBuffer[Feature[_, _, _]]
    Definition Classes
    HasFeatures
  43. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  44. final def fit(dataset: Dataset[_]): ObfuscatorAnnotatorModel
    Definition Classes
    AnnotatorApproach → Estimator
  45. def fit(dataset: Dataset[_], paramMaps: Seq[ParamMap]): Seq[ObfuscatorAnnotatorModel]
    Definition Classes
    Estimator
    Annotations
    @Since( "2.0.0" )
  46. def fit(dataset: Dataset[_], paramMap: ParamMap): ObfuscatorAnnotatorModel
    Definition Classes
    Estimator
    Annotations
    @Since( "2.0.0" )
  47. def fit(dataset: Dataset[_], firstParamPair: ParamPair[_], otherParamPairs: ParamPair[_]*): ObfuscatorAnnotatorModel
    Definition Classes
    Estimator
    Annotations
    @Since( "2.0.0" ) @varargs()
  48. val genderAwareness: BooleanParam

    Whether to use gender-aware names or not during obfuscation.

    Whether to use gender-aware names or not during obfuscation. This param effects only names. If value is true, it might decrease performance. Default: False

    Definition Classes
    BaseDeidParams
  49. val geoConsistency: BooleanParam

    Whether to enforce consistent obfuscation across geographical entities: state, city, street, zip and phone.

    Whether to enforce consistent obfuscation across geographical entities: state, city, street, zip and phone.

    ## Functionality Overview This parameter enables intelligent geographical entity obfuscation that maintains realistic relationships between different geographic components. When enabled, the system ensures that obfuscated addresses form coherent, valid combinations rather than random replacements.

    ## Supported Entity Types The following geographical entities are processed with priority order: - **state** (Priority: 0) - US state names - **city** (Priority: 1) - City names - **zip** (Priority: 2) - Zip codes - **street** (Priority: 3) - Street addresses - **phone** (Priority: 4) - Phone numbers

    ## Language Requirement **IMPORTANT**: Geographic consistency is only applied when: - geoConsistency parameter is set to true AND - language parameter is set to en

    For non-English configurations, this feature is automatically disabled regardless of the parameter setting.

    ## Consistency Algorithm When geographical entities comes from the chunk columns:

    1. **Entity Grouping**: All geographic entities are identified and grouped by type 2. **Fake Address Selection**: A consistent set of fake US addresses is selected using hash-based deterministic selection to ensure reproducibility 3. **Priority-Based Mapping**: Entities are mapped to fake addresses following the priority order (state → city → zip → street → phone) 4. **Consistent Replacement**: All entities of the same type within a document use the same fake address pool, maintaining geographical coherence

    ## Parameter Interactions **IMPORTANT**: Enabling this parameter automatically disables: - keepTextSizeForObfuscation - Text size preservation is not maintained - consistentObfuscation - Standard consistency rules are overridden - file-based fakers

    This is necessary because geographic consistency requires specific fake address selection that may not preserve original text lengths or follow standard obfuscation patterns.

    default: false

    Definition Classes
    BaseDeidParams
  50. def get[T](feature: StructFeature[T]): Option[T]
    Attributes
    protected
    Definition Classes
    HasFeatures
  51. def get[K, V](feature: MapFeature[K, V]): Option[Map[K, V]]
    Attributes
    protected
    Definition Classes
    HasFeatures
  52. def get[T](feature: SetFeature[T]): Option[Set[T]]
    Attributes
    protected
    Definition Classes
    HasFeatures
  53. def get[T](feature: ArrayFeature[T]): Option[Array[T]]
    Attributes
    protected
    Definition Classes
    HasFeatures
  54. final def get[T](param: Param[T]): Option[T]
    Definition Classes
    Params
  55. def getAdditionalDateFormats: Array[String]

    Gets the value of additionalDateFormats

    Gets the value of additionalDateFormats

    Definition Classes
    BaseDeidParams
  56. def getAgeRanges: Array[Int]

    Gets ageRanges param.

    Gets ageRanges param.

    Definition Classes
    BaseDeidParams
  57. def getAgeRangesByHipaa: Boolean

    Gets the value of ageRangesByHipaa.

    Gets the value of ageRangesByHipaa.

    Definition Classes
    BaseDeidParams
  58. def getBlackListEntities: Array[String]

    Gets blackListEntities param

    Definition Classes
    BaseDeidParams
  59. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  60. def getConsistentAcrossNameParts: Boolean

    Gets the value of consistentAcrossNameParts.

    Gets the value of consistentAcrossNameParts.

    Definition Classes
    BaseDeidParams
  61. def getCountryObfuscation: Boolean

    Gets the value of countryObfuscation.

    Gets the value of countryObfuscation.

    Definition Classes
    BaseDeidParams
  62. def getDateEntities: Array[String]

    Gets dateEntities param.

    Gets dateEntities param.

    Definition Classes
    BaseDeidParams
  63. def getDateFormats: Array[String]

    Gets the value of dateFormats

    Gets the value of dateFormats

    Definition Classes
    BaseDeidParams
  64. def getDateToYear: Boolean

    Gets dateToYear param.

    Gets dateToYear param.

    Definition Classes
    BaseDeidParams
  65. def getDateToYearEntities: Array[String]

    Gets dateToYearEntities param.

    Gets dateToYearEntities param.

    Definition Classes
    BaseDeidParams
  66. def getDays: Int

    Gets days param

    Gets days param

    Definition Classes
    BaseDeidParams
  67. final def getDefault[T](param: Param[T]): Option[T]
    Definition Classes
    Params
  68. def getDefaultObfuscationEquivalents: Array[StaticObfuscationEntity]
    Definition Classes
    BaseDeidParams
  69. def getDefaultObfuscationEquivalentsAsJava: Array[ArrayList[String]]
    Definition Classes
    BaseDeidParams
  70. def getDeidMarkers: (String, String)

    Gets deidMarkers param as a tuple of (prefix, suffix).

    Gets deidMarkers param as a tuple of (prefix, suffix).

    Definition Classes
    BaseDeidParams
  71. def getEnableDefaultObfuscationEquivalents: Boolean

    Gets the value of enableDefaultObfuscationEquivalents.

    Definition Classes
    BaseDeidParams
  72. def getEntity: String
    Definition Classes
    ObfuscatorParams
  73. def getEntityBasedObfuscationRefSource(entityClass: String): String
    Attributes
    protected
    Definition Classes
    BaseDeidParams
  74. def getFakerLengthOffset: Int

    Gets fakerLengthOffset param

    Gets fakerLengthOffset param

    Definition Classes
    BaseDeidParams
  75. def getGenderAwareness: Boolean

    Gets genderAwareness param.

    Gets genderAwareness param.

    Definition Classes
    BaseDeidParams
  76. def getGeoConsistency: Boolean

    Gets the value of geoConsistency.

    Gets the value of geoConsistency.

    Definition Classes
    BaseDeidParams
  77. def getIdBasedObfuscation: Boolean

    Gets idBasedObfuscation param.

    Gets idBasedObfuscation param.

    Definition Classes
    BaseDeidParams
  78. def getInputCols: Array[String]
    Definition Classes
    HasInputAnnotationCols
  79. def getIsRandomDateDisplacement: Boolean

    Gets isRandomDateDisplacement param

    Definition Classes
    BaseDeidParams
  80. def getKeepMonth: Boolean

    Gets keepMonth param

    Gets keepMonth param

    Definition Classes
    BaseDeidParams
  81. def getKeepTextSizeForObfuscation: Boolean

    Gets keepTextSizeForObfuscation param

    Definition Classes
    BaseDeidParams
  82. def getKeepYear: Boolean

    Gets keepYear param

    Gets keepYear param

    Definition Classes
    BaseDeidParams
  83. def getLanguage: String

    Gets language param.

    Gets language param.

    Definition Classes
    BaseDeidParams
  84. def getLazyAnnotator: Boolean
    Definition Classes
    CanBeLazy
  85. def getMaxRandomDisplacementDays: Int

    Gets maxRandomDisplacementDays param

    Definition Classes
    BaseDeidParams
  86. def getMinYear: Int

    Gets minYear param.

    Gets minYear param.

    Definition Classes
    BaseDeidParams
  87. def getMode: String

    Gets mode param.

    Gets mode param.

    Definition Classes
    BaseDeidParams
  88. def getNationalityAwareness: Boolean

    Gets nationalityAwareness param.

    Definition Classes
    BaseDeidParams
  89. def getObfuscateDate: Boolean

    Gets obfuscateDate param

    Gets obfuscateDate param

    Definition Classes
    BaseDeidParams
  90. def getObfuscateRefFile: String
    Definition Classes
    DeidApproachParams
  91. def getObfuscateRefSource: String

    Gets obfuscateRefSource param.

    Gets obfuscateRefSource param.

    Definition Classes
    BaseDeidParams
  92. def getObfuscateZipByHipaa: Boolean

    Gets the value of obfuscateZipByHipaa.

    Gets the value of obfuscateZipByHipaa.

    Definition Classes
    BaseDeidParams
  93. def getObfuscateZipKeepDigits: Int

    Gets the value of obfuscateZipKeepDigits.

    Gets the value of obfuscateZipKeepDigits.

    Definition Classes
    BaseDeidParams
  94. def getObfuscationEquivalents: Option[Array[StaticObfuscationEntity]]

    Gets the value of obfuscationEquivalents.

    Gets the value of obfuscationEquivalents.

    Definition Classes
    BaseDeidParams
  95. final def getOrDefault[T](param: Param[T]): T
    Definition Classes
    Params
  96. final def getOutputCol: String
    Definition Classes
    HasOutputAnnotationCol
  97. def getParam(paramName: String): Param[Any]
    Definition Classes
    Params
  98. def getRegion: String

    Gets region param.

    Gets region param.

    Definition Classes
    BaseDeidParams
  99. def getSameLengthFormattedEntities(): Array[String]
    Definition Classes
    BaseDeidParams
  100. def getSeconds: Long
    Definition Classes
    ObfuscatorParams
  101. def getSeed(): Int
    Definition Classes
    BaseDeidParams
  102. def getSelectiveObfuscateRefSource: Map[String, String]

    Gets selectiveObfuscateRefSource param.

    Definition Classes
    BaseDeidParams
  103. def getSelectiveObfuscateRefSourceAsStr: String
    Definition Classes
    BaseDeidParams
  104. def getSelectiveObfuscationModes: Option[Map[String, Array[String]]]

    Gets selectiveObfuscationModes param.

    Definition Classes
    BaseDeidParams
  105. def getStaticObfuscationPairs: Option[Array[StaticObfuscationEntity]]
    Definition Classes
    BaseDeidParams
  106. def getStaticObfuscationPairsResource: ExternalResource
    Definition Classes
    DeidApproachParams
  107. def getTimeStampFormats: Array[String]
    Definition Classes
    ObfuscatorParams
  108. def getUnnormalizedDateMode: String

    Gets unnormalizedDateMode param.

    Definition Classes
    BaseDeidParams
  109. def getUseShiftDays: Boolean

    Gets useShiftDays param.

    Gets useShiftDays param.

    Definition Classes
    BaseDeidParams
  110. def getValidAgeRanges: Array[Int]

    Gets valid ageRanges whether ageRangesByHipaa is true or not.

    Gets valid ageRanges whether ageRangesByHipaa is true or not.

    Attributes
    protected
    Definition Classes
    BaseDeidParams
  111. final def hasDefault[T](param: Param[T]): Boolean
    Definition Classes
    Params
  112. def hasParam(paramName: String): Boolean
    Definition Classes
    Params
  113. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  114. val idBasedObfuscation: BooleanParam

    Whether to make obfuscation depend on the document ID.

    Whether to make obfuscation depend on the document ID. Currently this param is only valid for name-related entities (NAME, PATIENT, DOCTOR, SIGNING_PERSON, PERSON, CLIENT, FIRST_NAME, LAST_NAME). It has no effect on other entities.

    The document ID is read from the id metadata of the document (the same id used for consistent date shifting). When enabled and a document ID is available, the fake name selection is derived from the combination of the document ID and the original name, which gives the following behavior:

    • Same document ID + same name -> same fake (consistent within a document).
    • Same document ID + different names -> different fakes.
    • Different document IDs + same name -> different fakes (a name is obfuscated differently across documents).

    When disabled, or when no document ID is available, name obfuscation falls back to the regular seed-based selection. It works together with genderAwareness and nationalityAwareness.

    Default: False

    Definition Classes
    BaseDeidParams
  115. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  116. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  117. val inputAnnotatorTypes: Array[AnnotatorType]
    Definition Classes
    ObfuscatorAnnotatorApproach → HasInputAnnotationCols
  118. final val inputCols: StringArrayParam
    Attributes
    protected
    Definition Classes
    HasInputAnnotationCols
  119. def isDateToYearEntity(entityClass: String): Boolean

    Returns true if the given entity class must be converted to year only, based on dateToYearEntities.

    Returns true if the given entity class must be converted to year only, based on dateToYearEntities. This only considers the explicit per-entity list; callers may still combine it with the global dateToYear flag when the list is empty.

    Attributes
    protected
    Definition Classes
    BaseDeidParams
  120. final def isDefined(param: Param[_]): Boolean
    Definition Classes
    Params
  121. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  122. val isRandomDateDisplacement: BooleanParam

    Use a random displacement days in dates entities,that random number is based on the DeIdentificationParams.seed If true use random displacement days in dates entities,if false use the DeIdentificationParams.days The default value is false.

    Use a random displacement days in dates entities,that random number is based on the DeIdentificationParams.seed If true use random displacement days in dates entities,if false use the DeIdentificationParams.days The default value is false.

    Definition Classes
    BaseDeidParams
  123. final def isSet(param: Param[_]): Boolean
    Definition Classes
    Params
  124. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  125. val keepMonth: BooleanParam

    Whether to keep the month intact when obfuscating date entities.

    Whether to keep the month intact when obfuscating date entities. If true, the month will remain unchanged during the obfuscation process. If false, the month will be modified along with the year and day. Default: false.

    Definition Classes
    BaseDeidParams
  126. val keepTextSizeForObfuscation: BooleanParam

    It specifies whether the output should maintain the same character length as the input text.

    It specifies whether the output should maintain the same character length as the input text. the output text will remain the same if same length is available, else length might vary.

    Definition Classes
    BaseDeidParams
  127. val keepYear: BooleanParam

    Whether to keep the year intact when obfuscating date entities.

    Whether to keep the year intact when obfuscating date entities. If true, the year will remain unchanged during the obfuscation process. If false, the year will be modified along with the month and day. Default: false.

    Definition Classes
    BaseDeidParams
  128. val language: Param[String]

    The language used to select the regex file and some faker entities.

    The language used to select the regex file and some faker entities. 'en'(English),'de'(German), 'es'(Spanish), 'fr'(French), 'ar'(Arabic) or 'ro'(Romanian) Default:'en'

    Definition Classes
    BaseDeidParams
  129. val lazyAnnotator: BooleanParam
    Definition Classes
    CanBeLazy
  130. def loadThreeInputResource(er: ExternalResource): Array[StaticObfuscationEntity]
    Attributes
    protected
    Definition Classes
    DeidApproachParams
  131. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  132. def logDebug(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  133. def logDebug(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  134. def logError(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  135. def logError(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  136. def logInfo(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  137. def logInfo(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  138. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  139. def logTrace(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  140. def logTrace(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  141. def logWarning(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  142. def logWarning(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  143. val maxRandomDisplacementDays: IntParam

    Maximum number of days for random date displacement.

    Maximum number of days for random date displacement. Default is 1825 (5 years). If isRandomDateDisplacement is true, a random number of days between 1 and maxRandomDisplacementDays will be used for date displacement.

    Definition Classes
    BaseDeidParams
  144. val minYear: IntParam

    Minimum year to use when converting date to year

    Minimum year to use when converting date to year

    Definition Classes
    BaseDeidParams
  145. val mode: Param[String]

    Mode for Anonymizer ['mask' or 'obfuscate'].

    Mode for Anonymizer ['mask' or 'obfuscate']. Default: 'mask'

    • Mask mode: The entities will be replaced by their entity types.
    • Obfuscate mode: The entity is replaced by an obfuscator's term.
    Definition Classes
    BaseDeidParams
    Example:
    1. Given the following text: "David Hale visited EEUU a couple of years ago"

      • Mask mode: "<PERSON> visited <COUNTRY> a couple of years ago"
      • Obfuscate mode: "Bryan Johnson visited Japan a couple of years ago"
  146. def msgHelper(schema: StructType): String
    Attributes
    protected
    Definition Classes
    HasInputAnnotationCols
  147. val nationalityAwareness: BooleanParam

    Whether to use nationality-aware names or not during obfuscation.

    Whether to use nationality-aware names or not during obfuscation. This param affects only names (NAME, PATIENT, DOCTOR, first_name, last_name, ...). When enabled, the original name's nationality is detected from the embedded nationality name lists (e.g. Arab, French, Spanish, German, Russian, Turkish, ...) and the fake name is generated from the very same nationality. Nationality lists are gender-separated, so a detected male name is replaced by a male name of the same nationality and vice versa.

    This feature is only supported for the English language (language == "en"). For any other language it is automatically disabled regardless of the parameter value. If the nationality of the original name cannot be detected, the obfuscation falls back to the regular behavior (gender-aware if genderAwareness is enabled, otherwise the default faker lists).

    If value is true, it might decrease performance. Default: False

    Definition Classes
    BaseDeidParams
  148. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  149. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  150. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  151. val obfuscateDate: BooleanParam

    When mode=="obfuscate" whether to obfuscate dates or not.

    When mode=="obfuscate" whether to obfuscate dates or not. This param helps in consistency to make dateFormats more visible. When setting to true, make sure dateFormats param fits the needs. If the value is true and obfuscation is failed, then unnormalizedDateMode will be activated. When setting to 'false', then the date will be masked to <DATE>. Default: false

    Definition Classes
    BaseDeidParams
  152. val obfuscateRefFile: Param[String]

    File with the terms to be used for Obfuscation

    File with the terms to be used for Obfuscation

    Definition Classes
    DeidApproachParams
  153. val obfuscateRefSource: Param[String]

    The source of obfuscation to obfuscate the entities.

    The source of obfuscation to obfuscate the entities. The values ar the following: 'file': Takes the entities from the obfuscatorRefFile 'faker': Takes the entities from the Faker module 'both': Takes the entities from the obfuscatorRefFile and the faker module randomly.

    Definition Classes
    BaseDeidParams
  154. val obfuscateZipByHipaa: BooleanParam

    Whether to apply HIPAA Safe Harbor ZIP code obfuscation rules.

    Whether to apply HIPAA Safe Harbor ZIP code obfuscation rules.

    When enabled (true), ZIP/ZIP+4 obfuscation follows the HIPAA Safe Harbor guidance:

    1. The algorithm extracts the first five digits from the input (accepting formats like "12345", "12345-6789", "123456789" and tolerant forms). 2. If the first three-digit ZIP prefix is in the HIPAA restricted list (the 17 prefixes derived from 2000 Census data), the ZIP MUST be suppressed to the canonical value "000**". 3. Otherwise, the ZIP is generalized to the first three digits followed by "**" (i.e. XXX**). The +4 portion will be masked with asterisks if present.

    When disabled (false), HIPAA-specific ZIP obfuscation is not applied and the component's default/custom ZIP obfuscation is used instead.

    Implementation notes and cautions:

    Definition Classes
    BaseDeidParams
  155. val obfuscateZipKeepDigits: IntParam

    Number of leading ZIP code digits to preserve when applying HIPAA-based ZIP obfuscation.

    Number of leading ZIP code digits to preserve when applying HIPAA-based ZIP obfuscation. This parameter is only effective when obfuscateZipByHipaa is enabled.

    Behavior:

    • Preserves the first value digits of the ZIP code.
    • Masks all remaining digits (including the ZIP+4 segment, if present) with asterisks (*).
    • Default: 3

    Examples:

    • 12345 → 123**
    • If the preserved digit count is set to 2: 12345 → 12***

    This setting overrides the default HIPAA Safe Harbor ZIP generalization pattern (XXX**) by allowing clients to customize how many digits remain unmasked under expert-determination requirements.

    Definition Classes
    BaseDeidParams
  156. val obfuscationEquivalents: StructFeature[Array[StaticObfuscationEntity]]

    variant-to-canonical entity mappings to ensure consistent obfuscation.

    variant-to-canonical entity mappings to ensure consistent obfuscation.

    This method allows you to define equivalence rules for entity variants that should be obfuscated the same way. For example, the names "Alex" and "Alexander" will always be mapped to the same obfuscated value if they are linked to the same canonical form.

    It accepts an array of string triplets, where each triplet defines:

    • variant: A non-standard, short, or alternative form of a value (e.g., "Alex")
    • entityType: The type of the entity (e.g., "NAME", "STATE", "COUNTRY")
    • canonical: The standardized form all variants map to (e.g., "Alexander")

    variant and entityType comparisons are case-insensitive during processing.

    This is especially useful in de-identification tasks to ensure consistent replacement of semantically identical values. It also allows cross-variant normalization across different occurrences of sensitive data.

    Definition Classes
    BaseDeidParams
  157. def onTrained(model: ObfuscatorAnnotatorModel, spark: SparkSession): Unit
    Definition Classes
    AnnotatorApproach
  158. val optionalInputAnnotatorTypes: Array[String]
    Definition Classes
    HasInputAnnotationCols
  159. val outputAnnotatorType: AnnotatorType
    Definition Classes
    ObfuscatorAnnotatorApproach → HasOutputAnnotatorType
  160. final val outputCol: Param[String]
    Attributes
    protected
    Definition Classes
    HasOutputAnnotationCol
  161. lazy val params: Array[Param[_]]
    Definition Classes
    Params
  162. lazy val randomDateFormat: String
    Attributes
    protected
    Definition Classes
    BaseDeidParams
  163. val refFileFormat: Param[String]

    Format of the reference file for Obfuscation the default value for that is "csv"

    Format of the reference file for Obfuscation the default value for that is "csv"

    Definition Classes
    DeidApproachParams
  164. val refSep: Param[String]

    Separator character for the csv reference file for Obfuscation de default value is "#"

    Separator character for the csv reference file for Obfuscation de default value is "#"

    Definition Classes
    DeidApproachParams
  165. val region: Param[String]

    With this property, you can select particular dateFormats.

    With this property, you can select particular dateFormats. This property is especially used when obfuscating dates. You can decide whether the first part of 11/11/2023 is a day or the second part is a day when obfuscating dates.

    • The values are following:
    • 'eu' for European Union
    • 'us' for USA
    Definition Classes
    BaseDeidParams
  166. val sameLengthFormattedEntities: StringArrayParam

    List of formatted entities to generate the same length outputs as original ones during obfuscation.

    List of formatted entities to generate the same length outputs as original ones during obfuscation. The supported and default formatted entities are: "phone", "fax", "contact," "id", "idnum", "bioid", "medicalrecord", "zip", "vin", "ssn", "dln", "plate", "license", "IRS", "CFN", "account".

    Definition Classes
    BaseDeidParams
  167. def save(path: String): Unit
    Definition Classes
    MLWritable
    Annotations
    @Since( "1.6.0" ) @throws( ... )
  168. val seconds: Param[Long]
    Definition Classes
    ObfuscatorParams
  169. val seed: IntParam

    It is the seed to select the entities on obfuscate mode.

    It is the seed to select the entities on obfuscate mode. With the seed, you can reply to an execution several times with the same output.

    Definition Classes
    BaseDeidParams
  170. val selectiveObfuscateRefSource: MapFeature[String, String]

    A map of entity names to their obfuscation modes.

    A map of entity names to their obfuscation modes. This is used to selectively apply different obfuscation methods to specific entities. The keys are entity names and the values are the obfuscation sources. If an entity is not specified in this map, the obfuscateRefSource param is used to determine the obfuscation source.

    Definition Classes
    BaseDeidParams
    Example:
    1. val selectiveSources = Map(
       "PHONE" -> "file",
       "EMAIL" -> "faker",
       "NAME" -> "faker",
       "ADDRESS" -> "both"
       )
  171. val selectiveObfuscationModes: StructFeature[Map[String, Array[String]]]

    The dictionary of modes to enable multi-mode deidentification.

    The dictionary of modes to enable multi-mode deidentification.

    • 'obfuscate': Replace the values with random values.
    • 'mask_same_length_chars': Replace the name with the asterix with same length minus two plus brackets on both end.
    • 'mask_entity_labels': Replace the values with the entity value.
    • 'mask_fixed_length_chars': Replace the name with the asterix with fixed length. You can also invoke "setFixedMaskLength()"
    • 'mask_entity_labels_without_brackets': Replace the values with the entity value without brackets.
    • 'mask_same_length_chars_without_brackets': Replace the name with the asterix with same length without brackets.
    • 'skip': Skip the entities (intact)

    The entities which have not been given in dictionary will deidentify according to setMode()

    Definition Classes
    BaseDeidParams
  172. def set[T](feature: StructFeature[T], value: T): ObfuscatorAnnotatorApproach.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  173. def set[K, V](feature: MapFeature[K, V], value: Map[K, V]): ObfuscatorAnnotatorApproach.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  174. def set[T](feature: SetFeature[T], value: Set[T]): ObfuscatorAnnotatorApproach.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  175. def set[T](feature: ArrayFeature[T], value: Array[T]): ObfuscatorAnnotatorApproach.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  176. final def set(paramPair: ParamPair[_]): ObfuscatorAnnotatorApproach.this.type
    Attributes
    protected
    Definition Classes
    Params
  177. final def set(param: String, value: Any): ObfuscatorAnnotatorApproach.this.type
    Attributes
    protected
    Definition Classes
    Params
  178. final def set[T](param: Param[T], value: T): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    Params
  179. def setAdditionalDateFormats(formats: Array[String]): ObfuscatorAnnotatorApproach.this.type

    Sets additionalDateFormats param

    Definition Classes
    BaseDeidParams
  180. def setAgeRanges(mode: Array[Int]): ObfuscatorAnnotatorApproach.this.type

    List of integers specifying limits of the age groups to preserve during obfuscation

    List of integers specifying limits of the age groups to preserve during obfuscation

    Definition Classes
    BaseDeidParams
  181. def setAgeRangesByHipaa(value: Boolean): ObfuscatorAnnotatorApproach.this.type

    Sets whether to obfuscate ages based on HIPAA (Health Insurance Portability and Accountability Act) Privacy Rule.

    Sets whether to obfuscate ages based on HIPAA (Health Insurance Portability and Accountability Act) Privacy Rule.

    The HIPAA Privacy Rule mandates that ages from patients older than 90 years must be obfuscated, while age for patients 90 years or younger can remain unchanged.

    value

    If true, age entities larger than 90 will be obfuscated as per HIPAA Privacy Rule, the others will remain unchanged. If false, ageRanges parameter is valid. Default: false.

    Definition Classes
    BaseDeidParams
  182. def setBlackListEntities(value: Array[String]): ObfuscatorAnnotatorApproach.this.type

    Sets the list of entities coming from NER or regex rules that will be ignored for masking or obfuscation.

    Sets the list of entities coming from NER or regex rules that will be ignored for masking or obfuscation. The rest entities will be processed. Defaults to an empty array.

    Definition Classes
    BaseDeidParams
  183. def setConsistentAcrossNameParts(value: Boolean): ObfuscatorAnnotatorApproach.this.type

    Sets the value of consistentAcrossNameParts.

    Sets the value of consistentAcrossNameParts.

    value

    Boolean flag to enforce consistency across name parts

    returns

    this instance

    Definition Classes
    BaseDeidParams
  184. def setCountryObfuscation(value: Boolean): ObfuscatorAnnotatorApproach.this.type

    Sets whether to obfuscate country entities or not.

    Sets whether to obfuscate country entities or not. If true, country entities will be obfuscated using the Faker module. If false, country entities will be skipped during obfuscation. Default: false

    Definition Classes
    BaseDeidParams
  185. def setDateEntities(value: Array[String]): ObfuscatorAnnotatorApproach.this.type

    Sets the value of dateEntities.

    Sets the value of dateEntities. Default: Array("DATE", "DOB", "DOD", "EFFDATE", "FISCAL_YEAR")

    Definition Classes
    BaseDeidParams
  186. def setDateFormats(s: Array[String]): ObfuscatorAnnotatorApproach.this.type

    Format of dates to displace

    Format of dates to displace

    Definition Classes
    BaseDeidParams
  187. def setDateToYear(s: Boolean): ObfuscatorAnnotatorApproach.this.type

    Sets whether dates must be converted to years.

    Sets whether dates must be converted to years.

    Definition Classes
    BaseDeidParams
  188. def setDateToYearEntities(value: Array[String]): ObfuscatorAnnotatorApproach.this.type

    Sets the value of dateToYearEntities.

    Sets the value of dateToYearEntities. Default: Array()

    Definition Classes
    BaseDeidParams
  189. def setDays(k: Int): ObfuscatorAnnotatorApproach.this.type

    Number of days to obfuscate the dates by displacement.

    Number of days to obfuscate the dates by displacement. If not provided a random integer between 1 and 60 will be used

    Definition Classes
    BaseDeidParams
  190. def setDefault[T](feature: StructFeature[T], value: () ⇒ T): ObfuscatorAnnotatorApproach.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  191. def setDefault[K, V](feature: MapFeature[K, V], value: () ⇒ Map[K, V]): ObfuscatorAnnotatorApproach.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  192. def setDefault[T](feature: SetFeature[T], value: () ⇒ Set[T]): ObfuscatorAnnotatorApproach.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  193. def setDefault[T](feature: ArrayFeature[T], value: () ⇒ Array[T]): ObfuscatorAnnotatorApproach.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  194. final def setDefault(paramPairs: ParamPair[_]*): ObfuscatorAnnotatorApproach.this.type
    Attributes
    protected
    Definition Classes
    Params
  195. final def setDefault[T](param: Param[T], value: T): ObfuscatorAnnotatorApproach.this.type
    Attributes
    protected[org.apache.spark.ml]
    Definition Classes
    Params
  196. def setDeidMarkers(markers: (String, String)): ObfuscatorAnnotatorApproach.this.type

    Sets the tuple of markers to wrap the deidentified entities in the output text.

    Sets the tuple of markers to wrap the deidentified entities in the output text. The first element is the prefix marker and the second element is the suffix marker. For example, if the markers are set to ("<DEID>", "</DEID>"), then an fake like "John Doe" would be transformed to "<DEID>John Doe</DEID>" in the deidentified text.

    Defaults to ("", "") which means no markers will be added.

    Definition Classes
    ObfuscatorParams → BaseDeidParams
  197. def setEnableDefaultObfuscationEquivalents(value: Boolean): ObfuscatorAnnotatorApproach.this.type

    Sets whether to enable default obfuscation equivalents for common entities.

    Sets whether to enable default obfuscation equivalents for common entities. This parameter allows the system to automatically include a set of predefined common English name equivalents. Default: false

    Definition Classes
    BaseDeidParams
  198. def setEntity(e: String): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    ObfuscatorParams
  199. def setExtraInputCols(value: Array[String]): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    HasInputAnnotationCols
  200. def setFakerLengthOffset(value: Int): ObfuscatorAnnotatorApproach.this.type

    Sets fakerLengthOffset param

    Sets fakerLengthOffset param

    Definition Classes
    BaseDeidParams
  201. def setGenderAwareness(value: Boolean): ObfuscatorAnnotatorApproach.this.type

    Whether to use gender-aware names or not during obfuscation.

    Whether to use gender-aware names or not during obfuscation. This param effects only names. If value is true, it might decrease performance. Default: False

    Definition Classes
    BaseDeidParams
  202. def setGeoConsistency(value: Boolean): ObfuscatorAnnotatorApproach.this.type

    Sets the value of geoConsistency.

    Sets the value of geoConsistency. When set to true, it enables consistent obfuscation across geographical entities such as state, city, street, zip, and phone.

    Definition Classes
    BaseDeidParams
  203. def setIdBasedObfuscation(value: Boolean): ObfuscatorAnnotatorApproach.this.type

    Sets whether to make obfuscation depend on the document ID.

    Sets whether to make obfuscation depend on the document ID. Currently only valid for name-related entities. Default: False

    Definition Classes
    BaseDeidParams
  204. final def setInputCols(value: String*): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    HasInputAnnotationCols
  205. def setInputCols(value: Array[String]): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    HasInputAnnotationCols
  206. def setIsRandomDateDisplacement(s: Boolean): ObfuscatorAnnotatorApproach.this.type

    Use a random displacement days in dates entities,that random number is based on the DeIdentificationParams.seed If true use random displacement days in dates entities, if false use the DeIdentificationParams.days The default value is false.

    Use a random displacement days in dates entities,that random number is based on the DeIdentificationParams.seed If true use random displacement days in dates entities, if false use the DeIdentificationParams.days The default value is false.

    Definition Classes
    BaseDeidParams
  207. def setKeepMonth(value: Boolean): ObfuscatorAnnotatorApproach.this.type

    Sets whether to keep the month intact when obfuscating date entities.

    Sets whether to keep the month intact when obfuscating date entities. If true, the month will remain unchanged during the obfuscation process. If false, the month will be modified along with the year and day. Default: false.

    Definition Classes
    BaseDeidParams
  208. def setKeepTextSizeForObfuscation(value: Boolean): ObfuscatorAnnotatorApproach.this.type

    Sets keepTextSizeForObfuscation param

    Definition Classes
    BaseDeidParams
  209. def setKeepYear(value: Boolean): ObfuscatorAnnotatorApproach.this.type

    Sets whether to keep the year intact when obfuscating date entities.

    Sets whether to keep the year intact when obfuscating date entities. If true, the year will remain unchanged during the obfuscation process. If false, the year will be modified along with the month and day. Default: false.

    Definition Classes
    BaseDeidParams
  210. def setLanguage(s: String): ObfuscatorAnnotatorApproach.this.type

    The language used to select the regex file and some faker entities.

    The language used to select the regex file and some faker entities. 'en'(English),'de'(German), 'es'(Spanish), 'fr'(French), 'ar'(Arabic) or 'ro'(Romanian). Default:'en'

    Definition Classes
    BaseDeidParams
  211. def setLazyAnnotator(value: Boolean): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    CanBeLazy
  212. def setMaxRandomDisplacementDays(value: Int): ObfuscatorAnnotatorApproach.this.type

    Sets maxRandomDisplacementDays param

    Definition Classes
    BaseDeidParams
  213. def setMinYear(s: Int): ObfuscatorAnnotatorApproach.this.type

    Sets the minimum year to use when converting date to year.

    Sets the minimum year to use when converting date to year.

    Definition Classes
    BaseDeidParams
  214. def setMode(m: String): ObfuscatorAnnotatorApproach.this.type

    Mode for Anonymizer ['mask'|'obfuscate'].

    Mode for Anonymizer ['mask'|'obfuscate']. Default: 'mask'

    • Mask mode: The entities will be replaced by their entity types.
    • Obfuscate mode: The entity is replaced by an obfuscator's term.
    Definition Classes
    ObfuscatorParams → BaseDeidParams
    Example:
    1. Given the following text: "David Hale visited EEUU a couple of years ago"

      • Mask mode: "<PERSON> visited <COUNTRY> a couple of years ago"
      • Obfuscate mode: "Bryan Johnson visited Japan a couple of years ago"
  215. def setNationalityAwareness(value: Boolean): ObfuscatorAnnotatorApproach.this.type

    Whether to use nationality-aware names or not during obfuscation.

    Whether to use nationality-aware names or not during obfuscation. This param affects only names. Only supported for the English language. If value is true, it might decrease performance. Default: False

    Definition Classes
    BaseDeidParams
  216. def setObfuscateDate(s: Boolean): ObfuscatorAnnotatorApproach.this.type

    When mode=="obfuscate" whether to obfuscate dates or not.

    When mode=="obfuscate" whether to obfuscate dates or not. This param helps in consistency to make dateFormats more visible. When setting to true, make sure dateFormats param fits the needs. If the value is true and obfuscation is failed, then unnormalizedDateMode will be activated. When setting to 'false' then the date will be masked to <DATE> . Default: false

    Definition Classes
    BaseDeidParams
  217. def setObfuscateRefFile(f: String): ObfuscatorAnnotatorApproach.this.type

    File with the terms to be used for Obfuscation

    File with the terms to be used for Obfuscation

    Definition Classes
    DeidApproachParams
  218. def setObfuscateRefSource(s: String): ObfuscatorAnnotatorApproach.this.type

    The source of obfuscation to obfuscate the entities.

    The source of obfuscation to obfuscate the entities. The values are the following: 'file': Takes the fakes from the obfuscatorRefFile 'faker': Takes the fakes from the Faker module 'both': Takes the fakes from the obfuscatorRefFile and the faker module randomly.

    Definition Classes
    BaseDeidParams
  219. def setObfuscateZipByHipaa(value: Boolean): ObfuscatorAnnotatorApproach.this.type

    Sets whether HIPAA Safe Harbor ZIP obfuscation rules should be applied.

    Sets whether HIPAA Safe Harbor ZIP obfuscation rules should be applied.

    Behavior:

    • true: Apply HIPAA rules as described in obfuscateZipByHipaa: extract five digits, map restricted 3-digit prefixes to \"000**\", otherwise generalize to XXX**. The +4 portion will be masked with asterisks if present.
    • false: Do **not** apply HIPAA Safe Harbor behavior; use the component's default/custom ZIP obfuscation instead.

    Implementation & defaults:

    • Default: false (HIPAA behavior is opt-in). If you want HIPAA Safe Harbor behavior by default, change the default value where the parameter is declared.
    Definition Classes
    BaseDeidParams
  220. def setObfuscateZipKeepDigits(value: Int): ObfuscatorAnnotatorApproach.this.type

    Sets the number of leading ZIP code digits to preserve when applying HIPAA-based ZIP obfuscation.

    Sets the number of leading ZIP code digits to preserve when applying HIPAA-based ZIP obfuscation. This parameter is only effective when obfuscateZipByHipaa is enabled.

    Behavior:

    • Preserves the first value digits of the ZIP code.
    • Masks all remaining digits (including the ZIP+4 segment, if present) with asterisks (*).
    • Default: 3

    Examples:

    • 12345 → 123**
    • If value = 2: 12345 → 12***

    This setting overrides the default HIPAA Safe Harbor ZIP generalization pattern (XXX**) by allowing clients to customize how many digits remain unmasked under expert-determination requirements.

    Definition Classes
    BaseDeidParams
  221. def setObfuscationEquivalents(equivalents: ArrayList[ArrayList[String]]): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    BaseDeidParams
  222. def setObfuscationEquivalents(equivalents: Array[Array[String]]): ObfuscatorAnnotatorApproach.this.type

    Sets variant-to-canonical entity mappings to ensure consistent obfuscation.

    Sets variant-to-canonical entity mappings to ensure consistent obfuscation.

    This method allows you to define equivalence rules for entity variants that should be obfuscated the same way. For example, the names "Alex" and "Alexander" will always be mapped to the same obfuscated value if they are linked to the same canonical form.

    It accepts an array of string triplets, where each triplet defines:

    • variant: A non-standard, short, or alternative form of a value (e.g., "Alex")
    • entityType: The type of the entity (e.g., "NAME", "STATE", "COUNTRY")
    • canonical: The standardized form all variants map to (e.g., "Alexander")

    variant and entityType comparisons are case-insensitive during processing.

    This is especially useful in de-identification tasks to ensure consistent replacement of semantically identical values. It also allows cross-variant normalization across different occurrences of sensitive data.

    Example
    val equivalents = Array(
      Array("Alex", "NAME", "Alexander"),
      Array("Rob", "NAME", "Robert"),
      Array("CA", "STATE", "California"),
      Array("Calif.", "STATE", "California")
    )
    
    myDeidTransformer.setObfuscationEquivalents(equivalents)
    equivalents

    Array of [variant, entityType, canonical] entries.

    Definition Classes
    BaseDeidParams
    Exceptions thrown

    IllegalArgumentException if any entry does not have exactly 3 elements.

  223. def setObfuscationEquivalents(equivalents: Array[StaticObfuscationEntity]): ObfuscatorAnnotatorApproach.this.type

    Sets obfuscationEquivalents param.

    Definition Classes
    BaseDeidParams
  224. final def setOutputCol(value: String): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    HasOutputAnnotationCol
  225. def setRefFileFormat(f: String): ObfuscatorAnnotatorApproach.this.type

    File with the terms to be used for Obfuscation

    File with the terms to be used for Obfuscation

    Definition Classes
    DeidApproachParams
  226. def setRefSep(f: String): ObfuscatorAnnotatorApproach.this.type

    Separator character for the csv reference file for Obfuscation de default value is "#"

    Separator character for the csv reference file for Obfuscation de default value is "#"

    Definition Classes
    DeidApproachParams
  227. def setRegion(s: String): ObfuscatorAnnotatorApproach.this.type

    With this property, you can select particular dateFormats.

    With this property, you can select particular dateFormats. This property is especially used when obfuscating dates. You can decide whether the first part of 11/11/2023 is a day or the second part is a day when obfuscating dates. The values are following:

    • 'eu' for European Union
    • 'us' for USA
    Definition Classes
    BaseDeidParams
  228. def setSameLengthFormattedEntities(entities: Array[String]): ObfuscatorAnnotatorApproach.this.type

    List of formatted entities to generate the same length outputs as original ones during obfuscation.

    List of formatted entities to generate the same length outputs as original ones during obfuscation. The supported and default formatted entities are: PHONE, FAX, CONTACT, ID, IDNUM, BIOID, MEDICALRECORD, ZIP, VIN, SSN, DLN, LICENSE, PLATE, IRS, CFN, ACCOUNT.

    Definition Classes
    BaseDeidParams
  229. def setSeconds(value: Long): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    ObfuscatorParams
  230. def setSeed(s: Int): ObfuscatorAnnotatorApproach.this.type

    It is the seed to select the entities on obfuscate mode.

    It is the seed to select the entities on obfuscate mode. With the seed, you can reply to an execution several times with the same output.

    Definition Classes
    BaseDeidParams
  231. def setSelectiveObfuscateRefSource(value: HashMap[String, String]): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    BaseDeidParams
  232. def setSelectiveObfuscateRefSource(value: Map[String, String]): ObfuscatorAnnotatorApproach.this.type

    Sets the value of selectiveObfuscateRefSource.

    Sets the value of selectiveObfuscateRefSource. This is used to selectively apply different obfuscation methods to specific entities. The keys are entity names and the values are the obfuscation sources. If an entity is not specified in this map, the obfuscateRefSource param is used to determine the obfuscation method. The values can be: - 'file': Takes the fakes from the file. - 'faker': Takes the fakes from the embedded faker module. - 'both': Takes the fakes from the file and the faker module.

    Definition Classes
    BaseDeidParams
    Example:
    1. val modes = Map(
       "PHONE" -> "file",
       "EMAIL" -> "faker",
       "NAME" -> "faker",
       "ADDRESS" -> "both"
       )
  233. def setSelectiveObfuscationModes(value: HashMap[String, List[String]]): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    BaseDeidParams
  234. def setSelectiveObfuscationModes(value: Map[String, Array[String]]): ObfuscatorAnnotatorApproach.this.type

    Sets the value of selectiveObfuscationModes.

    Sets the value of selectiveObfuscationModes. The dictionary of modes to enable multi-mode deidentification.

    • 'obfuscate': Replace the values with random values.
    • 'mask_same_length_chars': Replace the name with the asterix with same length minus two plus brackets on both end.
    • 'mask_entity_labels': Replace the values with the entity value.
    • 'mask_fixed_length_chars': Replace the name with the asterix with fixed length. You should also invoke "setFixedMaskLength()"
    • 'mask_entity_labels_without_brackets': Replace the values with the entity value without brackets.
    • 'mask_same_length_chars_without_brackets': Replace the name with the asterix with same length without brackets.
    • 'skip': Skip the entities (intact)

    The entities which have not been given in dictionary will deidentify according to setMode()

    Example:

    deidAnnotator
    .setMode("mask")
    .setSelectiveObfuscationModes(Map(
        "OBFUSCATE" -> Array("PHONE", "email"),
        "mask_entity_labels" -> Array("NAME", "CITY"),
        "skip" -> Array("id", "idnum"),
        "mask_same_length_chars" -> Array("fax"),
        "mask_fixed_length_chars" -> Array("zip")
    ))
    .setFixedMaskLength(4)
    Definition Classes
    BaseDeidParams
  235. def setStaticObfuscationPairs(pairs: ArrayList[ArrayList[String]]): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    BaseDeidParams
  236. def setStaticObfuscationPairs(pairs: Array[StaticObfuscationEntity]): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    BaseDeidParams
  237. def setStaticObfuscationPairs(pairs: Array[Array[String]]): ObfuscatorAnnotatorApproach.this.type

    Sets the static obfuscation pairs.

    Sets the static obfuscation pairs. Each pair should contain three elements: original, entity type, and fake. The pairs must have exactly 3 elements: [original, entityType, fake].

    pairs

    An array of arrays containing the static obfuscation pairs.

    Definition Classes
    BaseDeidParams
  238. def setStaticObfuscationPairsResource(path: String, readAs: Format, options: Map[String, String] = ...): ObfuscatorAnnotatorApproach.this.type

    Sets the static obfuscation pairs resource using a path and readAs format.

    Sets the static obfuscation pairs resource using a path and readAs format. The resource should contain three columns: original, entity, and fake. The delimiter for the columns can be specified in the options.

    path

    The path to the resource.

    readAs

    The format to read the resource (e.g., TEXT, SPARK).

    options

    Additional options for reading the resource, such as "format" and "delimiter". 'delimiter' and 'format' are required options.

    Definition Classes
    DeidApproachParams
  239. def setStaticObfuscationPairsResource(value: ExternalResource): ObfuscatorAnnotatorApproach.this.type

    Sets the static obfuscation pairs resource.

    Sets the static obfuscation pairs resource. The resource should contain three columns: original, entity, and fake. The delimiter for the columns can be specified in the options. The options must include a 'delimiter' key.

    Definition Classes
    DeidApproachParams
  240. def setTimeStampFormats(value: Array[String]): ObfuscatorAnnotatorApproach.this.type
    Definition Classes
    ObfuscatorParams
  241. def setUnnormalizedDateMode(mode: String): ObfuscatorAnnotatorApproach.this.type

    The mode to use if the date is not formatted.

    The mode to use if the date is not formatted. Options: [mask, obfuscate, skip] Default: obfuscate

    Definition Classes
    BaseDeidParams
  242. def setUseShiftDays(s: Boolean): ObfuscatorAnnotatorApproach.this.type

    Sets the value of useShiftDays.

    Sets the value of useShiftDays. Whether to use the random shift day when the document has this in its metadata. DocumentHashCoder can create 'dateshift' based on the document. Default: false

    Definition Classes
    BaseDeidParams
  243. val staticObfuscationPairs: StructFeature[Array[StaticObfuscationEntity]]

    A resource containing static obfuscation pairs.

    A resource containing static obfuscation pairs. Each pair should contain three elements: original, entity type, and fake.

    Definition Classes
    BaseDeidParams
  244. val staticObfuscationPairsResource: ExternalResourceParam

    Resource containing static obfuscation pairs.

    Resource containing static obfuscation pairs. The resource should contain three columns: original, entity, and fake. The delimiter for the columns can be specified in the options.

    Definition Classes
    DeidApproachParams
  245. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  246. val timeStampFormats: StringArrayParam
    Definition Classes
    ObfuscatorParams
  247. def toString(): String
    Definition Classes
    Identifiable → AnyRef → Any
  248. def train(dataset: Dataset[_], recursivePipeline: Option[PipelineModel]): ObfuscatorAnnotatorModel
    Definition Classes
    ObfuscatorAnnotatorApproach → AnnotatorApproach
  249. final def transformSchema(schema: StructType): StructType
    Definition Classes
    AnnotatorApproach → PipelineStage
  250. def transformSchema(schema: StructType, logging: Boolean): StructType
    Attributes
    protected
    Definition Classes
    PipelineStage
    Annotations
    @DeveloperApi()
  251. val uid: String
    Definition Classes
    ObfuscatorAnnotatorApproach → Identifiable
  252. val unnormalizedDateMode: Param[String]

    The mode to use if the date is not formatted.

    The mode to use if the date is not formatted. Options: [mask, obfuscate, skip] Default: obfuscate

    Definition Classes
    BaseDeidParams
  253. val useShiftDays: BooleanParam

    Whether to use the random shift day when the document has this in its metadata.

    Whether to use the random shift day when the document has this in its metadata. DocumentHashCoder can create 'dateshift' based on the document. Default: false

    Definition Classes
    BaseDeidParams
  254. def validate(schema: StructType): Boolean
    Attributes
    protected
    Definition Classes
    AnnotatorApproach
  255. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  256. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  257. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  258. def write: MLWriter
    Definition Classes
    DefaultParamsWritable → MLWritable

Inherited from ObfuscatorParams

Inherited from BaseDeidParams

Inherited from HasFeatures

Inherited from DeidApproachParams

Inherited from AnnotatorApproach[ObfuscatorAnnotatorModel]

Inherited from CanBeLazy

Inherited from DefaultParamsWritable

Inherited from MLWritable

Inherited from HasOutputAnnotatorType

Inherited from HasOutputAnnotationCol

Inherited from HasInputAnnotationCols

Inherited from Estimator[ObfuscatorAnnotatorModel]

Inherited from PipelineStage

Inherited from Logging

Inherited from Params

Inherited from Serializable

Inherited from Serializable

Inherited from Identifiable

Inherited from AnyRef

Inherited from Any

getParam

Parameters

Parameter setters

Ungrouped