Clinical Research Data Capture - (CRD)

From IHE Wiki
Jump to: navigation, search

Introduction

This is a draft of the Clinical Research Data Capture Profile (CRD) from the QRPH Domain.

Contents

Profile Abstract

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 cassette player 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. Social Network Design

Glossary

CCD
ASTM/HL7 Continuity of Care Document (CCD)
CDASH
Clinical Data Acquisition Standards Harmonization (CDASH)
Clinical Research CCD
Refers to the CCD constrained within the Clinical Research Data Capture (CRD) profile.
Form Manager
The Form Manager actor provides the store of and 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. Janitorial Cleaning Supplies
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.
ODM
Operational Data Model (ODM)
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. Precor Gyms

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 CDISC Terms at http://www.cdisc.org/glossary/index.html

Volume I

Clinical Research Data Capture (CRD)

Dependencies

Content Profile Dependency Dependency Type Purpose
Clinical Research Data Capture 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

The setting for the clinical research use case is a physicians’ practice where patient care is delivered side-by-side with clinical research activities. The site, Holbin Medical Group, is a multi-site physician practice, employing over 100 physicians in a variety of specialties. Holbin’s CEO encourages the physicians to participate as site investigators for pharmaceutical-sponsored clinical trials; Holbin provides support for clinical research activities in the form of a Research Department of twelve dedicated study coordinators, mostly RNs, along with clerical and data-entry support personnel. Holbin Medical Group uses an Electronic Health Record (EHR) and a number of sponsor-provided Electronic Data Capture (EDC) systems for documenting clinical trial activities. EDC is a system for documenting clinical trial activities. EDC is a remote data entry system, provided by the research sponsor, which uses either a laptop (thick or thin client) or a web site. For our purposes, an EHR is any application which is the primary site for documenting patient care, and retrieving patient care information. Thus we include in our span of interest many systems installed today that are not quite EHRs in the strictest sense, but which would still benefit from this approach

Holbin’s involvement in a clinical study begins when the Research Department receives a request for proposal (RFP) or a request for a feasibility assessment (EU) from a study Sponsor. The Investigator or the Study Coordinator, Patricia Zone, RN, evaluates the RFP to assess if their facility has the required patient population (clinical condition and required numbers required by the study protocol) as specified in the clinical study protocol, as well as the business viability. A major issue that must be addressed is the time needed to perform the clinical study and whether or not the site has the time to perform the study appropriately. Once these concerns are addressed satisfactorily and the site is selected for the trial, the financial aspects are addressed and the site then sends the required regulatory documentation to the Sponsor. The Sponsor then provides Protocol-specific training for the Physician Investigator and other study personnel.

During the trial set-up period, Patricia, together with the Investigator ensures that the appropriate system security is in place for this protocol, recruits patients to participate as subjects according to inclusion and exclusion criteria described in the study protocol schedules patient visits, manages data capture and data entry, ensures that IRB approval has been obtained, maintains required regulatory documents and performs all the attendant financial tasks and

Patricia, under the supervision of the Investigator contacts Corey Jones, a patient at Holbin, about participating in the trial, and Corey agrees to participate as a subject. Patricia registers Corey in the EHR as a subject in trial #1234, using the EHR’s patient index. She schedules Corey’s study visits using the EHR scheduling module, and flags the visits as pertaining to the trial #1234. After the set-up stage, the site initiates clinical trial care and trial-specific documentation.

The use case continues with current state and desired state scenarios, which describe data capture utilizing EDC technology during a patient clinical trial visit before and after the RFD implementation.


Current State

Corey Jones arrives at the clinic for a scheduled trial visit and meets with Patricia Zone for a face-to-face interview. Patricia logs into the EHR and documents the visit with a terse entry: ‘Mrs. Jones comes in for a clinical trial visit associated with study.’ Patricia interviews Mrs. Jones, makes some observations, and records her observation on a source paper document. She looks up recent lab results in the EHR and records them in the Case Report Form (CRF). The EHR provides only a portion of the data required to complete the form, the rest comes from the interview and observations. (Estimates on the percentage of data required for a clinical trial that would be available in an EHR vary from 5% to 40%. Even in the best case, the EHR typically captures only a subset of the data required by a study protocol.)

