k Kévin
on

 

Hi

I use Pinnacle 21 to create Define.XML (SDTM-IG version 3.2) and I am faced with a problem that I did not have before.

In the column « Origin » of the sheet « Variables » of the Excel Metadata, I refer to « CRF » (« CRF » in the column « ID », « Annotated CRF » in the column « Title » and « blankcrf.pdf » in the column « Href » of the sheet « Documents ») and I write the corresponding pages in the column « Pages » of the sheet « Variables » too.

But in the compiled Define.XML, the reference to the CRF is unresolved : « CRF [unresolved: LF.blankcrf] [89 ] ».

A notable thing is when I do exactly the same reference in the sheet « Comments » (columns « Document » and « Pages »), it works fine and the reference is understood (« Annotated CRF [89 ] »).

I checked in the XSL style document but I did not achieve to resolve the problem of the column « Origin ». Why the reference to CRF in this column is not understood anymore ? Is it a bug ?

Thanks

Kévin

Forums: Define.xml

j Jozef
on July 20, 2020

Did you take the little effort to have a look (e.g. using NotePad++) at the define.xml XML itself? Did you validate it against the XML-Schema?
You can then easily find out whether it is a problem with the stylesheet, or with the generated XML itself.

What you see in the browser is just a VIEW on the define.xml, not the (machine-readable) define.xml itself.

Jozef

P.S. If it is an error in the XML itself, one can easily correct that using NotePad++ or any other XML editor.
P.S.2: Define-XML-s should be created pre-study, not post-study from the XPT files.

Lex
on July 20, 2020

I believe the issue is that there is some underlying hard-coding in the implementation. It is not a stylesheet issue. Actually, the sylesheet helps you trouble-shooting, because it mentions that it expects to find a document leaf with ID="LF.blankcrf" (or actually, in the XML it is leafID="LF.blankcrf"). 

Apparently, the references from the variables to the Annotated CRF are hardcoded as "LF.blankcrf".

Try using ID="blankcrf" in the ID column in the "Documents". I think the application will add "LF.".
And then in the Comments column you may have to update the "Document" column to match "LF.blankcrf".

Instead of trying to edit in the XML, always make sure that the metadata entered conforms to the metadata requirements as set by the tool. You should never have to edit the raw Define-XML document.

Lex  

j Jozef
on July 21, 2020

As Lex stated, in the ideal world (of good software), you should never need to edit the XML itself. That should be a "method of last resort". But during the "Define-XML courses" of CDISC, we learn people to understand the underlying XML, so that they can do so, or even to write their own software to set up or generate the define.xml, ideally upfront, and not just a few days before submission...

Essentially, good software should just have a dropbox for "source", and when you select "CRF", it should pop up a window ("wizard") to add the pages. There is even excellent software on the market that analyzes the PDF and suggests the page numbers.

k Kévin
on July 22, 2020

Hello

Thank you both for your help. 

I have resolved my problem by replacing "LF.blankcrf" in the XML code by "LF.CRF". 

Have a nice day. 

Kévin

b Bert
on October 31, 2020

Hello all,

I did some research on this topic after having been confronted with a « CRF [unresolved: LF.blankcrf] [89 ] » issue myself and having read this thread. On the Documents tab, I used the ID "crf" and the Href "blankcrf.pdf". This resulted in the following.

Definition of the leaf:
         <def:leaf ID="LF.crf" xlink:href="blankcrf.pdf">
            <def:title>SDTM annotated CRF</def:title>
         </def:leaf>

Reference to the annotated CRF in the top of the left part of the screen:
         <def:AnnotatedCRF>
            <def:DocumentRef leafID="LF.crf"/>
         </def:AnnotatedCRF>

Reference to the CRF pages in the "Origin / Source / Method / Comment" columns:
            <def:Origin Type="CRF">
               <def:DocumentRef leafID="LF.blankcrf">
                  <def:PDFPageRef Type="PhysicalRef" PageRefs="98 99"/>
               </def:DocumentRef>
            </def:Origin>

Basically, Pinnacle21 takes the ID value on the Documents tab for defining the leaf ID, and also takes the ID value on the Documents tab for indicating the leaf ID in the syntax part placing the annotated CRF reference in the upper left corner of the screen, but then takes the Href value minus the ".pdf" for indicating the lead ID in the syntax parts describing the "Origin / Source / Method / Comment" columns.

Lex's suggestion to use "blankcrf" as ID value and "blankcrf.pdf" as Href value is the correct solution. More in general, what we need to do, is making the ID value equal to the file name of the annotated CRF minus the ".pdf", and of course making the Href value equal to the file name of the annotated CRF.
If the annotated CRF is called "blankcrf.pdf", the ID value must become "blankcrf" and the Href value must become "blankcrf.pdf". And if the annotated CRF is called "acrf.pdf", the ID value must become "acrf" and the Href value must become "acrf.pdf".
I tried this out; this works.
But watch out: The abbreviations "ACRF" and "acrf" may be different for internet browsers.

Best regards,

Bert

Lex
on November 1, 2020

Just be aware that this discussion is about how a particular application (P21) has implemented Define-XML and the requirements of the application. The Define-XML specification does not define any relation between the ID value and values of other attributes (href, ...). 

As a personal preference, I think software should create ID values and not let users having to define them.

Lex

 

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.