m Matthias
on

 

Hello,

 

In a Define.xml v2.1 P21C validation we are getting DD0007 - "Invalid content was found starting with element 'Description'" output (546 rows):

P21 output 1

This seems to be occuring within the CodeListItem elements.

<CodeListItem CodedValue="DRUG INTERRUPTED">
          <Decode>
                <TranslatedText xml:lang="en">Drug Interrupted</TranslatedText>
          </Decode>
          <Alias Context="nci:ExtCodeID" Name="C49501" />
          <Description>
              <TranslatedText xml:lang="en">An indication that a medication schedule was modified by temporarily terminating a prescribed regimen of medication. (NCI)</TranslatedText>
          </Description>

</CodeListItem>

Per the Define-XML v2.1 specifications this should be allowed (also with the TranslatedText child element):

Define-XML v2.1 specifications

As a test I moved the Description element within the Decode element for 2 CodeListItem elements:

        <CodeListItem CodedValue="DRUG INTERRUPTED">
            <Decode>
                <TranslatedText xml:lang="en">Drug Interrupted</TranslatedText>
                <Description>
                    <TranslatedText xml:lang="en">An indication that a medication schedule was modified by temporarily terminating a prescribed regimen of medication. (NCI)</TranslatedText>
                </Description>

            </Decode>
            <Alias Context="nci:ExtCodeID" Name="C49501" />
        </CodeListItem>

Strangely enough, when validating this updated Define.xml with P21C the number of DD0007 output went from 546 to 2, to me this makes no sense. Changing two CodeListItem elements should not remove the DD0007 output of the other 544 occurences.

P21 output 2

Investigating further we found that there is a discrepancy between the Define-XML v2.1 specifications and ODM-XML v1.3.2 (referenced in section 2.2 "References" of Define-XML v2.1 specs). In ODM-XML v1.3.2 the Description element is not listed as a possible child element of CodeListItem (section 3.1.1.3.2.1 Description), while in the Define-XML v2.1 specs it is allowed.

from ODM-XML v1.3.2:

ODM-XML v1.3.2

The DD0007 rule states "Define.xml must only contain elements that are defined in either ODM or Define-XML specifications. The elements must also follow the cardinality and order specified in the specifications.", so it seems the validation only takes the ODM into account in this case and not the Define-XML specs.

Am I missing something or can this be considered a false positive?

Thanks!

Forums: Define.xml

j Jozef
on December 7, 2023

I think this is an error in the Define-XML v.2.1 specification. It states that there are 3 possible child elements, in the order:
- Decode (with TranslatedText),
- Alias
- Description
When I however look into the XML-Schema, I do not see "Description" defined as a child element of CodeListItem.
I was also a bit surprised, as usually, "Description" is the first child element, and I do not see a use case for a description on CodeListItem, as that should essentialyl be in Decode/TranslatedText.

Best is always to first validate against the XML-Schema anyway.

Lex, can you comment?

 

 


 

Lex
on December 7, 2023

In Define-XML v2.1 the Description element was added as a child element for both the CodeList/EnumeratedItem element and the CodeList/CodeListItem element as there was a use case for describing for codelist item values.

This has been documented in the Define-XML v2.1 specification and the XML Schema (look at the define-extension.xsd schema file).

The Description element has to come after the Alias element.

It does not make sense to move the Description element within the Decode element. That would throw a schema validation error.

To summarize, the example presented in the original issue is correct. It conforms to Define-XML v2.1 specification and Define-XML v2.1 XML Schema.
I also agree with Jozef that XML Schema validation is always recommended. 
Tools supporting Define-XML should not contradict results from XML Schema validation. 

Best,
Lex

 

j Jozef
on December 8, 2023

Aaaah! Thanks Lex, learning from you again ... :-)
I indeed didn't look into the extenion schema define-extension.xsd.
@Matthias: how did you generate your define.xml, not starting from a spreadsheet I hope ...

m Matthias
on December 8, 2023

Thanks both for the quick and insightful replies!

@Jozef: We don't start from a spreadsheet for generating define.xml's. Why do you ask?

j Jozef
on December 8, 2023

I asked just out of curiosity, also as I am a Define-XML trainer for CDISC, and we want to have an impression of what (advanced? GUI-based? ...) tools people are using for developing and generating Define-XML-s.

m Matthias
on December 8, 2023

We use an in-house developed tool for generating the define.xml!

Trevor
on December 12, 2023

Hi Matthias,

May I ask:

  • What version of P21C you are using?
  • How are you validating your define.xml, with data or define only?
  • What engine and standard are you using?

Thanks

Trevor
Sr. Manager, P21 Product Management 

t Travis
on December 12, 2023

Hi Matthias,

Can you also confirm it is Define 2.1? I was looking through the schema files and saw that support for a Description element is only supported in Define 2.1 (not Define 2.0).

You can usually tell if it is Define 2.1 by looking at the XML file in a text editor and checking the versions match what I highlighted in the image below:

A picture of the version-identifying information in define.xml.

I experimented moving around the Description element in a valid Define 2.1 document and confirmed that DD0007 is not fired when it's the last element under CodeListItem/EnumeratedItem. It's not allowed anywhere within those elements in Define 2.0.

 

Thanks,

Travis

Want a demo?

Let’s Talk.

We're eager to share and ready to listen.

Cookie Policy

Pinnacle 21 uses cookies to make our site easier for you to use. By continuing to use this website, you agree to our use of cookies. For more info visit our Privacy Policy.