<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Bob on Medical Device Software</title>
	
	<link>http://rdn-consulting.com/blog</link>
	<description>Software Development and Biomedical Engineering</description>
	<lastBuildDate>Thu, 18 Mar 2010 15:38:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain="rdn-consulting.com" port="80" path="/blog/?rsscloud=notify" registerProcedure="" protocol="http-post" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/BobOnMedicalDeviceSoftware" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="bobonmedicaldevicesoftware" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Personal EEG-based Communications Device</title>
		<link>http://rdn-consulting.com/blog/2010/03/13/personal-eeg-based-communications-device/</link>
		<comments>http://rdn-consulting.com/blog/2010/03/13/personal-eeg-based-communications-device/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 01:04:32 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[EEG]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[evoked potentials]]></category>
		<category><![CDATA[g.tec]]></category>
		<category><![CDATA[IntendiX]]></category>
		<category><![CDATA[P300]]></category>
		<category><![CDATA[VEP]]></category>

		<guid isPermaLink="false">http://rdn-consulting.com/blog/?p=364</guid>
		<description><![CDATA[The IntendiX (by g.tec) is a BCI device that uses visual evoked potentials to &#8220;type&#8221; messages on a keyboard.
The system is based on visually evoked EEG potentials (VEP/P300)  and enables the user to sequentially select characters from a  keyboard-like matrix on the screen just by paying attention  to the target for several [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.intendix.com/" target="_blank"><img class="alignright size-medium wp-image-365" title="intendix" src="http://rdn-consulting.com/blog/wp-content/uploads/2010/03/intendix-300x197.jpg" alt="" width="300" height="197" /></a>The <a href="http://www.intendix.com/" target="_blank">IntendiX</a> (by <a href="http://www.gtec.at/" target="_blank">g.tec)</a> is a <a href="http://en.wikipedia.org/wiki/Brain%E2%80%93computer_interface" target="_blank">BCI</a> device that uses visual evoked potentials to &#8220;type&#8221; messages on a keyboard.</p>
<blockquote><p>The system is based on visually evoked EEG potentials (VEP/P300)  and enables the user to sequentially select characters from a  keyboard-like matrix on the screen just by paying attention  to the target for several seconds.</p></blockquote>
<p><a href="http://en.wikipedia.org/wiki/P300_%28neuroscience%29" target="_blank">P300</a> refers to the event related averaged potential deflection that occurs between 300 to 600 ms after a stimuli. This is a <a href="http://www.gtec.at/products/g.BCIsys/bci.htm" target="_blank">BCI research platform</a> that has been made into a commercial reality.  The system includes useful real-life features:</p>
<blockquote><p>Besides writing a text the patient can also use the system to trigger an  alarm, let the computer  speak the written text, print out or copy the text into an e-mail or to  send commands to external devices.</p></blockquote>
<p>I&#8217;m usually skeptical of &#8220;mind reading&#8221; device claims (e.g. <a href="http://rdn-consulting.com/blog/2008/06/08/moving-mountains-with-the-brain/" target="_blank">here</a>), but P300-based technology has many years of solid research behind it. It may be pricey ($12,250) and typing 5 to 10 characters per minute may not sound very exciting, but this device would be a huge leap for disabled patients that have the cognitive ability but no other way of communicating.</p>
<p>(hat tip: <a href="http://www.medgadget.com/archives/2010/03/intendix_braincomputer_interface_might_be_available_soon.html" target="_blank">medGadget</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://rdn-consulting.com/blog/2010/03/13/personal-eeg-based-communications-device/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guest Article: Static Analysis in Medical Device Software (Part 3) — Formal specifications</title>
		<link>http://rdn-consulting.com/blog/2010/03/07/guest-article-static-analysis-in-medical-device-software-part-3-formal-specifications/</link>
		<comments>http://rdn-consulting.com/blog/2010/03/07/guest-article-static-analysis-in-medical-device-software-part-3-formal-specifications/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 10:15:01 +0000</pubDate>
		<dc:creator>Pascal</dc:creator>
				<category><![CDATA[Software Quality]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Frama-C]]></category>
		<category><![CDATA[static analysis]]></category>

		<guid isPermaLink="false">http://rdn-consulting.com/blog/?p=362</guid>
		<description><![CDATA[The third and last guest post by Pascal Cuoq on software verification. This part is about formal specifications.]]></description>
			<content:encoded><![CDATA[<p><em><strong>Pascal Cuoq</strong> at <a href="http://frama-c.cea.fr/" target="_blank">Frama-C</a> continues </em><em>his discussion of static analysis for medical device software</em><em>. Also see <a href="http://rdn-consulting.com/blog/2009/05/15/guest-article-static-analysis-in-medical-device-software-part-1-the-traps-of-c/" target="_blank">Part 1</a> and <a href="http://rdn-consulting.com/blog/2009/06/04/guest-article-static-analysis-in-medical-device-software-part-2-methodology/" target="_blank">Part 2</a>.</em></p>
<p>In May 2009, I alluded to a three-part blog post on the general topic of static analysis in medical device software. The ideas I hope will emerge from this third and last part are:</p>
<ol>
<li>Formal specifications are good,</li>
<li>Partial formal specifications are underrated, and</li>
<li>One should never commit in advance to writing anything, however easy it seems it will be at the time.</li>
</ol>
<p>Going back to point one, a &#8220;functional specification&#8221; is a description of what a system/subsystem does. I really mostly intend to talk about formal versions of functional specifications.  This only means that the description is written in a machine-parsable language with an unambiguous grammar. The separation between formal and informal specifications is not always clear-cut, but this third blog entry will try to convince you of the advantages of specifications that can be handled mechanically.</p>
<p>Near the bottom of the V development cycle, &#8220;subsystem&#8221; often means software: a function, or a small tree of functions.  A functional specification is a description of what a function (respectively, a tree of functions) does and does not (the time they take to execute, for instance, is usually not considered part of the functional specification, although whether they terminate at all can belong in it. It is only a matter of convention). The <a href="http://en.wikipedia.org/wiki/Design_by_contract">Wikipedia page on &#8220;Design by Contract&#8221;</a> lists the following as making up a function contract, and while the term is loaded (it may evoke <a href="http://en.wikipedia.org/wiki/Eiffel_(programming_language)">Eiffel</a> or <a href="http://eprints.ucl.ac.uk/4991/1/4991.pdf">run-time assertion checking</a>, which are not specifically the topic here), the three bullet points below are a good categorization of what functional specifications are about:</p>
<ul>
<li>What does the function <em>expect</em>, what rules should the caller obey at the time of calling it?</li>
<li>What does the function <em>guarantee</em>, what is the caller allowed to expect from the function&#8217;s results?</li>
<li>What properties does the function <em>maintain</em>?</li>
</ul>
<p>I am tempted to point out that invariants maintained by a function can be encoded in terms of things that the function expects and things that the function guarantees, but this is exactly <a href="http://www.stanford.edu/~pgbovine/geek-behaviors.htm">the kind of hair-splitting that I am resolved to give up on</a>.</p>
<p>The English sentence &#8220;when called, this function may modify the global variables <code>G</code> and <code>H</code>, and no other&#8221; is almost unambiguous and rigorous — assuming that we leave aliasing out of the picture for the moment. Note that while technically something that the function <em>ensures</em> on return (it ensures that for any variable other than <code>G</code> or <code>H</code>, the value of the variable after the call is the same as its value before the call), this property can be thought of more intuitively as something that the function <em>maintains</em>.</p>
<p>The enthusiastic specifier may like the sentence &#8220;this function may modify the global variables <code>G</code> and <code>H</code>, and no other&#8221; so much that he may start copy-pasting the boilerplate part from one function to another. Why should he take the risk to introduce an ambiguity accidentally? Re-writing from memory may lead him to forget the &#8220;may&#8221; auxiliary, when he does not intend to guarantee that the function will overwrite <code>G</code> and <code>H</code> each time it is called. Like for contracts of a more legal nature, copy-pasting is the way to go. The boilerplate may also include jargon that make it impossible to understand by someone who is not from the field, or even from the company, whence the specifications originate. Ordinary words may be used with a precise domain-specific meaning. All reasons not to try to paraphrase and to reuse the specification template verbatim.</p>
<p>The hypothetical specifier may particularly appreciate that the specification above is not only carefully worded but also that a list of possibly modified globals is part of any wholesome function specification. He may — rightly, in my humble opinion — endeavor to use it for all the functions he has to specify near the end of the descending branch of the V cycle.  This is when he is ripe for the introduction of a formal syntax for functional specifications. According to Wikipedia, Robert Recorde <a href="http://en.wikipedia.org/wiki/Equals_sign">introduced the equal sign</a> &#8220;to auoide the tediouſe repetition of [...] woordes&#8221;, and the sentence above is a tedious repetition begging for a sign of its own to replace it. When the constructs of the formal language are well-chosen, the readability is improved, instead of being diminished.</p>
<p>A natural idea for to express the properties that make up a function contract is to use the same language as for the implementation. Being a programming language, it is suitably formal; the specifier, even if he is not the programmer, is presumably already familiar with it; and the compiler can transform these properties into executable code that checks that preconditions are properly assured by callers, and that the function does its own part by returning results that satisfy its postconditions. This choice can be recognized in run-time assertion checking, and in Test-Driven Development (in Test-Driven Development, unit tests and expected results are written before the function&#8217;s implementation and are considered part of the specification).</p>
<p>Still, the choice of the programming language as the specification language has the disadvantages of its advantages: it is a programming language; its constructs are optimized for translation to executable code, with intent of describing algorithms. For instance, the &#8220;no global variable other than <code>G</code> and <code>H</code> is modified&#8221; idiom, as expressed in C, is a horrible way to specify a C function.  Surely even the most rabid TDD proponent would not suggest it for a function that belongs in the same C file as a thousand global variable definitions.</p>
<p>A dedicated specification language has the freedom to offer exactly the constructs that make it pleasant to write specifications in it. This means directly including constructs for commonly recurring properties, but also providing the building blocks that make it possible to define new constructs for advanced specifications. So a good specification language has much in common with a programming language.</p>
<p>A dedicated specification language may for instance offer</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/*@ assigns G, H */</span></pre></div></div>

<p>as a synonym for the boilerplate function specification above, and while this syntax may seem wordy and redundant to the seat-of-the-pants programmer, I hope to have convinced you that in the context of structured development, it fares well in the comparison with the alternatives. Functional specifications give static analyzers that understand them something to chew on, instead of having to limit themselves to the absence of run-time errors. This especially applies to <em>correct</em> static analyzers as emphasized in <a href="http://rdn-consulting.com/blog/2009/06/04/guest-article-static-analysis-in-medical-device-software-part-2-methodology/">part 2 of this oversize blog post</a>.</p>
<p>Third parties that contact us often are focused on using static analysis tools to do things they weren&#8217;t doing before. It is a natural expectation that a new tool will allow you to do something new, but a more accurate description of our activity is that we aim to allow to do the same specification and verification that people are already doing (for critical systems), better. In particular, people who discover tools such as Frama-C/Jessie or other analysis tools based on Hoare-Floyd precondition computations often think these tools are intended for verifying, and can only be useful for verifying, complete specifications.</p>
<p>A complete specification for a function is a specification where <em>all</em> the properties expected for the function&#8217;s behavior have been expressed formally as a contract. In some cases, there is only one function (in the mathematical sense) that satisfies the complete specification. This does not prevent several implementations to exist for this unique mathematical function. More importantly, it is nice to be able to check that the C function being verified is one of them!</p>
<p>Complete specifications can be long and tedious to write.  In the same way that a snippet of code can be shorter than the explanation of what it does and why it works, a complete specification can sometimes be longer than its implementation. And it is often pointed out that these specifications can be so large that once written, it would be too difficult to convince oneself that they do not themselves contain a bug.</p>
<p>But just because we are providing a language that would allow you to write complete specifications does not mean that you have to. It is perfectly fine to write minimal formal specifications accompanied with informal descriptions. To be useful, the tools we are proposing only need to do better than testing (the most widely used verification technique at this level).  Informal specifications traditionally used as the basis for tests are not complete either. And there may be bugs in both the informal specification or in its translation into test cases.</p>
<p>If anything, the current informal specifications leave out more details and contain more bugs, because they are not machine-checked in any way. The static analyzer can help find bugs in a specification in the same way that a good compiler&#8217;s sanity checks and warnings help avoid the stupidest bugs in a program.</p>
<p>In particular, because they are written in a dedicated specification language, formal specifications have better composition properties than, say, C functions. A bug in the specification of one function is usually impossible to overlook when trying to use said specification in the verification of the function&#8217;s callers. Taking an example from the tutorial/library (authored by our colleagues at the applied research institute Fraunhofer FIRST) <a href="http://www.first.fraunhofer.de/owx_download/acslbyexample420.pdf">ACSL by example</a>, the specification of the <code>max_element</code> function is quite long and a bug in this specification may be hard to detect. The function <code>max_element</code> finds the index of the maximum element in an array of integers. The formal version of this specification is complicated by the fact that it specifies that if there are several maximum elements, the function returns the first one.</p>
<p>Next in the document a function <code>max_seq</code> for returning the <em>value</em> of the maximum element in an array is defined. The implementation is straightforward:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">int</span> max_seq<span style="color: #009900;">&#40;</span><span style="color: #993333;">const</span> <span style="color: #993333;">int</span><span style="color: #339933;">*</span> p<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> n<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> p<span style="color: #009900;">&#91;</span>max_element<span style="color: #009900;">&#40;</span>p<span style="color: #339933;">,</span> n<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The verification of <code>max_seq</code> builds on the specification for <code>max_element</code>. This provides additional confidence: the fact that <code>max_seq</code> was verified successfully makes a bug in the specification of <code>max_element</code> unlikely. Not only that, but if the (simpler, easier to trust) specification for <code>max_seq</code> were the intended high-level property to verify, it wouldn&#8217;t matter that the low-level specification for <code>max_element</code> was not exactly what the specifier intended (say, if there was an error in the specification of the index returned in case of ties): the complete system still has no choice but to behave as intended in the high-level specification. Unlike a compiler that lets you put together functions with incompatible expectations, the proof system always ensures that the contract used at the call point is the same as the contract that the called function was proved to satisfy.</p>
<p>And this concludes what I have to say on the subject of software verification. The first two parts were rather specific to C, and would only apply to embedded code in medical devices. This last part is more generic — in fact, it is easier to adapt the idea of functional specifications for static verification to high-level languages such as C# or Java than to C. Microsoft is pushing for the adoption of its own proposal in this respect, Code Contracts. Tools are provided for the static verification of these contracts in the premium variants of Visual Studio 2010. And this is a good time to link to <a href="http://bit.ly/9B2ggG">this video</a>. Functional specifications are a high-level and versatile tool, and can help with the informational aspects of medical software as well as for the embedded side of things. I would like to thank again my host Robert Nadler, my colleague Virgile Prevosto and department supervisor Fabrice Derepas for their remarks, and twitter user rgrig for the video link.</p>
]]></content:encoded>
			<wfw:commentRss>http://rdn-consulting.com/blog/2010/03/07/guest-article-static-analysis-in-medical-device-software-part-3-formal-specifications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Healthcare IT is Not a Game Changer</title>
		<link>http://rdn-consulting.com/blog/2010/02/15/why-healthcare-it-is-not-a-game-changer/</link>
		<comments>http://rdn-consulting.com/blog/2010/02/15/why-healthcare-it-is-not-a-game-changer/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 20:42:55 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[EMR]]></category>
		<category><![CDATA[FDA]]></category>
		<category><![CDATA[Interoperability]]></category>
		<category><![CDATA[CIMIT]]></category>
		<category><![CDATA[Continua]]></category>
		<category><![CDATA[MD PnP]]></category>
		<category><![CDATA[NCHI]]></category>
		<category><![CDATA[Patrick Soon-Shiong]]></category>
		<category><![CDATA[WLSA]]></category>

		<guid isPermaLink="false">http://rdn-consulting.com/blog/?p=360</guid>
		<description><![CDATA[Last week I attended the WLSA/Continua Mobile Healthcare Symposium and the opening day of the Continua Health Alliance Winter Summit 2010.  Also, a couple of weeks ago I attended a few of the FDA Workshop on Medical Device Interoperability: Achieving Safety and Effectiveness sessions via a Webcast*.
Since I&#8217;m not going to HIMSS in Atlanta this [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I attended the <a href="http://www.wirelesslifesciences.org/" target="_blank">WLSA</a>/Continua Mobile Healthcare Symposium and the opening day of the<a href="http://www.continuaalliance.org/index.html" target="_blank"> Continua Health Alliance</a> Winter Summit 2010.  Also, a couple of weeks ago I attended a few of the <a href="http://mdpnp.org/FDA_Interop_Workshop.php" target="_blank">FDA Workshop on Medical Device Interoperability: Achieving Safety and Effectiveness</a> sessions via a Webcast<strong>*</strong>.</p>
<p>Since I&#8217;m not going to <a href="http://www.himssconference.org/" target="_blank">HIMSS</a> in Atlanta this year (starts Mar. 1) I thought now would be a good time to do some venting.</p>
<p>I&#8217;ve talked about HIT problems before, e.g.<a title="Permanent Link to Healthcare Un-Interoperability" rel="bookmark" href="http://rdn-consulting.com/blog/2007/11/07/healthcare-un-interoperability/" target="_blank"> Healthcare Un-Interoperability</a> and <a href="http://rdn-consulting.com/blog/2007/09/22/the-emr-medical-devices-mess/" target="_blank"> The EMR-Medical Devices Mess</a>. With all of the ARRA/<a href="http://hitechanswers.net/about" target="_blank">HITECH</a> talk along with the National Healthcare debate raging it made me wonder how the issues facing device interoperability, wireless Healthcare, and HIT in general really fit in to the bigger picture.</p>
<p>After sitting though multiple sessions on a wide variety of topics presented by smart people the obvious hit me in the face:  The complexity of the issues are <em>mind numbing</em>. Everybody has good (and even great) ideas, but nobody has real solutions. Why is that all this good HIT hasn&#8217;t translated into meaningful improvements in Healthcare?</p>
<p>For example. At first I thought the talk by <a href="http://spotlight.vitals.com/2009/11/dr-patrick-soon-shiong-%E2%80%93-billionaire-philanthropist-and-founder-of-abraxis-bioscience/" target="_blank">Dr. Patrick Soon-Shiong</a> might be heading somewhere interesting.  He presented a well structured view of the current Healthcare landscape that seemed to make a lot of sense. Then he plunged into the abyss with an in-depth discussion of transformational technologies (molecular data mining, Visual Evoked Potentials, etc.).  These developments could potentially lead to improvements in people&#8217;s health, but we never got to hear how any of the complex Healthcare<em> </em>delivery issues were going to be addressed.</p>
<p>Among his many endeavors Dr. Soon-Shiong is Chairman of  the National Coalition for Health Integration (<a href="http://www.nchiconnect.org/" target="_blank">NCHI)</a>. I think the &#8220;Zone of Complexity&#8221; point of view (see <a href="http://driveideas.com/nchi12/pdf/overview.pdf" target="_blank">here</a> &#8212; warning PDF) is a good starting point for understanding the position that Healthcare IT is in:</p>
<p><img class="size-full wp-image-361 alignnone" title="zone-of-complexity" src="http://rdn-consulting.com/blog/wp-content/uploads/2010/02/zone-of-complexity.png" alt="" width="407" height="317" /></p>
<p>Also, following the diagram above is this statement:</p>
<blockquote><p>However, currently, even when information is in digital formats, data are not accessible because they reside in different “silos” within and between organizations. In turn, the U.S. health system is hampered by inefficient virtual organizations that lack the mechanisms needed to engage in coordinated action.</p></blockquote>
<p>The NCHI Integrated Health Platform (grid computing) is a good idea, but does it really even begin to provide the solution to these complex problems?</p>
<ol>
<li>They are taking a &#8220;bottom-up&#8221; approach to interoperability (system, data , and process) and trying to leverage existing technologies (like DICOM and HL7).  Makes sense. But other than academic or government institutions what&#8217;s the incentive for private  companies (like EMRs) to participate?</li>
<li>How is an improved underlying infrastructure going to reduce the chaotic nature of the health delivery system (hospitals, insurance companies, Medicare, etc.)? It&#8217;s like putting the cart before the horse.</li>
</ol>
<p>This is the dilemma. We can come up with clever and even ingenious technical solutions in our little IT world, but none of them are going to be game changers.   The availability of a great technologies are <strong>not </strong>enough to change the institutional processes that make an organization inefficient or communication ineffective.</p>
<p><strong>The solution is in the people and the processes they follow. </strong>The best example I can think of is EMR adoption. Everybody knows why the rate of conversion from a paper to a paperless office is so low.  It&#8217;s mostly because of people&#8217;s resistance to change the way they&#8217;ve &#8220;always done it.&#8221;  Change is hard, and in this case HIT <em>is</em> the barrier to adoption, no mater how good the EMR solution is.</p>
<p>At the national level Healthcare IT only enables interoperability and improved data management.  The chaos can only be solved by first changing U.S. Healthcare delivery policies.  Whatever the changes are, they will then determine the incentives and processes that actually drive the system and put HIT to use.</p>
<p>For Healthcare IT, the NCHI is just one example. There are a whole bunch of other technology-driven initiatives that also have high hopes.  I&#8217;m not saying we should stop developing great technologies.  We just shouldn&#8217;t be surprised when they don&#8217;t change the world.</p>
<p>Happy Presidents Day!</p>
<p><strong>*</strong><small>I thought the Webcast was very well done.  It had split screen (speaker and slides) along with multiple camera views that included the audience. The video quality wasn&#8217;t great (it really didn&#8217;t need to be) but the streaming was reliable.  Also, the web participants could chat among themselves and the on-site staff and ask the speaker questions.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://rdn-consulting.com/blog/2010/02/15/why-healthcare-it-is-not-a-game-changer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Challenges of Developing Software for Medical Devices</title>
		<link>http://rdn-consulting.com/blog/2010/02/08/the-challenges-of-developing-software-for-medical-devices/</link>
		<comments>http://rdn-consulting.com/blog/2010/02/08/the-challenges-of-developing-software-for-medical-devices/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 04:34:37 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[FDA]]></category>
		<category><![CDATA[Medical Devices]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software Quality]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Methods-based verification]]></category>
		<category><![CDATA[static analysis]]></category>

		<guid isPermaLink="false">http://rdn-consulting.com/blog/?p=357</guid>
		<description><![CDATA[Developing Software for Medical Devices – Interview with SterlingTech gives a good overview of the challenges that especially face young medical device companies. In particular (my emphasis):
Make sure that your company has a good solid Quality System as it applies to software development. Do not put a Quality System into place that you can not [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.klocwork.com/blog/2010/01/developing-software-for-medical-devices-interview-with-sterlingtech/" target="_blank"><img class="alignright size-full wp-image-358" title="medical-device-software" src="http://rdn-consulting.com/blog/wp-content/uploads/2010/02/medical-device-software-200x300.jpg" alt="" width="200" height="300" /></a><a href="http://www.klocwork.com/blog/2010/01/developing-software-for-medical-devices-interview-with-sterlingtech/" target="_blank">Developing Software for Medical Devices – Interview with SterlingTech</a> gives a good overview of the challenges that especially face young medical device companies. In particular (my emphasis):</p>
<blockquote><p>Make sure that your company has a good solid Quality System as it applies to software development. <strong>Do not put a Quality System into place that you can not follow.</strong> This is the cause of most audit problems.</p></blockquote>
<p>I couldn&#8217;t have said it better myself, though I think that focusing on the FDA may distract you from why you&#8217;re creating software quality processes in the first place. The real purpose of having software design controls is to produce a high quality, user friendly, robust, and reliable system that meets the intended use of the device.  If your quality system does that, you won&#8217;t have to worry about FDA audits.</p>
<p>Since <a href="http://www.klocwork.com/" target="_blank">Klocwork</a> is a static analysis tool company I also want to point out a recent related article that&#8217;s worth reading &#8212; and trying to fully understand:</p>
<p><a href="http://cacm.acm.org/magazines/2010/2/69354-a-few-billion-lines-of-code-later/fulltext" target="_blank">A Few Billion Lines of Code Later: Using Static Analysis to Find Bugs in the Real World</a></p>
<p>Note the user comment by <a href="http://www2.research.att.com/~bs/" target="_blank">Bjarne Stroustrup</a>.</p>
<p>UPDATE (2/9/10): Here&#8217;s another good code analysis article:</p>
<p><a href="http://www.embedded.com/design/opensource/222700533" target="_blank">A Formal Methods-based verification  approach to medical device software analysis</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rdn-consulting.com/blog/2010/02/08/the-challenges-of-developing-software-for-medical-devices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stackoverflow Overflow Update</title>
		<link>http://rdn-consulting.com/blog/2010/02/07/stackoverflow-overflow-update/</link>
		<comments>http://rdn-consulting.com/blog/2010/02/07/stackoverflow-overflow-update/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 04:01:19 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Stackoverflow]]></category>

		<guid isPermaLink="false">http://rdn-consulting.com/blog/?p=355</guid>
		<description><![CDATA[In Stackoverflow Overflow I predicted 500,000 questions on 2/7/2010 at 5:31. When I checked (after the Superbowl &#8212; congratulations to NO!) at 19:42 this evening:
Not bad. Only 14 hours off on a three month linear extrapolation from only two weeks of data!
]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://rdn-consulting.com/blog/2009/11/19/stackoverflow-overflow/" target="_blank">Stackoverflow Overflow</a> I predicted 500,000 questions on 2/7/2010 at 5:31. When I checked (after the Superbowl &#8212; congratulations to NO!) at 19:42 this evening:<img class="aligncenter size-full wp-image-356" title="500kquestions" src="http://rdn-consulting.com/blog/wp-content/uploads/2010/02/500kquestions.png" alt="" width="194" height="84" /></p>
<p>Not bad. Only 14 hours off on a three month linear extrapolation from only two weeks of data!</p>
]]></content:encoded>
			<wfw:commentRss>http://rdn-consulting.com/blog/2010/02/07/stackoverflow-overflow-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The BCI X Prize</title>
		<link>http://rdn-consulting.com/blog/2010/02/03/the-bci-x-prize/</link>
		<comments>http://rdn-consulting.com/blog/2010/02/03/the-bci-x-prize/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 21:35:47 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[EEG]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[Medical Devices]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[brain-computer interface]]></category>
		<category><![CDATA[Kurzweil]]></category>

		<guid isPermaLink="false">http://rdn-consulting.com/blog/?p=352</guid>
		<description><![CDATA[As announced at a recent MIT workshop: The BCI X PRIZE: This Time It’s Inner Space:
The Brain-Computer Interface (BCI) X PRIZE will reward nothing less than a team that provides vision to the blind, new bodies to disabled people, and perhaps even a geographical “sixth sense” akin to a GPS iPhone app in the brain.
As [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.xprize.org/media-center/features/bci-x-prize-igniting-a-brain-computer-interface-revolution" target="_blank"><img class="alignright size-medium wp-image-354" title="Kurzweil" src="http://rdn-consulting.com/blog/wp-content/uploads/2010/02/Kurzweil-300x168.png" alt="" width="300" height="168" /></a>As announced at a recent MIT workshop: <a href="http://goo.gl/AbNE" target="_blank">The BCI X PRIZE: This Time It’s Inner Space</a>:</p>
<blockquote><p>The Brain-Computer Interface (BCI) X PRIZE will reward nothing less than a team that provides vision to the blind, new bodies to disabled people, and perhaps even a geographical “sixth sense” akin to a GPS iPhone app in the brain.</p></blockquote>
<p>As I&#8217;ve discussed many times (e.g. <a href="http://rdn-consulting.com/blog/2007/12/21/bci-brain-computer-interface/" target="_blank">BCI: Brain Computer Interface</a>), &#8220;mind reading&#8221; with EEG is a huge challenge. Another hurtle they have to overcome:</p>
<blockquote><p>The foundation must court donors to make the $10 million+ prize a reality. Once funding is secured,&#8230;</p></blockquote>
<p>That will be the easy part.</p>
<p>The problem with the X Prize incentive approach is one of expectations.  If people believe that <em>Avatar</em>-like advances (&#8220;new bodies&#8221;) is a realisitic result, they will be sorely disappointed.</p>
<p>Even though I&#8217;m a certified &#8220;mind reading&#8221; skeptic I think great BCI strides will inevitably be made. The good news is that these innovations will provide numerous benefits for handicapped individuals.</p>
<p>UPDATE (2/5/10): Here&#8217;s a great example: <a title="Technology Behind Second Sight Retinal Prosthesis" href="http://www.medgadget.com/archives/2010/02/technology_behind_second_sight_retinal_prosthesis.html" target="_blank">Technology Behind Second Sight Retinal Prosthesis</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rdn-consulting.com/blog/2010/02/03/the-bci-x-prize/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More on the Zeo Personal Sleep Coach</title>
		<link>http://rdn-consulting.com/blog/2010/01/17/more-on-the-zeo-personal-sleep-coach/</link>
		<comments>http://rdn-consulting.com/blog/2010/01/17/more-on-the-zeo-personal-sleep-coach/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 04:09:24 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[EEG]]></category>
		<category><![CDATA[Polysomnography]]></category>
		<category><![CDATA[psg]]></category>
		<category><![CDATA[sleep staging]]></category>
		<category><![CDATA[zeo]]></category>

		<guid isPermaLink="false">http://rdn-consulting.com/blog/?p=351</guid>
		<description><![CDATA[Even though it has been over 6 months, my Zeo scam post is suddenly getting some comment traction. I thought I&#8217;d respond to some of these as well as clarify my thoughts.
I&#8217;m not really sure why Krunz thinks I&#8217;m an idiot.
First, I never said that changes in life style do not affect the quality of [...]]]></description>
			<content:encoded><![CDATA[<p>Even though it has been over 6 months, my <a href="http://rdn-consulting.com/blog/2009/06/15/is-the-zeo-personal-sleep-coach-a-scam/" target="_blank">Zeo scam post </a>is suddenly getting some comment traction. I thought I&#8217;d respond to some of these as well as clarify my thoughts.</p>
<p>I&#8217;m not really sure why <a href="http://rdn-consulting.com/blog/2009/06/15/is-the-zeo-personal-sleep-coach-a-scam/#comment-2436" target="_blank">Krunz</a> thinks I&#8217;m an idiot.</p>
<p>First, I never said that changes in life style do not affect the quality of sleep. They do indeed. For example, for <a href="http://en.wikipedia.org/wiki/Obstructive_sleep_apnea" target="_blank">OSA</a> (obstructive sleep apnea):</p>
<blockquote><p>Some treatments involve lifestyle changes, such as avoiding alcohol and medications that relax the central nervous system (for example, sedatives and muscle relaxants), losing weight, and quitting smoking. Some people are helped by special pillows or devices that keep them from sleeping on their backs, or oral appliances to keep the airway open during sleep.</p></blockquote>
<p>Second, I did say that because the ZQ score is based on sleep staging (no matter how crude), I can believe that an increased ZQ is indicative of better sleep.</p>
<p>My problem with the Zeo device is the claim that ZQ score improvement is <strong>caused</strong> by any particular life style change. This would be very difficult to validate.</p>
<p>Let&#8217;s say you recorded your ZQ score for 30 days without making any life style changes. There will be an inherent variability in the ZQ score that results from a variety of sources &#8212; electrode placement, user movement during sleep, etc.  Unless an introduced life style change can make a <a href="http://en.wikipedia.org/wiki/Statistical_significance" target="_blank">statistically significant</a> change to the ZQ score you can not attribute causality to it. And even if there was a significant ZQ change you would still need to somehow prove that there were no other factors involved.</p>
<p><a href="http://rdn-consulting.com/blog/2009/06/15/is-the-zeo-personal-sleep-coach-a-scam/#comment-2451" target="_blank">RobertF</a> was not only more civil, but he took the time to detail his opinions and asked some good questions about mine. Here are my responses:</p>
<p>1. The red flag for me is when you make <em>unvalidated claims</em>. Anecdotal evidence of an improved ZQ score though &#8220;sleep coaching&#8221; is not validation.</p>
<p>The same is true for the &#8220;alarm clock&#8221; functionality. Zeo and others (e.g. <a href="http://rdn-consulting.com/blog/2010/01/05/actigraphy-for-better-sleep/" target="_blank">Actigraphy</a>) make similar claims about waking during lighter periods of sleep reducing <a href="http://en.wikipedia.org/wiki/Sleep_inertia" target="_blank">sleep inertia</a>.  Again, there is anecdotal evidence and even some testable theories, but a lot more research needs to be done in this area.</p>
<p>2. On one hand, Zeo does not claim that this is a therapeutic or a diagnostic device. From their web site:</p>
<blockquote><p>The Zeo Personal Sleep Coach is neither a medical device nor a medical program and is not intended for the diagnosis or treatment of sleep disorders.</p></blockquote>
<p>On the other hand they also say the Zeo provides:</p>
<blockquote><p>&#8230;personalized sleep information and customized action steps to improve your Sleep Fitness™</p></blockquote>
<p>Think about it. In one breath they say it isn&#8217;t, and then in the next they say it is!  It has nothing to do with FDA approval per se. It&#8217;s the contradictory claims that bother me.</p>
<p>3. I don&#8217;t think I was incredulous about this. I&#8217;ve mentioned several times that I think the dry sensor EEG technology probably provides enough signal quality to do a reasonable job of sleep staging.</p>
<p>4. It<em> is</em> the lack of “clinical validation” that is the most problematic for me. Basic sleep research may be heading in this direction &#8212; combining &#8220;sleep science, sleep education, neuroscience, behavioral psychology,&#8230;&#8221; &#8212; but they still have a long way to go.</p>
<p>5. Why would anybody that doesn&#8217;t have a sleep problem buy this product? If I did have sleep problems $350 would probably be well worth it, as long as it actually worked!  <a href="http://rdn-consulting.com/blog/2009/06/15/is-the-zeo-personal-sleep-coach-a-scam/#comment-2446" target="_blank">Sergey</a> agrees.  If it didn&#8217;t work, I&#8217;d want my money back &#8212; and so would you.</p>
<p>6. You may not have any connection to the Zeo company, but the advisory board members are all <em>paid</em> to be there. I am not saying that this in any way lessens their scientific or professional credentials. On the contrary,  a good advisory board should be asking tough questions and doing their best to improve the product.</p>
<h4>Wrap Up:</h4>
<p>OK, I&#8217;ll admit it.  Maybe &#8220;scam&#8221; is too harsh. The reason I chose that term was because of its definition as a <a href="http://en.wikipedia.org/wiki/Confidence_trick" target="_blank">confidence trick</a>:</p>
<blockquote><p>an attempt to defraud a person or group by gaining their confidence</p></blockquote>
<p>When I first read about the Zeo I felt that their presentation of the sleep science and technology was an attempt to gain a customer&#8217;s confidence. Beyond that there was little evidence that this product would help people.</p>
<p>I do not have any ill will towards Zeo. It appears that their customer service and return policies (<a href="http://www.myzeo.com/pages/50_support.cfm#Money%20Back%20Guarantee" target="_blank">30 day full refund</a>) are good. As a medical device developer, I&#8217;m just pointing out what I think are important issues about this device.</p>
<p>I still maintain that the claims made by Zeo are misleading. You need to be able to show scientific evidence that the ZQ score actually does track with life style changes. Unless I&#8217;m missing something, Zeo has not done this.</p>
]]></content:encoded>
			<wfw:commentRss>http://rdn-consulting.com/blog/2010/01/17/more-on-the-zeo-personal-sleep-coach/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Depth of Anesthesia Reality Check</title>
		<link>http://rdn-consulting.com/blog/2010/01/13/depth-of-anesthesia-reality-check/</link>
		<comments>http://rdn-consulting.com/blog/2010/01/13/depth-of-anesthesia-reality-check/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 04:02:51 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[EEG]]></category>
		<category><![CDATA[Medical Devices]]></category>
		<category><![CDATA[BIS]]></category>
		<category><![CDATA[Masimo]]></category>
		<category><![CDATA[Physiometrix]]></category>
		<category><![CDATA[QNX]]></category>

		<guid isPermaLink="false">http://rdn-consulting.com/blog/?p=349</guid>
		<description><![CDATA[I think this is the first time I&#8217;ve ever seen MedGadget express such a strong opinion about a technology.
Masimo Invests in Anesthesia Awareness Technology. Good Move? We Don&#8217;t Think So doesn&#8217;t pull any punches.
What&#8217;s interesting to me is that SEDLine was Hospira&#8217;s brain function monitoring business (see here).  Hospira bought the technology from a Boston-based [...]]]></description>
			<content:encoded><![CDATA[<p>I think this is the <a href="http://www.medgadget.com/archives/2010/01/masimo_invests_in_anesthesia_awareness_technology_good_move_we_dont_think_so.html" target="_blank"><img class="alignright size-full wp-image-350" title="SEDLine" src="http://rdn-consulting.com/blog/wp-content/uploads/2010/01/oioiiwenn.jpg" alt="" width="241" height="216" /></a>first time I&#8217;ve ever seen MedGadget express such a strong opinion about a technology.</p>
<p><a href="http://www.medgadget.com/archives/2010/01/masimo_invests_in_anesthesia_awareness_technology_good_move_we_dont_think_so.html" target="_blank">Masimo Invests in Anesthesia Awareness Technology. Good Move? We Don&#8217;t Think So</a> doesn&#8217;t pull any punches.</p>
<p>What&#8217;s interesting to me is that <a href="http://hospira.se/Products/SEDline.aspx" target="_blank">SEDLine</a> was Hospira&#8217;s brain function monitoring business (see <a href="http://www.businesswire.com/portal/site/pecom/?ndmViewId=news_view&amp;newsId=20100112005983&amp;newsLang=en" target="_blank">here</a>).  Hospira <a href="http://www.bizjournals.com/boston/stories/2005/05/30/daily12.html" target="_blank">bought the technology</a> from a Boston-based company called Physiometrix in 2005.</p>
<p>Back in my EEG days I had a chance to work with Physiometrix. We interfaced with their EEG front-end hardware in an attempt to develop an OEM relationship.  At the time, they were using essentially the same Bispectral index (<a href="http://en.wikipedia.org/wiki/BIS_monitor" target="_blank">BIS</a>) technology as <a href="http://www.aspectmedical.com/" target="_blank">Aspect Medical</a>.  The only other thing I remember is that they were also using <a href="http://www.qnx.com/" target="_blank">QNX</a>.</p>
<p>MedGadget&#8217;s skepticism seems well founded. On the other hand, the people at Masimo (a couple of which I know) aren&#8217;t dummies . They may know something the rest of us don&#8217;t.</p>
]]></content:encoded>
			<wfw:commentRss>http://rdn-consulting.com/blog/2010/01/13/depth-of-anesthesia-reality-check/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ch-ch-ch-changes</title>
		<link>http://rdn-consulting.com/blog/2010/01/09/ch-ch-ch-changes/</link>
		<comments>http://rdn-consulting.com/blog/2010/01/09/ch-ch-ch-changes/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 05:36:11 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Medical Devices]]></category>
		<category><![CDATA[David Bowie]]></category>
		<category><![CDATA[ResMed]]></category>

		<guid isPermaLink="false">http://rdn-consulting.com/blog/?p=346</guid>
		<description><![CDATA[About the only thing you can count on in this world, besides taxes and death, is change.
When we moved from Madison to San Diego in 2005, that was a big change. Of course in Jan/Feb the 70 deg temperature difference makes that decision seem pretty smart. When our 12 y/o golden retriever Miles passed away [...]]]></description>
			<content:encoded><![CDATA[<p>About the only thing you can count on in this world, besides taxes and death, is <strong>change</strong>.</p>
<p><img class="alignright size-full wp-image-347" title="Miles: Mr. Cool" src="http://rdn-consulting.com/blog/wp-content/uploads/2010/01/coolest-dog-ever.png" alt="" width="200" height="164" />When we moved from Madison to San Diego in 2005, that was a<em> big </em>change. Of course in Jan/Feb the 70 deg temperature difference makes that decision seem pretty smart. When our 12 y/o golden retriever Miles passed away this past Oct. that change <em>really sucked</em>.</p>
<p>Switching jobs is also a big change.  As I&#8217;ve <a href="http://rdn-consulting.com/blog/2009/12/01/dear-prospective-employer/" target="_blank">previously discussed</a>, my old company was purchased and I chose not to relocate. As soon as wrote the words &#8220;in-the-trenches&#8221; I had an inkling that I had probably jinxed myself. Maybe jinxed isn&#8217;t the right word, but I certainly ended up in a different situation than I had imagined.</p>
<p>Last week I started working as a <em>Health Informatics Architect</em> at <a href="http://www.resmed.com/" target="_blank">ResMed</a>, a global leader in sleep medicine and non-invasive ventilation.  Like all medical device companies, ResMed is faced with the daunting challenge of providing the therapeutic data produced by their flow generators to physicians and healthcare organizations.</p>
<p>This position will allow me to continue to develop solutions for medical device interoperability, but at a whole new level. Working with a global team at a world-class company is a very exciting opportunity. I&#8217;m looking forward to the challenges ahead.</p>
<p>This change is good!</p>
]]></content:encoded>
			<wfw:commentRss>http://rdn-consulting.com/blog/2010/01/09/ch-ch-ch-changes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Actigraphy for Better Sleep?</title>
		<link>http://rdn-consulting.com/blog/2010/01/05/actigraphy-for-better-sleep/</link>
		<comments>http://rdn-consulting.com/blog/2010/01/05/actigraphy-for-better-sleep/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 16:50:51 +0000</pubDate>
		<dc:creator>Bob</dc:creator>
				<category><![CDATA[EEG]]></category>
		<category><![CDATA[Axbo]]></category>
		<category><![CDATA[Sleep Cycle]]></category>
		<category><![CDATA[WakeMate]]></category>
		<category><![CDATA[zeo]]></category>

		<guid isPermaLink="false">http://rdn-consulting.com/blog/?p=345</guid>
		<description><![CDATA[I previously questioned the efficacy of the Zeo &#8220;Personal Sleep Coach&#8221; and concluded that this device would be unlikely to provide their claimed sleep improvements.
Another method for monitoring sleep patterns is with the use of Actigraphy*. I seriously doubt that these movement-based devices  can do any better:

Wrist-worn accelerometer: WakeMate (HT MedGadget) and Axbo.
iPhone under [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://thenextweb.com/2010/01/04/closest-sleeping/" target="_blank"><img class="alignright size-medium wp-image-344" title="sleepcycle" src="http://rdn-consulting.com/blog/wp-content/uploads/2009/06/sleepcycle-199x300.png" alt="" width="199" height="300" /></a>I <a href="http://rdn-consulting.com/blog/2009/06/15/is-the-zeo-personal-sleep-coach-a-scam/" target="_blank">previously</a> questioned the efficacy of the Zeo &#8220;Personal Sleep Coach&#8221; and concluded that this device would be unlikely to provide their claimed sleep improvements.</p>
<p>Another method for monitoring sleep patterns is with the use of <a href="http://en.wikipedia.org/wiki/Actigraphy">Actigraphy</a>*. I seriously doubt that these movement-based devices  can do any better:</p>
<ul>
<li>Wrist-worn accelerometer: <a href="http://wakemate.com/" target="_blank">WakeMate</a> (HT <a href="http://www.medgadget.com/archives/2010/01/personal_actigraphy_for_a_better_nights_sleep.html" target="_blank">MedGadget</a>) and <a href="http://www.axbo.com/axbo/CMS/CMS.aspx?SiteID=0&amp;GroupID=8&amp;Language=E" target="_blank">Axbo</a>.</li>
<li>iPhone under your pillow: <a href="http://www.lexwarelabs.com/sleepcycle/" target="_blank">Sleep Cycle</a> alarm clock (see <a href="http://thenextweb.com/2010/01/04/closest-sleeping/" target="_blank">Sleep Cycle iPhone App VS WakeMate Bracelet)</a>)</li>
</ul>
<p>At least the Zeo device uses an EEG-based sleep histogram for determining sleep state. How can the acitigraph tell the difference between someone just laying awake quietly versus deep sleep?</p>
<p>*This Wikipedia entry reads like an advertisement for one these devices!</p>
]]></content:encoded>
			<wfw:commentRss>http://rdn-consulting.com/blog/2010/01/05/actigraphy-for-better-sleep/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
