How close, if at all, do we want the DDS structure to follow the define-xml structure? For example, do we want to continue the approach of defining things once and referencing them as often as needed? Do we define items once, and then common items such as STUDYID can be referenced from multiple itemgroupdefs? In JSON this translates to item attributes within itemgroups that are not inlined, so define-xml itemrefs translate to a list of OIDs for the items attribute. If so, what do we do with something like method references? Keep in mind that in define.xml, a method is referenced, not from the itemdef (like codelists and valuelists), but from the itemref. In other words, a method is not a defining attribute of an item. How does this translate to json, which allows for non-inlined OID references, but there's no room for method references?
On the other hand, if we insist on everything being inlined, then we have to re-define STUDYID every time we use it. This can get messy for items that then reference codelists.
Or is there a middle ground?
How close, if at all, do we want the DDS structure to follow the define-xml structure? For example, do we want to continue the approach of defining things once and referencing them as often as needed? Do we define items once, and then common items such as STUDYID can be referenced from multiple itemgroupdefs? In JSON this translates to item attributes within itemgroups that are not inlined, so define-xml itemrefs translate to a list of OIDs for the items attribute. If so, what do we do with something like method references? Keep in mind that in define.xml, a method is referenced, not from the itemdef (like codelists and valuelists), but from the itemref. In other words, a method is not a defining attribute of an item. How does this translate to json, which allows for non-inlined OID references, but there's no room for method references?
On the other hand, if we insist on everything being inlined, then we have to re-define STUDYID every time we use it. This can get messy for items that then reference codelists.
Or is there a middle ground?