The completed source document is forwarded to Bob, the data entry person. Bob identifies the CRF as belonging to trial #1234, and selects the trial #1234 EDC system, which may be housed on a dedicated laptop provided by the sponsor or may be accessible via a browser session connected to the Sponsor’s EDC system via the Internet. He takes a three ring binder off the shelf and refers to his ‘crib sheet’ to get the instructions for how to use this particular system. He logs into the EDC application, using a user name and password unique to this system example, and enters the data into the correct electronic case report form (eCRF) for that trial visit. Once the source document has been processed, Bob files it in a ‘banker’s box’ as part of the permanent source record of the trial (in order to meet the requirements of the Federal Code of Regulations 21CFR 312:62).

In addition to trial #1234, Bob performs data entry on eight additional EDC systems, five on dedicated laptops and three that are web-based. The web-based EDC systems save on table space, but still require entries in the three ring binders where Bob puts his ‘crib sheets’. It is a chore to make sure that data from a particular trial gets entered into the corresponding laptop with its unique login ritual and data capture form, so Bob experiences much frustration in dealing with this unwieldy set of systems. Bob is a conscientious employee, and stays current in his work. But in many other sites the data entry person holds the CRF for a period of time before entering the data, perhaps entering data twice a month, or entering the data the week before the monitor visit occurs.

Desired State

Mrs. Jones arrives for a visit and Patricia logs into the EHR, pulls up Mrs. Jones’s record, and identifies the scheduled clinical trial visit. Because of the patient identification and scheduling steps that took place in the set-up stage, the EHR recognizes Mrs. Jones as a subject in Trial 1234, and requests an electronic case report form from trial #1234’s, using RFD. If the trial is sufficiently complex, the retrieved form may contain a list of relevant forms from the RFD Forms Manager system from which Patricia may choose. Patricia selects the appropriate form, the EHR checks Patricia’s credentials, confirms that she is empowered to view the form, and displays the form. (The data capture form is essentially the same form that an EDC system would offer for this visit, and its presentation may take on some of the look and feel of the EHR’s user interface.)

Nurse Patricia interviews Mrs. Jones and enters data into the clinical trial form as presented in the EHR. The clinical site personnel will be well acquainted with the basic data collection variables* that appear on the clinical trial form as they are consistently collected in all types/phases of clinical trials. Applicable data from the EHR database are now used to pre-populate some of the clinical trial data fields. Additional data may need to be captured interactively via the forms (which may have built-in edit checks). Upon completing the form, Patricia hits the submit button, and the EHR returns the complete form to the EDC system, using RFD. A copy of the document is archived in the site clinical trial document vault as part of the permanent source record of the trial.

*These clinical trial forms or domain modules are comprised of data collection variables identified by the Clinical Data Acquisition Standards Harmonizaation (CDASH) Initiative. The CDASH initiative identifies data collection fields that are applicable to all clinical trials regardless of therapeutic area or phase of trial. Addition data collection fields will have been added to the CDASH collection variables to capture the required therapeutic area or required fields by the study Sponsor.

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 from 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 (1)
Clinical Research Data Capture Options
Form Filler CCD Option
ODM/CDASH Option
Form Manager CCD Option
ODM/CDASH Option

Note 1: Each 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.

ODM/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.

ODM/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 Process Flow, 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.

CCD Option: The CRD Profile in addition to the 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.

ODM/CDASH Option: The CRD Profile in addition to the ODM/CDASH option requires that this prepopulation data conform to the Clinical Research ODM/CDASH. This ODM/CDASH option requires the Form Manager to accept the Clinical Research ODM/CDASH format.

