Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright © 2012 Quintiles Define.XML A CASE study describing how to produce Define.XML from within SAS Dianne Weatherall Sep 2012.

Similar presentations


Presentation on theme: "Copyright © 2012 Quintiles Define.XML A CASE study describing how to produce Define.XML from within SAS Dianne Weatherall Sep 2012."— Presentation transcript:

1 Copyright © 2012 Quintiles Define.XML A CASE study describing how to produce Define.XML from within SAS Dianne Weatherall Sep 2012

2 2 Topics for Discussion Why do we create the Define?Requirements to create the Define?What is Define.XML?How do we create the Define in SAS?Summary

3 3 Note Examples and code are based on the Draft Define V2 Slides are based on SDTM Define, but similar principles can be applied to the ADaM Define >Key differences are explained in the Define Draft V2

4 4 WHY

5 5 Why? Requirements?What?How?Summary

6 6 Why? To describe what is included in the electronic data transfer (datasets, variables, codelists, etc) -> METADATA -> an elaborate “PROC CONTENTS” and more To provide a user-friendly document with links to navigate easily, and to access information easily To easily access the annotated CRF and datasets To have a standard format to describe the electronic data transfer Why XML? >Machine readable format for use by software applications >Browser-based report (through the use of an XSL stylesheet) >Vendor neutral, platform independent Why?Requirements?What?How?Summary

7 7 REQUIREMENTS

8 8 Requirements? Metadata in a usable format, easy to capture and ability to import into SAS (recommended format = Excel) >Dataset metadata: list of domains -> name, description, class, structure, purpose, keys, location >Variable metadata: list of variables: -> name, label, type, controlled terms / format, origin, role, comment >Controlled terms: coded value, decode >Value-level metadata: variable, where, type, controlled terms or format, origin, computation method >Computational algorithms: reference name, name, computation method Data in XPT format Annotated CRF in PDF format Supporting documentation: >Reviewers guide / complex algorithms in PDF format Why?Requirements?What?How?Summary

9 9 Requirements? Example: dataset metadata Why?Requirements?What?How?Summary

10 10 Requirements? Example: variable metadata Why?Requirements?What?How?Summary

11 11 Requirements? Example: controlled terms >Usually includes all possibilities on the CRF, not only those in the data >Needs to be set up from the CRF, not the data Why?Requirements?What?How?Summary

12 12 Requirements? Example: value-level metadata >2 types: SUPPQUAL (QVAL) and FINDINGS (ORRES) >Can be generated from the data, especially electronic labs Why?Requirements?What?How?Summary

13 13 Requirements? Example: computational algorithms >Used for standard algorithms that can be applied across variables >Very long derivations should rather be specified in a PDF file, and linked from the variable comment Why?Requirements?What?How?Summary

14 14 Requirements? Specification vs Metadata >Specification -Instructions to a programmer to get to the final SDTM / ADaM dataset -Contains derivations that often refer to raw variable names (for programming) -May contain SAS code in some cases -May refer to other documents (e.g. SAP etc) >Metadata -Describes the contents of the final SDTM/ADaM dataset -Contains derivations that describe in words how the data was derived (for traceability and reviewer information) -Does not contain SAS code and does not refer to raw variables -Contains links to other documents Why?Requirements?What?How?Summary

15 15 Requirements? Specification vs Metadata >To combine or not to combine? -It makes sense to create one document that serves both purposes »Prevents rework »Consistency »Less work »BUT… make sure you separate programmer notes from reviewer comments >Example: Why?Requirements?What?How?Summary

16 16 WHAT

17 17 What? Define.XML with and without stylesheet

18 18 What? Why?Requirements?What?How?Summary

19 19 What? Why?Requirements?What?How?Summary

20 20 What? Why?Requirements?What?How?Summary

21 21 What? Why?Requirements?What?How?Summary

22 22 What? Why?Requirements?What?How?Summary

23 23 What? Define-XML Version can be used for SDTM and ADaM Terminology: >Def: declaration of an object >Ref: reference to an object >OID: identify a metadata object Validation of the Define.XML: >It must properly reference versions of the CDISC standards >Conform to schemas >Meet all requirements of the Define-XML Specification >Can be checked using OpenCDISC according to defined rules Why?Requirements?What?How?Summary

24 24 What? Structure of the XML file >XML header, the ODM root element, Study and MetaDataVersion >Linked supporting PDF documents (e.g. aCRF) >Value List definitions (e.g. for Supplemental Qualifiers / Findings Tests) >Where Clause definitions (referenced in Value List definitions) >Dataset definitions (ItemGroup) >Variable definitions (ItemDef) >Code List definitions (Codelist) >Methods definitions (MethodDef) >Comments definitions (CommentDef) >Leafs definitions Why?Requirements?What?How?Summary

