Base View Details
The Base View Generation Integration Point can be used to generate base views and to browse them.
Creating Base Views
There is one base view for each functionally meaningful entity of the Oracle Health Insurance application. Besides the entity model, also the extensibility configuration influences the generation of the base views. The (re)generation of the base views is not done automatically, but must be triggered using the above mentioned integration point.
Events that may result in (re)generation of the base views:
-
The initial installation of an Oracle Health Insurance application
-
The installation of a patch of an Oracle Health Insurance application
-
The installation of a new version of an Oracle Health Insurance application
-
A change in the extensibility configuration
-
An import using CMT that impacts the extensibility configuration.
A CMT export does NOT include the generated base views. Therefore, it is needed to regenerate them in the target environment after an CMT import when the extensibility configuration has changed. |
The base views are part of the Oracle Health Insurance database schema. That means that the base views ARE part of a database dump or export that contains the whole schema. |
Types of Views
This section describes the various types of views that are created and their definition.
A Base View for Each Entity
For each entity B, a view is generated with the following characteristics:
View Property | Value | Example Value |
---|---|---|
Name |
<B.NAME>_BV |
PAS_BRANDS_BV |
Comment |
Comment from Base Table |
Evaluated benefit specifications by claim lines during claims processing. |
The view name consists of:
-
Internal Application Area Code
-
'_'
-
Entity Name
-
'_BV'
The internal application area codes organize data model objects into separate functional areas. The entity names correspond to the data model names (in the Configuration Guide) more or less directly.
The view generation does not generate a view for each and every entity/table. It skips tables that are technical, or bound too much to internal processing. Use the generic HTTP API resource "tables" to get the list of skipped tables. Those tables have indicator indGenerateBaseView with value "false". |
- Columns
-
The base view contains the following columns:
Category | Condition | Alias | Alias Example | Comment | Comment Example |
---|---|---|---|---|---|
Fixed columns in the base table |
The column is not a technical column, nor a horizontal dynamic field column. The column does not contain PII |
<BASE COLUM NAME> |
CODE |
From Base Column Comment |
The code of the product |
Fixed columns in the translation table |
The column is not one of ('ID', 'LANGUAGE, 'SOURCE_LANG', 'BASE_TABLE_ID'). The column does not contain PII |
<TL Column Name> |
DESCR |
From TL Column Comment |
The description of the product |
For each dynamic field usage defined for the base table |
Single Value, non Time Valid, type=Field, IND_PII = N |
DynamicFieldUsage.name.toUpperWithUnderscores() |
HOBBY |
DynamicFieldUsage.displayName |
Hobby |
For each dynamic field usage defined for the base table |
Single Value, non Time Valid, type=Code IND_PII = N |
DynamicFieldUsage.name.toUpperWithUnderscores() |
ADMISSION_TYPE |
DynamicFieldUsage.displayName |
Admission Type |
DynamicFieldUsage.name.toUpperWithUnderscores()_ID |
ADMISSION_TYPE_ID |
DynamicFieldUsage.displayName ID |
Admission Type ID |
||
DynamicFieldUsage.name.toUpperWithUnderscores()_DESCR |
ADMISSION_TYPE_DESCR |
FlexCodeFieldUsage.displayName of the descriptor column |
Admission Type Description |
Method toUpperWithUnderscores() denotes the conversion from CamelCase to UPPERCASE_WITH_UNDERSCORES. For example, accidentDate gets converted into ACCIDENT_DATE. |
- Fixed Columns
-
The implementation guide’s data model section gives more information about the fixed attributes. These columns have the same names and data types as the underlying table columns. The contents of columns are not transformed by the views.
- Dynamic Field Columns, Single Value, Not Time Valid
-
Those dynamic fields come in two flavors, which are handled differently:
-
The dynamic field is a free field. Free fields can hold a character-, a numeric- or a date value.
-
The dynamic field is a code field. Code fields can be of type flex code, procedure, diagnosis or provider.
-
Not all Oracle Health Insurance applications support flex codes of all types. Some may support only flex code and provider for example. |
- Free Field
-
For free fields, a single column is added to the view. The column name is based on the usage name of the dynamic field, converted from CamelCase to UPPERCASE_WITH_UNDERSCORES.
- Code Field of Types Flex Code, Diagnosis, or Procedure
-
For code fields of type flex code, diagnoses or procedure, the view contains three columns:
-
The first column holds the internal technical key of the code field
-
The second one holds the key value of the flex code with the same usage name based naming convention as used for free fields.
-
A third column contains the description of the flex code:
-
for flex code the description shows the descriptor field
-
for diagnosis and procedure the description shows the description of diagnosis and provider.
-
-
- Code Field of Type Provider
-
For code fields of type provider the view contains six columns: The first and second are identical to the flex code, procedure and diagnosis types.
A second set of columns shows relevant information of the provider if applicable:
-
Initials
-
First name
-
Middle name
-
Name
when the usageName changes, and the views get regenerated, all SQL statements that use the old column name of the view need to be changed as well. |
Dynamic field usage where indicator PII? is set, are not included. |
A Base View for Each Dynamic Field That is Time Valid or Multi-Value Type Field
For every dynamic field usage of type field, an additional base view is generated with following characteristics:
View Property | Value | Example Value |
---|---|---|
Name |
<Base Table>_DF_<Usage>_BV |
CLA_CLAIMS_DF_COLOR_BV |
Comment |
This is a dynamic field view for <usage.displayName> |
This is a dynamic field view for Color. |
The view has those columns:
Alias | Alias Example | Comment | Comment Example |
---|---|---|---|
ID |
ID |
Identification generated by the system |
Identification generated by the system |
BASE_TABLE_ID |
BASE_TABLE_ID |
Reference to <BASE VIEW> |
Reference to CTR_CLAIMS_BV |
DynamicFieldUsage.name.toUpper() |
ADMISSION_TYPE |
DynamicFieldUsage.displayName |
Admission Type |
START_DATE |
START_DATE |
Start Date |
Start Date |
END_DATE |
END_DATE |
End Date |
End Date |
The start- and end date are only included for time valid usages. |
A Base View for Each Dynamic Field That is Time Valid or Multi Value Type Code
For every dynamic field usage of type code, an additional base view is generated, identical to a dynamic field of type field. Instead of a single column that holds the value, three columns are created:
Alias | Alias Example | Comment | Comment Example |
---|---|---|---|
ID, BASE_TABLE_ID, START_DATE, END_DATE as in field example |
… |
… |
… |
DynamicFieldUsage.name.toUpper()_ID |
ADMISSION_TYPE_ID |
DynamicFieldUsage.displayName |
Admission Type |
DynamicFieldUsage.name.toUpper() |
ADMISSION_TYPE |
DynamicFieldUsage.displayName |
Admission Type |
DynamicFieldUsage.name.toUpper()_DESCR |
ADMISSION_TYPE_DESCR |
FlexCodeFieldUsage.displayName of the descriptor column |
Description of the admission type |
A Base View for Each Dynamic Record
For every dynamic field usage of type record, an additional base view is generated with following characteristics:
View Property | Value | Example Value |
---|---|---|
Name |
<Base Table>_DR_<Usage>_BV |
CLA_CLAIMS_DR_COLOR_BV |
Comment |
This is a dynamic record view for <usage.displayName> |
This is a dynamic record view for Color. |
The view has those columns:
Condition | Alias | Alias Example | Comment | Comment Example |
---|---|---|---|---|
ID |
ID |
Identification generated by the system |
Identification generated by the system |
|
BASE_TABLE_ID |
BASE_TABLE_ID |
Reference to <BASE VIEW> |
Reference to CTR_CLAIMS_BV |
|
For each flex code field usage of type Field |
flexCodeFieldUsage.name().toUpper() |
HOBBY |
flexCodeFieldUsage.displayName() |
Hobby of the member |
For each flex code field usage of type Code |
flexCodeFieldUsage.name().toUpper() |
ADMISSION_TYPE |
flexCodeFieldUsage.displayName() |
Admission Type |
flexCodeFieldUsage.name().toUpper()_ID |
ADMISSION_TYPE_ID |
flexCodeFieldUsage.displayName() ID |
Admission Type ID |
|
flexCodeFieldUsage.name().toUpper()_DESCR |
ADMISSION_TYPE_DESCR |
FlexCodeFieldUsage.displayName of the descriptor column |
Description of Admission Type |
|
Time valid=Y |
START_DATE |
START_DATE |
Start Date |
Start Date |
Time valid=Y |
END_DATE |
END_DATE |
End Date |
End Date |
A Base View for Each Flex Code Definition
For every flex code definition, an additional base view is generated with the following characteristics:
View Property | Value | Example Value |
---|---|---|
Name |
COD_FLEX_CODES_<Code of the Flex Code Definition>_BV |
COD_FLEX_CODES_BRANCH_OF_WORK_BV |
Comment |
Description of the flex code definition |
Branch of work |
Those views are useful for retrieving the 'valid values' of a flex code definition. |
No base views are generated for flex code sets. This is not possible because the definitions of the flex code definitions in the set may be different, making it impossible to union them together in a single views. |
The view has those columns:
Condition | Alias | Alias Example | Comment | Comment Example |
---|---|---|---|---|
ID |
ID |
Identification generated by the system |
Identification generated by the system |
|
For each flex code field usage |
flexCodeFieldUsage.name().toUpperWithUnderscores() |
BRANCH_OF_WORK_CODE |
flexCodeFieldUsage.description |
Branch of work code |
Removing Existing Base Views
Existing base views for which the source where they were based on no longer exists, are removed during the base view generation process.
Examples are:
-
A dynamic field usage has been dropped or renamed
-
A table has been dropped after installation of a new application version, rendering the base view obsolete.