Database Roles for the API

The following list shows the names of the database roles and what each role is called in Oracle Clinical user materials.

Database Role Name OC Manual Name

OCLAPI_INITIAL_LOGIN

Initial Log-In

OCLAPI_KEY_CHANGES

Key Changes

OCLAPI_FIRST_PASS_ENTRY

First-Pass Entry

OCLAPI_UPDATE

Update

OCLAPI_BROWSE

Browse

OCLAPI_PATIENT_ENROLLMENT

Patient Enrollment

OCLAPI_EXECUTE_MULTIVARIATE

Execute Multivariate

This section shows which of the database roles for the Data Capture API a user must have to act on production data. The column headers indicate different DCAPI roles. The rows indicate different DCAPI calls under different conditions. An “X" in a column signifies that the call in the selected row requires one of the roles indicated. Privileges are cumulative and require that the user have only one intersecting role/call combination for the call to succeed.

Note:

So that these actions are performed on test data, the letter T is appended to the database role name — for example, OCLAPI_BROWSE becomes OCLAPI_BROWSET.

Each role maps to a specific action that you can take within Oracle Clinical. This action is referred to as a mode. There are two types of modes:

Standalone - Patient Enrollment and Multivariate Execution are standalone roles.

Data Entry - Initial Log-In, Key Changes, First-Pass Entry, Update, and Browse are data entry modes.

CreateRdci (INITIAL_LOGIN)

Requires: Initial Log-In only

CreateRdci (KEY_CHANGES)

Requires: Key Changes

FetchRdci (Locking) (INITIAL_LOGIN)

Requires: Initial Log-In for documents that are inaccessible, or accessible documents whose only updateable field is the comment field

FetchRdci (Locking) (KEY_CHANGES)

Requires: Key Changes

FetchRdci (Locking) (FIRST_PASS_ENTRY)

Requires: First-Pass Entry for inaccessible documents only.

FetchRdci (Locking) (UPDATE)

Requires: Update

FetchRdci (Locking) (BROWSE)

Requires: Browse, but only if the operator comment in Browse mode is enabled

FetchRdci (Non-Locking)

Requires: Initial Log-In, Key Changes, First-Pass Entry, Update, and Browse.

SetRdci

Requires: Initial Log-In (Update of the comment fields only), Key Changes, First-Pass Entry (Update of the comment fields and Blank Flag only), and Update (Update of the comment fields only).

SetRdcm

Requires: Initial Log-In (Update of the comment fields only), Key Changes, First-Pass Entry (Update of the comment fields and Blank Flag only), and Update (Update of the comment fields only).

WriteRdciRdcm

Requires: Initial Log-In (Update of the comment fields only), Key Changes, First-Pass Entry (Update of the comment fields and Blank Flag only), and Update (Update of the comment fields only).

DeleteRdci

Requires: Initial Log-In (Inaccessible documents only)

InitializeRdcmResponses (FIRST_PASS_ENTRY)

Requires: First-Pass Entry

InitializeRdcmResponses (UPDATE)

Requires: Update

InitializeRdcmResponses (BROWSE)

Requires: Browse

SetActualEvent

Requires: Initial Log-In and Key Changes

SetPageStatus

Requires: Initial Log-In, Key Changes, First-Pass Entry, and Update

EnrollPatient

Requires: Patient Enrollment

ExecuteMultivariate

Requires: Multivariate Validation

The FetchRdci function retrieves data from the Oracle Clinical database. To call FetchRdci, program must know the RDCI_ID in the Oracle Clinical database for the RDCI it wants to fetch. You can obtain this information through the stable interface.

The Data Capture API buffers the RDCI, RDCM, and response data so that your program can pass data to the API and validate it without committing the data to the database. When program is ready to commit the RDCI and RDCM data to the database, it calls WriteRdciRdcm. To commit response data to the database call WriteResponses.

CreateRdci, ProcessRdci, SetRdci, SetRdcm and SetResponseData perform one or more of the following:

  • validation checks
  • defaulting of fields
  • setting of timestamps

Your program should refresh any data structures it created to store RDCI and RDCM information with the modified data structures passed back from these API functions. This keeps the data structures in your program consistent with the API buffered data.