25 25 HOW

26 26 PREPARATION BEFORE WRITING TO XML FILE >Create XPT files of the SDTM datasets >Import the specifications into SAS and create a dataset containing the Dataset and Variable metadata >Import the methods into SAS and merge onto the metadata by the method name >XML does not like special characters – convert characters to text >Create a value-level metadata dataset by choosing “TESTCD”, “PARMCD” and “QNAM” variables and obtaining the values in those variables from the data >Create a codelist dataset by running through variables and value-level variables with codelists attached to them and obtaining the values for those variables >Codelists -> set up in specs vs create from data Why?Requirements?What?How?Summary

27 27 How? Create XML file within SAS using: >DATA steps >FILE and PUT statements Why?Requirements?What?How?Summary

28 28 XML Header + ODM root element >Example code: Why?Requirements?What?How?Summary

29 29 XML Header + ODM root element >Example code: Study-specific derivations: - Creation date/time Why?Requirements?What?How?Summary

30 30 XML Header + ODM root element >Example code: Why?Requirements?What?How?Summary Simple FILE and PUT statements Study-specific parameters can be read in using macro parameters or derived - e.g. creation date/time

31 31 Study + MetaDataVersion >Example code: Why?Requirements?What?How?Summary

32 32 Study + MetaDataVersion Why?Requirements?What?How?Summary

33 33 Study + MetaDataVersion >Example code: Simple FILE and PUT statements – use the MOD option on the FILE statement to append to the text file Study-specific parameters can be read in using macro parameters or derived - e.g. study name and description Why?Requirements?What?How?Summary

34 34 Linked supporting PDF documents (e.g. aCRF) + Leafs definition >Example code: Why?Requirements?What?How?Summary

35 35 Linked supporting PDF documents (e.g. aCRF) + Leafs definition Why?Requirements?What?How?Summary

36 36 Linked supporting PDF documents (e.g. aCRF) + Leafs definition >Example code: Simple FILE and PUT statements with a MOD option Why?Requirements?What?How?Summary

37 37 Linked supporting PDF documents (e.g. aCRF) + Leafs definition >Example code: Simple FILE and PUT statements with a MOD option Why?Requirements?What?How?Summary

38 38 Value List definitions (e.g. Findings Tests) and Where Clause definitions >Example code: Why?Requirements?What?How?Summary

39 39 Value List definitions (e.g. Findings Tests) and Where Clause definitions >Example code: Why?Requirements?What?How?Summary

40 40 Value List definitions (e.g. Findings Tests) and Where Clause definitions Why?Requirements?What?How?Summary

41 41 Value List definitions (e.g. Findings Tests) and Where Clause definitions >Example code: Why?Requirements?What?How?Summary Example: VSORRES Create a dataset in SAS of value-level variables and their values. Output an ITEMREF statement for each value of VSORRES (e.g. DIABP) and reference a WHERECLAUSE.

42 42 Value List definitions (e.g. Findings Tests) and Where Clause definitions >Example code: Why?Requirements?What?How?Summary Example: VSORRES Output a WHERECLAUSEDEF statement for each value of VSORRES (e.g. DIABP) and use the same WHERECLAUSE name referenced in the ITEMREF.

43 43 Value List definitions (e.g. for Supplemental Qualifiers) and Where Clause definitions >Example code: Why?Requirements?What?How?Summary

44 44 Value List definitions (e.g. for Supplemental Qualifiers) and Where Clause definitions >Example code: Why?Requirements?What?How?Summary

45 45 Value List definitions (e.g. for Supplemental Qualifiers) and Where Clause definitions Why?Requirements?What?How?Summary

46 46 Value List definitions (e.g. for Supplemental Qualifiers) and Where Clause definitions >Example code: Why?Requirements?What?How?Summary Example: SUPPDM.QVAL Output an ITEMREF statement for each value of SUPPDM.QNAM (e.g. RACE1) and reference a WHERECLAUSE.

47 47 Value List definitions (e.g. for Supplemental Qualifiers) and Where Clause definitions >Example code: Why?Requirements?What?How?Summary Example: SUPPDM.QVAL Output a WHERECLAUSEDEF statement for each value of SUPPDM.QVAL (e.g. RACE1) and use the same WHERECLAUSE name referenced in the ITEMREF.

