Drug Safety Content

From IHE Wiki
Jump to navigation Jump to search

Introduction

This is a draft of the Drug Safety Content Profile (DSC) from the QRPH Domain.

Profile Abstract

Drug Safety Content Profile (DSC)

DSC describes the content and format to be used within the Prepopulation Data transaction described within the RFD Integration Profile. The purpose of this profile is to support a standard set of data in CCD format which the Form Filler provides for use in reporting adverse events as it relates to Drug Safety. In addition this profile will reference the ability to convert this output into the ICH E2B(R3) standard.

Glossary

CCD
ASTM/HL7 Continuity of Care Document (CCD)
Drug Safety CCD
Refers to the CCD constrained within the Drug Safety Content (DSC) profile.
E2B(R3)
Clinical Safety Data Management: Data Elements for Transmission of Individual Case Safety Reports
Form Manager
The Form Manager actor provides the store of forms ready for use by a Form Filler.
Form Filler
The Form Filler actor retrieves forms from a Form Manager as and when required. When requesting a form, the Form Filler actor can optionally provide context information by providing pre-population xml data in the request for use by the Form Manager. The Form Filler may also specify a Form Archiver actor. The Form Archiver actor specified by the Form Filler is in addition to any Form Archiver actors specified by the Form Manager.
Form Receiver
The Form Receiver actor receives and processes completed or partially completed forms instance data from a Form Filler. Form Receiver processing is out of the scope of the profile.
Form Archiver
The Form Archiver actor receives completed or partially completed forms instance data and stores these for archival purposes.
Retrieve Form
The Retrieve Form transaction carries the form identifier from a Form Filler to a Form Manager. The transaction also allows a Form Filler to optionally specify a Form Archiver actor as well as optionally containing context information in the form of xml data to be used in the selection and

pre-population of the requested form prior to the form being returned to the Form Filler.

ICH
International Conference on Harmonisation of Technical Requirements for Registration of Pharmaceuticals for Human Use is a joint initiative involving both regulators and research-based industry focusing on the technical requirements for medicinal products containing new drugs.
RFD
Retrieve Form for Data Capture Profile (RFD)
Standard CRF
Refers to a Standard Case Report Form in a ODM format which is mapped to CDASH

Also refer to Glossary of ICH Terms at http://www.ich.org/cache/html/2791-272-1.html

Volume I

Clinical Research Data Capture (CRD)

Dependencies

Content Profile Dependency Dependency Type Purpose
Drug Safety Content Profile (DSC) RFD Integration Profile This is a content profile that will be used in the context of the RFD Integration profile.

Profile Name

The Clinical Research Data Capture Profile (CRD)

CRD describes the content and format to be used within the Prepopulation Data transaction described within the RFD Integration Profile. The purpose of this profile is to support a standard set of data in CCD format which the Form Filler provides for use in Clinical Research. In addition this profile will reference the ability to convert this output into a standard case report form (Standard CRF) consisting of ODM and CDASH.


Use Case

A community-based physician, Dr. Cramp, sees a patient in an outpatient clinic and accesses the patient’s electronic health record which reveals that the patient is on one of the new statin drugs. The physical examination turns up muscle weakness in the patient’s calves, which the physician recognizes as a possible adverse reaction to the statin. He orders a total creatinine kinase lab test to help in diagnosing the problem.

Current State

Dr. Cramp exits the EHR and, using a web browser, goes to http://www.fda.gov/medwatch/. He brings up form FDA 3500, for ‘voluntary reporting of adverse events noted spontaneously in the course of clinical care’. He navigates through several screens of routing and instructions to arrive at the first screen of the actual form, which requests patient identifier, age at time of event or date of birth, sex, and weight; the second screen requests seven entries: a classification of the event, classification of outcome, event date, report date, description, relevant tests (he notes that a test has been ordered), and other relevant history (the last three fields are text entry); the third and fourth screens ask for details about the product; and so forth. In actuality, the current state is that this form is seldom completed.

Desired State

Dr. Cramp sees the patient and accesses the EHR as above. Upon finding the potential problem, he clicks on an ‘Adverse Event Reporting’ button which uses RFD to bring up FDA form 3500, which has been styled to the look and feel of the EHR user interface. [In the Pfizer/Partners ASTER project, the LMR event 'Discontinue Drug for Adverse Event' triggers the form retrieval.] The form is presented with the demographics, product name, and other data elements already completed. Dr. Cramp completes the empty fields of the form and submits directly to the FDA Medwatch site.

When the RFD Form Filler retrieves the XForms from the Forms Manager it automatically provides the data elements specified in the Drug Safety Content Profile which the EHR has retrieved from its database. The forms manager populates the form and returns it to the form filler for display. The physician reviews the partially completed form, and fills in those sections which the content profile did not specify. RFD Form Filler then returns the data to the Forms Receiver.

Actors/Transaction

This content profile addresses the Retrieve Form [IT I-34] transaction with the Pre-population argument between the two actors, Form Filler and Form Manager. The Form Filler can request that the Form Filler context information be used by the Form Manager in the selection and/or creation of the returned form. The sharing of content from one actor to the other is addressed by the appropriate use of IHE profiles described below, and is out of scope of this profile. The Retrieve Form for Data Capture embodies the Form Filler Actor and Form Manager Actor. The sharing of content or updates from one actor to the other is addressed by the use of appropriate IHE profiles described by the 2007-2008 Trial Implementation Supplements to ITI-TF v. 4.0 specifically the Retrieve Form for Data Capture (RFD) suplement.


Clinical Research Data Capture Actor Diagram

Grouping

Content Bindings with RFD

The Retrieve Form for Data Capture Profile (RFD) provides a method for gathering data within a user’s current application to meet the requirements of an external system. RFD supports the retrieval of forms by a Form Filler from a Form Manager optionally using prepopulation data sent from the Form Filler and then further describes display and completion of a form, and return of instance data from the Form Filler to the Form Reciever as well as optionally to a Form Archiver. This content profile will be bound to the prepopulation data transaction described in RFD.

For more details on these profiles, see the IHE IT Infrastructure Technical Framework.

Content profiles may impose additional requirements on the transactions used when grouped with actors from other IHE Profiles.

Options

Actor Option
Clinical Research Data Capture Options
Form Filler CCD Option (1)
CDASH Option (2)
Form Manager CCD Option (1)
CDASH Option (2)

Note 1: The Actor shall support at least one of these options.

Form Filler Options

CCD Option

This option defines that the Form Filler can produce a valid CCD as content for the prepopulation data transaction as defined in RFD. This valid CCD will be further constrained in volume 2 of this profile.

CDASH Option

This option defines that the Form Filler can produce a valid CDASH encoded ODM as content for the prepopulation data transaction as defined in RFD.

Form Manager Options

CCD Option

This option defines that the Form Manager can recieve a valid CCD as content for the prepopulation data transaction as defined in RFD. This valid CCD will be further constrained in volume 2 of this profile. Note the reference implementation that then supports conversion of this CCD into ODM/CDASH.

CDASH Option

This option defines that the Form Manager can recieve a valid CDASH encoded ODM as content for the prepopulation data transaction as defined in RFD. Note the reference implementation will not apply to this option as no transform is needed.

Process Flow

Clinical Research Data Capture Process Flow for CCD Option

In this CCD option, the Form Filler knows which form it wants to retrieve from the Form Manager. In addition the Form Filler wants to send the prepopulation data for this form. The CRD Profile in addition to this CCD option requires that this prepopulation data conform to the Clinical Research CCD. This CCD option requires the Form Manager to accept the Clinical Research CCD format. Inside the Form Manager there is a reference implementation (see section below) that then describes how the Form Manager could transform this Clinical Research CCD into Standard CRF. The data that was sent to the Form Manager is then bound to the form and returned to the Form Filler.

Actor Definitions

Form Manager
The Form Manager actor provides the store of forms ready for use by a Form Filler.
Form Filler
The Form Filler actor retrieves forms from a Form Manager as and when required. When requesting a form, the Form Filler actor can optionally provide context information by providing pre-population xml data in the request for use by the Form Manager. The Form Filler may also specify a Form Archiver actor. The Form Archiver actor specified by the Form Filler is in addition to any Form Archiver actors specified by the Form Manager.

Transaction Definitions

Retrieve Form
The Retrieve Form transaction carries the form identifier from a Form Filler to a Form Manager. The transaction also allows a Form Filler to optionally specify a Form Archiver actor as well as optionally containing context information in the form of xml data to be used in the selection and pre-population of the requested form prior to the form being returned to the Form Filler.