The final step in this flow requires that 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)
ODM 
Operational Data Model Final Version 1.3
CDASH 
Clinical Data Acquisition Standards Harmonization (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 (CCD Option)

Use this specification if the CCD Option has been choosen.
Form Manager Actors can refer to the Reference Implementation below that outlines conversion of this CCD option into a standard case report form (Standard CRF) consisting of ODM and CDASH.

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


Optionality Key
R Required Section
R2 Required Section if data present
O Optional section
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>

Document Specification (ODM/CDASH Option)

Use this specification if the ODM/CDASH Option has been choosen.

CDASH Domain Clinical Database Variable Name Optionality Definition
Clinical Research Data Capture Constraints (CDASH Option)
Common Identifiers STUDYID R2 Unique Identifier for a study within a submission.
SITEID R2 Unique identifier for the site.
SUBJID R2 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 R2 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 O 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 R2 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 R2 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 R2 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 R2 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 R2 Verbatim (i.e., investigator reported term) description of the adverse event.
AESER R2 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 R2 Date when the adverse event started.
AESTTM (Note: If collected, will be derived into AESTDTC.) R2 Time when the adverse event started.
AEENDTC R2 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 R2 Description of the severity of the adverse event.
AEREL R2 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 R2 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 R2 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 R2 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 R2 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 R2 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 R2 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.) R2 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 R2 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 R2 Status of whether or not ECG was done.
EGREASND O Describes why the ECG was not done (e.g., BROKEN EQUIPMENT, SUBJECT REFUSED).
EGDTC R2 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 R2 Status of whether or not ECG was done.
EGREASND O Describes why the ECG was not done (e.g., BROKEN EQUIPMENT, SUBJECT REFUSED).
EGDTC R2 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.) R2 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
ODM Version 1.1 Sample http://cdisc.org/models/odm/v1.1/odm1-1-0-example.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE ODM SYSTEM "odm1-1-0.dtd" >
<!--
	This XML Example is intended to provide a very small, valid example of 
	a CDISC study using CDISC ODM V1.1
-->
<!--
	In this small example study, a pharmaceutical company is conducting a 
	Phase II initial efficacy study.  This pharmaceutical company 
	("The Pharm") has hired a contract research organization (CRO) to
 	collect, clean and complete data for this study.  The Pharm and the CRO 
	use completely different clinical data management systems, so the 2 
	companies have agreed to use CDISC'S ODM V1.1 for their data exchange.

	The data are coming in slowly and only the CRF pages from the first two
	visits for two patients have been returned from the investigational site
	to the CRO so far.  During the first visit, both demographic and vital 
	statistics data are collected. During the second visit, only vital 
	statistics are collected.  The data from the first patient's first visit
	included an incorrect systolic blood pressure. The incorrect value was 
	changed to the correct value in a separate data entry session, and this 
	change was captured in the audit trail of the clinical data management 
	system. 
-->
<ODM FileType="Transactional" FileOID="987-654-321" CreationDateTime="2001-11-15T16:37:21-05:00" AsOfDateTime="2001-11-15T16:37:21-05:00" Description="Two visits for patients P001 and P027, plus updates of data for P001" Granularity="All">
  <Study OID="123-456-789">
    <GlobalVariables>
      <StudyName>HarrisonA</StudyName>
      <StudyDescription>Phase II initial efficacy</StudyDescription>
      <ProtocolName>B00-2136</ProtocolName>
    </GlobalVariables>
    <BasicDefinitions/>
    <!-- Beginning of metadata definitions . . .    -->
    <MetaDataVersion OID="MetaDataVersion.001" Name="Release 1">
      <Protocol>
        <!--There are 2 study events defined, corresponding to Visit 1 and Visit 2.  On "Demog and Vitials:, signing unit is used, while on Visit 2, the "Vitals Only" is used
 -->
        <StudyEventRef StudyEventOID="VISIT_1" Mandatory="Yes"/>
        <StudyEventRef StudyEventOID="VISIT_2" Mandatory="Yes"/>
      </Protocol>
      <StudyEventDef OID="VISIT_1" Name="Visit1" Repeating="No" Type="Scheduled">
        <FormRef FormOID="PAGE_1" Mandatory="No"/>
      </StudyEventDef>
      <StudyEventDef OID="VISIT_2" Name="Visit2" Repeating="No" Type="Scheduled">
        <FormRef FormOID="PAGE_2" Mandatory="No"/>
      </StudyEventDef>
      <!--There are 2 signing units defined: one to collect demographics AND vitals and one to collect just vitals.
-->
      <FormDef OID="PAGE_1" Name="Demog and Vitals" Repeating="No">
        <ItemGroupRef ItemGroupOID="DEMOG" Mandatory="No"/>
        <ItemGroupRef ItemGroupOID="VITALS" Mandatory="No"/>
      </FormDef>
      <FormDef OID="PAGE_2" Name="Vitals Only" Repeating="No">
        <ItemGroupRef ItemGroupOID="VITALS" Mandatory="No"/>
      </FormDef>
      <!--There are 2 item groups (ItemGroups): Demographics and Vitals
