This page explains how to solve the errors faced during OC sync. You can download the error csv from the import log page, as shown in the below image.
Go to the OpenClinica Study Configuration page of the study → Click on Import Logs → Download the csv file.
Error importing CRF: PATHOLOGY","java.lang.RuntimeException: Following special characters in form names not allowed: [+-/*(){}%. ]
Click here to view the solution
The error states that there are specimen characters like +-/*(){}%, whitespaces (space, tab, newline, carriage return, etc.) in the CRF name. The OC connector uses the OID as the form name. These special characters are not allowed in the DE form names, hence the error.
Also, when importing the OID mapping CSV file, make sure that the column ‘OS_FORM_NAME’ does not contain any special characters.
For example, a form name can be added as ‘PATHOLOGY_DATA’ and not 'PATHOLOGY DATA.'
Fix: Clean up the CRFs to ensure they don't contain special characters mentioned in the log file in the CRF.
2. Error importing CRF data. Subject: ABC01, Event: BASELINE. Error: DE form for PATHOLOGY (Path_Data) doesn't seem to be created."
Click here to view the solution
The error is displayed when the DE form ‘PATHOLOGY’ for the event ‘BASELINE’ is not yet created; hence the data cannot be imported. It would help if you made sure that the form error is fixed and imported.
3. Error importing CRF data. Subject: ABC01, Event: SE_WEEK1FU."," com.krishagni.catissueplus.core.common.errors.OpenSpecimenException: Participant 48540 does not exist.
Click here to view the solution
The error is displayed when the participant was created in Open Clinica with PPID ABC01, deleted, and recreated. It would help if you cleaned up the mapping tables to remove the mapping of the deleted participants.
4. Failed to authenticate with the OC server. Check the following: a) auth credentials, b) auth server URL c) server accessibility.
Click here to view the solution
This error occurs when the configured server URL, Username, or Password is wrong. To fix this, check the below details and update if needed in the server configuration.
Configured URL of OC in REST API Invoker.
The username used in the configuration should have access to OC.
Password used in configuration should be in a working state.
To fix these details go to REST API Invoker >> use the ‘PUT' HTTP request >> ‘Resource URL’ as 'ServerURL/rest/ng/or-server-configs/{configured server ID}’
Once you update the necessary host, username, and password, click on 'Send'. You should get 200 status as a successful result.
5. Error: Unknown column '<table name>' in 'field list' / Error: Column 'FORM_CTXT_ID' cannot be null
Click here to view the solution
When forms get corrupted due to any possible reason, this error occurs. In this case, you need to delete the existing form and resync the data for that form. Run below API to delete the form in OpenSpecimen.
Invoke the REST API using either Postman or HTTP client.
<app_url> : Server URL where the forms are available.
{FormId}: Form identifier for which you are getting an error. Get this from the #2 step.
<username>: OpenSpecimen Username
<password>: OpenSpecimen Password
Form ID can be retrieved from DB using below SQL
select identifier, name from dyextn_containers where name = '<form_OID>';
form_OID: You will get the form OID from XML of CRF from OC.
6. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead. Check the manual. You have to change some columns to TEXT or BLOBs.
7. java.lang.RuntimeException: Error retrieving participants of the site: I-Spy2: 400: Error: {"message":"errorCode.studyNotExist","params":{"siteOid":null,"studyOid":"I-SPY2"}}
Click here to expand...
When OC doesn't have an OID for any site and patients are registered to that site. Then those patients can’t be synced into OS. In the above error, the ‘I-Spy2' is a site in OC whose siteOid is null.
To fix this client has to add the OID for the site in OC.
8. com.krishagni.catissueplus.core.common.errors.OpenSpecimenException: Parent specimen should be either in collected or missed state.
Click here to expand...
When you are trying to collect any primary specimen or child specimen, and their visit or primary specimen is not collected respectively due to any reason, then this error occurs.
If you get the error for primary specimens, check if the visit is collected or not.
If this error is for child specimens, ensure that parent is collected or not.
9. No anticipated specimens with labels: EP_017-00-02-07-1
Click here to expand...
When you sync any specimen from OC and OS doesn’t have the same specimen with the label. Then this error occurs. To resolve this, you will need to add the specimen requirements that will match the label format.
10. com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '4-EP_021-00-04-01-2' for key 'CAT_SPEC_CP_ID_LABEL_UQ'
Click here to expand...
This error is reported when the auto-generated label conflicts with an existing label.
Eg: The subject '74580' has more than one 'Baseline' event in OC. Whereas in OS, there is only one 'Baseline' event configured.
In this case, there are two ways to resolve this error.
11. com.krishagni.catissueplus.core.common.errors.OpenSpecimenException: Invalid form data. Reason: COVID_Specimen_Extension.Reason specimen not collected:INVALID_VALUE
Click here to expand...
When the OC field has any value that is not configured in the OS, this error occurs. E.g., In the ‘Clinical Diagnosis’ dropdown field has PV values like 10 weeks gestation, 13 weeks gestation, etc. These values are not available in OS for the mapped field, then the data for these subjects won’t sync.
To resolve this, add the same values in the OS dropdown as OC.
12. SQL error: 'com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'DE_A_(n)' at row 1', where n is any number.
Click here to expand...
This error means the data that you are trying to insert/update cannot be stored in column DE_A_(n) because of its size limitation.
Steps to resolve:
Login to DB and find the table where the column DE_A_(n) is stored. Run below SQL:
select cast (xml as char) from dyextn_containers where name = '<Form Name>'
In the first few lines of the XML, you will find the table name in the <dbTable> tag, e.g., DE_E_11607.
Now run the below command to increase the size of the column.
Syntax of the code: alter table <table_name> change <column_name where issue is found> mediumtext;
Check the below example code for the reference:
alter table DE_E_11607 change DE_A_37 mediumtext;
13. 502 Bad Gateway Error. An error was encountered when invoking the OpenClinica API. The details are present in the error log file.
Click here to expand...
The ‘502 Bad Gateway Error’ occurs when the source server is down or not reachable. Please contact client to get this resolved.
14. Specimen label already exists.
Click here to expand...
When duplicate specimen labels are entered in OpenClinica. OpenSpecimen syncs the first specimen and throws error for second duplicate specimen that this Specimen label already exists in the system.
To resolve this issue user needs to update the OpenClinica data entry and remove the specimen label which is entered more than once.