Volume II

Clinical Research Data Capture Content

Standards

CDAR2
Clinical Document Architecture, Release 2, 2005 HL7
CRS
Implementation Guide for CDA Release 2 – Level 1 and 2 – Care Record Summary (US realm), 2006, HL7.
CCD
ASTM/HL7 Continuity of Care Document (Draft)

Data Element Index

CDASH has defined domains and elements within these domains. The Clinical Research CCD described below overlays these domains. This Data Element Index is an attempt to describe which sections are intended to cover which domains.

CDASH Domains CCD Reference
Clinical Research Data Capture Data Elements
Demography CCD Header Information
Medical History Active Problems, Past Medical History, and Procedures and Interventions
Concommitant Medication Current Medications
Substance Use Social History
Vital Signs Vital Signs
Physical Exam Physical Exam
Adverse Events Allergies
Lab Test Results Coded Results
ECG Test Results Coded Results

Document Specification CDASH Option

CDASH Domain Clinical Database Variable Name Optionality Definition
Clinical Research Data Capture Constraints (CDASH Option)
Common Identifiers STUDYID R Unique Identifier for a study within a submission.
SITEID R Unique identifier for the site.
SUBJID R Subject identifier.
INVID O Investigator identifier.
VISIT O Visit Name.
Demography BRTHYR R Year of subject’s birth.
BRTHMO R Month of subject’s birth.
BRTHDY R2 Day of subject’s birth.
BRTHTM O Time of subject’s birth,
SEX R The assemblage of physical properties or qualities by which male is distinguished from female; the physical difference between male and female; the distinguishing peculiarity of male or female. (NCI – CDISC Definition).
AGE O Numeric Age of Subject.
AGEU O Age units.
DMDTC R2 Date of collection.
DMTM (Note: If collected, will be derived into DMDTC.) O Time of collection.
ETHNIC O A social group characterized by a distinctive social and cultural tradition maintained from generation to generation, a common history and origin and a sense of identification with the group; members of the group have distinctive features in their way of life, shared experiences and often a common genetic heritage; these features may be reflected in their experience of health and disease.
RACE R An arbitrary classification based on physical characteristics; a group of persons related by common descent or heredity.
Subject Characteristics SCDTC R2 Date of collection.
SCTM (Note: If collected, will be derived into SCDTC.) O Time of collection.
O The age (in weeks) of the newborn infant, counted from the first day of the woman’s last menstrual period (LMP) or health status indicators / Clinical Estimate (CE).
SCTESTCD O Natural eye color
SCTESTCD O Subject’s childbearing potential
SCTESTCD O Education level achieved at start of study (Reference date)
SCTESTCD O Sub-study participation information.
Medical History MHTERM R Verbatim or preprinted CRF term for the medical condition or event.
MHONG R Identifies the end of the event as being ONGOING or RESOLVED.
MHYN O Lead prompt for the Medical History

(e.g., “Has the subject experienced any past and / or concomitant diseases or past surgeries?”).

