ProcessRdcm
Purpose
This function verifies that the selected RDCM record in the API RDCM buffer is a unit that includes all necessary data. For example, if the DCM requires a qualifying value, this function checks to see if one is supplied. In addition, this function verifies:
- interdependencies between fields.
- that there are no duplicate RDCMs in the API RDCM buffer.
- that there are no duplicate pre-existing RDCMs in the database.
When this function identifies a duplicate RDCM in the buffer, it returns the ID of that record in the double *RECEIVED_DCM_IDs parameter. When this function identifies a duplicate RDCM in the database, it returns an error and includes the document number of the duplicate record within the error message text.
Syntax
short int ProcessRdcm(double
received_dcm_id
,
double
*received_dcm_id_dup
);
Parameters
received_dcm_id
(in) The RECEIVED_DCM_ID of the API RDCM record to be validated.
received_dcm_ids
(out) The RECEIVED_DCM_ID of the first duplicate API RDCM record encountered. This parameter will contain null if there is no duplicate API RDCM record encountered.
Return Value
SUCCESS
or FAILURE
or WARNING
.
Comments
This function fails if:
- the API RDCI buffer is empty.
- the API RDCI record exists in the database and has not been locked.
To learn about locking the API RDCI record see FetchRdci, WriteRdciRdcm, WriteResponses,and FlushResponses. To learn about privileges, see the "Functional State Mapping Information" and the "Functional State Transition Diagram".
- there are changes pending in the API RDCI buffer that have not yet been processed through a call to ProcessRdci.
- there is no API RDCM record whose RECEIVED_DCM_ID equals the parameter received_dcm_id.
To validate an API RDCM record as a unit, this function:
- checks that all the mandatory items in the API RDCM record are populated.
- performs cross-item validation.
- performs uniqueness validation for the API RDCM record. If the function finds a duplicate within the other API RDCM records, it returns its RECEIVED_DCM_ID in the output parameter RECEIVED_DCM_IDs along with an error message. However, if the function finds a duplicate under another RDCI in the database, it returns an error message.
WriteRdciRdcm also validates each of the API RDCM records as part of its processing. This function is provided in order to give the FE a facility to determine early in the process whether individual API RDCM records are valid.
To write the contents of the API RDCIRDCM buffer to the database, see WriteRdciRdcm.
Error Messages
Table 7-27 Error Messages for ProcessRdcm
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. |
290100 |
ERR |
Duplicate Received DCM found within this Received DCI. |
290200 |
ERR |
Duplicate Received DCM found in document number: \0. |
290300 |
ERR |
Current record is not complete: Operation was not successful. |
291500 |
WRN |
Subevent not found: actual event will be created once you save. |
292000 |
ERR |
Blank flag must be entered. |
292100 |
ERR |
Clinical planned event name must be entered. |
293000 |
ERR |
Subevent number must be entered. |
293300 |
ERR |
DCM time must be entered. |
293400 |
ERR |
Qualifying value must be entered. |
293600 |
ERR |
Too many actual events correspond to this subevent #. |
293700 |
ERR |
DCM date must be entered. |
297000 |
ERR |
Null or invalid input pointers provided. |
304600 |
ERR |
Function does not exist. |
304700 |
ERR |
Privilege does not exist. |
306100 |
ERR |
Changes pending that have not been processed. |
307000 |
ERR |
Cannot call this function if you have not locked the record. |
307300 |
WRN |
Lab could not be defaulted. |
307400 |
ERR |
Please use the patient enrollment form to specify which DCI Book to use to maintain the page tracking information. |
Related Functions
Parent topic: Data Capture API Functions