Data Masking Configuration Integration Point
This integration supports configuring fields and their associated transformation functions for the Data Masking Process.
This integration point only supports message-based communication.
Data Model
Each entry in the data masking configuration contains:
| Field | Description |
|---|---|
Entity Name |
The name of the entity, for example, Person or Address. |
Object Usage Name |
The usage name for a dynamic field, a dynamic record, or a fixed field on the entity. |
Record Object Usage Name |
The usage name of a field that is part of a dynamic record (this is applicable when the object usage name is a dynamic record). |
Transformation Category |
The transformation function for the masking process. |
| The transformation category that you select must align with the data type of the object usage name or the record object usage name. |
Operations
|
|
|
|
POST
The POST operation on /datamaskingdefinitions/ adds a new entry to the data transformation and masking process.
{
"entityName": "Person",
"objectUsageName": "medicareCard",
"recordObjectUsageName": "cardNumber",
"transformationCategory": "TXTHASH"
}
This payload creates a configuration for the cardNumber field on the medicareCard dynamic record of the Person entity using the TXTHASH transformation function.
PUT
The PUT operation on /datamaskingdefinitions/{id} updates the configuration.
{
"transformationCategory": "TXTHASH"
}
This sample payload is an example. Create your payload based on the fields that you want to mask.
Transformation Functions
The application provides several built-in transformation functions for the masking process based on the field data type:
Text Fields
| Transformation Function Name | Description | Before | After |
|---|---|---|---|
TXTHASH (Text hash with seed) |
This function:
You can also use this function to replicate the transformation outside the Oracle Health Insurance application. |
123456789 |
x8dtyqbfDPS[vub_EvtY4bdbvDsuFB3T |
TXTRPL (Simple text replacement) |
This function replaces the field value with the field name. Recommended only for non-unique columns. |
A dynamic record with column name as |
Replaces the stored values with the usage name, like the firstName in the example. |
TXTRNDPSF (Random replace, preserves size format) |
This function replaces the field value with a random value in the same format. The function replaces letters with letters, numbers with numbers, and preserves special characters. |
AA-A001B |
TY-U765C |
TXTRNDRPL (Text random replace) |
This function replaces the field value with a random character string. |
John |
DSGadjgadv8eog90 |
TXTHASHPS (Text hash with seed, preserve size) |
This function:
You can also use this function to replicate the transformation outside the Oracle Health Insurance application. |
POL12345 |
682AF344 (trimmed from 682af344ebc9f789174dd5d86a2d339a71f36a77) |
Number Fields
| Transformation Function Name | Description | Before | After |
|---|---|---|---|
NUMHASHADD / NUMHASHCON (Hash with seed add/concatenate) |
This function:
You can also use this function to replicate the transformation outside the Oracle Health Insurance application. |
10 |
93275 |
NUMNP (Nearest Prime) |
This function replaces the value with the nearest, smaller prime number. |
20 |
17 |
NUMRNDPSF (Random preserve format) |
This function replaces the number with a random number, preserving the format. |
10.99 |
24.65 |
NUMHASHADDPS / NUMHASHCONPS (Hash with seed add/concatenate, preserve size) |
This function:
You can also use this function to replicate the transformation outside the Oracle Health Insurance application. |
93275 |
78545 |
Date Fields
| Transformation Function Name | Description | Before | After |
|---|---|---|---|
DATEDMYS (Day, month and year shift) |
Day - Sets to 1 |
2022-05-26 |
2020-06-01 |
DATEDMS (Day and month shift) |
Day - Sets to 1 |
2022-05-26 |
2022-06-01 |
DATEMPS (Day with partial month shift) |
Day - Sets to 1 |
2022-04-26 |
2022-05-01 |
DATEDS (Day shift) |
Day - Set to 1 |
2022-04-26 |
2022-04-01 |
DATERNDS (Random Date) |
Day = 1-28
Month = 1-12 |
2022-04-26 |
2032-01-24 |
| The values for Before and After columns under the Text, Number, and Date fields are sample values. |
|
Other Functions
| Transformation Function Name | Description |
|---|---|
SETNULL (Set to Null) |
Sets the value to |
SETDEFAULT (Set to Default) |
Only available for the Gender field; sets the value to unknown. |
|
Native Fields
To protect the integrity of the application, only the native fields listed below are part of the masking process.
|
| Entity Name | Object Usage Name | Data Type | Mandatory/Unique |
|---|---|---|---|
Person |
dateOfBirth |
Date |
Mandatory |
Person |
code |
String |
Unique |
Person |
endDate |
Date |
|
Person |
emailAddress1 |
String |
|
Person |
emailAddress2 |
String |
|
Person |
faxNumber |
String |
|
Person |
firstName |
String |
|
Person |
gender |
String |
|
Person |
initials |
String |
|
Person |
middleName |
String |
|
Person |
name |
String |
Mandatory |
Person |
namePartner |
String |
|
Person |
phoneNumberBusiness |
String |
|
Person |
phoneNumberMobile |
String |
|
Person |
phoneNumberPrivate |
String |
|
Person |
suffix |
String |
|
Address |
additionalPart1 |
String |
|
Address |
additionalPart2 |
String |
|
Address |
additionalPart3 |
String |
|
Address |
city |
String |
|
Address |
numberAddition |
String |
|
Address |
postalCode |
String |
|
Address |
street |
String |
|
AuthorizationConsumption |
rootKey |
String |
Mandatory |
AuthorizationConsumption |
targetKey |
String |
Mandatory |
RelationIdentifier |
identifier |
String |
Mandatory |
BankAccountNumber |
bankAccountNumber |
String |
Mandatory |
BankAccountNumber |
bankAccountNumberDebit |
String |
|
BankAccountNumber |
specialName |
String |
|
TaskAttribute |
valueChar |
String |
|
TaskAttribute |
valueDate |
Date |
|
Claim |
claimantAddress |
String |
|
Claim |
claimantDob |
String |
|
Claim |
claimantFieldName |
String |
|
Claim |
claimantFieldValue |
String |
|
Claim |
claimantName |
String |
|
Claim |
claimantRelCode |
String |
|
Claim |
claimDate |
Date |
|
Claim |
code |
String |
Unique |
Claim |
dueDate |
Date |
|
Claim |
endDate |
Date |
|
Claim |
entryDate |
Date |
Mandatory |
Claim |
internalRemarks |
String |
|
Claim |
locationAddress |
String |
|
Claim |
locationFieldName |
String |
|
Claim |
locationFieldValue |
String |
|
Claim |
locationName |
String |
|
Claim |
payBeneficiaryAddress |
String |
|
Claim |
payBeneficiaryDob |
String |
|
Claim |
payBeneficiaryFieldName |
String |
|
Claim |
payBeneficiaryFieldValue |
String |
|
Claim |
payBeneficiaryName |
String |
|
Claim |
payReceiverAddress |
String |
|
Claim |
payReceiverDob |
String |
|
Claim |
payReceiverFieldName |
String |
|
Claim |
payReceiverFieldValue |
String |
|
Claim |
payReceiverName |
String |
|
Claim |
referralProviderAddress |
String |
|
Claim |
referralProviderFieldName |
String |
|
Claim |
referralProviderFieldValue |
String |
|
Claim |
referralProviderName |
String |
|
Claim |
servicedEntityAddress |
String |
|
Claim |
servicedEntityCode |
String |
|
Claim |
servicedEntityDate |
String |
|
Claim |
servicedEntityFieldName |
String |
|
Claim |
servicedEntityFieldValue |
String |
|
Claim |
servicedEntityName |
String |
|
Claim |
servicedEntityType |
String |
|
Claim |
serviceProviderAddress |
String |
|
Claim |
serviceProviderFieldName |
String |
|
Claim |
serviceProviderFieldValue |
String |
|
Claim |
serviceProviderName |
String |
|
Claim |
specReceiverAddress |
String |
|
Claim |
specReceiverDob |
String |
|
Claim |
specReceiverFieldName |
String |
|
Claim |
specReceiverFieldValue |
String |
|
Claim |
specReceiverName |
String |
|
Claim |
specReceiverRelCode |
String |
|
Claim |
receiptDate |
Date |
|
Claim |
externalRemarks |
String |
|
Claim |
payReceiverProvCode |
String |
|
Claim |
payReceiverRelCode |
String |
|
Claim |
payBeneficiaryRelCode |
String |
|
Claim |
providerEntityReference |
String |
|
CtrClaim |
claimantName |
String |
|
CtrClaim |
claimantRelCode |
String |
|
CtrClaim |
claimDate |
Date |
|
CtrClaim |
code |
String |
Unique |
CtrClaim |
dueDate |
Date |
|
CtrClaim |
endDate |
Date |
|
CtrClaim |
entryDate |
Date |
|
CtrClaim |
internalRemarks |
String |
|
CtrClaim |
payBeneficiaryName |
String |
|
CtrClaim |
specReceiverRelCode |
String |
|
CtrClaim |
specReceiverName |
String |
|
CtrClaim |
servicedEntityName |
String |
|
CtrClaim |
servicedEntityType |
String |
|
CtrClaim |
servicedEntityCode |
String |
|
CtrClaim |
servicedEntityDate |
String |
|
CtrClaim |
payReceiverName |
String |
|
CtrClaim |
receiptDate |
Date |
|
CtrClaim |
externalRemarks |
String |
|
CtrClaim |
payReceiverProvCode |
String |
|
CtrClaim |
providerEntityReference |
String |
|
CtrClaim |
payBeneficiaryRelCode |
String |
|
CtrClaim |
payReceiverRelCode |
String |
|
ClaimLine |
benefitsProviderFieldName |
String |
|
ClaimLine |
benefitsProviderFieldValue |
String |
|
ClaimLine |
benefitsProviderName |
String |
|
ClaimLine |
code |
String |
Unique within a claim |
ClaimLine |
payReceiverAddress |
String |
|
ClaimLine |
payReceiverDob |
String |
|
ClaimLine |
payReceiverFieldName |
String |
|
ClaimLine |
payReceiverFieldValue |
String |
|
ClaimLine |
payReceiverName |
String |
|
ClaimLine |
priceIndProviderName |
String |
|
ClaimLine |
referralProviderFieldName |
String |
|
ClaimLine |
referralProviderFieldValue |
String |
|
ClaimLine |
referralProviderName |
String |
|
ClaimLine |
servicedEntityAddress |
String |
|
ClaimLine |
servicedEntityDate |
String |
|
ClaimLine |
servicedEntityFieldName |
String |
|
ClaimLine |
servicedEntityFieldValue |
String |
|
ClaimLine |
servicedEntityName |
String |
|
ClaimLine |
serviceProviderAddress |
String |
|
ClaimLine |
serviceProviderFieldName |
String |
|
ClaimLine |
serviceProviderFieldValue |
String |
|
ClaimLine |
serviceProviderName |
String |
|
ClaimLine |
startDate |
Date |
Mandatory |
ClaimLine |
endDate |
Date |
|
ClaimLine |
servicedEntityCode |
String |
|
ClaimLine |
payReceiverProvCode |
String |
|
ClaimLine |
payReceiverRelCode |
String |
|
ClaimLine |
providerEntityReference |
String |
|
CtrClaimLine |
servicedEntityDate |
String |
|
CtrClaimLine |
payReceiverName |
String |
|
CtrClaimLine |
code |
String |
Unique within a claim |
CtrClaimLine |
servicedEntityName |
String |
|
CtrClaimLine |
startDate |
Date |
|
CtrClaimLine |
endDate |
Date |
|
CtrClaimLine |
servicedEntityCode |
String |
|
CtrClaimLine |
providerEntityReference |
String |
|
CtrClaimLine |
payReceiverRelCode |
String |
|
CtrClaimLine |
payReceiverProvCode |
String |
|
CtrClaimList |
claimCode |
String |
|
ClaimLineEventHistory |
claimLineCode |
String |
|
CtrPendReasonHistory |
claimLineCode |
String |
|
ClaimPendReasonHistory |
claimLineCode |
String |
|
InterfacedMessage |
correlationId |
String |
|
EligibilityCheck |
code |
String |
Unique |
Response Messages
The application creates the response messages in response to the request messages it receives from external interfaces. Please refer to the "Response Messages" section in the HTTP API/IP Concepts as part of the Developer Guide for more details.
Error Messages
The following error messages are specific to the data masking definition integration point.
| Code | Severity | Message Text |
|---|---|---|
DID-IP-DIDM-001 |
Fatal |
Entity name {entityName} is unknown |
DID-IP-DIDM-002 |
Fatal |
Object usage name {objectUsageName} is unknown |
DID-IP-DIDM-003 |
Fatal |
For the dynamic record {objectUsageName}, field {recordObjectUsageName} is unknown |
DID-IP-DIDM-004 |
Fatal |
Record object usage name can only be configured for dynamic records |
DID-IP-DIDM-005 |
Fatal |
Record object usage is mandatory for {objectUsageName} dynamic record |
DID-IP-DIDM-006 |
Fatal |
Flex codes, start date and end date columns cannot be part of the data masking process |
DID-IP-DIDM-007 |
Fatal |
Transformation function {transformationCategory} does not match the data type of the field |
DID-IP-DIDM-008 |
Fatal |
Fixed field {objectUsageName} cannot be part of the data masking process |