MHSPID O O sponsor-defined reference number (e.g., Preprinted line number).
MHCAT O Used to define a category of related records (e.g., CARDIAC or GENERAL).
MHSCAT O A categorization of the condition or event pre-printed on the CRF or instructions.
MHOCCUR O A pre-printed prompt used to indicate whether or not a medical condition has occurred.
MHSTDTC O Start Date of Medical History Event.
MHENDTC O End Date/Time of Medical History Event.
Concommitant Medication CMYN O General prompt question to aid in monitoring and data cleaning.
CMSPID O A sponsor-defined reference number.
CMTRT R Verbatim drug name that is either pre-printed or collected on a CRF.
CMINGRD O Medication Ingredients.
CMINDC R2 The reason for administration of a concomitant (non-study) medication. (e.g., Nausea, Hypertension) This is not the pharmacological/ therapeutic classification of an agent (e.g., antibiotic, analgesic, etc.), but the reason for its administration to the subject.
AESPID O Identifier for the adverse event that is the indication for this medication.
CMDOSTOT R2 Total daily dose taken.
CMDOSFRM O Name of the pharmaceutical dosage form (e.g., tablets, capsules, syrup) of delivery for the drug.
CMDOSFRQ O How often the medication was taken (e.g., BID, every other week, PRN).
CMDSTXT (Note: If collected, will be derived into CMDOSTXT or CMDOSE.) O The dose of medication taken per administration.
CMDOSU O Within structured dosage information, the unit associated with the dose (e.g., "mg" in "2mg three times per day).
CMDOSRGM O Within structured dosage information, the number of units for the interval (e.g., in oncology where drug is given 1 week on, and 3 weeks off).
CMROUTE R2 Identifies the route of administration of the drug.
CMSTDTC R Date when the medication was first taken.
CMSTRF Relative time frame that the medication was first taken with respect to the sponsor-defined reference period.
CMSTTM (Note: If collected, will be derived into CMSTDTC.) R2 Time the medication was started.
CMENDTC R Date that the subject stopped taking the medication.
CMENRF CMONGO (Note: If collected, will be derived into CMENRF.) O Indicates medication is ongoing when no End/Stop Date is provided.
CMENTM (Note: If collected, will be derived into CMENDTC.) R2 Time when the subject stopped taking the medication.
Substance Use SUTRT R The type of substance (e.g., TOBACCO, ALCOHOL, CAFFEINE, etc. Or CIGARETTES, CIGARS, COFFEE, etc.).
SUNCF R Substance Use Occurrence.
SUCAT O Used to define a category of related records (e.g., TOBACCO, ALCOHOL, CAFFEINE, etc.).
SUDOSTXT O Substance use consumption amounts or a range of consumption information collected in text form [e.g., 1-2 (packs), 8 (ounces), etc.].
SUDOSU O Units for SUDOSTXT (e.g., PACKS, OUNCES, etc.).
SUDOSFRQ O Usually expressed as the number of uses consumed per a specific interval (e.g., PER DAY, PER WEEK, OCCASIONAL).
SUSTDTC O Date substance use started.
SUSTTM (Note: If collected, will be derived into SUSTDTC.) O Time substance use started.
SUENDTC O Date substance use ended.
SUENTM (Note: If collected, will be derived into SUENDTC.) O Time substance use ended.
SUDUR O The duration of the substance use.
Vital Signs VSDTC R2 Date of measurements
VSSPID O Sponsor defined reference number
VISITDY O Study day of measurements, measured as integer days
VSTPT O Text description of time when measurement should be taken
VSTM (Note: If collected, will be derived into VSDTC.) O Time of measurements.
VSTEST R Verbatim name of the test or examination used to obtain the measurement or finding.
VSSTAT R2 Used to indicate that a vital signs measurement was not done.
VSORRES R Result of the vital signs measurement as originally received or collected.
VSORRESU R Original units in which the data were collected.
VSLOC R2 Location on body where measurement was performed.
VSPOS R Position of the subject during a measurement or examination.
Physical Exam - Best Practice Approach PESTAT O Used to indicate if exam was not done as scheduled.
PEDTC O Date of examination.
PETM (Note: If collected, will be derived into PEDTC.) O Time of examination.
Physical Exam - Traditional Approach PEDONE O Used to indicate if exam was not done as scheduled.
PEDTC R2 Date of examination.
PETM (Note: If collected, will be derived into PEDTC.) O Time of examination.
PESPID O Sponsor defined reference number.
Adverse Events AEYN O General prompt question to aid in monitoring and data cleaning.
AESPID O A sponsor-defined reference number.
AETERM R Verbatim (i.e., investigator reported term) description of the adverse event.
AESER R Indicates whether or not the adverse event is determined to be “serious” according to the protocol.
AESERTP Or AESCAN AESCONG AESDISAB AESDTH AESHOSP AESLIFE AESOD AESMIE (see below) O Captures the criteria required by protocol for determining why an event is “Serious”.
AESCAN O Captures the criteria required by protocol for determining why an event is “Serious”.
AESCONG O Captures the criteria required by protocol for determining why an event is “Serious”.
AESDISAB O Captures the criteria required by protocol for determining why an event is “Serious”.
AESDTH O Captures the criteria required by protocol for determining why an event is “Serious”.
AESHOSP O Captures the criteria required by protocol for determining why an event is “Serious”.
AESLIFE O Captures the criteria required by protocol for determining why an event is “Serious”.
AESOD O Captures the criteria required by protocol for determining why an event is “Serious”.
AESMIE O Captures the criteria required by protocol for determining why an event is “Serious”.
AESTDTC R Date when the adverse event started.
AESTTM (Note: If collected, will be derived into AESTDTC.) R2 Time when the adverse event started.
AEENDTC R Date when the adverse event resolved.
AEENRF AEONGO O Indicates AE is ongoing when no End/Stop date is provided.
AEENTM (Note: If collected, will be derived into AEENDTC.) R2 Time when the adverse event resolved.
AESEV And/or AETOXGR R Description of the severity of the adverse event.
AEREL R Indication of whether the investigational product had a causal effect on the adverse event, as reported by the clinician/investigator.
AERELTP R2 Captures a category for an investigational product to which an adverse event is related.
AEACN R Action(s) taken with the investigational product in response to the adverse event.
AEACNOTH O Describes Other Action(s) taken in response to the adverse event. (Does not include investigational products)
AEOUT R Description of the subject’s status associated with an event.
Lab Test Results - Scenario 1: Central processing LBDTC R Date of sample collection.
LBTM (Note: If collected, will be derived into LBDTC.) R2 Time of collection.
LBSTAT R Status of whether or not lab was done.
LBCAT LBSCAT R2 Type of draw / category / panel name. Used to define a category of related records.
LBTPT R2 Relative time for use when multiple sequential assessments are done.
LBFAST (for example) R2 Conditions for sampling defined in the protocol.
LBREFID R2 Internal or external specimen identifier.
Lab Test Results - Scenario 2: Local processing LBDTC R Date of sample collection.
LBTM (Note: If collected, will be derived into LBDTC.) R2 Time of collection.
LBSTAT R Status of whether or not lab was done.
LBCAT LBSCAT R2 Type of draw / category / panel name. Used to define a category of related records.
LBTPT R2 Relative time for use when multiple sequential assessments are done.
LBFAST (for example) R2 Conditions for sampling defined in the protocol.
LBSPCCND R2 Free or standardized text describing the condition of the specimen.
LBTESTCD And/or LBTEST R Verbatim name of the test or examination used to obtain the measurement or finding. Note any test normally performed by a clinical laboratory is considered a lab test.
LBORRES R Result of the measurement or finding as originally received or collected.
LBORRESU R Original units in which the data were collected.
LBORNRLO LBORNRHI LBSTNRC R2 Normal range for continuous measurements in original units.

Normal values for non-continuous measurements in original units.

LBNRIND R2 Reference Range Indicator Indicates where value falls with respect to reference range defined by high and low ranges.
LBCLSG (Note: If collected will be mapped to SUPPQUAL domain.) R2 Whether lab test results were clinically significant.
LBNAM R2 Name of lab analyzing sample.
LBREFID R2 Internal or external specimen identifier.
Lab Test Results - Scenario 3: Central processing but CRF includes site assessment… LBDTC R Date of sample collection.
LBTM (Note: If collected, will be derived into LBDTC.) R2 Time of collection.
LBSTAT R Status of whether or not lab was done.
LBCAT LBSCAT R2 Type of draw / category / panel name. Used to define a category of related records.
LBTPT R2 Relative time for use when multiple sequential assessments are done,
LBFAST (for example) R2 Conditions for sampling defined in the protocol.
LBTEST R Verbatim name of the test or examination used to obtain the measurement or finding. Note: any test normally performed by a clinical laboratory is considered a lab test.
LBORRES R2 Result of the measurement or finding as originally received or collected.
LBCLSG (Note: If collected will be mapped to SUPPQUAL domain.) R Whether lab test results were clinically significant.
LBNAM R2 Name of lab analyzing sample.
LBREFID R2 Internal or external specimen identifier.
ECG Test Results - Scenario 1: Central reading… LBDTC R Date of sample collection.
LBTM (Note: If collected, will be derived into LBDTC.) O Time of collection.
SBSTAT R Status of whether or not lab was done.
LBCAT LBSCAT R2 Type of draw / category / panel name. Used to define a category of related records.
LBTPT R2 Relative time for use when multiple sequential assessments are done.
LBFAST (for example) O Conditions for sampling defined in the protocol.
LBREFID O Internal or external specimen identifier.
ECG Test Results - Scenario 2: Local reading: ECGs… EGSTAT R Status of whether or not ECG was done.
EGREASND O Describes why the ECG was not done (e.g., BROKEN EQUIPMENT, SUBJECT REFUSED).
EGDTC R Date of ECG.
EGTM (Note: If collected, will be derived into EGDTC.) R2 Time of ECG.
EGTPT R2 Text description of planned time point when measurements should be taken for use when multiple sequential assessments are done
EGTESTCD And/or EGTEST R Verbatim name of the test or examination used to obtain the measurement or finding.
EGORRES R Result of the measurement or finding as originally received or collected.
EGORRESU R2 Original units in which the data were collected.
EGCLSG (Note: If collected will be mapped to SUPPQUAL domain.) O Whether ECG results were clinically significant.
EGPOS, EGMETHOD (for example) O Condition for testing defined in the protocol.
EGEVAL O Role of the person who provided the evaluation. This should only be used for results that are subjective (e.g., assigned by a person or a group) and do not apply to quantitative results (i.e. ADJUDICATION COMMITTEE, INVESTIGATOR).
EGREFID O Internal or external identifier.
ECG Test Results - Scenario 3: Central reading (as in Scenario 1): But… EGSTAT R Status of whether or not ECG was done.
EGREASND O Describes why the ECG was not done (e.g., BROKEN EQUIPMENT, SUBJECT REFUSED).
EGDTC R Date of ECG.
EGTM (Note: If collected, will be derived into EGDTC.) R2 Time of ECG.
EGTPT R2 Text description of planned time point when measurements should be taken for use when multiple sequential assessments are done.
EGTEST R Verbatim name of the test or examination used to obtain the measurement or finding.
EGORRESU R2 Original units in which the data were collected.
EGCLSG (Note: If collected, will be mapped to SUPPQUAL domain.) R Whether ECG results were clinically significant.
EGORRES R2 Result of the measurement or finding as originally received or collected.
EGORRESU R2 Original units in which the data were collected.
EGNAM R2 Name of vendor providing ECG data.
EGPOS, EGMETHOD (for example) O Conditions for testing defined in the protocol.
EGREFID O Internal or external ECG identifier.


Optionality Key
R Required Section
R2 Required Section if data present
O Optional section

Document Specification CCD Option

Data Element Optionality Template ID
Clinical Research Data Capture Constraints (CCD Option)
Date of Birth R patientRole/patient/birthTime
Gender R patientRole/patient/administrativeGenderCode
Ethnicity O patientRole/patient/ethnicGroupCode
Race R2 patientRole/patient/raceCode
Active Problems R 1.3.6.1.4.1.19376.1.5.3.1.3.6
Past Medical History R2 1.3.6.1.4.1.19376.1.5.3.1.3.8
Procedures and Interventions R2 1.3.6.1.4.1.19376.1.5.3.1.1.13.2.11
Social History R2 1.3.6.1.4.1.19376.1.5.3.1.3.16
Current Medications R 1.3.6.1.4.1.19376.1.5.3.1.3.19
Vital Signs R2 1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2
Physical Exam R2 1.3.6.1.4.1.19376.1.5.3.1.1.9.15
Allergies and Other Adverse Reactions R 1.3.6.1.4.1.19376.1.5.3.1.3.13
Coded Results R2 1.3.6.1.4.1.19376.1.5.3.1.3.28


Header Sample

In order to ensure sufficient coverage to the Demography Domain within CDASH there are some constraints that have been applied to the Clinical Research CCD header. Specifically the Birthdate, Sex, Ethnicity, and Race are specified.

  <recordTarget>
    <patientRole classCode="PAT">
      <id root="27143B24-E580-4F47-9405-3D0DC2BF1223" extension="1022"/>
      <addr>
        <streetAddressLine/>
        <city/>
        <state>FM</state>
        <postalCode/>
        <country>Canada</country>
      </addr>
      <telecom nullFlavor="UNK" use="HP"/>
      <patient classCode="PSN" determinerCode="INSTANCE">
        <name>
          <prefix/>
          <given>Christine</given>
          <family>Smith</family>
          <suffix/>
        </name>
        <ethnicGroupCode code="364699009" displayName="ethnic group" 
          codeSystem="2.16.840.1.113883.6.96" codeSystemName="SNOMED CT"/>
        <administrativeGenderCode code="F" codeSystem="2.16.840.1.113883.5.1"/>
        <birthTime value="20040725"/>
        <raceCode code=”2106-3” codeSystem=”2.16.840.1.113883.5.104”/>
      </patient>
      <providerOrganization classCode="ORG" determinerCode="INSTANCE">
        <id root="2.16.840.1.113883.19.5"/>
      </providerOrganization>
    </patientRole>
  </recordTarget>
Active Problems Sample (1.3.6.1.4.1.19376.1.5.3.1.3.6)
<component>
  <section>    
    <templateId root='2.16.840.1.113883.10.20.1.11'/>
    <templateId root='1.3.6.1.4.1.19376.1.5.3.1.3.6'/>
    <id root=' ' extension=' '/>
    <code code='11450-4' displayName='PROBLEM LIST'
      codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/>
    <text>
      Text as described above
    </text>   
    <entry>
         :
      <!-- Required Problem Concern Entry element -->
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'/>
         :
    </entry>
       
  </section>
</component>
Past Medical History Sample (1.3.6.1.4.1.19376.1.5.3.1.3.8)
<component>
  <section>
    <templateId root='1.3.6.1.4.1.19376.1.5.3.1.3.8'/>
    <id root=' ' extension=' '/>
    <code code='11348-0' displayName='HISTORY OF PAST ILLNESS'
      codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/>
    <text>
      Text as described above
    </text>   
    <entry>
         :
      <!-- Required Problem Concern Entry element -->
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'/>
         :
    </entry>
       
  </section>
</component>
Procedures and Interventions Sample (1.3.6.1.4.1.19376.1.5.3.1.1.13.2.11)
<component>
  <section>
    <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.13.2.11'/>
    <id root=' ' extension=' '/>
    <code code='X-PROC' displayName='PROCEDURES PERFORMED'
      codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/>
    <text>
      Text as described above
    </text>      
    <entry>
      Required and optional entries as described above
    </entry>
       
  </section>
</component>
Social History Sample (1.3.6.1.4.1.19376.1.5.3.1.3.16)
<component>
  <section>    
    <templateId root='2.16.840.1.113883.10.20.1.15'/>
    <templateId root='1.3.6.1.4.1.19376.1.5.3.1.3.16'/>
    <id root=' ' extension=' '/>
    <code code='29762-2' displayName='SOCIAL HISTORY'
      codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/>
    <text>
      Text as described above
    </text>  
       
  </section>
</component>
Current Medications Sample (1.3.6.1.4.1.19376.1.5.3.1.3.19)
<component>
  <section>    <templateId root='2.16.840.1.113883.10.20.1.8'/>
    <templateId root='1.3.6.1.4.1.19376.1.5.3.1.3.19'/>
    <id root=' ' extension=' '/>
    <code code='10160-0' displayName='HISTORY OF MEDICATION USE'
      codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/>
    <text>
      Text as described above
    </text>   
    <entry>
         :
      <!-- Required Medications element -->
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.4.7'/>
         :
    </entry>
       
  </section>
</component>
Vital Signs Sample (1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2)
<component>
  <section>    
    <templateId root='1.3.6.1.4.1.19376.1.5.3.1.3.25'/>
    <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'/>
    <id root=' ' extension=' '/>
    <code code='8716-3' displayName='VITAL SIGNS'
      codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/>
    <text>
      Text as described above
    </text>   
    <entry>
         :
      <!-- Required Vital Signs Organizer element -->
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'/>
         :
    </entry>
       
  </section>
</component>
Physical Exam Sample (1.3.6.1.4.1.19376.1.5.3.1.1.9.15)
<component>
  <section>    
    <templateId root='1.3.6.1.4.1.19376.1.5.3.1.3.24'/>
    <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.15'/>
    <id root=' ' extension=' '/>
    <code code='29545-1' displayName='PHYSICAL EXAMINATION'
      codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/>
    <text>
      Text as described above
    </text>  
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.3.25'/>
        <!-- Optional Vital Signs Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.16'/>
        <!-- Optional General Appearance Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.48'/>
        <!-- Optional Visible Implanted Medical Devices Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.17'/>
        <!-- Optional Integumentary System Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.18'/>
        <!-- Optional Head Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.19'/>
        <!-- Optional Eyes Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.20'/>
        <!-- Optional Ears, Nose, Mouth and Throat Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.21'/>
        <!-- Optional Ears Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.22'/>
        <!-- Optional Nose Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.23'/>
        <!-- Optional Mouth, Throat, and Teeth Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.24'/>
        <!-- Optional Neck Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.25'/>
        <!-- Optional Endocrine System Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.26'/>
        <!-- Optional Thorax and Lungs Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.27'/>
        <!-- Optional Chest Wall Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.28'/>
        <!-- Optional Breasts Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.29'/>
        <!-- Optional Heart Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.30'/>
        <!-- Optional Respiratory System Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.31'/>
        <!-- Optional Abdomen Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.32'/>
        <!-- Optional Lymphatic System Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.34'/>
        <!-- Optional Musculoskeletal System Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.35'/>
        <!-- Optional Neurologic System Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.36'/>
        <!-- Optional Genitalia Section content -->
      </section>
    </component>
    <component>
      <section>
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.1.9.37'/>
        <!-- Optional Rectum Section content -->
      </section>
    </component>
       
  </section>
</component>
Allergies and Other Adverse Reactions Sample (1.3.6.1.4.1.19376.1.5.3.1.3.13)
<component>
  <section>    
    <templateId root='2.16.840.1.113883.10.20.1.2'/>
    <templateId root='1.3.6.1.4.1.19376.1.5.3.1.3.13'/>
    <id root=' ' extension=' '/>
    <code code='48765-2' displayName='Allergies, adverse reactions, alerts'
      codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/>
    <text>
      Text as described above
    </text>   
    <entry>
         :
      <!-- Required Allergies and Intolerances Concern element -->
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'/>
         :
    </entry>
       
  </section>
</component>
Coded Results Sample (1.3.6.1.4.1.19376.1.5.3.1.3.28)
<component>
  <section>
    <templateId root='1.3.6.1.4.1.19376.1.5.3.1.3.28'/>
    <id root=' ' extension=' '/>
    <code code='30954-2' displayName='STUDIES SUMMARY'
      codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/>
    <text>
      Text as described above
    </text>   
    <entry>
         :
      <!-- Required Procedure Entry element -->
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.4.16'/>
         :
    </entry> 
    <entry>
         :
      <!-- Required if known References Entry element -->
        <templateId root='1.3.6.1.4.1.19376.1.5.3.1.4.4'/>
         :
    </entry>
       
  </section>
</component>

Reference Implementation

Clinical Research CCD to Standard CRF (ODM/CDASH) Crosswalk

This section is intended to be a guide as to how a Form Manager would crosswalk a Clinical Research CCD structure into a CDASH compliant ODM structure (Standard CRF). The adopted format for this transformation from one structure to the other is an XSLT. The intent is to have this XSLT not be presented here within the CRD profile and remain static, but to further develop and refine this XSLT as supplemental material. The goal is to allow additional Use Cases to drive different flavors of transformations all of which might be available to be referenced. IHE is developing processes which aren't ready at time of this publication to help maintain source control and facilitate sharing and updating of this as well as other reference transformations. When the IHE process and procedures are determined this section will refer to those documents.

XSLT Sample

<?xml version="1.0" encoding="UTF-8"?>
<!-- mapping CCD to ODM/CDASH elements -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 	xmlns:cda="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exclude-result-prefixes="cda">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="no"/>
	
<xsl:template match="cda:ClinicalDocument">	
	<ODM xmlns:cd="http://www.cdisc.org/ns/odm/v1.3" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ODMVersion="1.3" FileOID="CLL.003" 
		PriorFileOID="CRF_CLL_v1.6" FileType="SnapShot" Description="IHE CDASH from CCD">
		<ClinicalData>
			<SubjectData>
				<SiteRef>
					<StudyEventData>
						<!--	ODM/CDASH.CommonIdentifiers	-->
						<xsl:call-template name="demography"/>
						<!--	ODM/CDASH.SubjectCharacteristics	-->
						<xsl:call-template name="medicalHistory"/>
						<xsl:call-template name="conMeds"/>
						<xsl:call-template name="substanceAbuse"/>
						<xsl:call-template name="vitalSigns"/>
						<!-- 	ODM/CDASH.Physical Exam 	-->
						<xsl:call-template name="adverseEvents"/>
						<xsl:call-template name="labResults"/>
						<!-- 	ODM/CDASH.ECG results 	-->
					</StudyEventData>
				</SiteRef>
			</SubjectData>
		</ClinicalData>	
	</ODM>
</xsl:template>


<!--	Demography	-->
<xsl:template name="demography">
	<xsl:variable name="patientNode" select="cda:recordTarget/cda:patientRole/cda:patient"/>
	<FormData>
		<xsl:attribute name="FormOID">DemographicsForm</xsl:attribute>
		<ItemGroupData ItemGroupOID='DM'>
			<ItemData ItemOID='SEX'>
				<xsl:attribute name="value">
					<xsl:value-of select="$patientNode/cda:administrativeGenderCode/@code"/>
				</xsl:attribute>
			</ItemData>
			<ItemData ItemOID='BRTHDTC'>
				<xsl:choose>
					<xsl:when test="$patientNode/cda:birthTime/@value">
						<xsl:attribute name="value">
							<xsl:value-of select="$patientNode/cda:birthTime/@value"/>
						</xsl:attribute>
					</xsl:when>
					<xsl:otherwise>
						<xsl:attribute name="nullFlavor">UNK</xsl:attribute>
					</xsl:otherwise>
				</xsl:choose>
			</ItemData>
			<ItemData ItemOID='ETHNIC'>
				<xsl:attribute name="value">
					<xsl:value-of select="$patientNode/cda:ethnicityCode/@displayName"/>
				</xsl:attribute>
			</ItemData>
			<ItemData ItemOID='RACE'>
				<xsl:attribute name="value">
					<xsl:value-of select="$patientNode/cda:raceCode/@displayName"/>
				</xsl:attribute>
			</ItemData>
		</ItemGroupData>
	</FormData>
</xsl:template>
	

<!-- 	Medical History - looking for entries in any of the following CDA sections:  Conditions, Past Medical History, Procedures	-->
<xsl:template name="medicalHistory">
	<xsl:variable name="ccdConditions" select="cda:component/cda:structuredBody/cda:component/cda:section[cda:code/@code='11450-4']"/>
	<xsl:variable name="ccdPMH" select="cda:component/cda:structuredBody/cda:component/cda:section[cda:code/@code='11348-0']"/>
	<xsl:variable name="ccdProcedures" select="cda:component/cda:structuredBody/cda:component/cda:section[cda:code/@code='47519-4']"/>
	<xsl:variable name="conditionsCount" select="count($ccdConditions/cda:entry)"/>
	<xsl:variable name="pmhCount" select="count($ccdPMH/cda:entry)"/>
	<xsl:variable name="proceduresCount" select="count($ccdProcedures/cda:entry)"/>
	
	<xsl:if test="($conditionsCount+$pmhCount+$proceduresCount)>0">
		<FormData FormOID='MedicalHistory'>
			<xsl:for-each select="$ccdConditions/cda:entry">
				<ItemGroupData ItemGroupOID='CONDITION'>
					<xsl:call-template name="problemItemData">
						<xsl:with-param name="theNode" select="."/>
					</xsl:call-template>
				</ItemGroupData>
			</xsl:for-each>
			<xsl:for-each select="$ccdPMH/cda:entry">
				<ItemGroupData ItemGroupOID='PASTCONDITION'>
					<xsl:call-template name="problemItemData">
						<xsl:with-param name="theNode" select="."/>
					</xsl:call-template>
				</ItemGroupData>
			</xsl:for-each>
			<xsl:for-each select="$ccdProcedures/cda:entry">
				<ItemGroupData ItemGroupOID='PROCEDURE'>
					<xsl:call-template name="procedureItemData">
						<xsl:with-param name="theNode" select="."/>
					</xsl:call-template>
				</ItemGroupData>
			</xsl:for-each>		
		</FormData>
	</xsl:if>
</xsl:template>


<!-- 	CON MEDS 	-->
<xsl:template name="conMeds">
	<xsl:variable name="ccdMedication" select="cda:component/cda:structuredBody/cda:component/cda:section[cda:code/@code='10160-0']"/>
	<xsl:variable name="conMedCount" select="count($ccdMedication/cda:entry)"/>
	<xsl:if test="$conMedCount>0">
		<FormData FormDataOID='ConMedForm'>
		<xsl:for-each select="$ccdMedication/cda:entry">
			<xsl:variable name="originalTextRef" select="cda:substanceAdministration/cda:consumable/cda:manufacturedProduct/cda:manufacturedMaterial/cda:code/cda:originalText/cda:reference/@value"/>
			<xsl:variable name="originalText" select="cda:substanceAdministration/cda:consumable/cda:manufacturedProduct/cda:manufacturedMaterial/cda:code/cda:originalText"/>
			<ItemGroupData ItemGroupOID='CM'>
				<ItemData ItemDataOID='CMTRT'>
					<xsl:attribute name="value">
						<xsl:choose>
							<xsl:when test="$originalTextRef"><xsl:value-of select="//*[@ID=substring-after($originalTextRef,'#')]"/></xsl:when>
							<xsl:otherwise><xsl:value-of select="$originalText"/></xsl:otherwise>
						</xsl:choose>					
					</xsl:attribute>
				</ItemData>
				<!--	Need table to translate HL7 frequency, e.g., 6h to BID	-->
				<xsl:variable name="routeCode" select="cda:substanceAdministration/cda:routeCode/@displayName"/>
				<xsl:if test="$routeCode">
					<ItemData ItemDataOID='CMROUTE'>
						<xsl:attribute name="value"><xsl:value-of select="$routeCode"/></xsl:attribute>
					</ItemData>
				</xsl:if>
				<xsl:variable name="medStartDate" select="cda:substanceAdministration/cda:effectiveTime[@xsi:type='IVL_TS']/cda:low/@value"/>
				<xsl:if test="$medStartDate">
					<ItemData ItemDataOID='CMSTDTC'>
						<xsl:attribute name="value"><xsl:value-of select="$medStartDate"/></xsl:attribute>
					</ItemData>
				</xsl:if>
				<xsl:variable name="medEndDate" select="cda:substanceAdministration/cda:effectiveTime[@xsi:type='IVL_TS']/cda:high/@value"/>
				<xsl:if test="$medEndDate">
					<ItemData ItemDataOID='CMENDDTC'>
						<xsl:attribute name="value"><xsl:value-of select="$medEndDate"/></xsl:attribute>
					</ItemData>
				</xsl:if>		
				<xsl:variable name="medIndicationValueNode" select="cda:substanceAdministration/cda:precondition/cda:criterion/cda:value"/>
				<xsl:if test="$medIndicationValueNode/@displayName">
					<ItemData ItemDataOID='CMINDC'>
						<xsl:attribute name="value">
							<xsl:value-of select="$medIndicationValueNode/@displayName"/>
						</xsl:attribute>
						<xsl:attribute name="xsi:type">
							<xsl:value-of select="$medIndicationValueNode/@xsi:type"/>
						</xsl:attribute>
						<xsl:attribute name="code">
							<xsl:value-of select="$medIndicationValueNode/@code"/>
						</xsl:attribute>
						<xsl:attribute name="codeSystem">
							<xsl:value-of select="$medIndicationValueNode/@codeSystem"/>
						</xsl:attribute>
					</ItemData>
				</xsl:if>
				<xsl:variable name="medDoseQuantity" select="cda:substanceAdministration/cda:doseQuantity/@value"/>
				<xsl:if test="$medDoseQuantity">
					<ItemData ItemDataOID='CMDSTXT'>
						<xsl:attribute name="value">
							<xsl:value-of select="$medDoseQuantity"/>
						</xsl:attribute>
					</ItemData>
				</xsl:if>
				</ItemGroupData>
		</xsl:for-each>
		</FormData>
	</xsl:if>
</xsl:template>


<!-- 	SUBSTANCE ABUSE 	-->
<xsl:template name="substanceAbuse">
	<!-- we could look into the social history for any of a specific list of substance abuse entries...if any are present then we emit the section -->
	<!-- however, there are probably too many codes to consider....just quickly looking we see several SNOMED codes for smoking, cigarette smoking, .... -->
</xsl:template>


<!-- Vital Signs -->
<xsl:template name="vitalSigns">
	<xsl:variable name="vitalsSection" select="cda:component/cda:structuredBody/cda:component/cda:section[cda:code/@code='8716-3']"/>
	<xsl:if test="$vitalsSection/cda:entry/cda:organizer">
		<FormData FormDataOID='VSForm'>
			<xsl:for-each select="$vitalsSection/cda:entry/cda:organizer/cda:component">
				<xsl:variable name="vitalsDateTime" select="cda:observation/cda:effectiveTime/@value"/>
				<ItemGroupData ItemGroupDataOID='VS'>
					<ItemData ItemDataOID='VSDTC'>
						<xsl:attribute name="value">
							<xsl:value-of select="$vitalsDateTime"/>
						</xsl:attribute>
					</ItemData>
					<xsl:variable name="vitalsResultNode" select="cda:observation/cda:value"/>
					<ItemData ItemDataOID='VSTEST'>
						<xsl:attribute name="value">
							<xsl:value-of select="cda:observation/cda:code/@displayName"/>
						</xsl:attribute>
					</ItemData>											
					<xsl:choose>
						<xsl:when test="$vitalsResultNode/@xsi:type='PQ'">
							<ItemData ItemDataOID='VSORRES'>
								<xsl:attribute name="value"><xsl:value-of select="$vitalsResultNode/@value"/></xsl:attribute>
							</ItemData>
							<ItemData ItemDataOID='VSORRESU'>
								<xsl:attribute name="value"><xsl:value-of select="$vitalsResultNode/@unit"/></xsl:attribute>
							</ItemData>
						</xsl:when>
						<xsl:otherwise>
							<ItemData ItemDataOID='VSORRES'><xsl:attribute name="value"><xsl:value-of select="$vitalsResultNode"/></xsl:attribute></ItemData>				
						</xsl:otherwise>
					</xsl:choose>
				</ItemGroupData>
			</xsl:for-each>
		</FormData>
	</xsl:if>
</xsl:template>


<!-- 	LB 	-->
<xsl:template name="labResults">
	<xsl:variable name="LRSection" select="cda:component/cda:structuredBody/cda:component/cda:section[cda:code/@code='30954-2']"/>
	<xsl:if test="$LRSection/cda:entry/cda:organizer">
		<FormData FormDataOID='LBForm'>
			<xsl:for-each select="$LRSection/cda:entry/cda:organizer/cda:component/cda:observation">
				<ItemGroupData ItemGroupDataOID='LB'>
					<ItemData ItemDataOID='LBDTC'>
						<xsl:attribute name="value">
							<xsl:value-of select="cda:effectiveTime/@value"/>
						</xsl:attribute>
					</ItemData>
					<ItemData ItemDataOID='LBSTAT'>
						<xsl:attribute name="value">
							<xsl:value-of select="cda:statusCode/@code"/>
						</xsl:attribute>
					</ItemData>
					<ItemData ItemDataOID='LBREFID'>
						<xsl:attribute name="value">
							<xsl:value-of select="cda:id/@root"/>
						</xsl:attribute>
						<xsl:attribute name="code">
							<xsl:value-of select="cda:code/@code"/>
						</xsl:attribute>
						<xsl:attribute name="codeSystem">
							<xsl:value-of select="cda:code/@codeSystem"/>
						</xsl:attribute>
					</ItemData>
					<ItemData ItemDataOID='LBTEST'>
						<xsl:attribute name="value">
							<xsl:value-of select="cda:code/@displayName"/>
						</xsl:attribute>
					</ItemData>
					<ItemData ItemDataOID='LBORRES'>
						<xsl:attribute name="value">
							<xsl:value-of select="cda:value/@value"/>
						</xsl:attribute>
						<xsl:attribute name="xsi:type">
							<xsl:value-of select="cda:value/@xsi:type"/>
						</xsl:attribute>
					</ItemData>					
					<ItemData ItemDataOID='LBORRESU'>
						<xsl:attribute name="value">
							<xsl:value-of select="cda:value/@unit"/>
						</xsl:attribute>
					</ItemData>
					<xsl:choose>
						<xsl:when test="cda:referenceRange/cda:observationRange/cda:value/cda:low/@value">
							<ItemData ItemDataOID='LBORNRLO'>
								<xsl:attribute name="value">
										<xsl:value-of select="cda:referenceRange/cda:observationRange/cda:value/cda:low/@value"/>
								</xsl:attribute>
							</ItemData>
						</xsl:when>
						<!--<xsl:otherwise>
							<ItemData ItemDataOID='LBORNRLO'>
								<xsl:attribute name="text">
									<xsl:value-of select="cda:referenceRange/cda:observationRange/cda:text"/>
								</xsl:attribute>
							</ItemData>
						</xsl:otherwise>-->
					</xsl:choose>
					<xsl:choose>
						<xsl:when test="cda:referenceRange/cda:observationRange/cda:value/cda:high/@value">
							<ItemData ItemDataOID='LBORNRHI'>
								<xsl:attribute name="value">
										<xsl:value-of select="cda:referenceRange/cda:observationRange/cda:value/cda:high/@value"/>
								</xsl:attribute>
							</ItemData>
						</xsl:when>
						<!--<xsl:otherwise>
							<ItemData ItemDataOID='LBORNRHI'>
								<xsl:attribute name="text">
									<xsl:value-of select="cda:referenceRange/cda:observationRange/cda:text"/>
								</xsl:attribute>
							</ItemData>
						</xsl:otherwise>-->
					</xsl:choose>
					<ItemData ItemDataOID='LBNRIND'>
						<xsl:attribute name="value">
							<xsl:value-of select="cda:interpretationCode/@code"/>
						</xsl:attribute>
						<xsl:attribute name="codeSystem">
							<xsl:value-of select="cda:interpretationCode/@codeSystem"/>
						</xsl:attribute>
					</ItemData>
				</ItemGroupData>
			</xsl:for-each>
		</FormData>
	</xsl:if>
</xsl:template>


<!-- 	AE 	-->
<xsl:template name="adverseEvents">
	<xsl:variable name="aeSection" select="cda:component/cda:structuredBody/cda:component/cda:section[cda:code/@code='48765-2']"/>
	<xsl:if test="$aeSection/cda:entry/cda:act">
		<FormData FormDataOID='AEForm'>
			<xsl:for-each select="$aeSection/cda:entry">
				<ItemDataGroup ItemDataGroupOID='AE'>
				<xsl:variable name="originalTextRef" select="cda:act/cda:entryRelationship/cda:observation/cda:participant/cda:participantRole/cda:playingEntity/cda:code/cda:originalText/cda:reference/@value"/>
				<xsl:variable name="codedDisplayName" select="cda:act/cda:entryRelationship/cda:observation/cda:participant/cda:participantRole/cda:playingEntity/cda:code/@displayName"/>
				<ItemData ItemDataOID='AETERM'>
					<xsl:attribute name="value">
						<xsl:choose>
							<xsl:when test="$originalTextRef"><xsl:value-of select="//*[@ID=substring-after($originalTextRef,'#')]"/></xsl:when>
							<xsl:otherwise><xsl:value-of select="$codedDisplayName"/></xsl:otherwise>
						</xsl:choose>
					</xsl:attribute>
				</ItemData>
				<xsl:variable name="aeStartDateTime" select="cda:act/cda:entryRelationship/cda:observation/cda:effectiveTime/@value"/>
				<xsl:if test="$aeStartDateTime">
					<ItemData ItemDataOID='AESTDTC'>
						<xsl:attribute name="value">
							<xsl:value-of select="$aeStartDateTime"/>
						</xsl:attribute>
					</ItemData>
				</xsl:if>
			</ItemDataGroup>
			</xsl:for-each>
		</FormData>
	</xsl:if>
</xsl:template>


<!-- helper templates -->
<!-- CDASH a med history item -->
<xsl:template name="problemItemData">
<xsl:param name="theNode"/>
	<!-- we may be pointed to the text of the condition, or we may just have a coded value display name -->
	<xsl:variable name="originalTextRef" select="$theNode/cda:act/cda:entryRelationship/cda:observation/cda:text/cda:reference/@value"/>
	<xsl:variable name="codedValue" select="$theNode/cda:act/cda:entryRelationship/cda:observation/cda:value/@displayName"/>
	<xsl:variable name="valueNode" select="$theNode/cda:act/cda:entryRelationship/cda:observation/cda:value"/>
	<!-- problem status translates into the CDASH MHONG -->
	<xsl:variable name="problemStatusNode" select="$theNode/cda:act/cda:entryRelationship/cda:observation/cda:entryRelationship/cda:observation[cda:code/@code='33999-4']"/>
	<!-- can have status coded or by reference -->
	<xsl:variable name="problemStatusRef" select="$problemStatusNode/cda:text/cda:reference/@value"/>
	<!-- onset and end dates for problems -->
	<xsl:variable name="problemOnset" select="$theNode/cda:act/cda:entryRelationship/cda:observation/cda:effectiveTime/cda:low/@value"/>
	<xsl:variable name="problemResolved" select="$theNode/cda:act/cda:entryRelationship/cda:observation/cda:effectiveTime/cda:high/@value"/>
	<ItemData ItemOID='MHTERM'>
		<xsl:choose>
			<xsl:when test="string-length($codedValue)>0">
				<xsl:attribute name="value">
					<xsl:value-of select="$codedValue"/>
				</xsl:attribute>
				<xsl:attribute name="xsi:type">
					<xsl:value-of select="$valueNode/@xsi:type"/>
				</xsl:attribute>
				<xsl:attribute name="code">
					<xsl:value-of select="$valueNode/@code"/>
				</xsl:attribute>
				<xsl:attribute name="codeSystem">
					<xsl:value-of select="$valueNode/@codeSystem"/>
				</xsl:attribute>
			</xsl:when>
			<xsl:when test="string-length($originalTextRef)>0">
				<xsl:attribute name="value">
					<xsl:value-of select="//*[@ID=substring-after($originalTextRef,'#')]"/>
				</xsl:attribute>
			</xsl:when>
			<xsl:otherwise>
				<xsl:attribute name="value">
					???
				</xsl:attribute>
			</xsl:otherwise>
		</xsl:choose>
	</ItemData>
	<ItemData ItemOID='MHONG'>
		<xsl:attribute name="value">
			<xsl:choose>
				<xsl:when test="$problemStatusNode/cda:value/@displayName='Active'">ONGOING</xsl:when>
				<xsl:when test="//*[@ID=substring-after($problemStatusRef,'#')]='Active'">ONGOING</xsl:when>
				<xsl:otherwise>RESOLVED</xsl:otherwise>
			</xsl:choose>
		</xsl:attribute>
	</ItemData>
	<!--<xsl:comment>research adding type and category (MHCAT, MHSCAT)</xsl:comment>-->
	<!-- NOTE:  might need a more generic template to handle the multiple ways that time can be reported in ccd -->
	<xsl:if test="$problemOnset">
		<ItemData ItemDataOID='MHSTDTC'>
			<xsl:attribute name="value">
				<xsl:value-of select="$problemOnset"/>
			</xsl:attribute>
		</ItemData>
	</xsl:if>
	<xsl:if test="$problemResolved">
		<ItemData ItemDataOID='MHENDDTC'>
			<xsl:attribute name="value">
				<xsl:value-of select="$problemResolved"/>
			</xsl:attribute>
		</ItemData>
	</xsl:if>
</xsl:template>


<xsl:template name="procedureItemData">
<xsl:param name="theNode"/>
	<xsl:variable name="originalTextRef" select="$theNode/cda:procedure/cda:code/cda:originalText/cda:reference/@value"/>
	<xsl:variable name="codedValue" select="$theNode/cda:procedure/cda:code/@displayName"/>
	<ItemData ItemOID='MHTERM'>
		<xsl:attribute name="value">
			<xsl:choose>
				<xsl:when test="string-length($originalTextRef)>0"><xsl:value-of select="//*[@ID=substring-after($originalTextRef,'#')]"/></xsl:when>
				<xsl:when test="string-length($codedValue)>0"><xsl:value-of select="$codedValue"/></xsl:when>
				<xsl:otherwise>???</xsl:otherwise>
			</xsl:choose>
	</xsl:attribute>
	</ItemData>
	<!-- NOTE: is this true = procedures are RESOLVED -->
	<ItemData ItemDataOID='MHONG' value='RESOLVED'/>
	<!--<xsl:comment>??? what to do about an effectiveTime of center ???</xsl:comment>-->
</xsl:template>
</xsl:stylesheet>

Sample Standard CRF output from the Sample XSLT

<?xml version="1.0"?>
<ODM ODMVersion="1.3" FileOID="CLL.003" PriorFileOID="CRF_CLL_v1.6" FileType="SnapShot" Description="IHE CDASH from CCD" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cd="http://www.cdisc.org/ns/odm/v1.3" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
	<ClinicalData>
		<SubjectData>
			<SiteRef>
				<StudyEventData>
					<FormData FormOID="DemographicsForm">
						<ItemGroupData ItemGroupOID="DM">
							<ItemData ItemOID="SEX" value="M"/>
							<ItemData ItemOID="BRTHDTC" value="19320924"/>
							<ItemData ItemOID="ETHNIC" value=""/>
							<ItemData ItemOID="RACE" value=""/>
						</ItemGroupData>
					</FormData>
					<FormData FormOID="MedicalHistory">
						<ItemGroupData ItemGroupOID="CONDITION">
							<ItemData ItemOID="MHTERM" value="Asthma" xsi:type="CD" code="195967001" codeSystem="2.16.840.1.113883.6.96"/>
							<ItemData ItemOID="MHONG" value="ONGOING"/>
							<ItemData ItemDataOID="MHSTDTC" value="1950"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupOID="CONDITION">
							<ItemData ItemOID="MHTERM" value="Pneumonia" xsi:type="CD" code="233604007" codeSystem="2.16.840.1.113883.6.96"/>
							<ItemData ItemOID="MHONG" value="RESOLVED"/>
							<ItemData ItemDataOID="MHSTDTC" value="199701"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupOID="CONDITION">
							<ItemData ItemOID="MHTERM" value="Pneumonia" xsi:type="CD" code="233604007" codeSystem="2.16.840.1.113883.6.96"/>
							<ItemData ItemOID="MHONG" value="RESOLVED"/>
							<ItemData ItemDataOID="MHSTDTC" value="199903"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupOID="CONDITION">
							<ItemData ItemOID="MHTERM" value="Myocardial infarction" xsi:type="CD" code="22298006" codeSystem="2.16.840.1.113883.6.96"/>
							<ItemData ItemOID="MHONG" value="RESOLVED"/>
							<ItemData ItemDataOID="MHSTDTC" value="199701"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupOID="PROCEDURE">
							<ItemData ItemOID="MHTERM" value="Total hip replacement, left"/>
							<ItemData ItemDataOID="MHONG" value="RESOLVED"/>
						</ItemGroupData>
					</FormData>
					<FormData FormDataOID="ConMedForm">
						<ItemGroupData ItemGroupOID="CM">
							<ItemData ItemDataOID="CMTRT" value="Albuterol inhalant"/>
							<ItemData ItemDataOID="CMROUTE" value="Inhalation, oral"/>
							<ItemData ItemDataOID="CMINDC" value="Wheezing" xsi:type="CE" code="56018004" codeSystem="2.16.840.1.113883.6.96"/>
							<ItemData ItemDataOID="CMDSTXT" value="2"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupOID="CM">
							<ItemData ItemDataOID="CMTRT" value="Clopidogrel"/>
							<ItemData ItemDataOID="CMDSTXT" value="1"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupOID="CM">
							<ItemData ItemDataOID="CMTRT" value="Metoprolol"/>
							<ItemData ItemDataOID="CMDSTXT" value="1"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupOID="CM">
							<ItemData ItemDataOID="CMTRT" value="Prednisone"/>
							<ItemData ItemDataOID="CMSTDTC" value="20000328"/>
							<ItemData ItemDataOID="CMDSTXT" value="1"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupOID="CM">
							<ItemData ItemDataOID="CMTRT" value="Cephalexin"/>
							<ItemData ItemDataOID="CMSTDTC" value="20000328"/>
							<ItemData ItemDataOID="CMENDDTC" value="20000404"/>
							<ItemData ItemDataOID="CMDSTXT" value="1"/>
						</ItemGroupData>
					</FormData>
					<FormData FormDataOID="VSForm">
						<ItemGroupData ItemGroupDataOID="VS">
							<ItemData ItemDataOID="VSDTC" value="19991114"/>
							<ItemData ItemDataOID="VSTEST" value="Body height"/>
							<ItemData ItemDataOID="VSORRES" value="177"/>
							<ItemData ItemDataOID="VSORRESU" value="cm"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupDataOID="VS">
							<ItemData ItemDataOID="VSDTC" value="19991114"/>
							<ItemData ItemDataOID="VSTEST" value="Body weight"/>
							<ItemData ItemDataOID="VSORRES" value="86"/>
							<ItemData ItemDataOID="VSORRESU" value="kg"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupDataOID="VS">
							<ItemData ItemDataOID="VSDTC" value="19991114"/>
							<ItemData ItemDataOID="VSTEST" value="Systolic BP"/>
							<ItemData ItemDataOID="VSORRES" value="132"/>
							<ItemData ItemDataOID="VSORRESU" value="mm[Hg]"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupDataOID="VS">
							<ItemData ItemDataOID="VSDTC" value="19991114"/>
							<ItemData ItemDataOID="VSTEST" value="Diastolic BP"/>
							<ItemData ItemDataOID="VSORRES" value="86"/>
							<ItemData ItemDataOID="VSORRESU" value="mm[Hg]"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupDataOID="VS">
							<ItemData ItemDataOID="VSDTC" value="20000407"/>
							<ItemData ItemDataOID="VSTEST" value="Body height"/>
							<ItemData ItemDataOID="VSORRES" value="177"/>
							<ItemData ItemDataOID="VSORRESU" value="cm"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupDataOID="VS">
							<ItemData ItemDataOID="VSDTC" value="20000407"/>
							<ItemData ItemDataOID="VSTEST" value="Body weight"/>
							<ItemData ItemDataOID="VSORRES" value="88"/>
							<ItemData ItemDataOID="VSORRESU" value="kg"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupDataOID="VS">
							<ItemData ItemDataOID="VSDTC" value="20000407"/>
							<ItemData ItemDataOID="VSTEST" value="Systolic BP"/>
							<ItemData ItemDataOID="VSORRES" value="145"/>
							<ItemData ItemDataOID="VSORRESU" value="mm[Hg]"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupDataOID="VS">
							<ItemData ItemDataOID="VSDTC" value="20000407"/>
							<ItemData ItemDataOID="VSTEST" value="Diastolic BP"/>
							<ItemData ItemDataOID="VSORRES" value="88"/>
							<ItemData ItemDataOID="VSORRESU" value="mm[Hg]"/>
						</ItemGroupData>
					</FormData>
					<FormData FormDataOID="AEForm">
						<ItemDataGroup ItemDataGroupOID="AE">
							<ItemData ItemDataOID="AETERM" value="Penicillin"/>
						</ItemDataGroup>
						<ItemDataGroup ItemDataGroupOID="AE">
							<ItemData ItemDataOID="AETERM" value="Aspirin"/>
						</ItemDataGroup>
						<ItemDataGroup ItemDataGroupOID="AE">
							<ItemData ItemDataOID="AETERM" value="Codeine"/>
						</ItemDataGroup>
					</FormData>
					<FormData FormDataOID="LBForm">
						<ItemGroupData ItemGroupDataOID="LB">
							<ItemData ItemDataOID="LBDTC" value="200003231430"/>
							<ItemData ItemDataOID="LBSTAT" value="completed"/>
							<ItemData ItemDataOID="LBREFID" value="107c2dc0-67a5-11db-bd13-0800200c9a66" code="30313-1" codeSystem="2.16.840.1.113883.6.1"/>
							<ItemData ItemDataOID="LBTEST" value="HGB"/>
							<ItemData ItemDataOID="LBORRES" value="13.2" xsi:type="PQ"/>
							<ItemData ItemDataOID="LBORRESU" value="g/dl"/>
							<ItemData ItemDataOID="LBNRIND" value="N" codeSystem="2.16.840.1.113883.5.83"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupDataOID="LB">
							<ItemData ItemDataOID="LBDTC" value="200003231430"/>
							<ItemData ItemDataOID="LBSTAT" value="completed"/>
							<ItemData ItemDataOID="LBREFID" value="8b3fa370-67a5-11db-bd13-0800200c9a66" code="33765-9" codeSystem="2.16.840.1.113883.6.1"/>
							<ItemData ItemDataOID="LBTEST" value="WBC"/>
							<ItemData ItemDataOID="LBORRES" value="6.7" xsi:type="PQ"/>
							<ItemData ItemDataOID="LBORRESU" value="10+3/ul"/>
							<ItemData ItemDataOID="LBORNRLO" value="4.3"/>
							<ItemData ItemDataOID="LBORNRHI" value="10.8"/>
							<ItemData ItemDataOID="LBNRIND" value="N" codeSystem="2.16.840.1.113883.5.83"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupDataOID="LB">
							<ItemData ItemDataOID="LBDTC" value="200003231430"/>
							<ItemData ItemDataOID="LBSTAT" value="completed"/>
							<ItemData ItemDataOID="LBREFID" value="80a6c740-67a5-11db-bd13-0800200c9a66" code="26515-7" codeSystem="2.16.840.1.113883.6.1"/>
							<ItemData ItemDataOID="LBTEST" value="PLT"/>
							<ItemData ItemDataOID="LBORRES" value="123" xsi:type="PQ"/>
							<ItemData ItemDataOID="LBORRESU" value="10+3/ul"/>
							<ItemData ItemDataOID="LBORNRLO" value="150"/>
							<ItemData ItemDataOID="LBORNRHI" value="350"/>
							<ItemData ItemDataOID="LBNRIND" value="L" codeSystem="2.16.840.1.113883.5.83"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupDataOID="LB">
							<ItemData ItemDataOID="LBDTC" value="200004061300"/>
							<ItemData ItemDataOID="LBSTAT" value="completed"/>
							<ItemData ItemDataOID="LBREFID" value="a40027e1-67a5-11db-bd13-0800200c9a66" code="2951-2" codeSystem="2.16.840.1.113883.6.1"/>
							<ItemData ItemDataOID="LBTEST" value="NA"/>
							<ItemData ItemDataOID="LBORRES" value="140" xsi:type="PQ"/>
							<ItemData ItemDataOID="LBORRESU" value="meq/l"/>
							<ItemData ItemDataOID="LBORNRLO" value="135"/>
							<ItemData ItemDataOID="LBORNRHI" value="145"/>
							<ItemData ItemDataOID="LBNRIND" value="N" codeSystem="2.16.840.1.113883.5.83"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupDataOID="LB">
							<ItemData ItemDataOID="LBDTC" value="200004061300"/>
							<ItemData ItemDataOID="LBSTAT" value="completed"/>
							<ItemData ItemDataOID="LBREFID" value="a40027e2-67a5-11db-bd13-0800200c9a66" code="2823-3" codeSystem="2.16.840.1.113883.6.1"/>
							<ItemData ItemDataOID="LBTEST" value="K"/>
							<ItemData ItemDataOID="LBORRES" value="4.0" xsi:type="PQ"/>
							<ItemData ItemDataOID="LBORRESU" value="meq/l"/>
							<ItemData ItemDataOID="LBORNRLO" value="3.5"/>
							<ItemData ItemDataOID="LBORNRHI" value="5.0"/>
							<ItemData ItemDataOID="LBNRIND" value="N" codeSystem="2.16.840.1.113883.5.83"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupDataOID="LB">
							<ItemData ItemDataOID="LBDTC" value="200004061300"/>
							<ItemData ItemDataOID="LBSTAT" value="completed"/>
							<ItemData ItemDataOID="LBREFID" value="a40027e3-67a5-11db-bd13-0800200c9a66" code="2075-0" codeSystem="2.16.840.1.113883.6.1"/>
							<ItemData ItemDataOID="LBTEST" value="CL"/>
							<ItemData ItemDataOID="LBORRES" value="102" xsi:type="PQ"/>
							<ItemData ItemDataOID="LBORRESU" value="meq/l"/>
							<ItemData ItemDataOID="LBORNRLO" value="98"/>
							<ItemData ItemDataOID="LBORNRHI" value="106"/>
							<ItemData ItemDataOID="LBNRIND" value="N" codeSystem="2.16.840.1.113883.5.83"/>
						</ItemGroupData>
						<ItemGroupData ItemGroupDataOID="LB">
							<ItemData ItemDataOID="LBDTC" value="200004061300"/>
							<ItemData ItemDataOID="LBSTAT" value="completed"/>
							<ItemData ItemDataOID="LBREFID" value="a40027e4-67a5-11db-bd13-0800200c9a66" code="1963-8" codeSystem="2.16.840.1.113883.6.1"/>
							<ItemData ItemDataOID="LBTEST" value="HCO3"/>
							<ItemData ItemDataOID="LBORRES" value="35" xsi:type="PQ"/>
							<ItemData ItemDataOID="LBORRESU" value="meq/l"/>
							<ItemData ItemDataOID="LBORNRLO" value="18"/>
							<ItemData ItemDataOID="LBORNRHI" value="23"/>
							<ItemData ItemDataOID="LBNRIND" value="H" codeSystem="2.16.840.1.113883.5.83"/>
						</ItemGroupData>
					</FormData>
				</StudyEventData>
			</SiteRef>
		</SubjectData>
	</ClinicalData>
</ODM>