250 likes | 363 Views
caDSR Forms Interchange. Feasibility of using ODM & CDA. Nov 13, 2008 Ashwin Mathur (mathura2@mail.nih.gov). Background. The need. To be able to represent Forms templates in a consistent ‘standards’ based format for sharing with other systems. Forms Domain Model. Requirements.
E N D
caDSR Forms Interchange Feasibility of using ODM & CDA Nov 13, 2008 Ashwin Mathur (mathura2@mail.nih.gov)
The need • To be able to represent Forms templates in a consistent ‘standards’ based format for sharing with other systems
Requirements Information to be captured - • Form metadata • Questions • Question Text • CDE IDs • Header info • Long Name, Definition, Context, etc. • Form Structure • Modules • Name • Order • Form Behavior • Skip Patterns (if any)
Clinical Document Architecture (CDA) • HL7 standard for exchanging clinical documents • For transmission of actual clinical data • Uses HL7 v3.0 complex datatypes • Levels of compliance (Level 1, Level2, Level3) in increasing order of conformity
CDA Header Fixed Mood code of ‘EVN’ Most fields are for actual instance values for A particular document Mandatory Fields Problem: We don’t have this data!
CDA body mappings Human-readable value (answer) intended to be captured by CDA Problem: Again, we don’t have these instance values! Machine-readable value intended to be captured by CDA
CDA Example • Link
Requirements • Information to be captured – CDA approach • Forms meta-data • Questions • Question Text • CDE IDs • Header info • Long Name, Definition, Context, etc. • Forms structure • Modules • Name • Order • Forms Behavior • Skip Patterns (if any) • Additional CDA requirements • Header fields data (recordTarget, author, etc.) • Responses to each question • Code system mappings to each response X X X X X
CDA Summary Advantages Disadvantages (Forms Perspective) Needs actual data for compliance Header elements like recordTarget, author & custodian are mandatory Elements cannot be referenced - no re-use No support for data validation No explicit ordering of sections No support for skip-patterns • Strongly typed • Different levels of conformity • Human-readable & machine computable (for Level 3 conformant documents)
Operational Data Model (ODM) • CDISC Standard for ‘interchange and archive of clinical trials data’ • Includes clinical data along with its associated metadata, administrative data & reference data
ODM Mappings Meta-data Clear distinction between data & meta-data Data
ODM Meta-data Mappings Question Text CDE Reference Form Modules Data Validation Questions Ref to permissible values Permissible Values Skip Patterns Extensible
ODM Example Link
Requirements • Information to be captured – ODM approach • Forms meta-data • Questions • Question Text • CDE IDs • Header info • Long Name, Definition, Context, etc. • Forms structure • Modules • Name • Order • Forms Behavior • Skip Patterns (if any)
ODM Summary Advantages Disadvantages Not strongly typed Not easily human-readable • Elements loosely coupled – promotes re-use • Supports data validation • Supports skip-patterns • Supports module & question ordering • Supports data and metadata in one document
ODM for CDA C D A • Record Target details • Patient information • Patient Name ______ • Patient Address • Home Number ______ • City ______ • State ______ • Country ______ • Zip ______ • Author details • Author Name ______ • Author Address • Home Number ______ • City ______ • State ______ • Country ______ • Zip ______ • Custodian details • Custodian Name ______ • Custodian Address • Home Number ______ • City ______ • State ______ • Country ______ • Zip ______ • Patient Health Info • Clinical Global Improvement • 1 2 3 4 5 • Patient is suicide risk? • Yes No • Patient in remission • Yes No <ClinicalDocument> <recordTarget/> <author/> <custodian/> <component> <structuredBody> <section> <title>Clinical Global Improvement</title> <code code=“2004848v3.0” codeSystem=“caDSR”/> <text/> <entry/> </section> <section> <title>Patient is suicide risk?</title> <code code=“2004849v2.0” codeSystem=“caDSR”/> <text/> <entry/> </section> <section> <title>Patient in remission</title> <code code=“2004847v2.0” codeSystem=“caDSR”/> <text/> <entry/> </section> </structuredBody> </component> </ClinicalDocument> ODM ItemDefs (Questions) ODM <External Question> element ODM <ClinicalData> element ODM <CodeList> element
The proposed approach • Use ODM to capture • form meta-data • form data • CDA meta-data • CDA data • Produce CDA from captured data ODM Container CDA Form Metadata Form Data CDA Metadata CDA Data
Issues • Datatypes - CDA has complex HL7 datatypes while ODM has simple datatypes • Workaround: • The CDA complex datatypes can be broken down into multiple parts with simple datatypes in a ODM <ItemDef> element • Further restrictions on the data can be applied using the ‘RangeCheck’ element in ODM
Example C D A Form <ClinicalDocument> <recordTarget><patientRole><realmCode></realmCode> <patient> <name></name> <addr> <streetAddressLine></streetAddressLine> <city></city><state></state> <postalCode></postalCode><country></country> </addr> </recordTarget> <author><assignedAuthor> <code code=‘' codeSystem=‘' /> <addr> <streetAddressLine></streetAddressLine> <city></city><state></state> <postalCode></postalCode><country></country> </addr> <assignedPerson><name></name></assignedPerson> </assignedAuthor></author> <custodian> <assignedCustodian><representedCustodianOrganization> <name></name> <addr> <streetAddressLine></streetAddressLine> <city></city><state></state> <postalCode></postalCode><country></country> </addr> </representedCustodianOrganization></assignedCustodian> </custodian> <component> <structuredBody> <section> <title></title> <code code=“” codeSystem=“”/> <text></text> <entry/> </section> <section> <title></title> <code code=“” codeSystem=“”/> <text></text> <entry/> </section> <section> <title></title> <code code=“” codeSystem=“”/> <text></text> <entry/> </section> </structuredBody> </component> </ClinicalDocument> <ClinicalDocument> <recordTarget><patientRole><realmCode></realmCode> <patient> <name>John Doe</name> <addr> <streetAddressLine>21 North Ave</streetAddressLine> <city>Burlington</city><state>MA</state> <postalCode>01803</postalCode><country>USA</country> </addr> </recordTarget> <author><assignedAuthor> <code code='SELF' codeSystem='2.16.840.1.113883.5.111' /> <addr> <streetAddressLine>21 North Ave</streetAddressLine> <city>Burlington</city><state>MA</state> <postalCode>01803</postalCode><country>USA</country> </addr> <assignedPerson><name>SELF</name></assignedPerson> </assignedAuthor></author> <custodian> <assignedCustodian><representedCustodianOrganization> <name>Good Health Clinic</name> <addr> <streetAddressLine>21 North Ave</streetAddressLine> <city>Burlington</city><state>MA</state> <postalCode>01803</postalCode><country>USA</country> </addr> </representedCustodianOrganization></assignedCustodian> </custodian> <component> <structuredBody> <section> <title>Clinical Global Improvement</title> <code code=“2004848v3.0” codeSystem=“caDSR”/> <text>2</text> <entry><observation>><code code=“2004848v3.0”></observation></entry> </section> <section> <title>Patient is suicide risk?</title> <code code=“2004849v2.0” codeSystem=“caDSR”/> <text>Yes</text> <entry><observation><code code=“2004848v3.0”></observation></entry> </section> <section> <title>Patient in remission</title> <code code=“2004847v2.0” codeSystem=“caDSR”/> <text>Yes</text> <entry><observation><code code=“2004848v3.0”></observation></entry> </section> </structuredBody> </component> </ClinicalDocument> C D A O D M <ODM> <ItemGroupDef OID="CDA001" Name="recordTarget"> <ItemRef ItemOID="ID004" OrderNumber="1" Mandatory="Yes" /> <ItemRef ItemOID="ID001" OrderNumber="2" Mandatory="Yes" /> <ItemRef ItemOID="ID002" OrderNumber="3" Mandatory="Yes" /> <ItemRef ItemOID="ID003" OrderNumber="4" Mandatory="Yes" /> </ItemGroupDef> <ItemGroupDef OID="CDA002" Name="author"> <ItemRef ItemOID="ID005" OrderNumber="1" Mandatory="Yes" /> <ItemRef ItemOID="ID001" OrderNumber="2" Mandatory="Yes" /> <ItemRef ItemOID="ID002" OrderNumber="3" Mandatory="Yes" /> <ItemRef ItemOID="ID003" OrderNumber="4" Mandatory="Yes" /> </ItemGroupDef> <ItemGroupDef OID="MOD001" Name="Obs"> <ItemRef ItemOID="ID006" OrderNumber="1" Mandatory="Yes" /> <ItemRef ItemOID="ID007" OrderNumber="2" Mandatory="Yes" /> <ItemRef ItemOID="ID008" OrderNumber="3" Mandatory="Yes" /> </ItemGroupDef> <ItemDef OID="ID001" DataType=“int" Name="ID001"> <Question><TranslatedText>House Number</TranslatedText></Question> </ItemDef> <ItemDef OID="ID002" DataType="string" Name="ID002"> <Question><TranslatedText>City</TranslatedText></Question> </ItemDef> <ItemDef OID="ID003" DataType="string" Name="ID003"> <Question><TranslatedText>State</TranslatedText></Question> </ItemDef> <ItemDef OID="ID004" DataType="string" Name="ID004"> <Question><TranslatedText>PatientName</TranslatedText></Question> </ItemDef> <ItemDef OID="ID005" DataType="string" Name="ID005"> <Question><TranslatedText>Author Name</TranslatedText></Question> </ItemDef> <ItemDef OID="ID006" DataType="string" Name="ID006"> <Question><TranslatedText>What is the Clinical Global Improvement</TranslatedText></Question> <ExternalQuestion Dictionary="caDSR" Version="3.0" Code="2004848v3.0 "/> </ItemDef> <ItemDef OID="ID007" DataType="string" Name="ID007"> <Question><TranslatedText>Patient’s suicide risk</TranslatedText></Question> <ExternalQuestion Dictionary="caDSR" Version="3.0" Code="2004849v2.0 "/> </ItemDef> <ItemDef OID="ID008" DataType="string" Name="ID008"> <Question><TranslatedText>Patient in remission</TranslatedText></Question> <ExternalQuestion Dictionary="caDSR" Version="3.0" Code="2004847v2.0 "/> </ItemDef> </ODM> <<maps to>> <ClinicalDocument> <recordTarget/> <author/> <custodian/> <component> <structuredBody> <section> <title>Clinical Global Improvement</title> <code code=“2004848v3.0” codeSystem=“caDSR”/> <text/> <entry/> </section> <section> <title>Patient’s suicide risk</title> <code code=“2004849v2.0” codeSystem=“caDSR”/> <text/> <entry/> </section> <section> <title>Patient in remission</title> <code code=“2004847v2.0” codeSystem=“caDSR”/> <text/> <entry/> </section> </structuredBody> </component> </ClinicalDocument> CDA Info Modules <<maps to>> CDA Level3 Compliant Missing values Form Info Address fields <<maps to>> Questions
ODM-CDA Requirements • Forms requirements • Forms meta-data • Questions • Question Text • CDE IDs • Header info • Long Name, Definition, Context, etc. • Forms structure • Modules • Name • Order • Forms Behavior • Skip Patterns (if any) • Additional CDA requirements • Header fields data (recordTarget, author, etc.) • Answers to each question • Code system mappings to each answer (for enumerated value domains)
Summary X X X X X
Conclusion • CDA is instance-specific and needs actual data to be generated • ODM provides good support for capturing meta-data and data • Data needed to generate CDA can be captured in an ODM • ODM -> xslt -> CDA