Forums: Define.xml
Hi Don,
You don't need to include blank (NULL) values in a codelist. If a variable allows null values, like LBBLFL, then it's already implied from the Core property (Expected or Permissible).
In this case the codelist for LBBLFL should only contain one value (Y).
Also, the reason OD0003 is of High severity is because any Required attribute (according to the Define.xml specification) like CodedValue if not populated would cause define.xml to fail schema validation.
Regards,
Max
Hi Max,
I have just started using OpenCdisc and am really jazzed by how robust this tool really is. In my using the Validator for a Define.xml I have the following situation which confuses me...
For talking points, I have a SDTM variable LBFLBL and it is an expected, but not required, variable. The codelist has the following for LBBLFL:
[blank] = null
Y = Yes
The resulting Define.xml which I create is the below snippet:
<ItemRef ItemOID="LB.LBBLFL"
OrderNumber="277"
Mandatory="No"
Role="Record Qualifier"
RoleCodeListOID="RoleCodeList">
</ItemRef>
.....
ItemDef OID="LB.LBBLFL"
Name="LBBLFL"
DataType="text"
Length="1"
Origin="Derived"
Role="Record Qualifier"
Comment="SDTM.LB is sorted by USUBJID, LBTESTCD, and LBDTC. Set LBBLFL to 'Y' for last non-missing value and where SDTM.LBDTC is less than or equal to SDTM.DM.RFSTDTC. For PG data set LBBLFL='Y' if lbdtc<=rfstdtc and lbstat ne 'NOT DONE' ."
def:Label="Baseline Flag">
<CodeListRef CodeListOID="LBBLFL"/>
</ItemDef>
....
<CodeList OID="LBBLFL" Name="LBBLFL" DataType="text">
<CodeListItem CodedValue="">
<Decode>
<TranslatedText xml:lang="en">NULL</TranslatedText>
</Decode>
</CodeListItem>
<CodeListItem CodedValue="Y">
<Decode>
<TranslatedText xml:lang="en">YES</TranslatedText>
</Decode>
</CodeListItem>
</CodeList>
======================================================
And when the Validator runs I get a OD003 error for this and as far as I can tell, the CodedValue is acceptable and it might be a warning, but should not be a severity of high...the SDTM LB data marks some records as baseline, but the others are not baseline; hence LBBLFL is blank
Validatior line:
//CodeList[@OID='LBBLFL']/CodeListItem[1]CodedValue OD0003Required attribute 'CodedValue' is emptyPresenceErrorHighWhat am I missing here?
Thanks in advance...
-Don Hurst