Base View Generation Integration Point

This integration point enables the creation and inspection of generated base views.

Background

The Oracle Health Insurance applications expose their data model as base views. Base views give an abstraction over the technical table structure with a number of benefits:

  1. A base view combines fields from base- and translation tables

  2. A base view includes fixed- and dynamic fields

  3. Extensibility structures like dynamic field- and dynamic record definition also lead to additional views.

For more details about the types and the structure of the base views, refer to Overview.

Base View Generation Integration Point

The purpose of this integration point is the (re)generation of the base views and the inspection of the status and definition of generated base views.

This integration point and the ohi.baseview.exclude.pii property enables access to Personal Identifiable Information(PII) in a base view.

The operations are protected by the HTTP IP access restriction 'baseviewgenerations IP'.

The endpoint is available at the following location:

http://<host>:<port>/<context-root>/baseviews

Operations

POST

To begin the generation process, submit a POST request to:

http://<host>:<port>/<context-root>/baseviews

This process is an example of a long running operation through REST. See, "HTTP API/IP Concepts" chapter of the Developer Guide for more information on the general concepts of these operations.

The POST operation can also retrieve information about the generated base views from the system by using the following POST request:

http://<host>:<port>/<context-root>/generic/baseviews/search

{
  "resource": {

  }
}

The standard REST query options are supported. See Query API to view all the options possible.

A format similar to the following is returned for each matched base view:

{
  "viewName": "<name of the view>",
  "status": "<status of the view in the database>",
  "lastDDLTime": "<when the view was created or updated for the last time>",
  "comments": "<explanation of the view>",
  "errors" : [
    {
      "line":"<line number of the error>",
      "sequence": "<sequence of the error>",
      "text": "<error message>"
    }
  ],
  "columns" : [
    {
      "columnName":"<name of the column>",
      "columnId":"<sequence of the column in the view>",
      "comments": "<explanation of the column>"
    }
  ],
  "links": [
    {
      "href": "http://<host>:<port>/<context-root>/baseviews/<view name>/regenerate",
      "rel": "baseview:regenerate",
      "httpMethod": "POST"
    },
    {
      "href": "http://<host>:<port>/<context-root>/baseviews/<view name>",
      "rel": "baseview:delete",
      "httpMethod": "DELETE"
    }
  ]
}
The above format is an example of a typical response. The actual response may differ slightly.

This operation returns a status as described in Response Messages. Typically, if at least one matching base view is found, status code 200 is returned; otherwise, 204 is returned.

Link operations:

  • baseview:regenerate: This operation generates all base views of a single table, and it is an asynchronous operation.

  • baseview:delete: This operation drops the base view from the database, which is useful if a dynamic field usage has been dropped and rendered the view invalid.