tag:blogger.com,1999:blog-83460616231865642632024-03-13T10:45:41.231-04:00Thoughts on Medical InformaticsArmando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.comBlogger54125tag:blogger.com,1999:blog-8346061623186564263.post-76158744741555369092020-01-17T18:42:00.001-05:002020-02-05T09:27:41.529-05:00Copernicus and Elegant Models<div style="text-align: left;">
</div>
<div style="text-align: justify;">
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiep_MzeNFtw_oHVXEHIWgLGUXttJJvXlno-snbOv12EA7o-z4NtMgWlvRHQTFeafrXzKPrUkmOKNKvScy1pZWaVxCoU3wduULuK4rcdet-foFf_J4kH9E7RruB83ViBn5PZ8T2KNsnAWRG/s1600/Copernicus.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="550" data-original-width="470" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiep_MzeNFtw_oHVXEHIWgLGUXttJJvXlno-snbOv12EA7o-z4NtMgWlvRHQTFeafrXzKPrUkmOKNKvScy1pZWaVxCoU3wduULuK4rcdet-foFf_J4kH9E7RruB83ViBn5PZ8T2KNsnAWRG/s320/Copernicus.png" width="273" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Nicolaus Copernicus (1473-1543)</td></tr>
</tbody></table>
In 1543, the year of his death, <a href="https://en.wikipedia.org/wiki/Nicolaus_Copernicus" target="_blank">Nicolaus Copernicus</a> published <i>De Revolutionibus Orbium Coelestium.</i> In English, it roughly translates to mean <i>On The Revolution of Celestial Spheres.</i> Now considered his greatest scientific achievement, it established that the Sun as the center of our solar system and that all the planets including Earth, revolve around it. We now call this the heliocentric model of our solar system, or simply <a href="https://en.wikipedia.org/wiki/Heliocentrism" target="_blank">heliocentrism. </a></div>
<br />
<div style="text-align: justify;">
The prevailing model at the time was that the Earth was at the center of the universe. Also accepted was that the Earth was stationary and other spheres. including the sun, moved around it. This <i>geocentric</i> model prevailed for well over a millennium: since the 2nd century A.D. , and is most often attributed to <a href="https://en.wikipedia.org/wiki/Ptolemy" target="_blank">Ptolemy, </a>a Greek philosopher, astronomer and mathematician from what is now Alexandria, Egypt.</div>
<br />
<div style="text-align: justify;">
The transition to the new model didn't occur quickly or easily. Those opposed to <i>Copernicanism</i> often did so for religious or philosophical reasons, but eventually it became clear that the Copernican model more accurately, and more simply, predicted the movements of the heavenly bodies across the sky. It had become clear some time before that the Ptolemaic model could not explain certain observations, such as the fact that planets often seemed to stop moving completely or sometimes travel backwards across the sky. For this reason, <i>fudge</i></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><i><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAp_PvvbIeTHjWCFSTfunoSiUz2jV9c1HzB_bFQnq2Rly7oBDDOyPQHzoiTWk-NWtnCjLDlHHsDt_inLRPsPSQTfK85mQs2MZkEjH4fdSwBClNegqSLSgMrBlrHeNzMQDEDtLIJwVM0Nsz/s1600/Picture1.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="697" data-original-width="712" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAp_PvvbIeTHjWCFSTfunoSiUz2jV9c1HzB_bFQnq2Rly7oBDDOyPQHzoiTWk-NWtnCjLDlHHsDt_inLRPsPSQTfK85mQs2MZkEjH4fdSwBClNegqSLSgMrBlrHeNzMQDEDtLIJwVM0Nsz/s320/Picture1.png" width="320" /></a></i></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><i>The Ptolemaic Model of the Solar System</i></td></tr>
</tbody></table>
<div style="text-align: justify;">
<i>factors</i> were added to the Ptolemaic model such as <a href="https://en.wikipedia.org/wiki/Deferent_and_epicycle" target="_blank"><b>epicycles, deferents, and equants</b></a> so that the model more closely aligned with reality.</div>
<br />
<div style="text-align: justify;">
An <b>epicycle</b> was a circle whose center travels along the circumference of a larger circle, the latter of which is known as a<b> deferent</b>.
Together they helped explain why planets sometimes move backwards across the sky. An <b>equant </b>is the point from which each body sweeps out equal angles
along the deferent in equal times. The center of the deferent is midway
between the equant and Earth.</div>
<br />
<div style="text-align: justify;">
These adjustments, or corrections, were important to make the most use of the Ptolemaic model. In addition, church opposition to Copernicanism was often fierce, and initially its acceptance was slow. The argument went something like this: <i> </i><br />
<br />
<i>How can God the Almighty not place Earth at the center of the universe, since Earth was the most important celestial body of them all? </i><br />
<br />
But eventually astronomers retired the Ptolemaic model and Copernicanism prevailed. This ushered in a golden age of astronomy during which scientific discoveries quickly took off and our understanding of the solar system greatly increased.</div>
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ3tZt5u4JL-E5mK4OSZ7qcR_cHFP8b37LS3dgdiDXEn4XYFGsQ7Pw1V3MRDc4otLXIuHMCpAOu9PXmDZZ6tzDhYDo6k4tXeDgO1NoKYd6lVdpuKHOxQE0zWIpIVZH57yW1On-yfD4Y94N/s1600/Screen+Shot+2019-12-26+at+10.03.20+AM.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="329" data-original-width="426" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ3tZt5u4JL-E5mK4OSZ7qcR_cHFP8b37LS3dgdiDXEn4XYFGsQ7Pw1V3MRDc4otLXIuHMCpAOu9PXmDZZ6tzDhYDo6k4tXeDgO1NoKYd6lVdpuKHOxQE0zWIpIVZH57yW1On-yfD4Y94N/s320/Screen+Shot+2019-12-26+at+10.03.20+AM.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Fundamentals of the Ptolemaic Model</td></tr>
</tbody></table>
The take home lesson from this 16th century story is clear. Sometimes you have to retire older, inaccurate models for newer ones that are both simpler to implement, and more accurate. Modelers call these <i>elegant </i>models. So let's fast forward to the 21st century. Could we be experiencing a similar moment with regard to clinical trials data models? I think we are.<br />
<br />
<div style="text-align: justify;">
Today, we regard the experimental subject in a clinical trial to be the most important entity of a trial. In fact he/she <i><b>is</b></i> the most important entity....and all the effort to collect and understand the effects of new therapeutic agent exist with this entity in mind. The Subject is and has been for decades the center of the clinical trials universe, with all other concepts being divided, misunderstood, sometimes neglected, in the model's periphery. But there is a problem with subjects at the center. Subjects are unpredictable. Odd, unexpected things happen to them and often new, unexpected data are collected but they have no room in the subject-centric model. New data often <i>don't fit </i>in this model and have nowhere to go. New constructs are developed to contain and explain them, things like Supplemental Qualifiers, Related Records, and Findings About domains (see <a href="https://www.cdisc.org/standards/foundational/sdtm" target="_blank">Study Data Tabulation Model</a>). These are the epicycles, deferents, and equants of the subject-centric clinical trials universe. In addition, we must recognize that the current model for observations (being made up of findings, interventions, and events) to be fundamentally flawed. We need to fix this in the same way the Ptolemaic model was fundamentally flawed and needed to be redone (<a href="https://aolivamd.blogspot.com/2016/09/rethinking-three-cdisc-general.html" target="_blank">see my previous post on this topic</a>). When we do so, the need for these fudge factors disappears as you will see below. </div>
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFXvLU2WMg2OTfZS16HJK4NRsaqhiubYK0pF-rdloxJFNZclmbrDC582k-ll69Z9W_H0BJHW56DIxVDlZk0jOkF4u0j2w4ttP4_KrfOJmg9ml-5pRxtoDz3iU6BAfB_EwNefeIV6kRhpfm/s1600/Screen+Shot+2019-12-27+at+11.27.36+AM.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="542" data-original-width="669" height="323" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFXvLU2WMg2OTfZS16HJK4NRsaqhiubYK0pF-rdloxJFNZclmbrDC582k-ll69Z9W_H0BJHW56DIxVDlZk0jOkF4u0j2w4ttP4_KrfOJmg9ml-5pRxtoDz3iU6BAfB_EwNefeIV6kRhpfm/s400/Screen+Shot+2019-12-27+at+11.27.36+AM.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">"Copernican" View of Study Data</td></tr>
</tbody></table>
<div style="text-align: right;">
</div>
<div style="text-align: justify;">
So what is the answer? We remove Subjects from the center of a clinical trial universe and replace them with Study Activities (an activity-centric model). Study activities are, after all, critical for a study's success, and are easily linked to the subject to which the activity pertains. They become the <i>unit of record </i>for any study. Study Activities may be observations, assessments, or administrative activities (informed consent, randomization), Study Activities are more predictable, the metadata needed to fully describe the activities are generally more stable, and, by placing them at the center of the data model, we make them easier to represent, understand, and analyze. We also correct mistakes in how observations are modeled. The end result is a model that is not only simpler to implement, but more capable of representing study data and their true meaning. Yes, we have a more <i>elegant</i> model that is closer to reality. </div>
<br />
<div style="text-align: justify;">
But clinical trial data aren't spheres that orbit the sun. How do we make this more practical and implementable? The answer is we describe these new definitions and relationships as an ontology that is understandable to both subject matter experts and information systems. It goes something like this.</div>
<br />
<div style="text-align: justify;">
At the center of our <i>universe</i> is the <b>Study Activity</b>, defined as any activity associated with the planning, conduct, analysis, and interpretation of a study. We recognize different sub-types, such as study design activities (Arms, Epochs, Visits, etc.), administrative activities (informed consent, randomization), intervention activities (clinical observations, therapeutic interventions), analysis activities. One highly important type of study activity is Assessments, and they need to be added to the model. More on this later. Activities can be defined, protocol specified, planned, scheduled, performed. Every activity has an outcome, which in the case of observations, is the result. Activities also have start rules that link it to other activities (e.g. High Dose Drug administration activity begins on the same day that the Randomization activity is completed and the activity outcome equals High Dose group. Or Blood Pressure Activity begins 3 minutes after completion of Change in Body Position activity from supine to sitting.) Activities may also have sub-activities. For example, a simple Blood Pressure is made up of a Systolic BP measurement and a Diastolic BP measurement.</div>
<br />
<div style="text-align: justify;">
So our model, viewed as a mind map, starts looking like this. The core classes are shown along with the important relationships. </div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7qJ034z_TAG-xW0Xh46l-e8QaSlbwcJm-TiCqEEoNwgYcPMLpSa5ysLa1TKWGA3WWUY9AnECRg7Fo69Ix0YN7yZH2t2fP9p-0YJ02ofL5xAcn924ewy2ggzyQ7PoHwZDGcs_WAc8thniB/s1600/Screen+Shot+2019-12-27+at+12.02.39+PM.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="554" data-original-width="681" height="520" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7qJ034z_TAG-xW0Xh46l-e8QaSlbwcJm-TiCqEEoNwgYcPMLpSa5ysLa1TKWGA3WWUY9AnECRg7Fo69Ix0YN7yZH2t2fP9p-0YJ02ofL5xAcn924ewy2ggzyQ7PoHwZDGcs_WAc8thniB/s640/Screen+Shot+2019-12-27+at+12.02.39+PM.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Core Study Ontology</td><td class="tr-caption" style="text-align: center;"><br /></td><td class="tr-caption" style="text-align: center;"><br /></td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<br />
<div style="text-align: justify;">
The next step is to correct the current modeling of observations, which in the Study Data Tabulation Model includes findings, interventions, and events. The following new definitions are proposed, which I believe align more closely with the way these terms are used in clinical medicine. The definitions are written as <a href="https://aolivamd.blogspot.com/2015/12/aristotle-and-how-best-to-define-things.html" target="_blank">Aristotelian Definitions</a> whenever possible to facilitate development of machine readable/executable software.</div>
<br />
<div style="text-align: justify;">
<b>Intervention:</b> A Study Activity that involves an interruption to the study subject's normal daily routine for the purpose of observing the subject's physical, psychological, or physiological state, and/or mitigating the effects of a medical condition.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
There are three main sub-types of Interventions: </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>(Clinical) Observation:</b> An Intervention whose intent is to measure the physical, physiological, or psychological state of a Study Subject.<br />
<br />
Please see my <a href="https://aolivamd.blogspot.com/2019/03/on-observations-in-clinical-trials-or.html" target="_blank">previous post </a>for more thoughts about Observations.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Therapeutic Intervention:</b> An Intervention whose intent is to have an effect (e.g. treat, cure, mitigate, prevent) on a Medical Condition. (A drug administration is an example of a therapeutic intervention.)</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
There are other types of Interventions, but for the sake of brevity they are not covered here. Then we have a markedly updated definition of Events:</div>
<br />
<b>Event:</b> An occurrence; something that happens. An event persists in time.<br />
<br />
Followed by important types of Events:<br />
<br />
<div style="text-align: justify;">
<b>Medical Condition: </b>An event that is a disease, injury, disorder, or transient physiologic state that interferes or may interfere with well-being. A medical condition persists in time.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Adverse Event:</b> A Medical Condition that emerges or worsens following a Medical Intervention, including the use of a drug. Note: there is no presumption of causality. Please refer to a <a href="https://aolivamd.blogspot.com/2019/04/modeling-adverse-event-information.html" target="_blank">previous post </a>for more information about modeling Adverse Events. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
There are other types of events, such as Diagnoses, Indications, Underlying Conditions, but for the sake of brevity we can stop here.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
As previously stated, Assessments are an extremely important Study Activity that is notably missing from today's models, and which is sorely needed:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Assessment: </b> An Examination or Analysis of one or more clinical Observations to identify and/or characterize a Medical Condition. (When formalized, this is also called an Adjudication.) </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
One can easily spend a great deal more time discussing assessments and how to distinguish them from observations, but instead I refer you to a <a href="https://aolivamd.blogspot.com/2020/01/assessments-revisited.html" target="_blank">previous post </a>on this topic. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
These critically important concepts are modeled as follows in our core ontology. We must recognize that Adverse Events are not Observations. We collect observations and then perform an assessment to determine whether an Adverse Event (a Medical Condition) is related to or helps explain the presence of the AE. Often this assessment is not captured in writing... it is done by the subject via self assessment, or by the Investigator in the clinic, but an assessment must occur. Not having a place in the current model is a notable omission, in my opinion. So the new high level model looks something like this:</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqLxhyKDkJ659hSfOu-HIxmxFR2x8M92i75Lo8KEDNHwAPBX-HDsxInvGysNguBafWj52kqzAoWYz34xTKR1KC44QldJBq0DTi3yM5yQ7ERC8oXrqnvCoyQQLbnjaGFnM6Pj8WP-TuT8ii/s1600/Screen+Shot+2019-12-27+at+6.21.07+PM.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="274" data-original-width="542" height="322" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqLxhyKDkJ659hSfOu-HIxmxFR2x8M92i75Lo8KEDNHwAPBX-HDsxInvGysNguBafWj52kqzAoWYz34xTKR1KC44QldJBq0DTi3yM5yQ7ERC8oXrqnvCoyQQLbnjaGFnM6Pj8WP-TuT8ii/s640/Screen+Shot+2019-12-27+at+6.21.07+PM.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Modeling Observations and Assessments</td></tr>
</tbody></table>
<br />
<div style="text-align: justify;">
Consider a Subject who has a measured Blood Pressure in the clinic of 160/110 (a clinical observation). Does this mean that the Subject has a Medical Condition (Essential Hypertension) that requires treatment? No. Additional observations need to be recorded and analyzed (Assessed) to make that link. Is the person obese and the wrong BP cuff size used? Is the person nervous and has transient elevated BP due to anxiety? Very often, serial blood pressures in various settings can help sort this out. If the BP was recorded shortly after taking an experimental treatment, is this an Adverse Event of the treatment? No, for the same reasons. An Assessment needs to be done. Read more about Assessment in a <a href="https://aolivamd.blogspot.com/2016/09/rethinking-three-cdisc-general.html" target="_blank">previous post</a>.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
By moving to an activity-centric model, expressing a protocol in a machine-readable/executable format is fairly simple. The protocol essentially becomes a list of all protocol-specified activities, each of which is richly linked to entities and other activities. For example, consider a simple trial consisting of the following screening activities: informed consent, serum RPR (test for syphilis), and fasting blood sugar (FBS). The protocol states that informed consent comes first, and once it is obtained, the RPR and FBS are obtained within 3 days but not to exceed 7 days. The informed consent activity is linked to a Default Start Rule saying that it starts anytime. The RPR and FBS each have a start rule that is linked to the successful completion of the informed consent activity. Appropriate delays (3 days) and maximum delays (7 days) are captured in the start rule. Epochs and other study design activities are defined by start and stop rules of the sub-activities within each study design concept. In the case of the Screening Epoch, it begins when Informed Consent begins, and ends when yet another activity: Eligibility Determination activity is conducted, Those who are eligible (Eligibility Determination outcome equals <i>true</i>) can begin the Randomization activity. The Eligibility Determination Activity in essence is the Start Rule for the Randomization activity, and so forth. Using this approach, complex protocol design features such as adaptive designs, interim analyses and early termination can be defined using precise start rules and can lead to automated assessments of study conduct and automated identification of protocol violations. For more details on this approach, see a previous post about StudyActivity <a href="https://aolivamd.blogspot.com/2020/01/activity-start-rules-in-study-protocols.html" target="_blank">Start Rules</a>.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
By taking a historical perspective, we must commit to retire antiquated, inaccurate models for clinical trials and transition to an elegant <i>activity-centric</i> model for clinical trials data. It would solve many of the problems we continue to encounter and can enable much more powerful techniques to automate the clinical trials enterprise. In the same manner that we retired epicycles, deferents, and equants in astronomy almost 500 years ago, it's time to retire Supplemental Qualifiers, Related Records, and Findings About domains in our quest for a more elegant model for clinical trials data.<br />
<br />
In closing, I invite you to review and dissect and comment on this new model for study data, which is written in <a href="https://www.w3.org/OWL/" target="_blank">OWL</a> (Web Ontology Language) and available for download on <a href="https://github.com/phuse-org/CTDasRDF/blob/master/data/rdf/study.ttl" target="_blank">GitHub</a>. Although it is still a draft, the core fundamental classes and relationships have remained quite stable throughout its development. Special thanks go to <a href="https://twitter.com/novastaylor?lang=en" target="_blank">Tim Williams</a> and <a href="https://www.phuse.eu/" target="_blank">PhUSE,</a> who continue to play significant roles and provide tremendous support in the development of this ontology.<br />
<br />
I look forward to hearing from you. </div>
<br />
<div style="text-align: justify;">
<br /></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-47937968302615335972020-01-17T18:27:00.002-05:002020-01-17T18:27:56.275-05:00Assessments (revisited)Today I'd like to focus on Assessments in clinical medicine, including clinical research, with an emphasis on how to represent Assessment information optimally for data exchange. I've <a href="http://aolivamd.blogspot.com/2015/08/observations-assessment-and-bridg.html" target="_blank">written about Assessments before</a>. I'd like to revisit this topic again because, as standards continue to evolve and improve, we as an industry continue to fumble how we handle assessment information. I think this creates unnecessary challenges and limitations in how we document and exchange assessment information. I continue to see widespread confusion between what is an assessment vs. what is an observation. It remains common to see a 'schedule of assessments' in a study protocol when we really mean a schedule of observations. True assessments are not observations and yet they are critically important in understanding and analyzing adverse event reports or clinical trials. Standardizing assessment information remains a critical need in data standardization efforts to support automation.<br />
<br />
First some working definitions. I use <a href="http://aolivamd.blogspot.com/2015/12/aristotle-and-how-best-to-define-things.html" target="_blank">Aristotelian definitions</a> whenever possible.<br />
<br />
<ul>
<li>A (Clinical) <b>Observation</b> is an Intervention whose intent is to measure the physical, physiological, or psychological state of a Person. </li>
</ul>
<ul>
<li>An <b>Assessment</b> is an Analysis of one or more Observations to identify and/or characterize (e.g, severity assessment) of a Medical Condition. </li>
</ul>
<ul>
<li>A <b>Medical Condition</b> is an Event that is a Disease, Injury, Disorder, or transient physiologic state (e.g. Pregnancy) that interferes or may interfere with well-being. </li>
</ul>
<br />
These definitions lead to various corollaries.<br />
<br />
<ul>
<li>An <b>Observation</b> is a finding (as defined by CDISC) but it is also an intervention, since the observer must intervene in a person's normal routine to make and record the observation. Sometimes the details of the intervention (device used, method, etc) can affect the observation results, so are therefore worth recording. </li>
<li>An <b>Adverse Event </b>is not an Observation (as defined by CDISC). It is instead a Medical Condition that is temporally related to a therapeutic intervention, such as a drug administration. The relationship between an AE and an Observation is as follows. One or more observations may support the presence of an AE after a proper assessment. I note that the U.S. regulations used the words "occurrence," which is my opinion is synonymous with an event. </li>
</ul>
<br />
Getting back to Assessments, physician's are trained from the earliest days in medical school that first one observes, then one assesses (i.e. interprets the observations) before deciding whether to treat. This makes up the familiar template of a patient encounter known as SOAP (Subjective observations, Objective observations, Assessments, Plan).<br />
<br />
Often times Assessments are not formally conducted or documented in clinical trials, so there are no assessment data to standardize. A temperature reading of 39C (an observation) is almost always assumed to be a fever (assessment result-->medical condition), unless there are additional data to suggest something else (faulty digital thermometer, or evidence of the bizarre <a href="https://www.webmd.com/mental-health/munchausen-syndrome#1" target="_blank">Munchausen Syndrome</a>). Sometimes Assessment information is critical to ensure proper diagnosis and treatment, and in the case of clinical trials, treatment with the appropriate investigational drug. The Assessment, when formalized and standardized in the protocol, is called an Adjudication. (note: this is not to be confused with the process of ensuring an accurate observation by having, say, an independent blinded reader looking at an imaging study or pathological specimen to determine the accuracy of the observation result. The latter is simply a feature of an observation method to ensure quality measurements).<br />
<br />
Speaking of independent observers and assessors, often times third party assessors (e.g. radiologists, pathologists) provide an independent assessment of certain observations (e.g. x-ray, lab results) when the investigator is not qualified to make his or her own assessment of the findings. These reports typically contain two sections. The first one describe the findings/observations (e.g. brain histology showing cortical atrophy, neurofibrillary tangles, amyloid plaques) followed by the assessment: findings are consistent with Alzheimer's Disease.<br />
<br />
Because we currently confuse observations and assessments, we have no standard way to report assessment information. Currently sponsors use three possible approaches:<br />
<ol>
<li>Include assessment information in findings domains</li>
<li>Include assessment information in supplemental findings domain</li>
<li>Include assessment information in custom domains</li>
</ol>
<div>
As one can imagine, the variability in reporting Assessment information currently is a significant problem. At the very least, we need an Assessment domain where one can find at a minimum:</div>
<div>
<ul>
<li>an Assessment ID</li>
<li>what observations were used in the assessment</li>
<li>who is/are the assessor(s) with a link to their qualifications</li>
<li>date/time of assessment</li>
<li>outcome of the assessment: i.e. cause of the observations, usually a Medical Condition, with a link to a medical conditions domain. </li>
<li>severity of the medical condition at the time of the assessment</li>
<li>what method was used for the assessment (e.g. diagnostic criteria)</li>
<li>what method/scale was used to document severity</li>
</ul>
<div>
It is important to note that one can have multiple assessments for the same set of observations. In health care this is known as a second opinion. Sometimes that second assessment uses different assessment criteria that the assessor believes is more relevant. A clearer picture now emerges of a Person/Subject having one or more medical conditions that are identified via an assessment of observations (some assessments are well documented, others not so much or at all), and changes in those medical conditions are documented via multiple observations and assessments at different points in time. This paradigm applies equally to the indication (i.e. the disease/condition being treated in the clinical trial) but also to new Medical Conditions (e.g. adverse events) that arise during the trial itself.<br />
<br />
And let's remember, <a href="http://aolivamd.blogspot.com/2018/02/is-death-adverse-event.html" target="_blank">Death is not an adverse event</a>, rather one of various possible outcomes for an adverse event as the medical condition evolves over time. </div>
</div>
<div>
<br /></div>
<div>
As an immediate short-term solution, SDTM should add an Assessment domain which links Assessment information to the observations that were used in the assessment. This would be a big step forward. </div>
<br />
<br />
<br />
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px '.SF NS Text'}
</style>Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-60842482838215120022020-01-15T02:04:00.000-05:002020-01-15T02:04:09.965-05:00Activity Start Rules in Study ProtocolsImagine a software tool that reads a study protocol, can analyze the data collected on any subject to date and determines what activity to perform next. Imagine all of the data collection errors and protocol violations that can be avoided by following the instructions from such a tool. From a regulatory perspective, imagine running an analysis that describes in sufficient detail whether a protocol was conducted properly and can automatically determine where protocol violations occurred. This is possible if we have machine-readable start rules for study activities.<br />
<br />
I recently wrote about <a href="http://aolivamd.blogspot.com/2018/03/rules-in-study-protocols.html" target="_blank">Study Rules</a>. Today I continue that discussion by looking at Start Rules and how to represent them computationally in the RDF (Resource Description Framework) to enable the tools described above.<br />
<br />
The start rules are rules that determine if an StudyActivity can begin or not. The start rule describes the condition(s) present in the collected data that must be met for a StudyActivity to begin. If the condition is met, the StartRuleOutcome is true and the activity may begin. If the condition is not met, then the outcome is false.<br />
<br />
All study activities have start rules, although they may not be explicitly stated in the protocol. Often the start rule can be restated more explicitly. It is also useful to consider a "default" start rule which is always true (i.e. the condition to start the activity is always automatically met) and therefore the Activity can begin anytime. The very first activity in a study, usually "ObtainInformedConsent" can begin anytime. Its start rule is the default start rule. The start of the "ObtainInformedConsent" activity also marks the start of the Screening epoch (activity). Screening is a composite activity (i.e. made up of multiple sub-activities) whose start rule says begin Screening when the ObtainInformedConsent activity begins.<br />
<br />
Start Rules can describe not only whether the activity can begin, but when it can or cannot begin relative to another activity. There are different types of start rules.<br />
<br />
<ol>
<li>A "Prerequisite Start" Rule (PRST) allows the target activity to begin when the prerequisite activity has started. </li>
<li>A "Prerequisite Complete" Rule (PRCO) allows the target activity to begin when the prerequisite activity is completed, regardless of the outcome. </li>
<li>A "Prerequisite Outcome" Rule (PROUT) allows the target activity to begin when the Prerequisite activity is complete and has a certain outcome or result. </li>
</ol>
Start rules may be associated with a protocol-specified delay.<br />
<br />
<ol>
<li>A delay = 10 mins means wait 10 minutes after the start condition is met before performing the activity. </li>
<li>A maximum delay = 10 mins means wait no longer than 10 minutes before starting the activity. </li>
<li>A minimum delay = 10 mins means wait at least 10 minutes before performing the activity.</li>
</ol>
<br />
Certain planned activities can be skipped altogether if a certain condition exists. For example, if the sex data collection activity results in Sex=M, then a Pregnancy Test can be skipped. This could be captured in a separate "Skip Rule;" a topic for a future post (or better yet, a start rule for a start rule!). In this case, the start rule can be skipped and the activity becomes a "logically skipped"activity per protocol, and there is no violation.<br />
<br />
So a start rule has the following properties/predicates<br />
:prerequisite (links to the prerequisite activity)<br />
:prerequisiteExpectedOutcome (the expected outcome/result for the prerequisite activity.)<br />
:prerequisiteExpectedStatus (the expected status for the prerequisite activity.)<br />
:skipActivity (link to the activity that determines if the target activity can be skipped)<br />
:skipOutcome (the expected outcome of the skip activity that allows the target activity to be skipped<br />
(note: this may be better coded in a separate skip rule)<br />
:ruleDescription (a short textual description of the rule)<br />
:ruleDescriptionLong (a long description)<br />
:subRule (a link to another subordinate rule)<br />
three timing attributes: :delay, :delayMin; delayMax (as discussed above).<br />
<br />
How does this look using RDF (the Resource Description Framework)?<br />
<br />
I have created a "dummy" clinical trial for migraine prevention that starts with the InformedConsent activity and ends up with a randomized treatment activity. During screening, subjects undergo [1] recording the sex of the subject, [2] an RPR test for syphilis, and [3] a pregnancy test, if female. To be eligible for continued participation, one must have a negative RPR and a negative pregnancy test, if female. Those that are eligible are Randomized to two treatments: LowDose 10mg daily or HighDose 20mg daily. Those randomized are given study medication to prevent their migraines.<br />
<br />
First we link the activities to the subjects:<br />
<div class="p1">
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">data:Person_1<span class="Apple-converted-space"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"><span class="Apple-converted-space"> rdf:type</span><span class="Apple-converted-space"> </span>smm:Person ;</span></div>
<div class="p1">
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"><span class="Apple-converted-space"> </span>smm:participatesIn <span class="Apple-converted-space"> </span></span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> data:Observation_Sex_1 , </span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> data:Observation_RPRTest_1 , </span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> data:randomization_BAL2_1 , data:ProductAdministration_1 , </span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> data:InformedConsent_ADULT_1 , data:Observation_PregnancyTest_1. </span></div>
<br />
Then we link a start rule for each activity. In the table below the predicate (not shown) is <span style="font-family: "courier new" , "courier" , monospace;">smm:startRule</span>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6xWqwZfQX0G3qWCum726YppqjVS3yo1fg08S6N7Ey8JJm_fLGPhayJwZZdLmBZ3spNsoaDa2vEi_Jm3oOfpjyTxF17HHHXbWylFIDAmndNAnCf-eFoU47o-kCEEvLQowcp6iysIUn99-9/s1600/Screen+Shot+2018-03-12+at+14.20.50.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="83" data-original-width="569" height="56" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6xWqwZfQX0G3qWCum726YppqjVS3yo1fg08S6N7Ey8JJm_fLGPhayJwZZdLmBZ3spNsoaDa2vEi_Jm3oOfpjyTxF17HHHXbWylFIDAmndNAnCf-eFoU47o-kCEEvLQowcp6iysIUn99-9/s400/Screen+Shot+2018-03-12+at+14.20.50.png" width="400" /></a></div>
<br />
Except for the default start rule, which says the activity may begin at anytime, each start rule has a prerequisite activity (one that must take place before the target activity. In our example, the rule for the pregnancy test checks to see if the patient is Female (i.e. does the Sex recording activity document Sex = F? If yes, then the rule is triggered (outcome = true) and the test is tagged for execution. If the Sex = M then the rule outcome is "not applicable" since the test is not typically performed on male subjects.<br />
<br />
Notice that the RPR Test and the Sex observation Test both have the same start rule, which requires that InformedConsent be complete with Outcome InformedConsent_GRANTED. Both tests become eligible for execution simultaneously.<br />
<br />
Once all the screening activities have been conducted, the next activity "Eligibility Determination" is triggered and has a binary outcome: True (subject is eligible to continue) or False (subject may not continue). This Eligibility Determination activity is in fact the Start Rule for the Randomization activity. This web of inter-related activities is ideally represented in a graph and makes it quite easy to manage study conduct and monitor the trial for protocol violations. Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-25348924374490549002019-04-01T07:37:00.000-04:002019-11-26T02:55:01.893-05:00Modeling Adverse Event InformationWhat is an event? It's an occurrence; something that happens. There are countless examples: a baseball game, a wedding, a picnic. All are examples of an event. Let's also include adverse events. One common feature of events is that they persist in time. They have a beginning and an end. Are they observations? No. But we use observations to determine that an event is taking place: one makes numerous observations: the sunny day, the location in a park, the presence of a cooler full of food and drinks, a blanket to lie on the grass, a charcoal grill. Add them all up and you come up with a picnic. We then observe the absence of many of these observations to conclude the event is over. Pretty straightforward.<br />
<br />
Adverse Events are no different. Symptoms or signs (observations) begin on a certain date and end on a certain date. One must interpret multiple observations over time to determine that an AE is taking place, or that an AE has resolved. This interpretation in clinical medicine is known as an Assessment, and it is the "A" in the medical encounter record known as as SOAP note. I wrote about modeling clinical data and the relevance of SOAP in a <a href="http://aolivamd.blogspot.com/2015/08/modeling-clinical-data.html" target="_blank">previous post.</a> Although observations also technically have a beginning and an end (e.g. a venipuncture does not occur instantaneously), they should be considered for practical reasons to occur instantaneously. They are a "snapshot in time" of the subject's well being, or lack thereof.<br />
<br />
Another thing to keep in mind is that Adverse Events are Medical Conditions (disease, disorder, injury, transient physiological state that can impair health) that are temporally associated with an intervention of some kind (e.g. drug administration), and if noted for the first time in a Subject, it is called a Diagnosis. It's also important to have a qualified Assessor to establish the presence of the correct Adverse Event. Sometimes the Assessor is the patient, who assesses, for example, their headache patterns and concludes they have tension headaches and self-administers an over the counter analgesic. Being able to self-assess your medical condition is in fact a regulatory requirement for a drug to be sold over the counter. Makes sense. But often one needs a trained Assessor, e.g. physician, nurse, to determine that the correct AE is present. Sometimes that assessment is not done properly (or not documented properly) and then problems occur, and second opinions (re-assessments by new assessors) are necessary. Assessments are often associated with Assessment Criteria. These are rules that describe how observations are analyzed and interpreted to determine the presence and severity of a medical condition. Another useful example is a simple blood pressure measurement that is abnormally high, say 150/100 mmHg. Does a single high BP measurement imply that the person has an underlying medical condition known as hypertension? The answer is clearly NO. The proper assessment requires that serial BP measurements are conducted over a period of time to establish the persistence of a clinical event (in this case a disorder) known as hypertension.<br />
<br />
So currently, Adverse Event reporting, whether it's in clinical trials or post-marketing safety monitoring, is fraught with the fact the observations (that are used to assess the presence of an AE) and the AE itself are often mixed together, and the analyst must do his or her own Assessment after the fact. Take, for example, the following report of a patient who takes a dose of drug X and then 2 days later develops a sore throat, runny nose, nasal congestion, cough, sinus pain, and viral nasopharyngitis. Not all of these are AEs. The first five are in fact observations that support the presence of the sixth, the true medical condition at play here. Sometimes the observations don't clearly support the presence of a medical condition, in which case a "differential diagnosis" is developed, which is essentially a list of all the medical conditions that could possible cause the observations, followed by a systematic collection of more observations to identify the correct diagnosis.<br />
<br />
There is a strong desire within FDA and elsewhere to automate the detection of adverse events. This is quite a challenging task, but it should be made clear that the following must take place before any system or tool can succeed in adverse event detection.<br />
<br />
<ol>
<li>We need to distinguish observations from events</li>
<li>We need qualified assessors to analyze/interpret the observation results</li>
<li>As much as possible, we need to standardize the assessment process by documenting the assessment criteria necessary to identify an AE with high confidence. </li>
</ol>
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3B-dMAQxkN-JbZZbiUR6rPb60v6mu5I6rWWbFMwSnI9XvpP7GPNoWDYnvidQiXAgwn5EVYnlYxzbT5hv5r0zf6BGT2IpVcVTZIakquYtY_DTSfvYrzWJuJhsEnPZcwczlZ4UPFgq99z5l/s1600/Screenshot+2019-04-01+07.26.16.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3B-dMAQxkN-JbZZbiUR6rPb60v6mu5I6rWWbFMwSnI9XvpP7GPNoWDYnvidQiXAgwn5EVYnlYxzbT5hv5r0zf6BGT2IpVcVTZIakquYtY_DTSfvYrzWJuJhsEnPZcwczlZ4UPFgq99z5l/s640/Screenshot+2019-04-01+07.26.16.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Adverse Event Identification and Characterization</td></tr>
</tbody></table>
Here is my proposal for a workable data model that can be used to automate AE detection some day. It should be made clear that it deviates from the SDTM and BRIDG notion of an event, as I don't believe these models have it quite right. Remember that observations must undergo an Assessment to determine if a medical condition / AE is present. Sometimes more than one Assesments are done (e.g. second opinions). Finally observations don't get treated, rather the medical condition(s) that are the cause of the abnormal observations are the targets of treatment.<br />
<br />
<br />Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-58710875776087029622019-03-06T19:16:00.001-05:002019-03-06T19:16:21.412-05:00On Observations in Clinical Trials, or, "Did I get that observation right?" I live in Florida, a state almost surrounded by water. How long is its coastline? How does it compare with the coastline of other states? So, like many others, I turn to ... Google. In a few seconds, I find these results posted on Wikipedia:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjby9P5VudP1N_8g8YMGD9CfYETD3MPu-e4Q9rrwzTUOwAwqawH_s1vHTQXCvPlhee3MTMs9gjKrN_nuqTEODgfb6SRtGATxvSP4RY8_Gt9fHEz4zesJADC11vEwecaOP1fuMQt3FgdW9j5/s1600/Screenshot+2018-11-28+08.59.21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="134" data-original-width="373" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjby9P5VudP1N_8g8YMGD9CfYETD3MPu-e4Q9rrwzTUOwAwqawH_s1vHTQXCvPlhee3MTMs9gjKrN_nuqTEODgfb6SRtGATxvSP4RY8_Gt9fHEz4zesJADC11vEwecaOP1fuMQt3FgdW9j5/s400/Screenshot+2018-11-28+08.59.21.png" width="400" /></a></div>
<br />
You can predict my reaction. How can the method make such a big difference in the results? The web site provides detailed information about each method and it becomes a relatively easy, though highly manual, task to determine which method is more appropriate for one's use case. The take home lesson is clear: the method of observation may affect the results.<br />
<br />
Then there is the famous <a href="https://www.britannica.com/science/uncertainty-principle" target="_blank">Heisenberg Uncertainty Principle</a> in Physics, which states that the position and velocity of an object cannot both be measured exactly at the same time, even in theory. For large objects, like an automobile, the uncertainty is negligible, but for sub-atomic particles, this is a big deal. The fundamental reason behind the uncertainty is due to in part to the act of making the observation, i.e. the method of observation. In other words, any attempt to measure precisely the velocity of an electron, for example, "<a href="https://www.britannica.com/science/uncertainty-principle" target="_blank">will knock it about in an unpredictable way, so that a simultaneous measurement of its position has no validity.</a>"<br />
<br />
Just so you don't think this concern is limited to physics and geography, consider this well-known medical school fact. A standard blood pressure cuff, when used on significantly obese individuals will typically provide <a href="https://journals.lww.com/jhypertension/Citation/2011/03000/Blood_pressure_measurement_in_very_obese_patients_.3.aspx" target="_blank">a falsely high reading</a> when compared to the same observation performed using an over-sized cuff. So take note:<br />
<br />
<b>The method of observation may affect the results.</b><br />
<br />
This give rise to another "aha!" moment: Observations are Interventions. The observer must intervene in the subjects normal daily routine and execute a specific method of observation to obtain the observation result. Sometimes the method is innocuous like answering a question on a questionnaire, but sometimes can be quite invasive, like a cardiac catheterization to measure coronary artery diameters. Often times the observation and results are combined with an interpretation of the observation(s) (i.e. an Assessment), to establish the presence and severity of a Medical Condition (e.g. Coronary Artery Disease) and its severity. More and more an Intervention to make an observation is combined with an attempt to alter the natural history of the Medical Condition (i.e. a "Therapeutic Intervention") as in the case of a diagnostic cardiac catheterization during which a drug-eluting stent is inserted.<br />
<br />
The bottom line is we need to recognize that <b>observations are interventions</b> whose main purpose is to measure the physical, physiological, or psychological state of an individual, and that the details of the method used to make the observation can be very important and may introduce bias in the results. <br />
<br />
The take home message of this blog is: <b>An observation doesn't just happen. Someone intervened to make it happen and the method of intervention can affect the results.</b><br />
<br />
Both the SDTM and BRIDG consider observations (called "findings") as different than interventions. It's time to update that thinking. "Findings" are a type of interventions. Furthermore, SDTM considers findings, interventions, and events as different types of observations. I disagree. Events, for example, are not observations. This last statement is a topic of a future blog.<br />
<br />
Thank you for your comments.<br />
<br />
Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com1tag:blogger.com,1999:blog-8346061623186564263.post-90080895920982313892018-09-14T14:58:00.002-04:002018-09-17T19:37:09.519-04:00Do We Need a Study Data Reviewer's Guide?<span style="font-family: "arial" , "helvetica" , sans-serif;">As part of a robust study data standardization program, the U.S. FDA publishes the </span><a href="https://www.fda.gov/downloads/ForIndustry/DataStandards/StudyDataStandards/UCM384744.pdf" style="font-family: arial, helvetica, sans-serif;" target="_blank">Study Data Technical Conformance Guide</a><span style="font-family: "arial" , "helvetica" , sans-serif;">. The purpose of this document is to provide "technical specifications for sponsors </span><span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif;"><span style="font-family: "timesnewromanpsmt";"><span style="font-size: 12pt;">for the submission of
animal and human study data and related information in a standardized electronic format" for investigational and marketing applications. Section 2.2 of the guide recommends the submission of a Study Data Reviewer's Guide to "describe any special considerations or directions or conformance issues that may facilitate and FDA reviewer's use of the submitted data and may help the reviewer understand the relationships between the study report and the data." Although FDA doesn't recommend the use of any specific SDRG template, it references a <a href="http://www.phusewiki.org/wiki/index.php?title=Study_Data_Reviewer%27s_Guide" target="_blank">standard template</a> developed by the Pharmaceutical Users </span>Software<span style="font-size: 12pt;"> exchange (<a href="http://www.phuse.eu/" target="_blank">PhUSE</a>). </span></span></span><br />
<span style="font-family: "times" , "times new roman" , serif;"><span style="background-color: white;"><span style="font-family: "timesnewromanpsmt";"><br /></span></span>
<span style="background-color: white;"><span style="font-family: "timesnewromanpsmt";">Let's take a close look at this template. The Purpose of the document is to provide "</span></span><span style="font-family: "times new roman" , serif;">context for tabulation
datasets and terminology that benefit from additional explanation beyond the
Data Definitions document (define.xml).</span><span style="font-family: "times new roman" , serif;">
</span><span style="font-family: "times new roman" , serif;">In addition, this document provides a summary of SDTM conformance
findings." </span></span><br />
<span style="font-family: "times" , "times new roman" , serif;"><span style="font-family: "times new roman" , serif;"><br /></span>
<span style="font-family: "times new roman" , serif;">Here is some of the information suggested for inclusion in the SDRG</span></span><br />
<ol>
<li><span style="font-family: "times" , "times new roman" , serif;">Is the study ongoing? If so, describe the data cut or database status?</span></li>
<li><span style="font-family: "times" , "times new roman" , serif;">Were SDTM used as sources for the analysis datasets?</span></li>
<li><span style="font-family: "times" , "times new roman" , serif;">Do the submission datasets include screen failures?</span></li>
<li><span style="font-family: "times" , "times new roman" , serif;">Were any domains planned but not submitted because no data were collected?</span></li>
<li><span style="font-family: "times" , "times new roman" , serif;">A tabular listing of eligibility criteria that are not included in IE domain</span></li>
</ol>
<span style="font-family: "times" , "times new roman" , serif;">Before we tackle the question posed at the top of this post, let's ponder a broader question: why do we need standardized data? This one is easy. Standardized data enable process efficiencies and automation. In the case of clinical trials data, reviewers are instantly familiar with the structure of the data, because it is the same across all SDTM-based study datasets. This immediate familiarity with the data structure certainly leads to review process efficiencies. But it only starts there. A common structure and common vocabularies lead to the development of standard analyses that can be automated and reused across studies.</span><br />
<div>
<span style="font-family: "times" , "times new roman" , serif;"><span style="font-family: "times new roman" , serif;"><br /></span>
<span style="font-family: "times new roman" , serif;">If standardized data leads to increased familiarity with data structures then this should lead to a decrease in additional materials needed to explain the data. But we now have yet another document to explain the data that we didn't have before. The fact that a document like the SDRG is needed at all implies that there are additional data, or additional meaning behind the data, that are not captured in the datasets. </span></span><br />
<span style="font-family: "times" , "times new roman" , serif;"><span style="font-family: "times new roman" , serif;"><br /></span>
<span style="font-family: "times new roman" , serif;">If we had a truly semantically interoperable data exchange, there would be no need for an SDRG. The meaning behind the data would be with the data, not locked up somewhere else in a human-readable text document. In other words, <b>the need for a Study Data Reviewers Guide represents a <u>failure</u> of the data standards and/or the implementation of the data standards in achieving an adequate degree of semantically interoperable data exchange. </b></span></span><br />
<span style="font-family: "times" , "times new roman" , serif;"><span style="font-family: "times new roman" , serif;"><br /></span>
Sounds harsh? I believe this last statement is true. Let's look at some examples. The SDRG should describe if the study is ongoing. The data contain a study start date and study end date. If a study is ongoing, the study end date should be null. Because a null value for this variable could be due to other reasons, a separate variable (similar to the HL7 null flavor) can describe why the end date is null. Controlled vocabulary can describe the various possible reasons. This approach provides both a standard machine readable approach and human interpretable way of knowing if the study is ongoing. One could even add a 'ongoing study' flag in the trial summary (TS) domain if desired.</span><br />
<span style="font-family: "times" , "times new roman" , serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Here's another one: Were SDTM used as the source for analysis datasets? If one described each data point as a resource, each with a unique resource identifier (URI), then a system can easily determine where that resource came from. One could see that a data point in an analysis dataset is the same data point (i.e. resource) as what is in the SDTM. These URIs make traceability/data provenance analyses so much easier.</span></span><br />
<span style="font-family: "times" , "times new roman" , serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">How about this one: Do the submission datasets include screen failures? Each subject should be linked to an administrative study activity called 'EligibilityTest" (or something similar) and the possible outcomes of which are TRUE or FALSE. A subject with EligibilityTest=TRUE means they passed screening and are eligible to continue in the study. EligibilityTest=FALSE means they failed screening. A quick scan of the data would determine if there are any subjects with EligibilityTest=FALSE indicates screen failures are present in the datasets. (Note that the rules for determining TRUE or FALSE are the eligibility criteria themselves, which have a bearing on the next example)</span></span><br />
<span style="font-family: "times" , "times new roman" , serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Another example is: the SDRG should contain a tabular listing of eligibility criteria not found in IE (inclusion/exclusion criteria dataset). All study activities should have well-described start rules. The study activity start rules for determining whether a study activity = Randomization can begin are themselves the eligibility criteria. A description of the Randomization start rule is incomplete without a listing of these rules. Their presence in the data would make it unnecessary to repeat them in an SDRG.</span></span><br />
<span style="font-family: "times" , "times new roman" , serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">So what is the answer to our initial question? If data standards and their implementation were adequate, we would not need an SDRG. That fact that we need SDRGs today should be a sign our study datasets still lack important meaning that analysts need to interpret/analyze the data. It implies that more standards development and better implementation of standards are needed to increase semantically interoperable data exchange. The SDRG should eventually not be needed and should disappear. I think I'm not alone in wishing for the SDRG's eventual demise.</span></span><br />
<span style="font-family: "times" , "times new roman" , serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Please share your thoughts and ideas. </span></span></div>
<br />
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:TargetScreenSize>800x600</o:TargetScreenSize>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="375">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hashtag"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Unresolved Mention"/>
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:0;
mso-generic-font-family:roman;
mso-font-pitch:variable;
mso-font-signature:-536870145 1107305727 0 0 415 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-536859905 -1073732485 9 0 511 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin-top:6.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:0in;
margin-bottom:.0001pt;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Times New Roman",serif;
mso-fareast-font-family:Calibri;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
font-size:10.0pt;
mso-ansi-font-size:10.0pt;
mso-bidi-font-size:10.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-fareast-font-family:Calibri;
mso-hansi-font-family:Calibri;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.WordSection1
{page:WordSection1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Calibri",sans-serif;
mso-bidi-font-family:"Times New Roman";}
</style>
<![endif]-->
<!--StartFragment--><!--EndFragment--><span style="background-color: white;"><span style="font-family: "timesnewromanpsmt";"><br /></span></span>
<span style="background-color: white;"><span style="font-family: "timesnewromanpsmt";"><br /><span style="font-size: 12pt;"> </span></span></span>Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com2tag:blogger.com,1999:blog-8346061623186564263.post-65268528698178169962018-03-12T11:57:00.000-04:002018-03-12T11:57:32.516-04:00Rules in Study ProtocolsWhen you read a study protocol, your are bombarded by rules. Some are explicitly stated. Many are implicit and must be teased out. Rules are extremely important in ensuring that protocols are conducted correctly. Rules are critical for a good study outcome. Unfortunately, we don't have a good way to standardize protocol rules. This makes it challenging to automate study conduct activities and quickly analyze if a study "followed the rules."<br />
<br />
Let's dissect the components of a rule. A rule basically looks like this:<br />
<br />
<div style="text-align: center;">
IF {condition A} THEN {Do B} ELSE {Do C}</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
the ELSE clause is optional and it is assumed to default to "do nothing" if condition A is not met. </div>
<div style="text-align: left;">
Rules can be complex :</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
IF {condition A} THEN {</div>
<div style="text-align: center;">
(IF {condition E} THEN {Do F} ELSE {Do G} }</div>
<div style="text-align: center;">
ELSE {Do C}</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
Evaluating a Rule is an Activity whose outcome is binary: either the condition(s) is/are met ("true") or not met ("false"). One could argue for a 3rd category, not applicable, for cases where the reason to have a rule in the first place doesn't apply (e.g. when to conduct a pregnancy test in a male) </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
In clinical studies, rules often depend on other activities. I call these prerequisite activities (PA). For example:</div>
<div style="text-align: center;">
IF {migraine occurs} THEN {take study drug}</div>
<div style="text-align: left;">
or a more precise way of expressing it:</div>
<div style="text-align: center;">
IF {headache assessment = MIGRAINE} THEN {take study drug} </div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
In this case the prerequisite activity is a headache assessment and the condition is met when the headache assessment outcome indicates that a migraine is present. </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Regarding how prerequisite activities are evaluated, sometimes it is sufficient that the PA simply has begun (PA status = started) or completed (PA status = complete) or, more commonly, completed with a specific expected outcome (PA expected outcome = migraine). </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
When looking at rules more closely, they can be expressed as start rules for other activities. Let's call these target activities (TA). </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Target Activity: Study Drug Administration_01</div>
<div style="text-align: left;">
Start Rule: MigrainePresent_01 -- Prerequisite Activity: HeadacheAssessment_01</div>
<div style="text-align: left;">
PA Expected ActivityOutcome: MIGRAINE</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
StudyDrugAdministration_01 is a planned activity that just sits there, waiting to be performed. As soon as the headache assessment is performed and whose outcome is a documented MIGRAINE, the rule outcome is set to TRUE and the target activity can begin. </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
One can add qualifiers in the rule to describe exactly when the target activity is performed. for example a delay = 30 minutes means wait exactly thirty minutes after the condition is met before starting the activity. maxdelay = 60 minutes means wait no more than 60 minutes before starting the activity. mindelay = 30 minutes means wait a minimum of 30 minutes before starting the activity. </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
I have tried this paradigm in multiple scenarios and so far it seems to work (randomization, eligibility determination, delayed start, assessments). </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
In a future post, I'd like to explore how these rules can be expressed computationally using the RDF. </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-45100685989054553652018-02-19T06:46:00.000-05:002018-02-19T06:46:13.233-05:00Is Death an Adverse Event?Throughout the course of a drug's marketing life cycle, it is critical that sponsors and regulatory agencies understand if a drug administration is associated with the death of the patient, but is death an Adverse Event? I argue that death is <b>not</b> an adverse event but instead may be the <b>outcome</b> of an AE. I think that it's important to draw this distinction to improve AE reports and automate death/causality analyses.<br />
<br />
Here is my argument. First, let's review some definitions.<br />
<br />
The U.S. Code of Federal Regulations (<i><a href="https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfCFR/CFRSearch.cfm?fr=312.32" target="_blank">21 CFR 312.32</a></i>) defines an adverse event as<br />
<ul>
<li>any <b>untoward medical occurrence</b> associated with the use of a drug in humans, whether or not considered drug related. </li>
</ul>
The bolded text is mine, as I want to consider how to interpret these terms.<br />
<br />
<b>Untoward </b>is an adjective meaning unexpected, inappropriate, inconvenient. (Oxford Dictionary). Synonyms include inconvenient, unlucky unexpected, surprising, unusual.<br />
<br />
A <b>medical occurrence</b> is more difficult to define. I take it to mean a medical condition: i.e. disease, disorder, injury, or transient physiological state that impairs or may impair health.<br />
<br />
Taking all of this into consideration, my working definition of an Adverse Event is any unexpected medical condition (disease, disorder, injury, transient physiological state) that impairs or may impair health and emerges or worsens after a medical intervention (e.g. drug use).<br />
<br />
Notice that I broaden the definition to medical interventions such as medical device use, or medical procedure, because AEs in those scenarios are equally relevant from a public health perspective.<br />
<br />
With these definitions in mind, I think one of the pitfalls in causality assessments is wrong use of the term adverse event. I believe Adverse Events are medical conditions. Medical conditions fluctuate over time. An AE can remain stable, improve, or resolve over time. It can also worsen to the point where the patient dies. All of these are potential outcomes of an AE.<br />
<br />
Here is a hypothetical case of crazy conclusions that can emerge if our definitions are not precise. Imagine that one is developing software to automate AE causality assessments. <br />
<br />
Consider an 13 y/o male on chronic treatment with Drug X for seizures.
Over the course of the year, he grew 4 inches and gained 25 lbs, yet
his dose of anti-convulsant medications did not change to keep pace with his increased body mass. Towards the end of the year, he was
having breakthrough seizures with a documented low therapeutic level of Drug X in his blood. A computer program may select the following concepts for further causality assessment:<br />
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
Suspect Drug:<span style="mso-spacerun: yes;"> </span>Drug X<o:p></o:p></div>
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="382">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 9"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:1;
mso-generic-font-family:roman;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:-536870145 1073786111 1 0 415 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:Calibri;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
font-family:Calibri;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.WordSection1
{page:WordSection1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:Calibri;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<!--StartFragment-->
<!--EndFragment--><br />
<div class="MsoNormal">
Adverse Events:<span style="mso-spacerun: yes;">
</span>Seizures, Weight Gain<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times"; font-size: small;">A computer program would look at this and ask did Drug X cause weight gain and seizures in this case? On a superficial level, it is a fair question since the subject was on Drug X when those events happened.</span><br />
<span style="font-family: "times"; font-size: small;"><br /></span><span style="font-family: "times"; font-size: small;">But wait a minute. A human assessor immediately recognizes the frivolity of such a question in this case. Clearly the growth and weight gain are consistent with puberty-associated growth spurt. The problem is the dose of Drug X wasn't increased in response to the increased body mass. </span><br />
<span style="font-family: "times"; font-size: small;"><br /></span>
<span style="font-family: "times"; font-size: small;">The fact that the causality question even arises is a misinterpretation of an Adverse Event. </span><span style="font-family: "times";">Applying our working definition of an AE, Seizure is not an Adverse Event in this case. It's in fact the Indication, a medical condition that is the target of a medical intervention (i.e. anticonvulsant therapy). But, you say, it's also a medical condition that worsened with treatment. The key here is that it didn't unexpectedly worsen. A sub-therapeutic dose of an anticonvulsant can be expected to result in breakthrough seizures. </span><br />
<br />
How about weight gain? Again, this is not an AE. It's an observation, well technically it's an analysis of two (or more) observations, body weight, over time. Is it indicative of an AE? Not necessarily. In this case, it is the consequence of normal growth. Obesity, on the other hand, would be an AE depending on how it's defined. There is no evidence in this report of obesity.<br />
<br />
So what is the causality assessment for this case? The assessment cannot be done. There is no adverse event.<br />
<br />
Here's another case: A person takes Ambien, gets drowsy and drives a car and is involved in a motor vehicle accident.<br />
Suspect Drug: Ambien<br />
Adverse Event: Motor Vehicle Accident (MVA)<br />
<br />
Based on our definition, an MVA is not an Adverse Event since it is not a medical condtion. The AE here is drowsiness. The MVA is a consequence/outcome of the AE.<br />
<br />
So let's get back to death? It's commonly listed as an AE in safety reports. Is it a Medical Condition? No. Death marks the end of a complex physiologic process we call Life and it happens to all living organisms. Death (like an MVA, or a bad fall) is or may be a consequence/outcome of a Medical Condition. In the case of Death we call it the Cause of Death. The cause of death may or may not be an AE.<br />
<br />
This reminds me of the <a href="http://aolivamd.blogspot.com/2015/08/modeling-clinical-data.html" target="_blank">clinical data lifecycle</a>: Observations lead to Assessments/Adjudications to diagnose/assess Medical Conditions (including AEs) which leads to Interventions to (treat, mitigate, cure, prevent) those conditions, which leads to more Observations. In turn Medical Conditions have consequences/outcomes sometimes beyond our control, like Death (or Falls, or Motor Vehicle Accidents).<br />
<br />
These information buckets are well established and distinct in clinical medicine. We save a lot of confusion and misinterpretation of clinical data when we classify them appropriately. We need to do a better job of distinguishing AEs from observations, and not confusing the consequence(s) of an AE from the AE itself. Recognizing this distinction is important to automate adverse event assessment, including those resulting in death.<br />
<br />
<br /></div>
Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-50787272451985341162017-10-13T06:58:00.001-04:002017-10-13T06:58:54.105-04:00Managing Study Workflow using the Resource Description Framework (RDF)Imagine a study conduct tool where:<br />
<br />
<ol>
<li>One enters the result of an observation and the tool immediately lets you know what observation(s) to collect next</li>
<li>The tool immediately performs a data quality check and creates an alert if there is a problem</li>
<li>One enters the results of all the screening tests and the tool immediately tells you whether the subject is eligible to continue in the trial</li>
<li>If the subject is not eligible, it tells you why he or she failed screening.</li>
<li>In an adaptive trial design, it analyzes the observations in real time and informs you what protocol-specified modifications one can make in the subject's treatment plan</li>
</ol>
<div>
These are all possible today if we start representing study data including the protocol, using the RDF. </div>
<br />
<br />
In my <a href="http://aolivamd.blogspot.com/2017/08/eligibility-criteria-screen-failures.html" target="_blank">last post,</a> I spoke about a paper on this topic. I am now sharing that paper so those interested can take a look at it. I'm also posting the slides I presented at the annual PhUSE meeting in Edinburgh, Scotland (Oct 8-11, 2017), which was a very successful meeting by the way. A record number of attendees (695) participated in the conference.<br />
<br />
I hope you will find it interesting. Please send me your comments. Thank you.<br />
<br />
<a href="https://drive.google.com/file/d/0BxHGo65_acsvMkZwaDlaQkcxeFk/view?usp=sharing" target="_blank">Paper: Managing Study Workflow using the Resource Description Framework</a><br />
<br />
<a href="https://drive.google.com/file/d/0BxHGo65_acsvNnpsVEJvenJPRWs/view?usp=sharing" target="_blank">Slides: Managing Study Workflow</a><br />
<br />
<br />Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-18696806649955005882017-08-28T22:56:00.000-04:002017-08-28T22:56:12.942-04:00Eligibility Criteria, Screen Failures, and another RDF Success StoryIt's T minus 6 weeks (approximately) for the <a href="http://www.phuse.eu/annual-conference" target="_blank">PhUSE 13th Annual Conference</a> in Edinburgh, Scotland and I'm beaming with excitement. I'm involved in two study data projects using RDF and both are going very well. The first one, in collaboration with Tim Williams and an enthusiastic project team of PhUSE volunteers is called <a href="http://www.phusewiki.org/wiki/index.php?title=Clinical_Trials_Data_as_RDF" target="_blank">Clinical Trials Data in RDF</a>, which among its various goals, will demonstrate how study data in RDF can be used to automatically generate highly standards conforming, submission quality SDTM datasets.<br />
<br />
But it's the second paper that I want to discuss today. It's called "Managing Study Workflow Using the RDF." The paper is in pre-publication status so I can't share today, but I plan to post a copy here after the conference. I include the Abstract below.<br />
<br />
In a nutshell, the paper describes how one can represent study activity start rules using SPIN (SPARQL Inference Notation), a type of RDF, to identify which study activity(-ies) are to be performed next based on what activities have already been performed. Well it turns out that the start rule for the Randomization activity in a typical double blind trial is in fact the Eligibility Criteria for the study. Here it is, in an executable form that, when combined with a standard COTS (commercial off the shelf) RDF inferencing engine can automatically determine eligibility. How cool is that?<br />
<br />
A typical eligibility rule consists of multiple subrules all of which themselves must be TRUE for the overall rule to be true (e.g. AGE must be >=18 years AND RPR must be negative AND Pregnancy Test must be negative AND etc.); exclusion criteria can be negated and added as a subrule. The ontology also describes how to skip subrules that can logically be skipped (e.g. Pregnancy Test must be negative in a male subject). The end result is that identifying an Eligible Subject is automatic and performed simply by entering the screening test results in the knowledgebase. (Think of a knowledgebase as an RDF database). <br />
<br />
Without going into the details (wait for the paper!), the rule points to all the screening activities that matter, checks each one for the expected outcome/result, and returns a TRUE or FALSE response if the conditions of the rule are or are not met. If the rule outcome is TRUE, the subject is eligible and the Randomization activity is enabled. If the rule is FALSE, then just the opposite. The paper describes the data from eight hypothetical subjects that were screened for a hypothetical study with just a few screening tests/criteria. The ontology correctly came up with the correct eligibility outcome for all eight.<br />
<br />
But there is more....by adding a few more simple SPIN rules to the ontology, the inferencing engine can readily provide a list of all Screen Failures, and the tests that caused them to fail. It can also identify the tests that were logically skipped and therefore ignored for eligibility testing purposes. Do you want to determine which Screening Failure subjects received study medication? Another SPIN rule can do that too. The possibilities are quite exciting. It makes RDF, in my humble opinion, a strong candidate for representing clinical trial data during study conduct. No other standard that I know of supports this kind of automation "out of the box." in RDF, the model and the implementation of the model are the same!! And, once one is ready to submit, you press another button, and submission quality SDTM datasets are generated (which the first project I mentioned intends to demonstrate).<br />
<br />
For more details, contact me, or wait until after the PhUSE meeting in October for the full paper.<br />
<br />
ABSTRACT<br />
<div class="PaperBody" style="mso-pagination: widow-orphan;">
<span style="font-family: Arial;">A clinical study is fundamentally a collection of activities that are
performed according to protocol-specified rules. It is not unusual for a single
subject to undergo hundreds of study-related activities. Managing this workflow
is a formidable challenge. The investigator must ensure that all activities are
conducted at the right time and in the correct sequence, sometimes skipping
activities that logically need not be done. It is not surprising that errors
occur. <o:p></o:p></span></div>
<div class="PaperBody">
<br /></div>
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:RelyOnVML/>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="382">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 9"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
</w:LatentStyles>
</xml><![endif]-->
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";}
</style>
<![endif]-->
<!--StartFragment-->
<!--EndFragment--><br />
<div class="PaperBody" style="mso-pagination: widow-orphan;">
<span style="font-family: Arial;">This paper explores the use of the Resource Description Framework (RDF)
and related standards to automate the management of a study workflow. It
describes how protocol information can be expressed in the RDF in a computable
way, such that an information system can easily identify which activities have
been performed, determine which activities should be performed next, and which
can be logically skipped. The use of this approach has the potential to improve
how studies are conducted, resulting in better compliance and better data.<o:p></o:p></span></div>
Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-29667793894863894782017-08-23T10:35:00.001-04:002018-09-14T12:01:40.142-04:00Quality Data in Clinical Trials, Part 2It's been two years since I wrote about <a href="http://aolivamd.blogspot.com/2015/08/quality-data-in-clinical-trials.html" target="_blank">quality data in clinical trials. </a>As I re-read that post now, I agree with most of what I said, but it's time to update my thinking based on experience gained since then with study data validation processes.<br />
<br />
I made the point that there are two types of validation rules: conformance rules (to data standards) and business rules, a.k.a. data quality checks. I had suggested that conformance rules are best managed by the standards development organization. The fact is that sponsors and FDA support multiple standards (SDTM, MedDRA, CDISC Terminology, WHO Drug Dictionary) so it's up to FDA to manage the collective set of conformance rules across the broad data standards landscape with regard to regulatory study data submissions.<br />
<br />
The division between conformance rules and business rules is still quite important. They serve different functions. Ensuring conformance to standards enables automation. Ensuring data quality enable meeting the study objectives. One can assess data quality on legacy data. It is a slow, manual process. Standardized data enable automated data quality checks than can more easily uncover serious data content issues that can impede analysis and review.<br />
<br />
As a former FDA reviewer, and a big proponent of data standards, I can honestly say that FDA reviewers care very little about data standards issues. Their overriding concern is that the data be sufficiently standardized so they can run standard automated analyses on the data. The analyses drive the level of standardization needed by the organization. These analyses include the automated data quality checks. One cannot determine if AGE < 0 (a data quality check), if AGE is called something else or is located in the wrong domain (conformance rule).<br />
<br />
It's like driving a car. You want to get from point A to point B quickly (minimize data quality issues), you don't really care what's under the hood (standards conformance issues). That is for mechanics (or data analysts) to worry about.<br />
<br />
FDA now has a robust service to assess study "Data Fitness" (being described as data that are fit for use). Data Fitness combines both conformance and business rules. They are not split, and the reviewer is left to deal with data conformance issues, which they care little about, as they can be quite technical and there is generally a manual work-around, along with the data quality issues, which are of most importance to them and have the biggest impact on the review. Combining the two is a mistake. I believe Data Fitness as a concept should be retired and the service split into two: Standards Conformance, and Data Quality. The Data Quality assessment service should only be performed on data that have passed the minimum level of conformance needed by the organization. If a study fails conformance testing, it wasn't standardized properly and those errors need to be corrected. In the new era requiring the use of data standards, FDA reviewers should not be burdened with data that do not pass a minimum level of data standards conformance.<br />
<br />
Consider this hypothetical scenario as an example to drive home my point. FDA requires sponsors to submit a study report supporting the safety and effectiveness of a drug. The report should be submitted digitally using the PDF standard. The report arrives and the file cannot be opened using the review tool (i.e. Acrobat) because of 10 errors in PDF implementation (not realistic in today's day and age, but possible nonetheless). Those 10 errors are provided in a validation report to the reviewer for action. The reviewer doesn't care about the technical details of implementing PDF. They want a file that opens and is readable within Acrobat. Let us all agree that the reviewer should not be burdened evaluating and managing standards non-conformance issues.<br />
<br />
If you replace study report with study data, and PDF with SDTM, this scenario is exactly what is happening today. But somehow that practice remains acceptable. Why? Well because there are other "tools" (akin to a simple text editors in the document world) that allow reviewers to work with non-conformant data, albeit at much reduced efficiency. These "workarounds" for non-standard study data are all too prevalent and acceptable. With time this needs to change to take full advantage of standardized data for both the Sponsor and FDA alike.<br />
<br />
My future state for standardized study data submissions look like this: study data arrive, they undergo standards conformance validation using pass/fail criteria. Those that pass go to the reviewer and the regulatory review clock starts. Those that fail are returned for correction. (The conformance rules are publicly available so that conformance errors can be identified and corrected before submission.) During the filing period, automated data quality checks are performed and that report goes to the reviewer. Deficiencies result in possible information requests. Serious data quality deficiencies may form the basis of a refuse to file action.<br />
<br />
Finally, let's retire use of the term "DataFit" in favor of what we really mean: Standards Conformance or Data Quality. Let's not muddle these two important issues any longer.<br />
<br />
<br />Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-38820638867656475082017-06-26T12:55:00.001-04:002017-06-26T12:55:25.852-04:00The Semantic Web Way of ThinkingBefore I knew anything about the Resource Description Framework (RDF) and the Semantic Web, I would say that I had a traditional way of thinking about the world. Take a clinical trial for instance. First you have a research idea or hypothesis, then you design a trial to test that hypothesis, then you write the protocol, recruit subjects, conduct the trial, analyze the data, and reach conclusions. All of these steps are important but I failed to see any commonality in any fundamental way. For example, writing the protocol and analyzing the data are very different processes needing very different skill sets. How could they possibly be similar?<br />
<br />
Enter the RDF and suddenly everything is related in some way with everything else. It may be obvious but no less profound to notice that everything in the world is a type of "Thing." The way we come to understand the world via the scientific process is to classify Things, group Things, separate Things into different buckets or classes based on their properties. Here's an obvious example, written in pseudo-RDF-turtle syntax.<br />
<br />
A Car is a subClassOf Thing.<br />
A Red Car is a subClassOf Car.<br />
<br />
How does a computer know a car is a red car? Well, one can define a property of Car called Color and one of the options for Color is Red.<br />
<br />
A Red Car is [any Car with Color value = Red].<br />
<br />
So I can ask the computer to find every Red Car and it knows to look for those with Color property is Red. This is very straightforward, almost to the point of being insultingly simple. But wait...<br />
<br />
To make scientific discoveries, we first identify what properties are important for the type of Thing we are studying, and we measure those properties. Let's say you have an investigational drug A and you want to know if it's effective for Multiple Sclerosis. You have the following assertions.<br />
<br />
DrugA is a subClassOf Thing.<br />
EffectiveDrug is a subClassOf Drug.<br />
<br />
How can a computer discover that DrugA is an EffectiveDrug? In the same way as the Red Car example, there are properties of DrugA that semantic web tools can analyze to determine that the drug is an EffectiveDrug. Sometimes those properties are difficult to define, or difficult to measure, but the principle is the same.<br />
<br />
So, getting back to the different steps in the lifecycle of a study, they are also Things that we can call Activities. There are rules that determine when Activities begin and end, and rules that determine which Activity is performed next. One can define a property of Activities called State or Status (e.g. not yet started, ongoing, completed, aborted). So the lifecycle of a study is broken down to a series of activities, each with its own properties: hasState; hasStart Rule; hasEnd Rule. Suddenly processes that look very different now look very similar.<br />
<br />
This is the semantic web way of thinking. The universe is made up of things: similar things and different things. All are grouped together and distinguished from one another by their properties. The challenge is identifying those properties that matter, documenting them, and using semantic web tools to do the grouping and sorting for us. This is how the Semantic Web can work for us and help us make new discoveries.<br />
<br />
<br />
<br />
<br />Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-56398283130033079952017-05-18T11:11:00.002-04:002017-05-18T11:11:32.514-04:00Common Clinical Terms expressed in OWL One of the goals in establishing precise <a href="http://aolivamd.blogspot.com/2015/12/aristotle-and-how-best-to-define-things.html" target="_blank">Aristotelian definitions</a> for <a href="http://aolivamd.blogspot.com/2016/10/definition-of-common-clinical-terms-v2.html" target="_blank">common clinical terms </a>is to make them computable, i.e. express them in such a way that computers and information systems can reason across data and "understand" that Thing123 is a Medical Condition and Thing456 is a Symptom and can begin to infer new medical knowledge for us. The Web Ontology Language, OWL, is ideally suited for this task. I'm not an OWL expert, but I think it would be useful to explore what some of these terms look like in OWL and consider the implications of computable definitions.<br />
<br />
How does computer-assisted reasoning (also called inferencing) work? A simple example is the property :subClass. The colon here is merely to remind me that this is a resource expressed somewhere on the world-wide-web. I have left out the namespace for simplicity. If you state that :Apple is a :subClass of :Fruit and :McIntosh is a :subClass of :Apple, then a computer can infer that :McIntosh is a subClass of :Fruit (new knowledge). This is trivial inferencing of course, but OWL supports much more sophisticated inferencing capabilities about which I have only begun to appreciate. One very important class in OWL is the owl:Restriction class, a sub-class of owl:Class. A restriction class is one whose membership is restricted based on certain properties that the individual member has. I wrote about Restriction classes <a href="http://aolivamd.blogspot.com/2015/09/restriction-classes.html" target="_blank">in a previous post</a>. We can use this class to make certain definitions computable. Without restriction classes, we have to manually assign members to a class. For example the :Dog class has no meaning to a computer. We have to manually assign Fido, Spot, Rocket, and Buddy to the :Dog class. :Fido is a :Dog is true only because someone said it's true. But restriction classes create in effect rules that say only Things with certain features/properties are :Dogs. Once we establish these computable definitions, then computers can do the assignments for us.<br />
<br />
Let's look at an example from the clinical research domain: Persons that participate in a trial. Consider this taxonomy (i.e. superclass/subclass hierarchy). As one reads this, a member of a lower class is automatically a member of the next higher class, and so forth all the way to the top class. This makes the rdfs:subClassOf property a "transitive" property.<br />
<br />
--BiologicEntity<br />
-- Person<br />
--HumanStudySubject<br />
--EligibleSubject<br />
--EnrolledSubject<br />
<br />
And now some working definitions (taken from various sources and <a href="http://aolivamd.blogspot.com/2015/12/aristotle-and-how-best-to-define-things.html" target="_blank">documented here</a>)<br />
<br />
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<b><span style="font-family: "arial" , "helvetica" , sans-serif;">BiologicEntity</span></b></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Any individual living (or previously living) Entity.</span></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">(i.e. an :Entity that is living or was previously living) </span></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<b><span style="font-family: "arial" , "helvetica" , sans-serif;">Person</span></b></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">A human being. A BiologicEntity that has species = homo sapiens.</span><span style="font-family: arial, helvetica, sans-serif;"> </span></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<b><span style="font-family: "arial" , "helvetica" , sans-serif;">HumanStudySubject</span></b></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">A :Person </span><span style="font-family: arial, helvetica, sans-serif;">that undergoes/is subjected to Study-specified activities as described in the Study Protocol</span></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">And then it can follow that: </span></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<b><span style="font-family: "arial" , "helvetica" , sans-serif;">EligibleSubject</span></b></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">A HumanStudySubject who satisfies all Study-specific Eligibility Criteria.</span></div>
<br />
Now assume that every BiologicEntity has a property called :species and only Persons have a :species property value = homo sapiens. I can express the definition of a Person as the following in OWL<br />
<br />
<div style="font-family: Monaco; font-size: 11px; line-height: normal;">
:Person a owl:Class ;</div>
<div style="font-family: Monaco; font-size: 11px; line-height: normal;">
owl:equivalentClass [ a owl:Restriction ;</div>
<div style="font-family: Monaco; font-size: 11px; line-height: normal;">
owl:hasValue species:homo_sapiens ;</div>
<div style="font-family: Monaco; font-size: 11px; line-height: normal;">
owl:onProperty :species ; ] ;</div>
<br />
Now let's define a class called :StudyActivity, containing any protocol-specified activity belonging to a specific human study. We now define the following<br />
<br />
<div style="font-family: Monaco; font-size: 11px; line-height: normal;">
study:HumanStudySubject a owl:Class ;</div>
<div style="font-family: Monaco; font-size: 11px; line-height: normal;">
owl:equivalentClass [ a owl:Restriction ;</div>
<div style="font-family: Monaco; font-size: 11px; line-height: normal;">
owl:someValuesFrom study:StudyActivity ;</div>
<div style="font-family: Monaco; font-size: 11px; line-height: normal;">
owl:onProperty study:participatesIn ;] ;</div>
<br />
This says a HumanStudySubject is any Thing that participates in some StudyActivity.<br />
So anywhere there is an RDF Triple that says :Person :participatesIn :StudyActivity_104, then that Person is automatically inferred to be a :HumanStudySubject.<br />
<br />
This approach is not without some notable pitfalls. One's logic must be squeaky clean. Take this example: A Dog has Four Legs. Now if we mistakenly convert that to mean a Dog is any Thing with Four Legs (which clearly is wrong in English), you get the following OWL expression:<br />
<br />
<div style="font-family: Monaco; font-size: 11px; line-height: normal;">
:Dog a owl:Class ;</div>
<div style="font-family: Monaco; font-size: 11px; line-height: normal;">
owl:equivalentClass [ a owl:Restriction ;</div>
<div style="font-family: Monaco; font-size: 11px; line-height: normal;">
owl:hasValue "4"ˆˆxsd:int ; </div>
<div style="font-family: Monaco; font-size: 11px; line-height: normal;">
owl:onProperty :hasLegs ;] ;</div>
<br />
So somewhere in a database is the triple: :Morris :hasLegs "4"ˆˆxsd:int .<br />
<br />
Well, guess what, Morris is Cat. But based on the OWL definition of a Dog, an information system will conclude that Morris is a Dog. So one must be careful which properties one selects to define membership in a restriction class.<br />
<br />
The more I think about this approach, the more it makes sense. How do we currently distinguish two Things with the same name, e.g. Mustang (the car vs. the horse)? Easy. By the properties that each Thing has. One is a biological entity, the other is a machine; one has 4 legs and tail, the other has an engine and 4 wheels. It makes sense to define members of a class by describing the properties that each member must have. This principle of making definitions of clinical terms computable is a key component to less ambiguous clinical trial data. Using this same approach, we can enable computers to identify members of other useful and interesting restriction classes, such as :EligibleSubject, :EffectiveDrug, :DangerousDrug, :PoorQualityDrug.<br />
<br />
The possibilities can be very exciting. <br />
<br />
<br />
<br />
<br />
<br />
<br />Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-57218398229368788002017-05-15T21:08:00.000-04:002017-05-15T21:08:07.106-04:00Activity Rules in Clinical Trials<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
I remain very interested in modeling <a href="http://aolivamd.blogspot.com/2017/03/activities-in-clinical-trials-part-2.html" target="_blank">Activities in clinical trials</a>. Activities are performed according to Rules that are specified in the Protocol. I am searching how to best model these rules. Here is one thought. All Activities have a Start Rule. Rules are Analyses in our mini-study ontology since one Analyzes the data from other Activities ("Prerequisite Activities") to determine if and when the target Activity can take place.<br />
<br />
Let's start with the easiest Activity (from a modeling perspective): Obtaining Informed Consent. It has a Start Rule that says "begin at any time." The Rule is automatically satisfied by default so has a RuleOutcome always set to TRUE. There are no preconditions other than a Subject's willingness to participate in this Activity. The Activity completes with an ActivityOutcome = InformedConsent_GRANTED. The ActivityStatus is now Complete. The RDF looks something like this:<br />
<br />
:Person1 :participatesIn :InformedConsent1 .<br />
:InformedConsent1 :hasStartRule :Rule_DEFAULT .<br />
:Rule_DEFAULT :activityOutcome "TRUE"ˆˆxsd:string<br />
:InformedConsent1 :hasPerformedDate "2017-04-01"ˆˆxsd:date; (the date the activity was performed)<br />
:activityStatus :activitystatus_CO; (the Activity is completed)<br />
:activityOutcome :informed consent_GRANTED .<br />
<br />
Let's assume it's a simple trial that has only three screening activities: DemographicDataCollection, FastingBloodSugar, and a serum PregnancyTest (if female).<br />
<br />
We create a new Rule which says : RuleOutcome is TRUE if the prerequisite activity is complete and has a certain outcome. Generically it looks like this.<br />
<br />
:PrerequisiteOutcomeRule rdfs:subClassOf :Rule .<br />
:hasPrerequisite :Activity ;<br />
:hasPrerequisiteStatus :activitystatus_CO; (the prerequisite activity must be complete)<br />
:hasPrerequisiteOutcome :ActivityOutcome . (the prerequisite activity must have a certain outcome)<br />
(there are optional properties one can consider here, like :delay , which specifies a duration that one must wait before the target activity can begin after the prerequisite activity ends.)<br />
<br />
The instance data looks like this:<br />
<br />
:Person1 :participatesIn :DemographicDataCollection1 .<br />
:DemographicDataCollection1 :hasStartRule :PrerequisiteOutcomeRule1 .<br />
:PrerequisiteOutcomeRule1 :hasPrerequisite :InformedConsent1;<br />
:hasPrerequisiteStatus :activitystatus_CO;<br />
:hasPrerequisiteOutcome :informed consent_GRANTED.<br />
<br />
Once this information is recorded, and the rule satisfied, the Activity becomes a PlannedActivity.<br />
<br />
An embedded spin:rule can check the PrerequisiteActivity and return a value of TRUE if the conditions are met:<br />
<br />
:PrerequisiteOutcomeRule1 :activityOutcome "TRUE"ˆˆxsd:string .<br />
<br />
Once the RuleOutcome is evaluated as TRUE, another spin:rule can set the scheduled date of the DemographicDataCollection equal to the date the InformedConsent was done (plus any delay specified in the Rule). The Activity now becomes a ScheduledActivity.<br />
<br />
The same Rule can be applied to the FastBloodSugar activity.<br />
<br />
PregnancyTest requires a new rule. It can begin with the DemographicDataCollection Activity is Complete and the Outcome is :sex_Female.<br />
<br />
Now the very cool part. These same rules can be used to check for Eligibility. Why? Because an eligibility criterion is nothing more than a Start Rule which defines when the RandomizationActivity can begin.<br />
<br />
Similarly we can define rules when Visits, Elements, Epochs can begin. The Study now becomes a graph of StudyActivities, all waiting to begin, but only those that have Rules with RuleOutcome=TRUE are ready to go next. I think this paradigm will hold for even the most complex adaptive designs. It is something worth testing.<br />
<br />
Finally, an existential question. Is ObtainingInformedConsent a StudyActivity? If a HumanSubject (a Person of Interest) participatesIn the ObtainInformedConsent Activity, but does NOT grant informed consent, is he/she considered to have participated in the Study? If so, what would their disposition be? Screen Failure doesn't seem right since no screening tests were conducted. Is ObtainingInformedConsent a ScreeningActivity? If so, then failure to obtain informed consent could be considered a screen failure.<br />
<br />
Please share your thoughts, and especially if you have other ideas on how model activity rules. </div>
Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com2tag:blogger.com,1999:blog-8346061623186564263.post-62485667468146373162017-03-26T23:31:00.000-04:002017-03-27T08:47:58.513-04:00Activities in Clinical Trials, part 2This post is a sequel to one I recently posted about <a href="http://aolivamd.blogspot.com/2017/02/sdtm-data-in-rdf-activities-in-clinical.html" target="_blank">Activities in Clinical Trials</a>. As I mentioned in that post, clinical trials are fundamentally a group of many Activities and the rules that describe when they are performed, grouped, and analyzed. The recently launched PhUSE SDTM Data in RDF project is developing a mini Study Ontology to represent clinical data using RDF in a way that will make it easier, we think, to generate high quality SDTM-compliant datasets. Our Study Ontology recognizes that all Activities have Outcomes. In the case of an Observation, it is the result. We examine results of Observation today in detail. The ontology needs to represent Observations and their Outcomes in a highly consistent and semantically precise manner, yet it should be flexible enough to accommodate all Observations.<br />
<br />
So we have the basic premise in the Ontology that:<br />
<br />
:Activity :hasOutcome :ActivityOutcome.<br />
<br />
What does that look like for various Observations? When we look at results of Observations, we basically see two types: categorical results and numeric results. The categorical results can be controlled terminology, The numeric results have a value and often, but not always, a unit. There may also be a free text description of the results, but that's easy to add and we won't consider it further today. So now we have:<br />
<br />
:ActivityOutcome :hasValue "<number>"<br />
:ActivityOutcome hasUnit :Unit .<br />
:ActivityOutcome :hasCodedTerm :ActivityOutcomeCode .<br />
<br />
Also let's acknowledge that Observations may have components, or SubActivities:<br />
:Activity :hasSubActivity :Activity . <br />
<br />
<div style="color: #222222; font-family: arial, sans-serif;">
The ontology looks like this:<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisD6DUm2TY8hPrdNr6BL6hkhzI3PJTdrBUGLlUEHiMkrkmfjXxiXiIOGD38VRrzCMGEE6vDqGku-vOTLJ5nhT4vCw47j5UszPmBFUf_tfAxLPqT1snbZXgyiP7gaXs6lUsWZV6_lvafo3u/s1600/unnamed.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="412" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisD6DUm2TY8hPrdNr6BL6hkhzI3PJTdrBUGLlUEHiMkrkmfjXxiXiIOGD38VRrzCMGEE6vDqGku-vOTLJ5nhT4vCw47j5UszPmBFUf_tfAxLPqT1snbZXgyiP7gaXs6lUsWZV6_lvafo3u/s640/unnamed.png" width="640" /></a></div>
<br /></div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
Here are some simple examples. The first is Age. (a more detailed model would link to the method for obtaining the age. Is it collected by asking the subject his/her age, or is it derived from the birthdate).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAF3vJ4Q05O8swVdsR6upfxL7LizQbvAnThsLNLtd8xDJJMjL4zovlFkQPAFwHx-DJIBQpTIZD59fuilbcDopMGrnCUDnQiQh6_1I29Y8WstXGZ0JlGZkKjwREJxkOKldhORViOCdvE-Pv/s1600/age.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAF3vJ4Q05O8swVdsR6upfxL7LizQbvAnThsLNLtd8xDJJMjL4zovlFkQPAFwHx-DJIBQpTIZD59fuilbcDopMGrnCUDnQiQh6_1I29Y8WstXGZ0JlGZkKjwREJxkOKldhORViOCdvE-Pv/s400/age.png" width="368" /></a></div>
<br /></div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
The next example is a lab test, RPR test for syphilis.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC5UQbKoJJdM_2CTusha_CCxW7J8RTbcgcmRa1GC4Y3r1OL5NmxIZrvM-OtYoTqHw4MVExRMAU0r_35-7JcjelVpeasq5d4cNmMrAugQQ1dFjU15IYIMDliLdhBqlJqjGNSb82jQpm9Avr/s1600/rpr.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC5UQbKoJJdM_2CTusha_CCxW7J8RTbcgcmRa1GC4Y3r1OL5NmxIZrvM-OtYoTqHw4MVExRMAU0r_35-7JcjelVpeasq5d4cNmMrAugQQ1dFjU15IYIMDliLdhBqlJqjGNSb82jQpm9Avr/s640/rpr.png" width="640" /></a></div>
<br /></div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
</div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
The next one is BP, the most complex, as it has two sub activities: SBP and DBP. </div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcoDBfH_ckvJWZXhzpN5qvkOyKj1rsSk4g7uZZuxXb9l4EmJRQGE9Hgq8k_atHR5GfIFqqgKRW7dIXx91EaIqIhVIb1BDMN8lOtAjA5EWpIIBXT6tjEZOrZRvcbCd7BKdr6rc69cOhdjrP/s1600/Screen+Shot+2017-02-24+at+09.30.42.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcoDBfH_ckvJWZXhzpN5qvkOyKj1rsSk4g7uZZuxXb9l4EmJRQGE9Hgq8k_atHR5GfIFqqgKRW7dIXx91EaIqIhVIb1BDMN8lOtAjA5EWpIIBXT6tjEZOrZRvcbCd7BKdr6rc69cOhdjrP/s640/Screen+Shot+2017-02-24+at+09.30.42.png" width="640" /></a></div>
<br /></div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
</div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
<br /></div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
The big question is will this work for the vast majority of observations out there? I'm not sure but it is worth testing. I'm optimistic that it will handle most. I'm intentionally leaving out important details like data types, methods, provenance information. I think these can all be addressed relatively easily.<br />
<br />
It is worth noting that many "tests" contain both observations and and assessment of those observations by a qualified professional. Histopathology and Radiology tests are the most common. The report is divided into two sections as a result. The first describes the findings, and the second section describes the Assessment (i.e. interpretation) of those findings, often resulting in a diagnosis and/or further characterization of an existing medical condition. Representation of Assessment information in the ontology is a discussion left for another day. </div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
<br /></div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
In an upcoming blog, I discuss Rules that determine when Activities are conducted. These include Eligibility Criteria. </div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
<br /></div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: 12.800000190734863px;">
Thank you for your comments. </div>
Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-89987886424010859412017-03-14T14:36:00.003-04:002017-03-14T14:36:37.734-04:00Extensible Code Lists: an RDF SolutionWe are all familiar with code lists, or value sets as they are also called. These are permissible values for a variable. For example Race, as described by the U.S. Office of Management and Budget (OMB), can have 5 permissible values: White, Black or African American, Asian, American Indian or Alaska Native, and Native Hawaiian or other Pacific Islander.<br />
<br />
<div>
Some standard code lists are incomplete, i.e. they don't capture the universe of possible values for a variable. These code lists are called extensible. The Sponsor may create custom terms and add them to the code list. Managing these is a challenge. Here is an idea that we are proposing for the PhUSE SDTM Data in RDF project that we are kicking off next week at the <a href="http://www.phuse.eu/css" target="_blank">PhUSE Computational Science Symposium</a>. RDF has a unique advantage over other solutions in that it is designed to work with data that are distributed across the web. It can be used to integrate multiple dictionaries from multiple sources. Here's one way it can work. </div>
<div>
<br /></div>
<div>
First one creates a study terminology ontology containing all the standard terminology concepts needed for clinical trials. It looks something like this:</div>
<div>
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi86Ul-Ur9iIU4pc4wEcOvJsQyHljAeI2a2IOSjIRYHDfytt4AGSLJB-LGBsz2hXc7J4hWM_S2w-4dSKXhu-GSa8EorDQlbgC8fyUTsOyT0kNa8FHMJnVN2E16kmrtzIRSBFkEcbOZcIkz2/s1600/Screen+Shot+2017-03-11+at+12.28.20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi86Ul-Ur9iIU4pc4wEcOvJsQyHljAeI2a2IOSjIRYHDfytt4AGSLJB-LGBsz2hXc7J4hWM_S2w-4dSKXhu-GSa8EorDQlbgC8fyUTsOyT0kNa8FHMJnVN2E16kmrtzIRSBFkEcbOZcIkz2/s400/Screen+Shot+2017-03-11+at+12.28.20.png" width="257" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
One can see how to leverage other terminologies. For example, the Vital Signs class links to SDTM terminology expressed in RDF. In this case the resources shown here are for Diastolic Blood Pressure.<br />
<br />
Now you create a second ontology for custom terms, which looks very similar to the first one:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm-JEosccZJpnsRzcXi7Oy_rh7T36h9UplUiD7qt5lr_w3u9ML3WZoMELwBIuhtQxHvLIzn11BT0VemCj6Jb_k3WMpOQApS5vQ8U5ZsTROpfA0frlWe62NoLOIPxwAbD7ILfncUSiEDtSL/s1600/Screen+Shot+2017-03-12+at+15.08.01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm-JEosccZJpnsRzcXi7Oy_rh7T36h9UplUiD7qt5lr_w3u9ML3WZoMELwBIuhtQxHvLIzn11BT0VemCj6Jb_k3WMpOQApS5vQ8U5ZsTROpfA0frlWe62NoLOIPxwAbD7ILfncUSiEDtSL/s320/Screen+Shot+2017-03-12+at+15.08.01.png" width="288" /></a></div>
<br />
In this example, the sponsor performed three custom flags for subjects who completed 8, 16, and 24 weeks of treatment, respectively. These are entered as custom:PopulationFlag analyses. Next, one imports the standard terminology ontology and specifies using the rdfs:subClassOf property that the custom terms are sub-classes of the standard concepts. So now it looks like this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitMKPEgaMRt4KHAc3a4GYCuNzLscFgJL43g-fL5nSwfhKQLs5DpkSHBD9Tw3jHlAAFC8OCXi5UV-ikobBl4QjY4KUT2YRJyoBTsQZnKBxI_uC-KqmCi0ta2jLje8lbV_LyloE49ozxOhXw/s1600/Screen+Shot+2017-03-12+at+15.11.35.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitMKPEgaMRt4KHAc3a4GYCuNzLscFgJL43g-fL5nSwfhKQLs5DpkSHBD9Tw3jHlAAFC8OCXi5UV-ikobBl4QjY4KUT2YRJyoBTsQZnKBxI_uC-KqmCi0ta2jLje8lbV_LyloE49ozxOhXw/s320/Screen+Shot+2017-03-12+at+15.11.35.png" width="278" /></a></div>
<br />
Looking at the code:PopulationFlag example, there are three standard population flags specified: Efficacy (EFF), Safety (SAF), and Intent to Treat (ITT). Furthermore there are the three custom flags as previously described. <br />
<br />
The nice thing about this approach is that the custom terms exist independently from the standard terms and can be easily removed/ignored for the next study, yet they can be linked in this way to the standard terms so tools treat them the same. A SPARQL query looking for all members of the code:PopulationFlag class will return 6 individuals. For the next study, one can create a different set of custom terms. The "web" of study terminologies begins to look like the figure below. One can imagine a diverse library of controlled terms all available for implementation almost literally at one's fingertips.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcXSxxQRhVHHmLhNOj1cOnUXNM-WAEMiRbHVO1luxiaW6rnRgCApnWFiwx9WPuZpLzKbhgY1u9XDTwLuiftPorBkOds8lzfRYoz5mDaROvzzwL68oL7qVxQpEvNeypjUsUN5RoUqRjZrgk/s1600/Screen+Shot+2017-03-14+at+12.14.18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcXSxxQRhVHHmLhNOj1cOnUXNM-WAEMiRbHVO1luxiaW6rnRgCApnWFiwx9WPuZpLzKbhgY1u9XDTwLuiftPorBkOds8lzfRYoz5mDaROvzzwL68oL7qVxQpEvNeypjUsUN5RoUqRjZrgk/s400/Screen+Shot+2017-03-14+at+12.14.18.png" width="387" /></a></div>
One can link to other terminologies in the same way. Ideally, all the standard ontologies exist on the web and one merely links to them, thereby taking advantage of Linked Data principles.<br />
<br />
I appreciate your comments. </div>
Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-47990381880773578472017-03-03T08:53:00.000-05:002017-03-03T08:53:10.044-05:00Temporal Concepts in Clinical TrialsAs the saying goes, "timing is everything." This is no less true in clinical trials because knowing when activities occurred or how long they last often holds the key to proper interpretation of the data. Documenting temporal elements for activities in clinical trials is therefore crucial.<br />
<br />
In the RDF world, we can leverage the work of others who have thought about this issue in great detail. It turns out that the <a href="http://www.w3c.org/" target="_blank">World Wide Web Consortium</a> (www.w3c.org), has developed a <a href="https://www.w3.org/TR/owl-time/" target="_blank">time ontology</a> in OWL for anyone to use. It's rather simple and elegant and has useful application for our Study Ontology. Linking our study ontology with the w3c time ontology is a nice example of the benefits of Linked Data. The ontology goes like this....<br />
<br />
A temporal entity can be either a time:Instant (a single point in time) or a time:Interval (has a duration). Intervals have properties like time:hasBeginning and time:hasEnd. These are not totally disjoint because one can consider an Instant as an Interval where the start and end Instants are the same, but this is a minor point.<br />
<br />
For many Activities, such as a blood test or a vital signs measurement, all we really care about is the date/time it occurred. For all practical purposes, a time:Instant. Some activities do have a duration worth knowing about, so one can attach a time:Interval to them. The nice thing about Intervals is that it links the beginning instant to the end instant ... they go together. The time:Interval resource is the link that holds them together.<br />
<br />
So let's look at some examples taken from the SDTM of some important Intervals and how they might look in the RDF when we link to the w3c time ontology. As always, I use Turtle syntax as it's very human-readable:<br />
<br />
study:ReferenceStudyInterval rdf:type time:Interval;<br />
time:hasBeginning sdtm:RFSTDTC ;<br />
time:hasEnd sdtm:RFENDTC .<br />
<br />
study:ReferenceExpsosureInterval rdf:type time:Interval;<br />
time:hasBeginning sdtm:RFXSTDTC ;<br />
time:hasEnd sdtm:RFXENDTC .<br />
<br />
and another important one:<br />
<br />
study:Lifespan rdf:type time:Interval;<br />
time:hasBeginning sdtm:BRTHDTC ;<br />
time:hasEnd sdtm:DTHDTC .<br />
<br />
Now here is where it gets fun. Let's say you want to derive RFXSTDTC and RFXENDTC (first and last day of exposure). Imagine your database has various time:Interval triples for each subject, each describing a fixed dose interval. Imagine in this example, Person1 participates in 3 fixed dosing intervals, as shown in the RDF as follows:<br />
<br />
study:Person1 study:participatesIn study:DrugAdministration1, study:DrugAdministration2,<br />
study:DrugAdministration3.<br />
<br />
Each administration is associated with an interval: Interval1, Interval2, Interval3, each of which has a time:Beginning and time:End date. One can write a SPARQL query to pull out the minimum (earliest) time:hasBeginning date and the maximum (latest) time:hasEnd date for all the drug administration intervals and thereby derive automatically the two SDTM dates of interest. The same can be done for RFPENDTC (reference participation end date). I can't tell you how often this date is wrong in actual study data submissions. A SPARQL query can identify all dates for all study activities associated with a Subject and pick out the maximum date, which happens to be the RFPENDTC. Best of all, these standard queries can exist as a resource on the web using SPIN (SPARQL Inference Notation) for anyone to use.<br />
<br />
But first, you need study data in the RDF and a Study Ontology.<br />
<br />
<br />Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-16190483497780601712017-03-01T10:14:00.000-05:002017-03-01T10:14:58.524-05:00What's in a Name?Standardizing clinical trial data is all about automation. Standard data enable automated processes that bring efficiency and less human error. But automating a process, for example, an analysis of a lab test across multiple subjects in a trial, requires computers and information systems to be able to unambiguously identify that lab test. This is called computable semantic interoperability (CSI). The key is "computable." It's not enough that a human can identify the lab test of interest, but computers need to do the same. I previously wrote about the <a href="http://aolivamd.blogspot.com/2015/09/the-interoperability-problem.html" target="_blank">interoperability problem</a> and I revisit it here today, focusing on test names.<br />
<br />
There are two situations that impede CSI: [1] when the same Thing goes by two different names, or even more troublesome [2] when two different Things go by the same name. When I say Mustang do I mean the car, or the horse? Some describe the term Mustang is "overloaded" because it can represent more than one Thing. Issue #1 is addressed by controlled terminology. Synonyms can then be mapped to a controlled term that all agree to use. Issue #2 is more challenging, but it is avoidable by assigning different names to different things. I consider this a best practice to promote CSI.<br />
<br />
As an example, let's look at the CDISC controlled term "glucose" (code C105585). The definition is "a measurement of the glucose in a biological specimen." The reality is that a serum glucose and a urine glucose are two completely different tests, having different clinical meaning and interpretation. I have been advocating for more granular lab test names for a long time so that computers can easily distinguish different tests. The counter-argument is that serum glucose is really two concepts: the specimen and the "thing" being measured (known as the component, or analyte in <a href="http://www.loinc.org/" target="_blank">LOINC</a>), and therefore should be represented as two different variables. In fact, the SDTM does have a separate field for specimen information (LBSPEC), and don't get me wrong, there is value is separate specimen information, but that doesn't diminish the need for different test names. The problem is, one has to tell or program a computer "if test=glucose, look at specimen information to pick out the correct glucose test." But what about another observation, say "Occurrence Indicator" (an FATEST as described in the <a href="https://www.cdisc.org/standards/therapeutic-areas/malaria/malaria-therapeutic-area-user-guide-v10" target="_blank">Malaria Therapeutic Area User's Guide</a>). One must know to look at another field (FAOBJ) to understand that the occurrence is a fever, or a chill. Where to look for that additional data is not always obvious and varies by test. In the Malaria example, we have two different occurrences and they should each have their own name: Fever Indicator, Chills Indicator. <br />
<br />
There are two problems with relying on other data fields to disambiguate an overloaded concept: [1] keeping track of which field to disambiguate which test is onerous, and [2] new lab tests are being added all the time. (By the way, LOINC avoids this problem by assigning different codes to different tests and providing separate data fields for analyte, source, method, etc.)<br />
<br />
This problem became clear to me when a colleague at FDA, who was using an automated analysis tool and was analyzing serum glucose levels among thousands of patients and was getting funny results. After quite some digging, she realized the tool was pooling serum and urine glucoses. She and I knew to look at LBSPEC. The tool, however, wasn't smart enough to do so. I wonder how many other analyses of other tests have this problem and go unrecognized.<br />
<br />
So, in the interest of promoting true computable semantic interoperability without burdening data recipients with unnecessary algorithms to disambiguate overloaded terms, please remember to name different things differently. It can be that simple.<br />
<br />
<br />
<br />
<br />
<br />
<br />Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-40731825931556099002017-02-17T14:46:00.000-05:002017-03-08T15:51:39.740-05:00SDTM Data in RDF: Activities in Clinical Trials<span style="font-family: inherit;"><a href="http://www.phuse.eu/" target="_blank">PhUSE</a> has approved a new project to evaluate and demonstrate the potential value of using RDF for <a href="http://www.cdisc.org/sdtm" target="_blank">SDTM</a> data. It's called <a href="http://www.phusewiki.org/wiki/index.php?title=Semantic_Technology" target="_blank">SDTM Data as RDF. </a> The project is headed by <a href="mailto:NovasTaylor@gmail.com" target="_blank">Tim Williams</a> and myself and it will kick off at the upcoming <a href="http://www.phuse.eu/css-conference" target="_blank">PhUSE Computational Science Symposium</a> just outside Washington DC. As many of you know, I'm an advocate for using the <a href="http://aolivamd.blogspot.com/2016/05/five-reasons-to-use-rdf-for-study-data.html" target="_blank">RDF for study data</a>. One of the goals of this new project is to develop a simple Study Ontology that, when combined with study data in RDF, can be used to generate high quality, highly standardized and valid SDTM datasets. If successful, it will address a major ongoing problem: high variability in SDTM implementation across studies and applications. </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">To achieve that goal, we will develop a simple study ontology using OWL that will support SDTM dataset creation using standard SPARQL queries. It will leverage existing <a href="https://bridgmodel.nci.nih.gov/about-bridg" target="_blank">BRIDG</a> classes as needed. We are starting with two domains: DM and VS and, if successful, the ontology will be extended to support other SDTM domains as well as non-standard data that currently wind up in SUPPQUAL or custom SDTM domains. If successful, the project outcome can provide a compelling reason to use RDF for study data today to solve a major SDTM implementation challenge that sponsors currently face. As the project progresses, I plan to discuss modeling challenges and how RDF/OWL can address them. Today I discuss Activities in clinical trials. </span><br />
<span style="font-family: inherit;"><br /></span><span style="font-family: inherit;">A clinical trial is at its most fundamental construct a collection of activities and the rules that describe when those activities are performed. There are also rules that describe how those activities are grouped (e.g. into arms, visits, epochs, etc.) to facilitate study conduct and analysis.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Our mini Study Ontology divides study Activities into these subClasses:</span><br />
<ol>
<li><span style="font-family: inherit;">Observations -- symptoms, signs, tests, etc. that measure the physical, mental, or physiological state of a subject</span></li>
<li><span style="font-family: inherit;">Analyses -- activities that take as input one or more Observations and generates analysis results</span></li>
<li><span style="font-family: inherit;">Interventions -- activities that are performed on a subject with the usual intent of modifying or identifying a medical condition (e.g. drug administration, device implantation, surgery)</span></li>
<li><span style="font-family: inherit;">Administrative Activities: e.g. informed consent, randomization, etc.</span></li>
</ol>
<div>
<span style="font-family: inherit;">The Analysis class has a couple of interesting subclasses: </span></div>
<div>
<ol>
<li><span style="font-family: inherit;">Assessment - this activity analyzes Observations and their results to identify (e.g. diagnose) and/or characterize (e.g. severity assessment) a Medical Condition.</span></li>
<li><span style="font-family: inherit;">Rule - this activity analyzes Observations and their results to determine the start of another Activity. This includes eligibility criteria, which takes screening data and determines whether the subject advances to the next Activity, usually randomization. It also includes more generic start rules such as "take study medication within two hours of headache onset." </span></li>
</ol>
<div>
<span style="font-family: inherit;">All Activities have outcomes, so there is a class ActivityOutcome. For Observations, the outcome is the result. For Assessments, the outcome is the identification and characterization of a Medical Condition. Many tests in medicine combine Observation outcomes with Assessment outcomes. For example, consider a CT scan of the head. The Observation might be a 2 cm lesion in the right frontal lobe that enhances with contrast, and has mass effect (obliteration of the sulci and a shift of midline structures). The Assessment, performed by a trained Neuroradiologist, establishes the presence of a cerebral tumor. Additional observations and assessments are then needed to confirm the diagnosis and further characterize the tumor (e.g. Grade 3 Astrocytoma). </span></div>
</div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">The MedicalCondition class contains all the medical conditions that afflict the Subject (including past conditions). By medical condition I mean a disease (e.g. Epilepsy) or a disorder (e.g. Seizure) or a transient physiologic state that benefits from medical Interventions (e.g. Pregnancy). There are two main subclasses: Indication (the reason an Intervention is performed, such as a Drug Administration), and AdverseEvent (a medical condition that begins or worsens after an Intervention is performed). </span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">So the "core" study ontology looks like this (class view only):</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">--Entity</span></div>
<div>
<span style="font-family: inherit;"> -- Person</span></div>
<div>
<span style="font-family: inherit;"> --HumanStudySubject</span></div>
<div>
<span style="font-family: inherit;">--Activity</span></div>
<div>
<span style="font-family: inherit;"> --AdministrativeActivity</span></div>
<div>
<span style="font-family: inherit;"> --Analysis</span></div>
<div>
<span style="font-family: inherit;"> --Assessment</span></div>
<div>
<span style="font-family: inherit;"> --Rule</span></div>
<div>
<span style="font-family: inherit;"> --Observation</span></div>
<div>
<span style="font-family: inherit;"> --Intervention</span></div>
<div>
<span style="font-family: inherit;">--ActivityOutcome</span></div>
<div>
<span style="font-family: inherit;">--MedicalCondition</span></div>
<div>
<span style="font-family: inherit;"> --Indication</span></div>
<div>
<span style="font-family: inherit;"> --AdverseEvent</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">You can imagine a host of properties/predicates that link these together, e.g. HumanStudySubject participatesIn Activity. Activity hasOutcome ActivityOutcome are just two. </span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">As the PhUSE project advances, we will be testing to see if all study activities will fit in this model. In the meantime, I welcome your comments here but please consider getting involved in the project. We can guarantee all of us will learn a lot and maybe find a better way of implementing the SDTM. And finally, come to the PhUSE CSS if you can! I hope to see you there. </span></div>
Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com1tag:blogger.com,1999:blog-8346061623186564263.post-61414596313108542472016-11-02T13:40:00.000-04:002016-11-02T13:40:58.473-04:00On Capturing Information about Medical ConditionsIn today's post, I discuss Medical Conditions in some detail, with a focus on an important question: how do we best capture information about medical conditions as they evolve over time? This is an important question because understanding how medical conditions change over time is key to understanding how medical interventions affect those conditions. As usual, I focus on subject level clinical data collected in clinical trials but I think this is equally valid for other use cases.<br />
<br />
I <a href="http://aolivamd.blogspot.com/2016/10/definition-of-common-clinical-terms-v2.html" target="_blank">define a Medical Condition</a> as a<span style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;"> </span><span style="font-family: inherit;">disease, injury, disorder, or transient physiologic state that interferes or may interfere with well-being. A medical condition persists in time. Medical conditions also evolve over time. The practice of medicine focuses on minimizing the impact of medical conditions to one's health. </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">So how do we best document the evolution of medical conditions over time? My thinking on this topic is heavily influenced by a very useful paper, which I encourage you to read. It's titled </span><a href="http://ontology.buffalo.edu/medo/Disease_and_Diagnosis.pdf" style="font-family: inherit;" target="_blank">"Toward an Ontological Treatment of Disease and Diagnosis,"</a><span style="font-family: inherit;"> by Richard H. Scheuermann, Ph.D., <i>et. al. </i>It provides precise definitions for common terms such as a Disorder, Pathological Process, Disease, etc. This precision the authors argue is important to enable automated analysis and reasoning across aggregated clinical data from multiple sources. </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Their definition of Disease is: <i><b>A disposition to undergo pathological processes that exists in an organism because of one ore more disorders in that organism.</b></i> A disorder in turn is something that is wrong with the body and is associated with a pathological process. </span>For example,<span style="font-family: inherit;"> Epilepsy is a disease that disposes the individual to recurrent seizures (disorder/pathological process). As another example, consider Systemic Lupus Erythematosis, a disease that disposes the individual to multi-organ autoimmune damage that may be manifested by multiple disorders: dermatitis, arthritis, pericarditis, nephritis, etc. One has to understand the underlying disorders in order to fully understand the disease. </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Notice that my definition of a medical condition includes both diseases and disorders, because sometimes one doesn't know the disease, rather just the disorder that is manifest, but it's useful to draw that distinction when one can. Understanding the disease can help select the best treatment for the underlying disorder. For example, the disorder may be a bone fracture from an injury, but additional observations may disclose the disease Osteoporosis, which would affect the treatment plan. </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">So the clinical data flow in my mind goes something like this: clinical observations give rise to an assessment to identify/characterize one or more disorders, which may enable the identification of a disease. </span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicV_WgDHNalGfvYVCDMxYaacx9CEtdSg8OWqD11CSZk8IdbU6cQ2Zr-CiMAJWRbO65PT-dr8wltThZ3VpxIMHvaoHljjdVLH2g0o-ba-RHaVUpioLdfeWEY3HPcAnZyjypO9Z0gqNLT7HN/s1600/disease2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicV_WgDHNalGfvYVCDMxYaacx9CEtdSg8OWqD11CSZk8IdbU6cQ2Zr-CiMAJWRbO65PT-dr8wltThZ3VpxIMHvaoHljjdVLH2g0o-ba-RHaVUpioLdfeWEY3HPcAnZyjypO9Z0gqNLT7HN/s400/disease2.png" width="400" /></a></div>
<span style="font-family: inherit;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: inherit;">One begins to see how to organize the data for maximal use downstream. Clinical observations are grouped together during an assessment to identify and categorize a disorder and possibly a disease. Both disorders and diseases are events that persist in time, so each is associated with a start and end date. Each also has a diagnosis date, i.e. the date an assessment first identified the condition. Severity is an observation that can be associated with both disorders and diseases, and that changes over time. </span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: inherit;">What are the implications for the SDTM? <a href="http://aolivamd.blogspot.com/2016/05/improving-study-data-tabulation-model.html" target="_blank">In a previous post </a>I argue for a single Medical Condition domain that describes each medical condition, past and present, for each subject. Each record is a medical condition (e.g. a disease or disorder) and has standard attributes such as start date, end date, diagnosis date, etc. One needs to group and link all the disorders that pertain to a given disease. So for schizophrenia, one would list all the known psychotic episodes for that subject and link them to the schizophrenia disease record. Same thing with Multiple Sclerosis. The M.S. record would link to all the known relapses (disorders). There would also be links to the observations that were used to characterize the disorder, and an optional link to the assessment (i.e. adjudication) record that contains details of that assessment. Each disease/disorder should have standard outcome measures (clinical observations) and validated methods to observe and document severity at given points in time. For example, Parkinson's Disease has the <a href="http://www.etas.ee/wp-content/uploads/2013/10/updrs.pdf" target="_blank">UPDRS </a>(Unified Parkinson's Disease Rating Scale). Diabetes has the Hemoglobin A1C and others. Once again we need universal resource identifiers (URI's) to facilitate linking all these data. </span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: inherit;">What we have now is the ability to plot all of a subject's clinical observations in a clinical trial over time, i.e. the patient profile. But this lacks important information in how assessments were performed to link observations to disorders and diseases to assess changes to the disease over time. When one looks at the various <a href="https://www.cdisc.org/therapeutic" target="_blank">Therapeutic Area User Guides </a>each takes a different approach in documenting changes to medical conditions over time. This proposed single approach I think is applicable for all therapeutic areas. Once we have a clear, standard representation of the changes to a medical condition over time, then I think it will be easier to automate analyses that look at the effects of various interventions, including experimental interventions of course. </span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: inherit;">As usual, I welcome your comments. </span></div>
Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com4tag:blogger.com,1999:blog-8346061623186564263.post-39696313993453071762016-10-18T09:52:00.000-04:002016-10-18T09:52:35.412-04:00Definition of Common Clinical Terms v2<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://aolivamd.blogspot.com/2016/05/definitions-of-common-clinical-terms.html" target="_blank">Back in May</a> I proposed some working definitions of common clinical terms. Since then additional thinking and feedback has led to some refinements. I'm reposting and cross-referencing the two versions. The changes are highlighted in bold and red. </span><br />
<br />
<span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">We all use these words in clinical medicine: observations, assessments, diagnosis, medical condition, adverse event, outcome measure, endpoint. But what do they really mean? The published definitions are all over the map, often imprecise and inconsistent. I have conducted informal polls of medical reviewers at FDA and, guess what, they mean different things to different people. These are highly educated, highly experienced people. The same problem exists in academia and industry. I see this in the wide variability in how these words are used in study protocols.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">Standardizing the definitions of these common term has been a topic of interest to me. How can we automate the processing of clinical data if we can't all agree on definitions for these basic terms in clinical medicine? Using </span><a href="http://aolivamd.blogspot.com/2015/12/aristotle-and-how-best-to-define-things.html" style="color: #888888; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-decoration: none;" target="_blank">best practices for how to define things</a><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">, I have come up with the following "working definitions" that I think are unambiguous and internally consistent...i.e. enabling humans and information systems to clearly distinguish them apart. I'd also like to think they are accurate in how they're used or should be used in clinical medicine. I present them here in no particular order other than some naturally flow from others.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">1. Clinical Observation:</b><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"> a measure of the physical, physiological, or psychological state of </span><span style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><b style="color: #990000;">a Person </b>or individual</span><span style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="color: #222222;">. </span><b><span style="color: #990000;">(Synonym=finding)</span></b></span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">A Clinical Observation is ideally observed by a qualified individual, following a standard process, but without implying a cause. Many clinical observations simply reflect a normal physiological state. e.g. BP 120/80 mmHg.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">1(a). Symptom: </b><span style="background-color: white;"><span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="color: #222222;">a Clinical Observation that can only be observed by the individual </span><b><span style="color: #990000;">to whom the observation belongs</span></b><span style="color: #222222;"> (e.g. pain). Synonym: Subjective Observation</span></span></span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">1(b). Sign: </b><span style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="color: #222222;">a Clinical Observation that can be observed by someone other than the i</span><b><span style="color: #990000;">ndividual</span></b><span style="color: #222222;"> (e.g. blood pressure). Synonym: Objective Observation.</span></span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">Note: Signs can also be self-observed, for example, fingerstick glucose or blood pressure using an appropriate home monitoring device.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">1(c). Outcome Measure:</b><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"> A Clinical Observation that is of interest for some research activity (e.g. clinical or epidemiological study). The outcome measure is intended to support one or more objectives in a research project. e.g.: Hemoglobin A1C in a diabetes study.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">1(d). Patient Reported Outcome (PRO)</b><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"> is an Outcome Measure that is also a Symptom.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">2. Endpoint:</b><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"> A combination of 3 concepts: [1] one or more Outcome Measures, [2] a time element describing when the outcome measure is collected, [3] and an algorithm describing how the Outcome Measures are combined for analysis (optional). (Credit goes to </span><a href="https://www.linkedin.com/in/biopartners" style="color: #888888; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-decoration: none;" target="_blank">Roomi Nusrat, M.D.</a><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"> for this one) Example: Percent change from baseline in HgbA1C measured at 12 weeks.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><span style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="color: #222222;">Note: I find Outcome Measure and Endpoint often used interchangeably. </span><b><span style="color: #990000;">The former is a clinical concept (what's measured by the clinician), the latter is an analysis concept (what's plugged into a formula. </span></b><span style="color: #222222;">Sometimes they are very close: e.g. Viral Load (outcome measure); Viral Load at 6 weeks (endpoint).</span></span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">2(a). Composite Endpoint:</b><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"> an Endpoint with two or more distinct Outcome Measures.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><br /></b><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">3. Medical Condition: </b><span style="background-color: white;"><span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="color: #222222;">a disease, injury, disorder, </span><b><span style="color: #990000;">or transient physiologic state</span></b><span style="color: #222222;"> that interferes </span><b><span style="color: #990000;">or may interfere</span></b><span style="color: #222222;"> with well-being. </span><b><span style="color: #990000;">A medical condition persists in time. </span></b></span></span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><span style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="color: #222222;">Medical conditions are the target of medical interventions.</span><span style="color: #222222;"> Medical conditions explain the presence of clinical observations. We often confuse a clinical observation (e.g. low serum sodium at a single point in time) with the medical condition that gives rise to it (e.g. hyponatremia). I write about this distinction in more detail in a </span></span><a href="http://aolivamd.blogspot.com/2016/03/distinguishing-clinical-observations.html" style="color: #888888; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; text-decoration: none;" target="_blank">previous post</a><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">3(a). Adverse Event:</b><span style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="color: #222222;"> An </span><b><span style="color: #990000;">adverse</span></b><span style="color: #222222;"> Medical Condition that emerges or worsens following a Medical Intervention. Note: there is no presumption of causality. </span><b><span style="color: #990000;">(Some medical conditions may not be considered adverse; see the Pregnancy discussion below.)</span></b></span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">3(b). Adverse Reaction:</b><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"> An Adverse Event that is caused or worsened by a Medical Intervention. Here causality is presumed.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">3(c). Treatment Emergent Adverse Event: </b><b><span style="color: #990000;"><span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">A</span><span style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">n Adverse Event temporally associated with a specific Medical Intervention. It assumes that some algorithm or rule is defined to establish the temporal association.</span></span></b><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">3(d). Indication: </b><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">A Medical Condition that is the target of a Medical Intervention; i.e. the reason the Medical Intervention is performed.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><br /></b><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"></span><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">4. Medical Intervention:</b><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"> An activity intended to affect (e.g. treat, cure, prevent, diagnose, mitigate) a Medical Condition. e.g. Drug Administration, Surgery, Device implantation.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">5. Assessment:</b><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"> An analysis of one or more Clinical Observations to characterize a Medical Condition.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">Note: Sometimes assessment is used to mean the collection of a clinical observation. I would like to see us move away from this use as it is confusing. The clinical process is first </span><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">observe</b><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"> or measure clinical observations then </span><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">assess</b><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"> one or more clinical observations to identify/characterize medical conditions.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><b style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">6. Diagnosis: </b><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">this is an overloaded term in clinical medicine. It has two definitions depending on whether it's used to mean a process or a thing.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">Diagnosis (the process): An Assessment to identify the presence of a Medical Condition.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">Diagnosis (the thing): A Medical Condition identified for the first time via an Assessment.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">So we can say: Q. What did the diagnosis (diagnostic assessment process) show? A: Adult Onset Diabetes Mellitus. OR</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">Q. What is the diagnosis? A: Adult Onset Diabetes Mellitus.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">Note: Because Diagnosis (the thing) is a Medical Condition, one can define a start/onset date as the date of the first Clinical Observation associated with the condition, as well as the diagnosis date, which is the date the diagnostic assessment was complete, i.e. the date the Medical Condition was first identified via an assessment. As we all know, these are often not the same.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">One interesting question is can a Medical Condition be an Outcome Measure in a study? The way they are defined here, Outcome Measures are always Clinical Observations, not Medical Conditions. A stroke prevention study might define Stroke as the primary Outcome Measure, but is it really? A close inspection reveals that it's really the symptoms and signs of the stroke that are important (i.e. what we can observe/measure). Stroke is clinically very heterogenous and can present in many different ways, so we need to describe what Clinical Observations are most likely indicative of a stroke? (e.g. paralysis, numbness, visual loss, etc.) These, then, are the true Outcome Measures. So when we see a Medical Condition as an Outcome Measure, there needs to be an adjudication process (i.e. Assessment) to define the Clinical Observations that need to be measured and analyzed to assure the Medical Condition is present. </span><br />
<span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><br /></span>
<span style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><b><span style="color: #660000;">Pregnancy deserves special mention. Is it a medical condition? The definition of medical condition has been expanded to include pregnancy by adding the </span></b></span><span style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><b><span style="color: #660000;">language "transient physiologic state." I think most clinicians will agree that pregnancy is a medical condition because it benefits from medical intervention (e.g. prenatal care) to minimize complications to the mother and unborn child. Is pregnancy an adverse event in a trial? It depends on whether it's considered "adverse" as in unexpected and undesired. That is a judgment call made by the assessor.</span></b><span style="color: #222222;"> </span></span><br />
<br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;">I welcome comments to refine these and make them more useful. I think the interesting part comes in converting these definitions into OWL representations, to enable computers to reason across the data. This remains a research interest of mine. Maybe I'll get into that in a future post.</span><br style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.199999809265137px;" />Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-51924274125225987602016-09-17T11:20:00.002-04:002016-10-21T08:14:10.873-04:00Rethinking the Three CDISC General Observation Classes<span style="font-family: "arial", "helvetica", sans-serif;">*Please note this post has been updated to reflect updates to some clinical definitions referenced in this post. The links have been updated as well. These do not change the overall message and conclusions. </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">The CDISC Study Data Tabulation Model (<a href="http://www.cdisc.org/standards/foundational/sdtm" target="_blank">SDTM</a>) is now on version 1.4 with future versions already in design to accommodate data for additional therapeutic area requirements. As these data from more and more therapeutic areas are standardized, I see an almost endless cycle of new variables, new domains, version upgrades and their associated implementation costs and challenges. I think it is worth exploring improvements to the model so that new requirements could be incorporated more easily, perhaps as easily as adding new terms to dictionaries and decreasing the need for changes to the model or for nonstandard variables. But what does that improved model look like? Here are some thoughts. I certainly welcome comments.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">First let's look at where we are today. The SDTM has been quite consistent over time in defining three general observation classes in clinical studies: Interventions, Findings, and Events. Here is how they are described in SDTM 1.4:</span><br />
<div style="line-height: normal;">
</div>
<br />
<ul>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">The Interventions class ... captures investigational, therapeutic and other treatments that are administered to the subject (with some actual or expected physiological effect) either as specified by the study protocol (e.g., “exposure”), coincident with the study assessment period (e.g., “concomitant medications”), or other substances self-administered by the subject (such as alcohol, tobacco, or caffeine). </span></li>
</ul>
<ul>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">The Events class ... captures planned protocol milestones such as randomization and study completion, and occurrences, conditions, or incidents independent of planned study evaluations occurring during the trial (e.g., adverse events) or prior to the trial (e.g., medical history). </span></li>
</ul>
<ul>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">The Findings class ... captures the observations resulting from planned evaluations to address specific tests or questions such as laboratory tests, ECG testing, and questions listed on questionnaires. The Findings class also includes a sub-type “Findings About” which is used to record findings related to observations in the Interventions or Events class. </span></li>
</ul>
<span style="font-family: "arial" , "helvetica" , sans-serif;">It turns out these definitions do not completely align with the way clinicians generally think about observations. Furthermore, this categorization does not follow well-established conventions for documenting, storing, and using clinical data in practice. I think it is useful to re-examine these concepts, because I believe it leads to a better and more useful data model.</span><br />
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">In <a href="http://aolivamd.blogspot.com/2016/10/definition-of-common-clinical-terms-v2.html" target="_blank">another post</a>, I discuss definitions of common clinical terms. Here are two I'd like to revisit. </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b style="font-family: arial, helvetica, sans-serif;">Clinical Observation:</b><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;"> </span><span style="background-color: white;"><span style="color: #222222; font-family: inherit;">a measure of the physical, physiological, or psychological state of a Person or individual. </span></span></span></span><br />
<ul></ul>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white;"><span style="color: #222222; font-family: inherit;"><b>Medical Condition: </b></span></span><b style="color: #222222; font-size: 13px;"> </b><span style="background-color: white; color: #222222;"><span style="font-family: inherit;">a disease, injury, disorder, </span></span></span><span style="font-family: inherit;">or transient physiologic state that interferes or may interfere with well-being. A medical condition persists in time. </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; color: #222222; font-family: "arial" , "helvetica" , sans-serif;"><span style="font-family: inherit;"><br /></span></span></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">How do these definitions work? Health care processes focus on identifying Medical Conditions that afflict patients. Once the Medical Condition is identified, one can then determine how best to deal with it. Sadly, patients don't walk into a clinic or hospital with a sign on their forehead saying "I have Multiple Sclerosis." The clinician acts as a detective, documenting clues that can lead to the correct diagnosis. Those clues are clinical observations. The clues must be put together, like a jigsaw puzzle, to determine the most likely diagnosis (i.e. medical condition) that afflicts the patient. This in turn determines the plan (interventions) to make the patient better or keep them from getting sick. </span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">This process gives rise to the <a href="http://aolivamd.blogspot.com/2015/08/modeling-clinical-data.html" target="_blank">clinical data lifecycle</a> that in turn, and over many decades, is routinely documented in patient records. It goes by the mnemonic SOAP. Here are the SOAP components:</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Subjective observations - what are the observations that the patient reports?</span><br />
<ul></ul>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Objective observations - what are the observations that the clinician observes (which may include the use of tools, such as a BP cuff, ophthalmoscope, laboratory diagnostic device, imaging device)</span><br />
<ul></ul>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Assessment - what medical condition is mostly likely associated with the observations? What are important attributes of the medical condition, such as severity, measured at the time the assessment is made?</span><br />
<ul></ul>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Plan - how should the medical condition be treated? This usually involves some interventions (drug administration, surgery, device implantation etc.)</span></div>
<div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">If one applies the working definition of a clinical observation to the CDISC general observation classes, only the Findings class fits as a true clinical observation that would typically be documented in the "O" section of a SOAP note in a patient's record. </span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Let's now look at Interventions. The word Intervention comes from the verb to intervene, which is defined by <a href="http://www.merriam-webster.com/dictionary/intervene" target="_blank">Merriam Webster </a>Dictionary as</span><span style="font-family: "arial" , "helvetica" , sans-serif;"> <span style="font-family: inherit;">"<span style="background-color: white; letter-spacing: 0.6399999856948853px;">to become involved in something ... in order to have an influence on what happens."As it is commonly used in health care, an intervention is some activity that intends to change or alter or affect in some way a Medical Condition. Usually the intent is to treat, but other purposes of Interventions can be to prevent, cure, diagnose, or mitigate. Examples of Interventions include a drug administration, surgery, or device implantation. </span></span></span></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">It turns out that observations and interventions are very similar from a process perspective. Both have a performer, are associated with some <b>process</b> for carrying out the activity, both may involve one or more <b>devices</b>, and both may involve collecting and analyzing a <b>biospecimen</b>. Observation and Intervention records therefore need to link to information about these other classes as needed. In fact an observation is a type of intervention because the observation wouldn't occur unless the observer takes some intervening action. From a modeling perspective, it makes sense to treat observations as interventions. They are distinguished by the purpose or intent of the intervention: affect/identify a disease vs. observing the state of an individual. </span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">So what about CDISC Events? Except for certain administrative events in the SDTM, events are in fact Medical Conditions. Think of Medical History (MH) data: Hypertension, Diabetes Mellitus, Hypothyroidism. All medical conditions. Think of events that go in the Clinical Events (CE) domain or the Adverse Events (AE) domain, all Medical Conditions (or at least they should be. Sometimes in practice, an observation about an event is confused with the event itself. More on this later.)</span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Medical Conditions all share common attributes: They persist in time, i.e. they have a start date and an end date (which is null if the condition is ongoing or its status is unknown). For practical reasons, the start date would be the date of the first clinical observation associated with the condition, although in reality the pathophysiology is usually well underway by the time the first symptom or sign appears. It also has a diagnosis date, which corresponds with the date the assessment was completed that first identified the medical condition. This can be much later than the start date. </span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Let's look at adverse events briefly. An AE is a medical condition that is temporally associated with an Intervention. It is identified after an assessment of one or more clinical observations. The assessor concludes that a medical condition is present. It is not an observation! In reality, the assessment is not often documented so many people don't think of it. When the onset of an AE is critical information, e.g. renal graft failure following transplant, then a formal adjudication process may exist to ensure the right clinical observations were collected and the correct diagnostic criteria were applied during the assessment to conclude that renal graft failure has occurred.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">In other cases, an observation about an AE is mistaken for the AE itself. Take the example of "hyponatremia." This is a clinical disorder characterized by low serum sodium, normal serum osmolality, and possibly a constellation of other clinical observations, such as change in mental status, seizures etc. Does a low serum sodium (observation) mean the patient has hyponatremia (the medical condition)? Maybe, maybe not. It requires an assessment by a qualified assessor to determine that association. Maybe the serum osmolality was abnormal; maybe it's lab error. One doesn't always need details of the assessment, but sometimes it's important.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Our high level concept maps looks like this:</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGBVo_o54mwrqlT1ximsVyDx-xm5S6KIXXH7jSoezbzgPWd8iXWtVCy0f-eR17UWAbEnpt9h1XCqr4EfbhY8rycY9Jx5PL6_OFNR1Raf_0b3M3AiMo_oYmS-sFEwX8A_e11OWkO879G71N/s1600/healthcare2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="416" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGBVo_o54mwrqlT1ximsVyDx-xm5S6KIXXH7jSoezbzgPWd8iXWtVCy0f-eR17UWAbEnpt9h1XCqr4EfbhY8rycY9Jx5PL6_OFNR1Raf_0b3M3AiMo_oYmS-sFEwX8A_e11OWkO879G71N/s640/healthcare2.png" width="640" /></a></div>
<br /></div>
<div>
<br /></div>
<div>
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Now we're starting to see a picture of what new and improved SDTM domains look like. These were discussed in a <a href="http://aolivamd.blogspot.com/2016/05/improving-study-data-tabulation-model.html" target="_blank">previous post</a>. </span></div>
<div>
<ol>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Medical Condition domain...can contain everything you may want to know about the medical conditions that afflicts the subject, e.g. start date, link to the observation record considered the first sign/symptom of the condition, date of diagnosis (with a link to the assessment record that led to the diagnosis), severity, toxicity grade, seriousness, end date, etc. Because medical conditions commonly fluctuate in severity or toxicity over time, a severity or toxicity rating is typically the severity or toxicity measured at the time the assessment is made. It is a finding about the medical condition. </span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Assessment Domain: can contain everything you may want to know about an assessment, date of the assessment, assessor (link to qualifications), observations used for the assessment, link to diagnostic criteria used for the assessment, link to the rating scale used, link to the outcome of the assessment, i.e. medical condition record.</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">New and improved Interventions domain containing everything you may want to know about the intervention: date performed, purpose of the intervention (observe; affect), performer (link to qualifications), device used (link to device info); procedure/process done (link to procedure info); biospecimen collected and/or analyzed (link to biosopecimen information), observation result (if observation). </span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Every medical condition is associated with a Plan (i.e. care plan). One can consider a Planned Interventions domain where each record is linked to the Medical Condition for which the planned intervention is intended. There should be an ability to link from the planned intervention to the actual intervention record(s). </span></li>
</ol>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">There are lots of links across these new domains. These would be facilitated by having unique resource identifiers for each record in each new domain. </span></div>
</div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">If enough attributes are present for each suggested new domain, I hypothesize that new clinical data requirements can be more easily met using this model. As a next step, I would like to create some domains based on dummy data and explore what adding new data requirements might look like.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Thank you for reading and for your comments. </span></div>
<div>
<br /></div>
</div>
<br />
<br />Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com5tag:blogger.com,1999:blog-8346061623186564263.post-34403651924200658732016-08-09T07:22:00.003-04:002016-08-09T07:31:27.644-04:00Deciding When to Change the SDTM<span style="font-family: "arial" , "helvetica" , sans-serif;">I frequently come across proposals to change or upgrade the SDTM. Experience has shown that changes to the SDTM are a <b>big deal</b>. Even minor changes cause a ripple effect that result in substantial resources (e.g. time and money) for stakeholders to implement. It's often years before a change can be fully implemented industry-wide. Often the change results in updates to the model, the implementation guide, the I.G., and significant change management costs, e.g. training, upgrades to information systems and tools and business processes. Here we are well into the 2nd decade of the SDTM lifecycle and what the industry needs most is stability in the standard. We need to be creative in incorporating new requirements that do not change the standard and avoid those that are not absolutely necessary. Or we need to take a critical look at the underlying model and make major changes (SDTM 2.0?) that hopefully will result in a more stable standard (see my <a href="http://aolivamd.blogspot.com/2016/05/improving-study-data-tabulation-model.html" target="_blank">previous post</a>). We recognize that some change is inevitable, but change that can be accomplished through other means should be pursued. Stakeholders need a stable standard.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">So here I propose an approach to limit certain types of changes. But first, I discuss fundamental principles about exchange and analysis standards. These principles explain the reasoning behind my suggested approach.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">First of all, let's consider what is an exchange standard vs. an analysis standard? Here are some working definitions:</span><br />
<span style="color: red; font-family: "times" , "times new roman" , serif; text-indent: -0.25in;"><br /></span>
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; text-indent: -0.25in;">Exchange Standard</span><br />
<ul>
<li><span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #262626; font-family: "times" , "times new roman" , serif;">A standard way of exchanging data
between computer systems.</span><span style="color: #262626; font-family: "times" , "times new roman" , serif;"> </span><span style="color: #262626; font-family: "times" , "times new roman" , serif;">It describes
the information classes/attributes/variables/data elements, and relationships necessary
to achieve the unambiguous exchange of information between different
information systems (interoperability).</span></span></li>
</ul>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; text-indent: -0.25in;">Analysis Standard</span><br />
<!--StartFragment-->
<!--EndFragment--><br />
<ul>
<li><span style="color: #262626; font-family: "arial" , "helvetica" , sans-serif;">A standard presentation of the
data intended to support analysis. It includes extraction, transformation, and
derivations of the exchanged data.</span></li>
</ul>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="color: #262626; font-family: "times" , "times new roman" , serif;"><b>Exchange standards exist to support interoperability. </b>Here I use the <a href="http://www.himss.org/library/interoperability-standards/what-is-interoperability" target="_blank">HIMSS definition</a>: </span><span style="color: #9bafb5; font-family: "arial";">"</span><span style="color: #262626; font-style: italic; text-indent: 0in;">The ability of different
information technology systems and software applications to communicate,
exchange data, and </span><span style="color: red; font-style: italic; text-indent: 0in;">use the information</span><span style="color: #262626; font-style: italic; text-indent: 0in;"> that has been exchanged.</span></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Exchange and analysis standards meet very specific and different needs:</span><br />
<ul>
<li><span style="color: #262626; font-family: "arial" , "helvetica" , sans-serif;">A good exchange standard promotes
machine readability, understandability, and business process automation at the expense of end user
(human) readability</span></li>
<li><span style="color: #262626; font-family: "arial" , "helvetica" , sans-serif;">A good analysis standard promotes
human readability and use/analysis of the data using analysis tools. It maintains strict traceability with the exchanged data</span></li>
</ul>
<div>
<span style="color: #262626; font-family: "arial" , "helvetica" , sans-serif;">As an analogy, consider data as pieces of furniture. The exchange standard is the truck that moves the furniture from point A to point B. The size and configuration of the truck is dependent on the contents. The furniture is packed in a way so it can be moved efficiently. It cannot readily be used in its packed environment. The analysis standard describes how to organize the furniture at its destination to maximize its usefulness. For example, a dining room table goes in the dining room. A desk goes in the den, etc. Furniture may need to be assembled (i.e. transformed) from its packed state to its useful state. </span></div>
<div>
<span style="color: #262626; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="color: #262626; font-family: "arial" , "helvetica" , sans-serif;">Because of the different use case associated with each type of standard, it comes as no surprise that the individual requirements are very different. Often they are competing or contradictory. Here are some examples: </span></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; mso-yfti-tbllook: 1536; width: 468px;">
<colgroup><col span="2" style="mso-width-source: userset; width: 234pt;" width="234"></col>
</colgroup><tbody>
<tr height="24" style="height: 24.0pt; mso-height-source: userset;">
<td class="oa1" height="24" style="height: 24.0pt; width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: center; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">Exchange Standard</span></div>
</td>
<td class="oa2" style="width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: center; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="color: red; font-family: "arial" , "helvetica" , sans-serif; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">Analysis Standard</span></div>
</td>
</tr>
<tr height="58" style="height: 57.6pt; mso-height-source: userset;">
<td class="oa3" height="58" style="height: 57.6pt; width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: black; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">No
duplication of data/records</span><span style="color: black; font-style: normal; font-weight: normal; text-transform: none; vertical-align: baseline;">
(minimize errors, minimize file size)</span></span></div>
</td>
<td class="oa4" style="width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: black; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">Duplicate
data</span><span style="color: black; font-style: normal; font-weight: normal; text-transform: none; vertical-align: baseline;">
(e.g. demographics and treatment assignment in each dataset)</span></span></div>
</td>
</tr>
<tr height="58" style="height: 57.6pt; mso-height-source: userset;">
<td class="oa3" height="58" style="height: 57.6pt; width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: black; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">No
derived data</span><span style="color: black; font-style: normal; font-weight: normal; text-transform: none; vertical-align: baseline;">
(minimize errors, avoid data inconsistencies, promote data integrity)</span></span></div>
</td>
<td class="oa4" style="width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: black; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">Derived
data</span><span style="color: black; font-style: normal; font-weight: normal; text-transform: none; vertical-align: baseline;">
(facilitate analysis)</span></span></div>
</td>
</tr>
<tr height="58" style="height: 57.6pt; mso-height-source: userset;">
<td class="oa3" height="58" style="height: 57.6pt; width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: black; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">Very
standard structure</span><span style="color: black; font-style: normal; font-weight: normal; text-transform: none; vertical-align: baseline;">
(highly normalized, facilitate data validation and storage)</span></span></div>
</td>
<td class="oa4" style="width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: black; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">Variable
structure</span><span style="color: black; font-style: normal; font-weight: normal; text-transform: none; vertical-align: baseline;"> to
fit the analysis</span></span></div>
</td>
</tr>
<tr height="58" style="height: 57.6pt; mso-height-source: userset;">
<td class="oa3" height="58" style="height: 57.6pt; width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: black; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">Numeric
codes for coded terms</span><span style="color: black; font-style: normal; font-weight: normal; text-transform: none; vertical-align: baseline;">
(machine readable, facilitate data validation)</span></span></div>
</td>
<td class="oa4" style="width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: black; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">No
numeric codes</span><span style="color: black; font-style: normal; font-weight: normal; text-transform: none; vertical-align: baseline;">
(human understandable)</span></span></div>
</td>
</tr>
<tr height="74" style="height: 74.4pt; mso-height-source: userset;">
<td class="oa3" height="74" style="height: 74.4pt; width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: black; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">Multi-dimensional
</span><span style="color: black; font-style: normal; font-weight: normal; text-transform: none; vertical-align: baseline;">(to
facilitate creation of relational databases and reports of interest)</span></span></div>
</td>
<td class="oa4" style="width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: black; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">Two-dimensional<span style="mso-spacerun: yes;"> </span>(tabular) containing only relationships of
interest</span><span style="color: black; font-style: normal; font-weight: normal; text-transform: none; vertical-align: baseline;">
for specific analysis (easier for analysis tools)</span></span></div>
</td>
</tr>
<tr height="58" style="height: 57.6pt; mso-height-source: userset;">
<td class="oa5" height="58" style="height: 57.6pt; width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: black; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">Standard
character date fields</span><span style="color: black; font-style: normal; font-weight: normal; text-transform: none; vertical-align: baseline;">
(ISO 8601: ensures all information systems can understand them)</span></span></div>
</td>
<td class="oa6" style="width: 234pt;" width="234"><div style="direction: ltr; line-height: normal; margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 3.36pt; mso-line-break-override: none; punctuation-wrap: hanging; text-align: left; text-indent: 0in; unicode-bidi: embed; vertical-align: baseline; word-break: normal;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="color: black; font-style: normal; font-weight: bold; text-transform: none; vertical-align: baseline;">Numeric
date fields</span><span style="color: black; font-style: normal; font-weight: normal; text-transform: none; vertical-align: baseline;">
(facilitates date calculations, intervals, time-to-event analyses)</span></span></div>
</td>
</tr>
</tbody></table>
<div>
<!--StartFragment-->
<!--EndFragment--></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="color: #262626; font-family: "times" , "times new roman" , serif;">So where does the SDTM fall? It was originally designed as an exchange standard for study data submissions and certainly that is its main purpose currently. However, because similar data from multiple subjects exist together into domains make them suitable for simple analyses as well. In fact, FDA reviewers have been performing simple analyses using SDTM datasets for years. More recently, the FDA has developed standard analysis panels that use native SDTM datasets as input. So the answer is: SDTM is both an exchange standard and an analysis standard (for simple, standard analyses; ADaM data are used for complex and study-specific </span><span style="color: #262626; font-family: "times" , "times new roman" , serif;">analyses)</span></span></div>
<div>
<span style="color: #262626; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="color: #262626; font-family: "arial" , "helvetica" , sans-serif;">Here is the important observation from the above discussion. Since the requirements are different for exchange and analysis, <b>SDTM is being pulled in two directions, and cannot perform either role optimally.</b> We must choose which role is more important. How often have we heard the discussion: should SDTM have derived data? Well, it depends what use case you think is more important. As an analysis standard, of course it should have derived data. As an exchange standard, this is generally not a good idea. </span></div>
<div>
<span style="color: #262626; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="color: #262626; font-family: "arial" , "helvetica" , sans-serif;">In an ideal world, the SDTM as an exchange standard would be retired and replaced by a next generation exchange standard that is based on a more robust relational data model that strictly meets data exchange requirements (e.g. BRIDG+XML, HL7 FHIR, RDF/OWL). The data would come in, it would be loaded and stored in a data warehouse, and tools transform the data into useful, manageable chunks for the analysts. This future state would free the existing SDTM to take on more analysis/end-user friendly features (e.g. non-standard variables in parent domains, numeric dates, demographic/treatment arm information in each domain), but these enhanced SDTM views would be generated by tooling. </span></div>
<div>
<span style="color: #262626; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<span style="color: #262626; font-family: "arial" , "helvetica" , sans-serif;">The reality is we do not live in an ideal world and SDTM as an exchange standard is here to stay for the foreseeable future. Therefore, for the foreseeable future, changes to the SDTM should stress data management requirements. Changes to make SDTM more end-user friendly for analysis should be resisted as they invariably will make data exchange more complicated and costly. Requirements to make SDTM data more user-friendly should be handled by better tooling by the recipient to facilitate post-submission data transformations needed for analysis. Going back to the furniture analogy, it's not efficient to ship the dining table and chairs in the exact arrangement they will be used at the destination; rather, we need more and better furniture unpackers at its destination. </span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="color: #262626; font-family: "times" , "times new roman" , serif;"><br /></span>
<span style="color: #262626; font-family: "times" , "times new roman" , serif;">So, I propose the following algorithm to evaluate proposed structural changes to the SDTM (i.e. those that do not add new content). </span>As always, I welcome your thoughts.</span></div>
<div>
<span style="color: #262626; font-family: "times" , "times new roman" , serif;"><br /></span></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6vNWCuA9OVgaTf5sv9wnRO9lw7vVAGIqreGW6liTtIMCrf-dqwFltNRqtsyZZDp4VImDFGH3LLjxR9_nupwS-PcXRt_PRVuUHSbyzbQo8nv9ytM_ub3PZ31MHl9AAHDYvEKzBkZmK8aKH/s1600/SDTM+Flowchart.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="260" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6vNWCuA9OVgaTf5sv9wnRO9lw7vVAGIqreGW6liTtIMCrf-dqwFltNRqtsyZZDp4VImDFGH3LLjxR9_nupwS-PcXRt_PRVuUHSbyzbQo8nv9ytM_ub3PZ31MHl9AAHDYvEKzBkZmK8aKH/s640/SDTM+Flowchart.png" width="640" /></a></div>
<span style="color: #262626; font-family: "times" , "times new roman" , serif;"><br /></span></div>
<div>
<img src="webkit-fake-url://78f51d4a-0ec2-4e65-9739-dd3a3568b9aa/image.tiff" /></div>
<div>
<br /></div>
<div>
</div>
<div>
<span style="color: #262626; font-family: "times" , "times new roman" , serif;"><br /></span></div>
<div>
<span style="color: #262626; font-family: "times" , "times new roman" , serif;"><br /></span></div>
<br />
<!--StartFragment-->
<!--EndFragment-->Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0tag:blogger.com,1999:blog-8346061623186564263.post-47907500256662399572016-06-01T15:56:00.000-04:002016-06-01T15:58:03.634-04:00Five Reasons to use the RDF for Study DataThe currently supported file format to exchange clinical trial data with the FDA is the SAS Transport version 5. It is generally well recognized that this format is obsolete and should be replaced with a more modern format. There is one <a href="http://www.phusewiki.org/wiki/index.php?title=Evaluation_Of_Alternative_Transport_Formats" target="_blank">effort underway</a> to identify a new format. This post makes a case for considering the <a href="https://en.wikipedia.org/wiki/Resource_Description_Framework" target="_blank">Resource Description Framework</a> (RDF) for representing and exchanging study data. I have been learning quite a bit about the RDF for the past several years. Although I am not an expert, I've been able to appreciate the benefits RDF offers over other potential solutions.<br />
<br />
The RDF provides a general approach for describing data of any kind. It is the foundation of the "semantic web." Multiple <a href="https://en.wikipedia.org/wiki/Resource_Description_Framework#Serialization_formats" target="_blank">serialization formats</a> exist for the RDF, including RDF/XML, turtle, and JSON-LD. Numerous freely available converters exist on the Web. Just do a Google search for "RDF format converter."<br />
<br />
When I say RDF, I actually mean a suite of related standards that "play nicely together" and exist to ensure the meaning or semantics exist and travel with the data. These include the RDF, OWL (Web Ontology Language), SPARQL (the query language of the semantic web), and SPIN (SPARQL inference notation).<br />
<br />
So why use the RDF? There are several considerations to keep in mind. First, I'd like to point out the <a href="http://yosemiteproject.org/" target="_blank">Yosemite Project</a>. It is an effort to improve semantic interoperability of all structured healthcare information by using the RDF. It provides numerous compelling arguments in favor of the RDF. Then there is a lot of activity exploring the use of the RDF in the biomedical information space. For example, there is existing work in expressing <a href="https://github.com/phuse-org/rdf.cdisc.org" target="_blank">CDISC standards in the RDF</a>. There is an ongoing effort to develop an RDF representation of <a href="https://www.hl7.org/fhir/rdf.html" target="_blank">HL7 FHIR</a>. There are numerous other efforts to express other standards, such as MedDRA, SNOMED CT and other <a href="http://bioportal.bioontology.org/" target="_blank">terminologies using the RDF</a>.<br />
<br />
It is worth mentioning that it is not absolutely necessary that data be exchanged using the RDF. Other standards may be acceptable as long as they have an unambiguous representation in the RDF and can be easily converted to/from RDF. This helps ensure a level of semantic clarity that is often lacking in existing standards due to unrecognized ambiguous definitions or naming of concepts. In a previous post, I describe <a href="http://aolivamd.blogspot.com/2015/12/aristotle-and-how-best-to-define-things.html" target="_blank">best practices for defining concepts</a> in a way that facilitate an unambiguous RDF/OWL representation. Converting to an RDF representation (particularly OWL), in my experience, tends to surface semantic ambiguities that previously may have gone unrecognized and impede semantically interoperable data exchange.<br />
<br />
Here are the five reasons.<br />
<br />
Reason #1. As the industry considers retiring the current exchange format, any new format should be capable of accommodating new content requirements easily while maintaining backwards compatibility as much as possible. Switching to a new format is going to be costly, so it's important to pick one that is useful over the long haul. Tools must be modified to be able to read and write data using the new format. The standard must be robust to accommodate current requirements and flexible enough to accommodate new requirements easily as they emerge, as change is inevitable. The RDF is capable of supporting this. Ontologies and vocabularies may need updating, but the underlying tools that interact with the updated ontologies don't change, because the underlying standard, the RDF, is the same. This is extremely powerful. Incorporating new content requirements has turned out to be a major roadblock in implementing existing standards. I would argue that this reason alone is the major reason for testing and transitioning to the RDF for study data exchange.<br />
<br />
Reason #2. Standardizing study data often requires mapping data that exist in legacy formats. The RDF provides powerful mapping capabilities, using standard predicates (i.e. relationships between variables and data points) such as owl:equivalentClass and owl:sameAs. One can also leverage other existing ontologies such as <a href="https://www.w3.org/2004/02/skos/" target="_blank">SKOS </a>(Simple Knowledge Organization System). By entering a single RDF triple in a database, one can assert an existing variable as equivalent to standard variable and the mapping is essentially complete from a computational standpoint.<br />
<br />
Reason #3. Standardizing study data requires implementing not just a single standard, but a suite of exchange, terminology, and analysis standards. One needs to link all these standards together in a web of data and metadata. For example, a variable from Exchange Standard A has permissible terms from Terminology B. All of these are currently documented using various formats across various sources. Integrating all the necessary standards for implementation is very labor intensive, particularly as each standard evolves and different versions emerge. All the necessary standards can be expressed in the RDF, which is uniquely designed to link data across multiple sources. One can link multiple standards in one single ontology, which is published and maintained on the web as a resource. This would greatly simplify implementation and maintenance.<br />
<br />
Reason #4. The RDF (and related standards) can be used to represent not only the study data, but the metadata, including definitions for derived data, the validation rules, and even the analysis plan. Any kind of information can be represented using RDF and this enables computers to link everything together for easy access and analysis. FDA guidances, regulations, and statutes can be expressed in the RDF. Why is this useful? If study data are expressed in the RDF, one can link to the relevant guidance recommendations expressed in the RDF and computers can help determine if the data are guidance-compliant. For example, an FDA guidance could have a series of RDF triples describing the recommended properties of a nonclinical skin toxicity study. A computer can then compare those recommendations with the actual properties of a study and identify any discrepancies. To my knowledge, no other existing standard is capable of supporting this important use case, which is currently a very time consuming, manual process. It is often very costly when discrepancies are identified too late, after studies are well underway or complete.<br />
<br />
Reason #5. Another advantage is that RDF data can reside on the web and be easily accessible, easily queried, and easily combined with other RDF data. Assuming security concerns are appropriately addressed (i.e. proprietary data must reside behind firewalls and accessible only to authorized entities), this supports a future state where data are no longer exchanged, but users are simply provided access to the data on the web. RDF and related standards already support this distributed nature of managing and querying data from multiple sources.<br />
<br />
Many of these benefits will take time to realize, but I think it's important to take a long-term perspective. I admit my analysis comes from a novice who has only begun to scratch the surface of the RDF and what it offers. I welcome thoughts from true RDF experts. I strongly encourage those not that familiar with the RDF to learn more about it. I have personally found <a href="http://workingontologist.org/" target="_blank">this resource</a> to be quite useful. There are clearly major technical challenges to overcome, but in my humble opinion, RDF represents the most promising alternative for the future of study data exchange. It would enhance computable semantic interoperability and open a new era in managing and integrating data from multiple sources, which in my view is the key for the next major phase of medical discoveries.<br />
<br />
<br />
<br />Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com1tag:blogger.com,1999:blog-8346061623186564263.post-40002587797790666392016-05-23T08:54:00.000-04:002016-10-18T09:54:22.469-04:00Definitions of Common Clinical TermsThis post has been superseded. <a href="http://aolivamd.blogspot.com/2016/10/definition-of-common-clinical-terms-v2.html" target="_blank">Please refer to the updated post on the same topic. </a><br />
<br />
We all use these words in clinical medicine: observations, assessments, diagnosis, medical condition, adverse event, outcome measure, endpoint. But what do they really mean? The published definitions are all over the map, often imprecise and inconsistent. I have conducted informal polls of medical reviewers at FDA and, guess what, they mean different things to different people. These are highly educated, highly experienced people. The same problem exists in academia and industry. I see this in the wide variability in how these words are used in study protocols.<br />
<br />
Standardizing the definitions of these common term has been a topic of interest to me. How can we automate the processing of clinical data if we can't all agree on definitions for these basic terms in clinical medicine? Using <a href="http://aolivamd.blogspot.com/2015/12/aristotle-and-how-best-to-define-things.html" target="_blank">best practices for how to define things</a>, I have come up with the following "working definitions" that I think are unambiguous and internally consistent...i.e. enables humans and information systems to clearly distinguish them apart. I'd also like to think they are accurate in how they're used or should be used in clinical medicine. I present them here in no particular order other than some naturally flow from others.<br />
<br />
<b>1. Clinical Observation:</b> a measure of the physical, physiological, or psychological state of an individual.<br />
<br />
Note: A Clinical Observation is ideally observed by a qualified individual, following a standard process, but without implying a cause. Many clinical observations simply reflect a normal physiological state. e.g. BP 120/80 mmHg.<br />
<br />
<b>1(a). Symptom: </b>a Clinical Observation that can only be observed by the patient (e.g. pain). Synonym: Subjective Observation<br />
<br />
<b>1(b). Sign: </b>a Clinical Observation that can be observed by someone other than the patient (e.g. blood pressure). Synonym: Objective Observation.<br />
<br />
Note: Signs can also be self-observed, for example, fingerstick glucose or blood pressure using an appropriate home monitoring device.<br />
<br />
<b>1(c). Outcome Measure:</b> A Clinical Observation that is of interest for some research activity (e.g. clinical or epidemiological study). The outcome measure is intended to support one or more objectives in a research project. e.g.: Hemoglobin A1C in a diabetes study.<br />
<br />
<b>1(d). Patient Reported Outcome (PRO)</b> is an Outcome Measure that is also a Symptom.<br />
<br />
<b>2. Endpoint:</b> A combination of 3 concepts: [1] one or more Outcome Measures, [2] a time element describing when the outcome measure is collected, [3] and an algorithm describing how the Outcome Measures are combined for analysis (optional). (Credit goes to <a href="https://www.linkedin.com/in/biopartners" target="_blank">Roomi Nusrat, M.D.</a> for this one) Example: Percent change from baseline in HgbA1C measured at 12 weeks.<br />
<br />
Note: I find Outcome Measure and Endpoint often used interchangeably. Sometimes they are very close: e.g. Viral Load (outcome measure); Viral Load at 6 weeks (endpoint).<br />
<br />
<b>2(a). Composite Endpoint:</b> an Endpoint with two or more distinct Outcome Measures.<br />
<b><br /></b><b>3. Medical Condition: </b>a disease, injury, or disorder that interferes with well-being. It is associated with a pathophysiology. It is also associated with a duration (i.e. an event).<br />
<br />
Note: Medical conditions are the target of medical interventions (one notable exception is Pregnancy; though not a disorder it is the target of prenatal care to help prevent pregnancy-related complications). Medical conditions explain the presence of abnormal clinical observations. We often confuse a clinical observation (e.g. low serum sodium at a single point in time) with the medical condition that gives rise to it (e.g. hyponatremia). I write about this distinction in more detail in a <a href="http://aolivamd.blogspot.com/2016/03/distinguishing-clinical-observations.html" target="_blank">previous post</a>.<br />
<br />
<b>3(a). Adverse Event:</b> A Medical Condition that emerges or worsens following a Medical Intervention. Note: there is no presumption of causality.<br />
<br />
<b>3(b). Adverse Reaction:</b> An Adverse Event that is caused or worsened by a Medical Intervention. Here causality is presumed.<br />
<br />
<b>3(c). Treatment Emergent Adverse Event: </b>[I'm putting this here as a placeholder as I'm still looking for a good definition. I think the key features of a TE AE is that it is an Adverse Event associated with a specific Medical Intervention, and some algorithm is defined to establish the temporal association. I welcome suggestions].<br />
<br />
<b>3(d). Indication: </b>A Medical Condition that is the target of a Medical Intervention; i.e. the reason the Medical Intervention is performed.<br />
<b><br /></b>
<b>4. Medical Intervention:</b> An activity intended to affect (e.g. treat, cure, prevent, diagnose, mitigate) a Medical Condition. e.g. Drug Administration, Surgery, Device implantation.<br />
<br />
<b>5. Assessment:</b> An analysis of one or more Clinical Observations to characterize a Medical Condition.<br />
Note: Sometimes assessment is used to mean the collection of a clinical observation. I would like to see us move away from this use as it is confusing. The clinical process is first <b>observe</b> or measure clinical observations then <b>assess</b> one or more clinical observations to identify/characterize medical conditions.<br />
<br />
<b>6. Diagnosis: </b>this is an overloaded term in clinical medicine. It has two definitions depending on whether it's used to mean a process or a thing.<br />
<br />
Diagnosis (the process): An Assessment to identify the presence of a Medical Condition.<br />
Diagnosis (the thing): A Medical Condition identified for the first time via an Assessment.<br />
<br />
So we can say: Q. What did the diagnosis (diagnostic assessment process) show? A: Adult Onset Diabetes Mellitus. OR<br />
Q. What is the diagnosis? A: Adult Onset Diabetes Mellitus.<br />
<br />
Note: Because Diagnosis (the thing) is a Medical Condition, one can define a start/onset date as the date of the first Clinical Observation associated with the condition, as well as the diagnosis date, which is the date the diagnostic assessment was complete, i.e. the date the Medical Condition was first identified via an assessment. As we all know, these are often not the same.<br />
<br />
One interesting question is can a Medical Condition be an Outcome Measure in a study? The way they are defined here, Outcome Measures are always Clinical Observations, not Medical Conditions. A stroke prevention study might define Stroke as the primary Outcome Measure, but is it really? A close inspection reveals that it's really the symptoms and signs of the stroke that are important (i.e. what we can observe/measure). Stroke is clinically very heterogenous and can present in many different ways, so we need to describe what Clinical Observations are most likely indicative of a stroke? (e.g. paralysis, numbness, visual loss, etc.) These, then, are the true Outcome Measures. So when we see a Medical Condition as an Outcome Measure, there needs to be an adjudication process (i.e. Assessment) to define the Clinical Observations that need to be measured and analyzed to assure the Medical Condition is present.<br />
<br />
I welcome comments to refine these and make them more useful. I think the interesting part comes in converting these definitions into OWL representations, to enable computers to reason across the data. This remains a research interest of mine. Maybe I'll get into that in a future post.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Armando Oliva, M.D.http://www.blogger.com/profile/02189597761383088518noreply@blogger.com0