Hi,
Codelists are not automatically generated by the OpenCDISC Validator. This is because it is expected that you have a pre-defined list of appropriate values, and extracting values from the data does not guarantee a codelist that matches the expect list of terms (potential terms could be incorrect, not present in the data, etc.). Therefore, if you wish to provide codelists to include in define.xml generation, you can do so using the provided codelist spreadsheet which can be used as part of the generation process.
Hopefully this answers your question, if not, please let me know and I'll clear up any remaining issues.
Regards,
Tim
Could you please provide what the code list file should look like? I am guessing that there should be a column for the variable name and a column for the value. Is this correct?
Thanks,
Joe
Hi Joe,
The code list file template can be found in the "config/examples" folder. The template contains 2 tabs:
Regards,
Max
The "serious error" box asked me to share my code with you. =) That is honestly the nicest error message I have ever received.
I encountered the error below when attempting to create a define using a newly created codelist. I strongly suspect the error relates to the codelist itself as define generation sans codelist works as per usual. If so, I would love to know of any restrictions or requirements on the codelist document. Thanks!
java.lang.NullPointerException
at org.opencdisc.validator.DefineDocumentGenerator.<init>(DefineDocumentGenerator.java:146)
at org.opencdisc.validator.DefaultValidator.generate(DefaultValidator.java:137)
at org.opencdisc.validator.gui.ValidatorClient$ProcessMonitor.run(ValidatorClient.java:1531)
Hi Aleksandra,
First, sorry for the delayed response. The problem you're experiencing is due to there being missing data on the assignment tab of the codelist spreadsheet. You should have three columns, one for the domain, one for the variable name, and one for the codelist name that you wish to assign to the given variable in the given domain. Please ensure that you have values in all of these columns. An example spreadsheet can be found in the config/examples folder provided with the Validator download package.
We'll be addressing this issue in a future release, as there should be safeguards that should allow the program to gracefully recover in these kinds of circumstances. Thank you for your report, and we apologise for the inconvenience. Let us know if you have any more questions or comments.
Regards,
Tim
Hi Tim,
Thanks for your response! There seem to have been hidden characters that were tricking me and the program. Is there a way to incorporate a codelist into the validation directly, rather than through a define?
Thank you!
How can i add values to an extensible controlled terminology to prevent checks being fired from the validator? I tested if the user supplied controlled terminology would supersede the one in SDTM Control Terminology file but it doesnt. Please clarify.
Thanks,
Nalin
Hello,
The only way I could figure out how to do this was to open the CDISC Controlled Terminology file and add my own codes and terms. Then save the file as a .txt file inside the opencdisc-validator\config\data folder. You could edit the text file itself but I found it easier working in Excel then saving the file as a txt file. I added X00029 below because we, as a sponsor, use INTP.
Code Codelist Code Codelist Extensible (Yes/No) Codelist Name CDISC Submission Value
C62162 C71153 ECG Test Code STDPMIN
C62163 C71153 ECG Test Code STDPMAX
X00029 C71153 ECG Test Code INTP
David
Hi David.
This is the same approach that i took and it worked. The reason i asked was avoid the maintenance of another file and keep track of entries that we as a sponsor make. The next time the NCI list is updated, we will need to reconcile sponsor entries with the standard entries and since there is no version control on this file it seems to be a lot of maintenance. In my opinion the validator should check if the CT is extensible and if yes then expect an entry in the codelists.xls file and overwrite the standard list?
Thanks for your input.
Nalin
Hi Nalin,
Sponsor-defined codelists in a define.xml file included during the validation will supersede a check against an extensible codelist defined in the included Controlled Terminology file. codelists.xls can be used when creating a define.xml document to create the CodeList definitions for you, in addition to binding them to the appropriate variables.
If the codelist is not extensible, the rule against the Controlled Terminology will be run either way, since the Controlled Terminology is a definitive list in that case (although there's currently an outstanding issue regarding the case sensitivity).
What codelist were you trying to override that it wasn't working as you expected? Also note that this functionality was introduced in version 1.1, so make sure that your application and configuration are up to date.
Regards,
Tim
Hi Tim.
Sorry for the delayed response, but using the codelists.xls file for extensible codelist works just fine.
Thanks,
Nalin
Hi Everyone
I have a question.
1. Addition of Terms to Non-extensible Codelists from Legacy Mapping
Recently we have had new term request to accommodate legacy data conversion. For example, a term was requested for Action Taken - “Dose Adjusted”. The Action Taken Code list NOT extensible and already has the terms “Dose Increased” and “Dose Reduced”. Please advice to the person who requested the addition might be to look at the exposure data to see if the dose increased or decreased or discuss with the FDA reviewer that they will be using this term in their submission that is not in the code list.
Thank you in advance.
Akkie
Hi Akkie,
It's a good question to your company Clinical and Data Management teams: why did they design data collection in such way. The information you captured is not scientifically useful.
There are several options to fix your legacy data during SDTM conversion:
1. Use actual Exposure data to derive a Dose Increase/Decrease value.
2. Check your study protocol. In most cases if AEs occurred only a Dose Decrease action is permitted.
Document your decision properly in data transformation specifications.
Regards,
Sergiy
Hi,
New to the forum so please bear with me; I've been looking around trying to see how to add codelists and values in support of validating domain datasets that were generated by SAS CST version 1.4 ; we're evaluating CDISC.
OCV recognizes the domain datasets, but the report lists many codelist problems, presumably the reult of my codelists.xls file not being configured ? or containing the needful ? Can someone illuminate for me the steps to create or otherwise get the codelists.xls file in place, and how to add values to it ?
Thanks ! I saw the sample but it's not seeming to resuce my error rate.
Hi Joe,
I can review your files. Send them to me using the following email: sergiy at opencdisc dot org
Expect some delay in response due to current massive outage.
Regards,
Sergiy Sirichenko
Pinnacle 21 / OpenCDISC
How can I generate code lists from sdtm data(like webSDM)? Also how can import code into openCDISC?
Thank you
AJ