-->
      <!--The demographics item group contains 7 item references (ItemRef) corresponding to Patient ID, Patient Initials, Sex, Date of Birth, Sponsor Patient ID, Weight (lb) and Weight (kg)-->
      <ItemGroupDef OID="DEMOG" Name="Demographics" Repeating="Yes" IsReferenceData="No" SASDatasetName="DEMOG">
        <ItemRef ItemOID="PT" Mandatory="No"/>
        <ItemRef ItemOID="INITIALS" Mandatory="No"/>
        <ItemRef ItemOID="SEX" Mandatory="No"/>
        <ItemRef ItemOID="DOB" Mandatory="No"/>
        <ItemRef ItemOID="SPONSOR_PTID" Mandatory="No"/>
        <ItemRef ItemOID="WEIGHT_LB" Mandatory="No"/>
        <ItemRef ItemOID="WEIGHT_KG" Mandatory="No"/>
      </ItemGroupDef>
      <!--The Vitals item group contains 6 item references (ItemRef) corresponding to the Patient ID, Visit Name, Systolic Blood Pressure, Diastolic Blood Pressure, Sponsor Patient ID, and Occurrence Number (of repeat measurement).-->
      <ItemGroupDef OID="VITALS" Name="Vital Signs" Repeating="Yes" IsReferenceData="No" SASDatasetName="VITALS">
        <ItemRef ItemOID="PT" Mandatory="No"/>
        <ItemRef ItemOID="VISITNAME" Mandatory="No"/>
        <ItemRef ItemOID="SBP" Mandatory="No"/>
        <ItemRef ItemOID="DBP" Mandatory="No"/>
        <ItemRef ItemOID="SPONSOR_PTID" Mandatory="No"/>
        <ItemRef ItemOID="OCCUR_NUM" Mandatory="No"/>
      </ItemGroupDef>
      <!--There are 12 items defined: Patient ID, Initials, Date of Birth, Sex, Systolic Blood Pressure, Diastolic Blood Pressure, Visit Name, Sponsor Patient ID, Visit Number (not currently used), Occurrence NUmber, Weight (lb) and Weight (kg).-->
      <ItemDef OID="PT" Name="PT" DataType="text" Length="4" SASFieldName="PT"/>
      <ItemDef OID="INITIALS" Name="Initials" DataType="text" Length="5" SASFieldName="INITIALS"/>
      <ItemDef OID="DOB" Name="Date of Birth" DataType="date" SASFieldName="DOB"/>
      <ItemDef OID="SEX" Name="Sex" DataType="text" Length="1" SASFieldName="SEX">
        <CodeListRef CodeListOID="CodeList.001"/>
      </ItemDef>
      <ItemDef OID="SBP" Name="Systolic Blood Pressure" DataType="integer" SASFieldName="SBP" Length="3"/>
      <ItemDef OID="DBP" Name="Diastolic Blood Pressure" DataType="integer" SASFieldName="DBP" Length="3"/>
      <ItemDef OID="VISITNAME" Name="Visit" DataType="text" Length="20" SASFieldName="VISNAME"/>
      <ItemDef OID="SPONSOR_PTID" Name="Sponsor Patient ID" DataType="text" Length="12" SASFieldName="SPONPTID"/>
      <ItemDef OID="VISITNUM" Name="Numeric Version of Visit" DataType="integer" SASFieldName="VISITNUM" Length="2"/>
      <ItemDef OID="OCCUR_NUM" Name="Occurence Number" DataType="integer" SASFieldName="OCCURNUM" Length="2"/>
      <ItemDef OID="WEIGHT_LB" Name="Weight in pounds" DataType="float" SASFieldName="WEIGHTLB" Length="4" SignificantDigits="1"/>
      <ItemDef OID="WEIGHT_KG" Name="Weight in kilograms " DataType="float" SASFieldName="WEIGHTKG" Length="4" SignificantDigits="1"/>
      <!--There is a single codelist for Sex with entries for "m" and "f".-->
      <CodeList OID="CodeList.001" Name="Sex" DataType="text" SASFormatName="CLSEX">
        <CodeListItem CodedValue="m">
          <Decode>
            <TranslatedText xml:lang="en">Male</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="f">
          <Decode>
            <TranslatedText xml:lang="en">Female</TranslatedText>
          </Decode>
        </CodeListItem>
      </CodeList>
      <!--Since structure and content of Presentation have not yet been defined, we have inserted an empty Presentation element.-->
      <Presentation OID=""/>
    </MetaDataVersion>
  </Study>
  <!--Beginning of Administrative Data-->
  <AdminData>
    <!--There are 2 users: John Doe (the investigator) and Mary Brown (the data entry person)-->
    <User OID="User.001">
      <FirstName>John</FirstName>
      <LastName>Doe</LastName>
    </User>
    <User OID="User.002">
      <FirstName>Mary</FirstName>
      <LastName>Brown</LastName>
    </User>
    <!--There is 1 location: General Hospital (a site).-->
    <Location OID="Location.001" Name="General Hospital" LocationType="Site">
      <MetaDataVersionRef StudyOID="123-456-789" MetaDataVersionOID="MetaDataVersion.001" EffectiveDate="2001-10-19T10:45:57-05:00"/>
    </Location>
    <!--There is one signature definition (electronic signature for data entry)
