InsertRepeat

Inserts a new record in the internal buffers for the repeat sequence number. This function is useful when entering repetitive data into a DCM. For example, you may wish to create a repeat that records time of day and patient's temperature at several different intervals within a 24-hour period. This function can be used to insert a repeat before existing repeats with resequencing of the following repeats.

Once an operator creates a blank row in the Oracle Clinical internal buffers, it is possible to add data to this new row using SetResponseData. WriteResponses is then used to commit this data into the database.

Syntax

short int InsertRepeat(RepeatId *repeat_identifier);

Parameters

repeat_identifier (in) The RepeatId containing the unique identifier for this repeat.

Return Value

SUCCESS or FAILURE.

Comments

The repeat_identifier uniquely identifies the row that is being processed by the external system (returning FAILURE if the row does not exist). Upon calling this function, Oracle Clinical inserts a new record (with all data values initialized to NULL) in its internal buffers. The API returns a FAILURE if the repeat sequence number exceeds the maximum repeats specified for the question group. SetResponseData needs to be called to update the response values as and when they are entered.

In InitializeRdcmResponses, Oracle Clinical automatically creates the first row in each group, so this function accepts repeat sequence numbers greater than or equal to 1 only.

Note:

This API function re-sequences all repeats, if any, following the one that was inserted by adding 1 to the repeat sequence number for all questions in the group in those repeats.

Error Messages

Table 7-25 Error Messages for InsertRepeat

Number Severity Message

284900

ERR

User does not have the privilege to call function in the current mode.

285000

ERR

Function called out of sequence.

285900

ERR

No current OCL database connection open. Use ConnectOCL to connect to OCL database.

286600

ERR

Audit reason required and not provided.

287100

ERR

DCM question group does not exist in the DCM.

287200

ERR

Cannot insert repeats in browse mode.

287300

ERR

Invalid DCM question group ID passed.

287400

ERR

Cannot insert repeat for a non-repeating question group.

287500

ERR

Inserting repeat will introduce a null repeat in the middle.

287600

ERR

Cannot insert for repeating defaults when repeat is less than the maximum repeats for DCM question group.

287700

ERR

The repeat exceeds the maximum repeats expected for DCM question group.

297000

ERR

Null or invalid input pointers provided.