t Thierry
on

 

Hi,

I just validated an adam define.xml with the latest P21 3.0.1, and I get a few messages "DD0042 - Missing Method reference". They seem to occur in two situations:

1. variable A is derived, and has no derivation explanation, because there is value-level metadata for A where X and A where Y, each with a different derivation explanation.

2. variable A is derived, and has a derivation explanation, but also has value-level metadata for A where X and A where Y, because they have different codelists, without derivation explanation, as it is the same as the global variable.

I think the message is incorrect in these figure cases (the derivation is fully documented in both cases). We could add "see value-level metadata" in the first case, and "see global derivation explanation" in the second case to please your validation engine, but this is just re-stating something that is part of the very structure of the define.xml. Or am I missing something?

Cheers
-- Thierry

Forums: Troubleshooting and Problems

j Jozef
on September 2, 2019

Hi Thierry,

As one of the developers of the Define-XML standard, I can explain a bit more.
First of all (very clearly explained in the specification), it is your choice whether to have 'def:Origin/@Type="Derived"' at the variable (the "upper" level) or at the valuelist level.
If you state "Derived" already at the variable (upper) level, a reference to a method is already expected there. The specification states about "MethodOID":
"This attribute and the associated MethodDef are Required when the Type attribute for the def:Origin child element of the referenced ItemDef is „Derived‟. Otherwise, this attribute is Optional".
If you do NOT specify "derived" at the variable (upper level), but "delegate" that to the value-level (which I consider the better practice), there is only an obligation to provide the method at the value-level. You don't have to provide it at the variable level. In this case I would NOT provide it at the variable level, as that would be confusing.
If you DO specify "derived" at the variable (upper level) and NOT at the value-level, we regard this as that the methods are inherited at the value-level from the variable (upper level).

Everything else is an overinterpretation of the standard.

I would recommend NOT to add "see value-level metadata" in your case 1, as essentially, the define.xml is in first instance a machine-readable document (that is what is was developed for), and as "see value-level metadata" is not a method/derivation description at all.

IMO best practice is to have "derived" and the reference to the method either at the variable level, or either at the value-level, not at both. Having it at both levels is however also not an error, just confusing.

Meilleures salutations,
Jozef

t Thierry
on September 2, 2019

Hi Jozef,

My understanding was that the origin could be left null if the VLM had different origins. When all VLM have the same origin, if I understand well, you advise also to leave it null at the global variable level? That seems strange to me, but why not.

And in case (2), what would you do? Not give the origin "derived" at the value-level metadata? Is that allowed?

Cheers,
-- Thierry

j Jozef
on September 2, 2019

Hi Thierry,

When all the VLM have the same origin, you do have the choice. However, take into account that when you set "derived", you MUST provide a method at that level. 
For your case (2), having it "inherited" is allowed - machines understand that very well, humans (reviewers) not always. For clarity for the latter however, my personal (I say personal) preference would be to provide all metadata, including "origin" and "method" only at the deepest level, i.e. the "value-level".

With best regards,
Jozef

Lex
on September 2, 2019

With the latest v2.0 PhUSE developed stylesheet the VLM records are no longer in a separate table, and I think it is much easier to understand for a reviewer how variable metadata and value level metadata relate.

The latest stylesheet (2018-11-21) can be found at: https://wiki.cdisc.org/display/PUB/Stylesheet+Library

-- 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.