Hi Jim, Our define.xml validation profile is just an implementation of business rules defined in the define.xml standard. You should talk to the CDISC development team. On CDISC Portal website there is a special resource to collect and track all proposals for standards enhancements CDISC Public Comment Disposition Kind Regards, Sergiy
I am proposing to remove rule OD0080 from OpenCDISC, at least in ADaM. I am also proposing to expand CodeList and CodeListRef definition in define.xml but that is a different topic.
Normally in ADaM domains we create both CODE and DECODE variables, for example, TRT01P and TRT01PN. This is not normally done in SDTM.
Consider the following code list - numeric code, short text and long text.
1 = 'A' = 'Investigational Drug'
2 = 'B' = 'Placebo'
We could add different languages in the long text to make the situation more complicated.
Ideally this correspondence can be represented in one code list, and different variables can refer to different components of the same code list: the coded value, short text decode, and long text decode (or which language in the long text decode)
OpenCDISC checks if the variable data type matches with the codelist data type. Note that this check is NOT a XML issue (documents with mismatched types are considered as well-formatted), rather, it is additional check added by OpenCDISC.
If I create the follow code list:
<CodeList OID="TRT" Name="TRT" DataType="integer">
<CodeListItem CodedValue="1">
<Decode><TranslatedText xml:lang="en">Investigational Drug</TranslatedText></Decode>
</CodeListItem>
<CodeListItem CodedValue="2">
<Decode><TranslatedText xml:lang="en">Placebo</TranslatedText></Decode>
</CodeListItem>
</CodeList>
I made the data type to be integer, so I can reference it in variable TRT01PN. Now, if I want to reference it in TRT01P (with reasonable belief I should be able to do so because it is the decode value of the code list), I can not reference the same code list because it would violate rule OD0080. I would need to create a different code list, with the exact same content as the one above, but with a different name and data type text. Creating such new code list does not improve anything for the purpose of define document, it is solely for the purpose of avoiding rule OD0080. I don't think this is the right reason for creating the new code list. So I propose to change rule OD0080, at least for ADaM, or at the minumum make it a 'Note' instead of 'Error'.
The source of the problem is define.xml itself - The current CodeListRef does not offer us a mechanism whether we are referring the coded values or decode values, and the data type for CodeList is defined at the CodeList level, not at the CodeListItem level.
Any comments, regardless against or for this idea, would be appreaciated.