48 48 Dataset definitions (ItemGroup) Dataset Definitions: >Dataset definitions: -ItemGroupDef element -Include references to variable definitions -Include references to actual data file >Variable references: -ItemDef element >Dataset definition: -def:leaf element Why?Requirements?What?How?Summary

49 49 Dataset definitions (ItemGroup) Attributes: >Repeating: -No for datasets with one record per subject -Yes for datasets with more than one record per subject >Mandatory: -Yes for required variables -No for Expected or Permissible variables >Domain: -Name of the domain >IsReferenceData: -Yes for reference datasets (no subjects) -No for subject-level datasets Why?Requirements?What?How?Summary

50 50 Dataset definitions (ItemGroup) >Example code: Why?Requirements?What?How?Summary

51 51 Dataset definitions (ItemGroup) Why?Requirements?What?How?Summary

52 52 Dataset definitions (ItemGroup) >Example code: Why?Requirements?What?How?Summary Example: DM Output ITEMGROUP statement for each domain and include a ITEMREF statement for each variable. Include a link to the dataset.

53 53 Variable definitions (ItemDef) Variable Definitions: >Variable definitions: -ItemDef element >Other elements: -Controlled terminology: CodeList -Value level metadata: def:ValueListDef -Computational method: MethodDef -Comments: def:CommentDef -Origin: def:Origin Why?Requirements?What?How?Summary

54 54 Variable definitions (ItemDef) Data types: >text >integer >float >datetime >date >time >partialDate >partialTime >incompleteDatetime >durationDatetime Why?Requirements?What?How?Summary

55 55 Variable definitions (ItemDef) >Example code: Why?Requirements?What?How?Summary

56 56 Variable definitions (ItemDef) Why?Requirements?What?How?Summary

57 57 Variable definitions (ItemDef) >Example code: Why?Requirements?What?How?Summary Example: DM Output ITEMDEF statement for each variable. Include a link to the BLANKCRF for CRF Page origins and include the page number. This comes from the metadata in specs.

58 58 Code List definitions (Codelist) >Example code: Why?Requirements?What?How?Summary

59 59 Code List definitions (Codelist) >Example code: Why?Requirements?What?How?Summary

60 60 Code List definitions (Codelist) Why?Requirements?What?How?Summary

61 61 Code List definitions (Codelist) Why?Requirements?What?How?Summary

62 62 Code List definitions (Codelist) >Example code: Why?Requirements?What?How?Summary Example: AE.AESEV Output CODELISTREF in the ITEMDEF statement for each variable with a codelist.

63 63 Code List definitions (Codelist) >Example code: Why?Requirements?What?How?Summary Example: AE.AESEV Output a CODELIST statement for each codelist and include each value as a CODEDVALUE. Use the same name for the codelist as referenced in the ITEMDEF statement.

64 64 Methods definitions (MethodDef) >Example code: Why?Requirements?What?How?Summary

65 65 Methods definitions (MethodDef) >Example code: Why?Requirements?What?How?Summary

66 66 Methods definitions (MethodDef) Why?Requirements?What?How?Summary

67 67 Methods definitions (MethodDef) >Example code: Why?Requirements?What?How?Summary Example: EG.EGDRVFL For variables with method attached to them, include the METHODOID in the ITEMREF in the ITEMGROUP statement.

68 68 Methods definitions (MethodDef) >Example code: Why?Requirements?What?How?Summary Example: EG.EGDRVFL Output a METHODDEF statement for each method. Use the same name as referenced in the ITEMREF statement. Include a link to the Complex Algorithms document if required.

69 69 Comments definitions (CommentDef) >Example code: Why?Requirements?What?How?Summary

70 70 Comments definitions (CommentDef) >Example code: Why?Requirements?What?How?Summary

71 71 Comments definitions (CommentDef) Why?Requirements?What?How?Summary

72 72 Comments definitions (CommentDef) >Example code: Why?Requirements?What?How?Summary Example: AE.AEENDY For variables with comments attached to them, include the COMMENTOID in the ITEMDEF. Output a COMMENTDEF statement for each comment. Use the same name as referenced in the ITEMDEF statement.

73 73 SUMMARY

74 74 Summary Define.XML files help to describe what is in an electronic submission of data Define.XML is a user-friendly document when rendered using a stylesheet DATA steps and PUT statements can be used to create a Define.XML file in SAS using dataset, variable and value-level metadata and codelists/method information Why?Requirements?What?How?Summary

75 75 Q&A


Download ppt "Copyright © 2012 Quintiles Define.XML A CASE study describing how to produce Define.XML from within SAS Dianne Weatherall Sep 2012."

Similar presentations


Ads by Google