-->
    <SignatureDef OID="SignatureDef.001" Methodology="Electronic">
      <Meaning>Entry</Meaning>
      <LegalReason>Signer accepts responsibility for initial data entry</LegalReason>
    </SignatureDef>
  </AdminData>
  <!--Beginning of Clinical Data-->
  <ClinicalData StudyOID="123-456-789" MetaDataVersionOID="MetaDataVersion.001">
    <!-- SubjectData element for the first of 2 patients in this example  -->
    <SubjectData SubjectKey="P001" TransactionType="Insert">
      <!--  EventData element for Visit 1 for this patient  -->
      <StudyEventData StudyEventOID="VISIT_1">
        <!-- FormData element for the DEMOG and Vitals form collected on Visit 1 (Original)  -->
        <FormData FormOID="PAGE_1">
          <AuditRecord>
            <UserRef UserOID="User.002"/>
            <LocationRef LocationOID="Location.001"/>
            <DateTimeStamp>2001-05-31-T10:08:40-05:00</DateTimeStamp>
          </AuditRecord>
          <!--  Electronic signature for this form   -->
          <Signature>
            <UserRef UserOID="User.001"/>
            <LocationRef LocationOID="Location.001"/>
            <SignatureRef SignatureOID="SignatureDef.001"/>
            <DateTimeStamp>2001-05-30T10:06:32-05:00</DateTimeStamp>
          </Signature>
          <!--  ItemGroupData element for the Demographics part of the form   -->
          <ItemGroupData ItemGroupOID="DEMOG" ItemGroupRepeatKey="1">
            <ItemData ItemOID="PT" Value="P001"/>
            <ItemData ItemOID="INITIALS" Value="AMH"/>
            <ItemData ItemOID="SEX" Value="f"/>
            <ItemData ItemOID="DOB" Value="1947-07-16"/>
            <ItemData ItemOID="SPONSOR_PTID" Value="B00-2136-001"/>
            <ItemData ItemOID="WEIGHT_LB" Value="150"/>
            <ItemData ItemOID="WEIGHT_KG" Value="68.18"/>
            <!--  ItemGroupData element for the Vitals part of the form     -->
          </ItemGroupData>
          <ItemGroupData ItemGroupOID="VITALS" ItemGroupRepeatKey="">
            <ItemData ItemOID="PT" Value="P001"/>
            <ItemData ItemOID="VISITNAME" Value="Visit1"/>
            <ItemData ItemOID="SBP" Value="120"/>
            <ItemData ItemOID="DBP" Value="80"/>
            <ItemData ItemOID="SPONSOR_PTID" Value="B00-2136-001"/>
            <ItemData ItemOID="OCCUR_NUM" Value="1"/>
          </ItemGroupData>
        </FormData>
        <!--  FormData element for the Vitals form collected on Visit 1 (Modified)    -->
      </StudyEventData>
      <!-- StudyEventData element for Visit 2 for the patient  -->
      <StudyEventData StudyEventOID="VISIT_2">
        <!--  FormData element for the Vitals only form collected on Visit 2  -->
        <FormData FormOID="PAGE_2">
          <AuditRecord>
            <UserRef UserOID="User.002"/>
            <LocationRef LocationOID="Location.001"/>
            <DateTimeStamp>2001-05-31T9:06:45-05:00</DateTimeStamp>
          </AuditRecord>
          <!-- Electronic signature for this form -->
          <Signature>
            <UserRef UserOID="User.001"/>
            <LocationRef LocationOID="Location.001"/>
            <SignatureRef SignatureOID="SignatureDef.001"/>
            <DateTimeStamp>2001-05-30T10:06:32-05:00</DateTimeStamp>
          </Signature>
          <!--  Data for 3 repeats of Vitals item group on this form -->
          <ItemGroupData ItemGroupOID="VITALS" ItemGroupRepeatKey="1">
            <ItemData ItemOID="PT" Value="P001"/>
            <ItemData ItemOID="VISITNAME" Value="Visit2"/>
            <ItemData ItemOID="SBP" Value="130"/>
            <ItemData ItemOID="DBP" Value="90"/>
            <ItemData ItemOID="SPONSOR_PTID" Value="B00-2136-001"/>
            <ItemData ItemOID="OCCUR_NUM" Value="1"/>
          </ItemGroupData>
          <ItemGroupData ItemGroupOID="VITALS" ItemGroupRepeatKey="2">
            <ItemData ItemOID="PT" Value="P001"/>
            <ItemData ItemOID="VISITNAME" Value="Visit2"/>
            <ItemData ItemOID="SBP" Value="125"/>
            <ItemData ItemOID="DBP" Value="86"/>
            <ItemData ItemOID="SPONSOR_PTID" Value="B00-2136-001"/>
            <ItemData ItemOID="OCCUR_NUM" Value="2"/>
          </ItemGroupData>
          <ItemGroupData ItemGroupOID="VITALS" ItemGroupRepeatKey="3">
            <ItemData ItemOID="PT" Value="P001"/>
            <ItemData ItemOID="VISITNAME" Value="Visit2"/>
            <ItemData ItemOID="SBP" Value="122"/>
            <ItemData ItemOID="DBP" Value="84"/>
            <ItemData ItemOID="SPONSOR_PTID" Value="B00-2136-001"/>
            <ItemData ItemOID="OCCUR_NUM" Value="3"/>
          </ItemGroupData>
        </FormData>
      </StudyEventData>
    </SubjectData>
    <SubjectData SubjectKey="P001" TransactionType="Update">
      <StudyEventData StudyEventOID="VISIT_1">
        <FormData FormOID="Page 1">
          <AuditRecord>
            <UserRef UserOID="User.002"/>
            <LocationRef LocationOID="Location.001"/>
            <DateTimeStamp>2001-05-31T08:47:07-05:00</DateTimeStamp>
            <ReasonForChange>Error in initial data entry</ReasonForChange>
          </AuditRecord>
          <Signature>
            <UserRef UserOID="User.001"/>
            <LocationRef LocationOID="Location.001"/>
            <SignatureRef SignatureOID="SignatureDef.001"/>
            <DateTimeStamp>2001-05-30T10:06:32-05:00</DateTimeStamp>
          </Signature>
          <ItemGroupData ItemGroupOID="VITALS" ItemGroupRepeatKey="1">
            <ItemData ItemOID="SBP" Value="130"/>
          </ItemGroupData>
        </FormData>
      </StudyEventData>
    </SubjectData>
    <SubjectData SubjectKey="P027" TransactionType="Insert">
      <!--  EventData element for Visit 1 for this patient  -->
      <StudyEventData StudyEventOID="VISIT_1">
        <!-- FormData element for the DEMOG and Vitals form collected on Visit 1 (Original)  -->
        <FormData FormOID="PAGE_1">
          <AuditRecord>
            <UserRef UserOID="User.002"/>
            <LocationRef LocationOID="Location.001"/>
            <DateTimeStamp>2001-05-31-T10:08:40-05:00</DateTimeStamp>
          </AuditRecord>
          <!--  Electronic signature for this form   -->
          <Signature>
            <UserRef UserOID="User.001"/>
            <LocationRef LocationOID="Location.001"/>
            <SignatureRef SignatureOID="SignatureDef.001"/>
            <DateTimeStamp>2001-05-30T10:06:32-05:00</DateTimeStamp>
          </Signature>
          <!--  ItemGroupData element for the Demographics part of the form   -->
          <ItemGroupData ItemGroupOID="DEMOG" ItemGroupRepeatKey="1">
            <ItemData ItemOID="PT" Value="P027"/>
            <ItemData ItemOID="INITIALS" Value="VLP"/>
            <ItemData ItemOID="SEX" Value="f"/>
            <ItemData ItemOID="DOB" Value="1944-12-20"/>
            <ItemData ItemOID="SPONSOR_PTID" Value="B00-2136-027"/>
            <ItemData ItemOID="WEIGHT_LB" Value="139"/>
            <ItemData ItemOID="WEIGHT_KG" Value="63.04"/>
            <!--  ItemGroupData element for the Vitals part of the form     -->
          </ItemGroupData>
          <ItemGroupData ItemGroupOID="VITALS" ItemGroupRepeatKey="">
            <ItemData ItemOID="PT" Value="P027"/>
            <ItemData ItemOID="VISITNAME" Value="Visit1"/>
            <ItemData ItemOID="SBP" Value="115"/>
            <ItemData ItemOID="DBP" Value="75"/>
            <ItemData ItemOID="SPONSOR_PTID" Value="B00-2136-027"/>
            <ItemData ItemOID="OCCUR_NUM" Value="1"/>
          </ItemGroupData>
        </FormData>
        <!--  FormData element for the Vitals form collected on Visit 1 (Modified)    -->
      </StudyEventData>
      <!-- StudyEventData element for Visit 2 for the patient  -->
      <StudyEventData StudyEventOID="VISIT_2">
        <!--  FormData element for the Vitals only form collected on Visit 2  -->
        <FormData FormOID="PAGE_2">
          <AuditRecord>
            <UserRef UserOID="User.002"/>
            <LocationRef LocationOID="Location.001"/>
            <DateTimeStamp>2001-05-31T9:06:45-05:00</DateTimeStamp>
          </AuditRecord>
          <!-- Electronic signature for this form -->
          <Signature>
            <UserRef UserOID="User.001"/>
            <LocationRef LocationOID="Location.001"/>
            <SignatureRef SignatureOID="SignatureDef.001"/>
            <DateTimeStamp>2001-05-30T10:06:32-05:00</DateTimeStamp>
          </Signature>
          <!--  Data for 3 repeats of Vitals item group on this form -->
          <ItemGroupData ItemGroupOID="VITALS" ItemGroupRepeatKey="1">
            <ItemData ItemOID="PT" Value="P027"/>
            <ItemData ItemOID="VISITNAME" Value="Visit2"/>
            <ItemData ItemOID="SBP" Value="120"/>
            <ItemData ItemOID="DBP" Value="90"/>
            <ItemData ItemOID="SPONSOR_PTID" Value="B00-2136-027"/>
            <ItemData ItemOID="OCCUR_NUM" Value="1"/>
          </ItemGroupData>
          <ItemGroupData ItemGroupOID="VITALS" ItemGroupRepeatKey="2">
            <ItemData ItemOID="PT" Value="P027"/>
            <ItemData ItemOID="VISITNAME" Value="Visit2"/>
            <ItemData ItemOID="SBP" Value="120"/>
            <ItemData ItemOID="DBP" Value="80"/>
            <ItemData ItemOID="SPONSOR_PTID" Value="B00-2136-027"/>
            <ItemData ItemOID="OCCUR_NUM" Value="2"/>
          </ItemGroupData>
          <ItemGroupData ItemGroupOID="VITALS" ItemGroupRepeatKey="3">
            <ItemData ItemOID="PT" Value="P027"/>
            <ItemData ItemOID="VISITNAME" Value="Visit2"/>
            <ItemData ItemOID="SBP" Value="125"/>
            <ItemData ItemOID="DBP" Value="80"/>
            <ItemData ItemOID="SPONSOR_PTID" Value="B00-2136-027"/>
            <ItemData ItemOID="OCCUR_NUM" Value="3"/>
          </ItemGroupData>
        </FormData>
      </StudyEventData>
    </SubjectData>
  </ClinicalData>
</ODM>

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>