310 likes | 429 Views
How to Talk to Your Statistician… Reaching a Common Understanding. George B. Stoms Vital Systems, Inc. George.Stoms@VTLsys.com (847) 458-2900 x222. Before we begin… . Keeping Roles & Responsibilities in Perspective…. Before we begin… . The Statistician’s Nightmare….
E N D
How to Talk to Your Statistician… Reaching a Common Understanding George B. Stoms Vital Systems, Inc.George.Stoms@VTLsys.com (847) 458-2900 x222 Annual US WHo Drug Dictionary user group meeting, October 27, 2011
Before we begin… KeepingRoles &Responsibilitiesin Perspective… Annual US WHo Drug Dictionary user group meeting, October 27, 2011
Before we begin… The Statistician’s Nightmare… Annual US WHo Drug Dictionary user group meeting, October 27, 2011
Before we begin… Every Non-Statistician’s Dream…? Annual US WHo Drug Dictionary user group meeting, October 27, 2011
UMC User Group Survey A recent survey of WHO Drug Dictionary Users provided some insight into the “state” of use within companies. As we go through this, please think about what is done at your company. Source: WHO Drug Dictionary - European User Group Presentation by Petra Barth Annual US WHo Drug Dictionary user group meeting, October 27, 2011
Preliminary result from survey Annual US WHo Drug Dictionary user group meeting, October 27, 2011 • Generally happy with the quality and quantity of the communication between coders analysis – but: • involve coders in meetings • Coders should be included in meetings • Coders and analysis team not always invited or present at all internal team meetings • The coders (dictionary experts) should be brought in more often for consultation. • An actual meeting with statistics discussing the analysis plan, dictionary version being used, conventions, • Additional training would be helpful so that we each understand one another's jobs. The industry tends to work in silos and not see the big picture.
The expert Annual US WHo Drug Dictionary user group meeting, October 27, 2011
The expert Annual US WHo Drug Dictionary user group meeting, October 27, 2011
ATC assigment Annual US WHo Drug Dictionary user group meeting, October 27, 2011
ATC - process Annual US WHo Drug Dictionary user group meeting, October 27, 2011
ATC – if it is not available Annual US WHo Drug Dictionary user group meeting, October 27, 2011 • ATC selection is sometimes difficult or impossible – for example if none of the available ATC classes fit the indication or if no indication is given. Does your organization have a principle for how to handle this? • Select an ATC that captures the "typical" indication • query the site for more specifics
ConMed lists Annual US WHo Drug Dictionary user group meeting, October 27, 2011
Presentation and Analysis of ConMeds There are important distinctions between: DRUG CLASS INDICATION Purpose for taking this particular instance of dosing Similar Anatomic Target / Action Similar Therapeutic PurposesSimilar Pharmacologic Form Similar Chemical Structures Annual US WHo Drug Dictionary user group meeting, October 27, 2011
CM Coding to ATC… CRFCM WHO Drug(version) DrugCode CMDECOD CMCLAS ATC #1? ATC #2? ATC #3? Medications in a given Drug Class Annual US WHo Drug Dictionary user group meeting, October 27, 2011
CDISC SDTM: ATC codes • “By knowing the dictionary and version used, the reviewer will be able to obtain intermediate levels in a hierarchy (as in MedDRA), or a drug’s ATC codes (as in WHO Drug). The dictionary version should be listed in the Comments column of the Define data Definition document.” • Implementation Guide 3.1.1 • “CMDECOD with the drug’s generic name, and CMCLAS with the drug class only if the dictionary used codes drugs to a single class. When using WHODRUG, for example, CMCLAS would not be filled since a drug may have multiple classes.” • “Use only when the dictionary used codes to a single class. If using a dictionary that allows links to multiple classes, then omit CMCLAS from the dataset. For example, sponsors who use WHO Drug, which allows links from a medication to multiple ATC codes, would not include CMCLAS.” • Implementation Guide 3.1.2 • “CMDECOD with the drug's generic name, and CMCLAS with the drug class used for the sponsor’s analysis and summary tables. If coding to multiple classes, follow assumption 4.1.2.8.1 or omit CMCLAS.” Annual US WHo Drug Dictionary user group meeting, October 27, 2011
CM Coding to ATC… CRFCM WHO Drug(version) DrugCode CMDECOD CMCLAS CRFMH Related Record MeaningfulGrouping MedDRA(version) LLT CRFAE PT Related Record SOC Medications taken for… For more information, please refer toOct 28, 2011 MedDRA User Group presentation Annual US WHo Drug Dictionary user group meeting, October 27, 2011
“An elephant is a mouse built to government specifications.”- Lazarus Long But what should we call it when we build something to “industry mythology” about government specifications??? Where do regulations specify coding indication to ATC? Annual US WHo Drug Dictionary user group meeting, October 27, 2011
Impediments to change… Some reluctance is due to • Change (“We’ve always done it this way”) • Stakeholders, Pilot Studies, Timing/Planning • Lack of tools for SAS programmers to import and relate relevant datasets within the dictionary • Lack of tools for programmers to join the dictionary to the clinical datasets (CM, AE, MH) • Lack of clarity on what analyses are needed by Regulatory Authority / Company Annual US WHo Drug Dictionary user group meeting, October 27, 2011
WHO Drug Dictionary (Version C) Annual US WHo Drug Dictionary user group meeting, October 27, 2011
WHO Drug Dictionary (Version B2) DD DDA INA Annual US WHo Drug Dictionary user group meeting, October 27, 2011
SAS: 1 - Configuration Program * SETUP DRIVE AND ROOT MAPPING; %let drive=c:; %let root=\data\WHOdd; %let SasData=\SAS\sd2; ***************************************************************; * UPDATE SOURCE; %let UMC=\UMC\2009-03; %let DictFiles=\9145_who_dd_mar_1_2009\B2; * UPDATE VERSION AND FORMAT; %let DictProduct=DD; * DD or DDE or DDE-HERBAL; %let DictVersion=2009-MAR; * YYYY-MMM; %let DictFormat=B2; * B2 or C; ***************************************************************; * INPUT FOLDER; filename UMC "&drive.&root.&UMC.&DictFiles."; * OUTPUT FOLDER; libname SASdata "&drive.&root.&UMC.&SasData."; DD DDA INA %include “{Your File Location Here}\WHOdd_config.sas"/nosource2; Annual US WHo Drug Dictionary user group meeting, October 27, 2011
1 2 3 SAS: 2a – Import DD (drug names) data SASdata.dd; infile umc("dd.txt") missover; length WHOdrug $30. DrugName $45.; input DrugID 1 - 6 Seq1 7 - 8 Seq2 9 - 11 ChkDgt 12 Desig $ 13 SourceYr 14 - 15 SourceCd $ 16 - 19 CompnyCd $ 20 - 24 NoIngred 25 - 26 SaltEstr 27 CodeYr 28 - 29 CodeQtr 30 UMCName $ 31 – 75 ; label DrugID ="Drug Record Number" Seq1 ="Sequence #1" Seq2 ="Sequence #2" ChkDgt ="Check digit" Desig ="Designation" SourceYr ="Source Year" SourceCd ="Source Code" CompnyCd ="Company Code" NoIngred ="Number of ingredients" SaltEstr ="Salt/ester code" CodeYr ="Year Coded" CodeQtr ="Quarter Coded" DrugName ="Drug name" UMCName ="UMC Full Drug Name" WHOdrug ="Drug Dict Version" ; * STRIP OFF UMC SLASHED MODIFIERS; DrugName=UMCName; if ( substr(UMCName,36,1)="/" & substr(UMCName,45,1)="/" ) then DrugName=substr(UMCName,1,35); WHOdrug="&DictProduct."||" "||"&DictVersion."||" "||"&DictFormat."; run; DD DDA INA Annual US WHo Drug Dictionary user group meeting, October 27, 2011
4 SAS: 2b – Import DD (drug names) ** Create Indexes **; proc datasets library=SASdata; modify dd; index create DrugCode=(DrugID Seq1 Seq2) DrugName Compressed; quit; DD DDA INA Annual US WHo Drug Dictionary user group meeting, October 27, 2011
1 2 SAS: 3 – Import DDA (drug to ATC) data dda; infile umc("dda.txt") missover; input DrugID 1 - 6 Seq1 7 - 8 Seq2 9 - 11 ChkDgt 12 ATCcode $ 13 - 19 CodeYr 20 - 21 CodeQtr 22 ATCflag $ 23 ; label DrugID ="Drug Record Number" Seq1 ="Sequence #1" Seq2 ="Sequence #2" ChkDgt ="Check Digit" ATCcode ="ATC Code" CodeYr ="Year Coded" CodeQtr ="Quarter Coded" ATCflag ="Official ATC Code" ; run; DD DDA INA Annual US WHo Drug Dictionary user group meeting, October 27, 2011
1 2 SAS: 4 – Import INA data atc; length ATCcode $7 ATCLevel $1 ATCText $50; infile umc("ina.txt") missover; input @1 ATCcode $7. @8 ATCLevel $1. @9 ATCText $50.; run; ; ** Create Indexes **; proc datasets library=Work; modify atc; index create ATCcode; quit; DD DDA INA Annual US WHo Drug Dictionary user group meeting, October 27, 2011
1 2 3 4 SAS: 5 – Import / Join ATC Levels proc sql; ** Create the ATC_levels table **; create table atc_levels as select a.ATCcode as ATCcode, b.ATCcode as ATC1code, b.ATCtext as ATC1text, case when c.ATCcode = b.ATCcode then "" else c.ATCcode end as ATC2code, case when c.ATCcode = b.ATCcode then "" else c.ATCtext end as ATC2text, case when d.ATCcode = c.ATCcode then "" else d.ATCcode end as ATC3code, case when d.ATCcode = c.ATCcode then "" else d.ATCtext end as ATC3text, case when e.ATCcode = d.ATCcode then "" else e.ATCcode end as ATC4code, case when e.ATCcode = d.ATCcode then "" else e.ATCtext end as ATC4text from (select * from atc) a left join atc b on substr(a.ATCcode,1,1) = b.ATCcode left join atc c on substr(a.ATCcode,1,3) = c.ATCcode left join atc d on substr(a.ATCcode,1,4) = d.ATCcode left join atc e on substr(a.ATCcode,1) = e.ATCcode; quit; ** Create index on atc_levels **; proc datasets lib=work; modify atc_levels; index create ATCcode; quit; DD DDA INA Annual US WHo Drug Dictionary user group meeting, October 27, 2011
1 2 SAS: 6 – Import / Link Drug with ATC levels proc sql; create table SASdata.drug_atc as select a.DrugID, a.ATCcode, b.ATC1code, b.ATC1text, b.ATC2code, b.ATC2text, b.ATC3code, b.ATC3text, b.ATC4code, b.ATC4text from dda a left join atc_levels b on a.ATCcode=b.ATCcode where a.seq1<=001 and a.seq2<=001 order by a.drugid ; quit; ** Create index **; proc datasets lib=SASdata; modify drug_atc; index create DrugID ATCcode; quit; DD DDA INA Annual US WHo Drug Dictionary user group meeting, October 27, 2011
SAS: 7 – Analysis: Many to Many Merge libname whodd “{Your Drive Mapping Here – where WHOdd is}"; libname sasout “{Your Drive Mapping Here – where study data is}"; *** START SAS CODE - MANY TO MANY MERGE (CM & ATC) **********************************************************************************; proc sql; create table sasout.cm_ATC as select a.*, b.* from sasout.cm_coded_DrugID a LEFT JOIN whodd.drug_atc(rename=(drugid=who_drugid)) b on a.drugid=b.who_drugid; quit; run; *** END SAS CODE - MANY TO MANY MERGE **********************************************************************************; CM DD DDA INA Annual US WHo Drug Dictionary user group meeting, October 27, 2011
The Result? • Tables: Grouping by True (all) Drug Class • Tables: Grouping by True (actual) Indication from MH/AE • Analyses: Avoids missed “Drug Class” if taken for another indication or off-label • Less work for Coders • Less work for SAS Programmers • Less work for Medical Writers Annual US WHo Drug Dictionary user group meeting, October 27, 2011
How to Talk to Your Statistician… Reaching a Common Understanding George B. Stoms Vital Systems, Inc.George.Stoms@VTLsys.com (847) 458-2900 x222 Annual US WHo Drug Dictionary user group meeting, October 27, 2011