copyright © 2012 quintiles define.xml a case study describing how to produce define.xml from within...

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

Upload: jimmy-gadsden

Post on 01-Apr-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

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

Copyright © 2012 Quintiles

Define.XMLA CASE study describing how to produce

Define.XML from within SAS

Dianne WeatherallSep 2012

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

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

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

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

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

4

WHY

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

5

Why?

Why? Requirements? What? How? Summary

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

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

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

7

REQUIREMENTS

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

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

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

9

Requirements?

• Example: dataset metadata

Why? Requirements? What? How? Summary

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

10

Requirements?

• Example: variable metadata

Why? Requirements? What? How? Summary

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

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

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

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

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

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

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

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

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

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

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

16

WHAT

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

17

What?

• Define.XML with and without stylesheet

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

18

What?

Why? Requirements? What? How? Summary

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

19

What?

Why? Requirements? What? How? Summary

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

20

What?

Why? Requirements? What? How? Summary

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

21

What?

Why? Requirements? What? How? Summary

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

22

What?

Why? Requirements? What? How? Summary

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

23

What?

• Define-XML Version 2.0.0 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

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

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

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

25

HOW

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

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

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

27

How?

• Create XML file within SAS using:> DATA steps> FILE and PUT statements

Why? Requirements? What? How? Summary

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

28

XML Header + ODM root element

> Example code:

Why? Requirements? What? How? Summary

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

29

XML Header + ODM root element

> Example code:

Study-specific derivations:- Creation date/time

Why? Requirements? What? How? Summary

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

30

XML Header + ODM root element> Example code:

Why? Requirements? What? How? Summary

Simple FILE and PUT statementsStudy-specific parameters can be read in using macro parameters or derived- e.g. creation date/time

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

31

Study + MetaDataVersion

> Example code:

Why? Requirements? What? How? Summary

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

32

Study + MetaDataVersion

Why? Requirements? What? How? Summary

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

33

Study + MetaDataVersion

> Example code:

Simple FILE and PUT statements – use the MOD option on the FILE statement to append to the text fileStudy-specific parameters can be read in using macro parameters or derived- e.g. study name and description

Why? Requirements? What? How? Summary

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

34

Linked supporting PDF documents (e.g. aCRF) + Leafs definition> Example code:

Why? Requirements? What? How? Summary

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

35

Linked supporting PDF documents (e.g. aCRF) + Leafs definition

Why? Requirements? What? How? Summary

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

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

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

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

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

38

Value List definitions (e.g. Findings Tests) and Where Clause definitions> Example code:

Why? Requirements? What? How? Summary

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

39

Value List definitions (e.g. Findings Tests) and Where Clause definitions> Example code:

Why? Requirements? What? How? Summary

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

40

Value List definitions (e.g. Findings Tests) and Where Clause definitions

Why? Requirements? What? How? Summary

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

41

Value List definitions (e.g. Findings Tests) and Where Clause definitions> Example code:

Why? Requirements? What? How? Summary

Example: VSORRESCreate 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.

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

42

Value List definitions (e.g. Findings Tests) and Where Clause definitions> Example code:

Why? Requirements? What? How? Summary

Example: VSORRESOutput a WHERECLAUSEDEF statement for each value of VSORRES (e.g. DIABP) and use the same WHERECLAUSE name referenced in the ITEMREF.

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

43

Value List definitions (e.g. for Supplemental Qualifiers) and Where Clause definitions> Example code:

Why? Requirements? What? How? Summary

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

44

Value List definitions (e.g. for Supplemental Qualifiers) and Where Clause definitions> Example code:

Why? Requirements? What? How? Summary

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

45

Value List definitions (e.g. for Supplemental Qualifiers) and Where Clause definitions

Why? Requirements? What? How? Summary

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

46

Value List definitions (e.g. for Supplemental Qualifiers) and Where Clause definitions> Example code:

Why? Requirements? What? How? Summary

Example: SUPPDM.QVALOutput an ITEMREF statement for each value of SUPPDM.QNAM (e.g. RACE1) and reference a WHERECLAUSE.

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

47

Value List definitions (e.g. for Supplemental Qualifiers) and Where Clause definitions> Example code:

Why? Requirements? What? How? Summary

Example: SUPPDM.QVALOutput a WHERECLAUSEDEF statement for each value of SUPPDM.QVAL (e.g. RACE1) and use the same WHERECLAUSE name referenced in the ITEMREF.

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

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

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

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

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

50

Dataset definitions (ItemGroup)

> Example code:

Why? Requirements? What? How? Summary

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

51

Dataset definitions (ItemGroup)

Why? Requirements? What? How? Summary

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

52

Dataset definitions (ItemGroup)> Example code:

Why? Requirements? What? How? Summary

Example: DMOutput ITEMGROUP statement for each domain and include a ITEMREF statement for each variable. Include a link to the dataset.

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

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

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

54

Variable definitions (ItemDef)

• Data types:> text> integer> float> datetime> date> time> partialDate> partialTime> incompleteDatetime> durationDatetime

Why? Requirements? What? How? Summary

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

55

Variable definitions (ItemDef)

> Example code:

Why? Requirements? What? How? Summary

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

56

Variable definitions (ItemDef)

Why? Requirements? What? How? Summary

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

57

Variable definitions (ItemDef)

> Example code:

Why? Requirements? What? How? Summary

Example: DMOutput 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.

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

58

Code List definitions (Codelist)

> Example code:

Why? Requirements? What? How? Summary

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

59

Code List definitions (Codelist)

> Example code:

Why? Requirements? What? How? Summary

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

60

Code List definitions (Codelist)

Why? Requirements? What? How? Summary

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

61

Code List definitions (Codelist)

Why? Requirements? What? How? Summary

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

62

Code List definitions (Codelist)

> Example code:

Why? Requirements? What? How? Summary

Example: AE.AESEVOutput CODELISTREF in the ITEMDEF statement for each variable with a codelist.

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

63

Code List definitions (Codelist)

> Example code:

Why? Requirements? What? How? Summary

Example: AE.AESEVOutput 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.

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

64

Methods definitions (MethodDef)

> Example code:

Why? Requirements? What? How? Summary

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

65

Methods definitions (MethodDef)

> Example code:

Why? Requirements? What? How? Summary

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

66

Methods definitions (MethodDef)

Why? Requirements? What? How? Summary

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

67

Methods definitions (MethodDef)

> Example code:

Why? Requirements? What? How? Summary

Example: EG.EGDRVFLFor variables with method attached to them, include the METHODOID in the ITEMREF in the ITEMGROUP statement.

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

68

Methods definitions (MethodDef)

> Example code:

Why? Requirements? What? How? Summary

Example: EG.EGDRVFLOutput 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.

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

69

Comments definitions (CommentDef)> Example code:

Why? Requirements? What? How? Summary

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

70

Comments definitions (CommentDef)

> Example code:

Why? Requirements? What? How? Summary

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

71

Comments definitions (CommentDef)

Why? Requirements? What? How? Summary

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

72

Comments definitions (CommentDef)

> Example code:

Why? Requirements? What? How? Summary

Example: AE.AEENDYFor 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.

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

73

SUMMARY

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

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

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

75

Q&A