tag:blogger.com,1999:blog-24125392590259162152023-11-16T10:40:54.774-08:00RESTful HealthKeeping yourself healthy and managing health data with REST APIs.asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.comBlogger95125tag:blogger.com,1999:blog-2412539259025916215.post-27363081178711719122016-12-20T09:40:00.003-08:002016-12-20T09:42:53.542-08:00The Power of a Single MetricOne number can't tell you everything, but it can tell you some things. For the past two years I have used the connected smart scale to take daily weight measurements in an effort to watch, and lower, my weight.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://icdn7.digitaltrends.com/image/philips-body-analysis-scale-1500x1000.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://icdn7.digitaltrends.com/image/philips-body-analysis-scale-1500x1000.jpg" height="213" width="320" /></a></div>
<br />
Let's start with a caveat. One number does not tell you how healthy you are. Your weight does not tell you your whole fitness story. If I had to measure my fitness, I would do it like this: I'm on vacation, I get up at dawn, go for a ten mile hike through the beautiful desert, back to the hotel, hang out at the pool, then back out for sunset. If I'm healthy, I can do all this and more and really get my money's worth. If I'm not fit, I won't be able to do half of that. If I get tired and need a nap, that's valuable vacation time wasted. So my level of fitness has a direct correlation to quality of life. The fitter I am, the more adventures I can have!<br />
<br />
Now to the single measurement and what it can do by telling the story of my first year with the scale. At the beginning of 2015 I decided to weigh myself every day the first thing in morning. It's the least I weigh all day, so it's a bit more encouraging than weighing myself, say, after eating lunch. So it's a life-affirming baseline. Also, it tells me something about my day. If I'm below my weight goal, I can enjoy happy hour after work. If I'm above, I'd better have vegetables instead, and maybe go for an extra long walk or run in the evening. In this way I was able to watch my weight and slowly bring it down. Slowly. Losing weight quickly increases the risk of gaining it back. The body has all kinds of ways to compensate for what it sees as a loss of energy stores. It will slow your metabolism if it thinks you're starving. So I don't want to deprive myself, I don't want to go hungry long enough for the body's defenses to kick in. I wanted to drop weight, but I also want my body to see my lower weight as the "new normal."<br />
<br />
According to my chart, my highest measured weight was 186lbs. My goal was to drop this down to 165 over the course of a year, hold that weight for a year, and then drop another 5lbs. That would take me from my pub food and beer weight down to what I weighed when I was running marathons. I wanted to go from this:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFT8lJswsyfQ0bA6qU4TzwBbilNgRWdfXjSImUOWRLiusLuixOCOMfeLld30QKgukbwiM9J4kshuSssaKdeVFVY0PGYxLE-AVW36FcTDJInmw-P-DfzMYbFX2VbwASLOUwowNAJRJQk7k/s1600/fat-tom.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFT8lJswsyfQ0bA6qU4TzwBbilNgRWdfXjSImUOWRLiusLuixOCOMfeLld30QKgukbwiM9J4kshuSssaKdeVFVY0PGYxLE-AVW36FcTDJInmw-P-DfzMYbFX2VbwASLOUwowNAJRJQk7k/s320/fat-tom.jpg" width="320" /></a></div>
<br />
To this:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOBHY3NcfEeFGxgpsjdbLfQ6uXyTyDyy6ZrULdAHGPahB66GetlE1TidQm4gG4aNPZbtcizT9EH02WICQslVJZQYygTGGWZf9q-LE2EPv_R7VGXBCpxrw8iDeRSaVhP4iGCG3abngqNf4/s1600/finisher.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOBHY3NcfEeFGxgpsjdbLfQ6uXyTyDyy6ZrULdAHGPahB66GetlE1TidQm4gG4aNPZbtcizT9EH02WICQslVJZQYygTGGWZf9q-LE2EPv_R7VGXBCpxrw8iDeRSaVhP4iGCG3abngqNf4/s320/finisher.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
So here is a graph of my first year using a smart scale. Spoiler alert: it worked, as you can see.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZUQbMAvPvHkya9yseJHjSPe4Y5Iub8HEuq-vZfhF92NfKk8lh9GpJKzJJc3KEwRhG96fLOJ1y1SF8iOm4d0MNZ1BaYG0SXWSl21BNUBOa95JvoM-xWoJLErfV9kowcI0SJ3KE_RjJm8Y/s1600/Screen+Shot+2016-10-30+at+8.21.03+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZUQbMAvPvHkya9yseJHjSPe4Y5Iub8HEuq-vZfhF92NfKk8lh9GpJKzJJc3KEwRhG96fLOJ1y1SF8iOm4d0MNZ1BaYG0SXWSl21BNUBOa95JvoM-xWoJLErfV9kowcI0SJ3KE_RjJm8Y/s640/Screen+Shot+2016-10-30+at+8.21.03+PM.png" width="640" /></a></div>
<br />
You can see the peak is over 186.5lbs in February.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQixPjIObT7266o8VYkqgX9hgyhuapIk2Se2jCuXQp_FGaYMSkeCvEKCycfimu4CMutH_si4DOb2MeVIo_y5yGUqvz8Hvw1p9wBCKO-A-gIeIlyk4L3XGvbzZW2WepGKm0ny1_Fd1V5rs/s1600/Screen+Shot+2016-11-04+at+4.16.31+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQixPjIObT7266o8VYkqgX9hgyhuapIk2Se2jCuXQp_FGaYMSkeCvEKCycfimu4CMutH_si4DOb2MeVIo_y5yGUqvz8Hvw1p9wBCKO-A-gIeIlyk4L3XGvbzZW2WepGKm0ny1_Fd1V5rs/s640/Screen+Shot+2016-11-04+at+4.16.31+PM.png" width="640" /></a></div>
My first reading under 165 was on December 30th. Just in time for the end of the year. My goal for 2015!<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisuIFVYobH0_5PnxJigIbaYrOGaDkXEfTYR4k57Et6LsRk12vxdQHtR3M8x_KY17b8-txJVJA9Hnlci_sPftamo0qqxS-7BFC4u0Ht-kYNLwjNTkLpPnEG-gsEuTb-DTr75b4RrzdQN1k/s1600/Screen+Shot+2016-11-04+at+4.19.14+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisuIFVYobH0_5PnxJigIbaYrOGaDkXEfTYR4k57Et6LsRk12vxdQHtR3M8x_KY17b8-txJVJA9Hnlci_sPftamo0qqxS-7BFC4u0Ht-kYNLwjNTkLpPnEG-gsEuTb-DTr75b4RrzdQN1k/s400/Screen+Shot+2016-11-04+at+4.19.14+PM.png" width="400" /></a></div>
<br />
This gave me a sense of elation, letting me celebrate reaching my goal at the end of the year. I lost twenty pounds, right? Well, not exactly. Individual readings vary, and if we look at the 2-week moving average:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1xgP0zMPOYkcWHWbcTcJh5caczLUO50h3OnLPyfNZ5xSu6VMkZns2MLs7tFSP6mW_S5NKyMi4u_yaLdeTMBt7-s21H_5KqFt16FwluYed57bDrNLhv_ffUAJjcRN-DOo9pfMzuyPBveY/s1600/Screen+Shot+2016-10-30+at+9.51.49+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1xgP0zMPOYkcWHWbcTcJh5caczLUO50h3OnLPyfNZ5xSu6VMkZns2MLs7tFSP6mW_S5NKyMi4u_yaLdeTMBt7-s21H_5KqFt16FwluYed57bDrNLhv_ffUAJjcRN-DOo9pfMzuyPBveY/s400/Screen+Shot+2016-10-30+at+9.51.49+PM.png" width="400" /></a></div>
<br />
The moving average is a better measure of weight as it evens out day-to-day variations. Now we see that my starting weight was closer to 182and I didn't hit 165 until mid-February and I was able to keep the moving average around 165 for the rest of the year.<br />
<br />
You might notice a significant drop in June. What's happened? This happened.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfHM-5JK26CYmBjj7KWQQyikqqtAC8fZifiyakg1-veAiXxkKW9aTcGXhReWo2Cfxl0TDdgpr0jMNEvJ2nt7fsGROyUusmDdfqgFchkzLfBbmZ8hDVvOY8EibH9C7VSAdGyDq5n6oqJhA/s1600/DSC00814.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfHM-5JK26CYmBjj7KWQQyikqqtAC8fZifiyakg1-veAiXxkKW9aTcGXhReWo2Cfxl0TDdgpr0jMNEvJ2nt7fsGROyUusmDdfqgFchkzLfBbmZ8hDVvOY8EibH9C7VSAdGyDq5n6oqJhA/s320/DSC00814.jpg" width="244" /></a></div>
<br />
A friend had the brilliant idea to climb Mt Kilimanjaro and a funny thing happened there. Altitude is a terrific appetite suppressant, dangerously so in fact. We would hike all day and find ourselves not hungry at dinner. This can be a problem, so we had to force ourselves to eat despite not feeling hunger. Being unable to judge how much my body needed, I would place the amount of food on my plate that I thought I would need, visually estimating my calorie requirements, and then force myself to eat it all.<br />
<br />
While we were all sitting around the dinner table shocked at our lack of hunger, I joked that when we got back I would write a new fad diet book, "The High Altitude Weight Loss Diet" and companion exercise book, "Eleven Hour Abs." Indeed, when we were done we were all visibly thinner, and the graph of my weight has a noticeable drop.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiViaa7hrymW5NPzQ-wSWGoFW_GQXeIB1Q064XBCxupjbzrYa9MnJakHy5eJoyrlvTELFVZvcDM2YXHsOA8KOc6qgIyG4-3aYZ-GNT7kWTo9SAosNQ1xsHiVHp-ES3P0bhaT0ysFHWmiQ8/s1600/Screen+Shot+2016-10-30+at+8.21.03+PM-KILI.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiViaa7hrymW5NPzQ-wSWGoFW_GQXeIB1Q064XBCxupjbzrYa9MnJakHy5eJoyrlvTELFVZvcDM2YXHsOA8KOc6qgIyG4-3aYZ-GNT7kWTo9SAosNQ1xsHiVHp-ES3P0bhaT0ysFHWmiQ8/s400/Screen+Shot+2016-10-30+at+8.21.03+PM-KILI.png" width="400" /></a></div>
And the moving average...<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRzxDoAOl2-OaMup4Y14O_ajovyV77Fl01pHYZ28tmLB4xfTZaRkuMWEh2xNIDmHZDkjCLPW7CucYMdTbYopOgmtHytgNPb5_AX6Hy3TyQd2XEX8BcY3pAxehNuUVDWeCl09Xd6DbXwx8/s1600/Screen+Shot+2016-10-30+at+9.51.49+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRzxDoAOl2-OaMup4Y14O_ajovyV77Fl01pHYZ28tmLB4xfTZaRkuMWEh2xNIDmHZDkjCLPW7CucYMdTbYopOgmtHytgNPb5_AX6Hy3TyQd2XEX8BcY3pAxehNuUVDWeCl09Xd6DbXwx8/s400/Screen+Shot+2016-10-30+at+9.51.49+PM.png" width="400" /></a></div>
So there was a real difference. I went from very slow progress to a sudden drop which seemed to kick off a period of further steady progress. You might also notice that progress continued after the climb. I resolved to hold on to that weight loss so I did two things. One, the inverse of mountain eating, I would visually estimate the amount of food I needed on my plate, and then force myself to eat no more than that. Two, I walked a lot more and tried to stay active. I joined a second run club and reminded myself that I'm still not walking as much as we did on the mountain. I kept up this attitude for the rest of the year, weighing myself every morning, and watched and celebrated my progress.<br />
<br />
What did I learn? A few things:<br />
<br />
<ol>
<li>To maintain a healthy weight, I need to be hungry a few hours a day. Typically an hour before lunch and 2-3 hours before dinner. To keep from feeling deprived, I would remind myself how much better that meal will taste now that I'm hungry.</li>
<li>It's better to estimate how much I need to eat before I start eating, and this usually means I'm still a little hungry when I stop eating. About 20 minutes after I stop eating I will stop being hungry. This is very different from the old me, who would only stop eating after I got that satiated feeling. </li>
<li>Taking many short walks throughout the day is better than a few intense exercise sessions per week. Perhaps it keeps my metabolism elevated, but whatever the physiological mechanism, daily weight measurements showed the difference. </li>
<li>Don't be afraid of the scale! Healthy weight only happens when you measure it. Being afraid of what you see on the scale only increases the risk of weight gain. Be brave every morning, step on that scale with open eyes, and more often than not, you will see pleasant surprises.</li>
<li>Daily readings make daily plans.</li>
</ol>
<div>
Moving averages, daily plans based on daily readings, and refine-as-you go approaches are tools that helped me reach my goals. As I inevitably get older I plan to apply these tools to other biometric readings as needed to live a long and healthy life. And I hope you can too! </div>
<div>
<br /></div>
<br />
<br />asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-42048191370117413012015-02-12T10:23:00.003-08:002016-02-15T20:31:53.563-08:00How to Win a Hackathon (also: free beer)<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS73kBcYGT_l92lS8YYI126OtAD4W6ZVf35a49mr6TE7Ij5o1vyg7hZX6Eo21iM_7NUkdLFPagR827KDk9VBgpVXaUMEU3SeLb5pb2UfAqYAIrHlOcGBNS0OFTPl9eOpJjPRB17DIIO9A/s1600/image.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="136" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS73kBcYGT_l92lS8YYI126OtAD4W6ZVf35a49mr6TE7Ij5o1vyg7hZX6Eo21iM_7NUkdLFPagR827KDk9VBgpVXaUMEU3SeLb5pb2UfAqYAIrHlOcGBNS0OFTPl9eOpJjPRB17DIIO9A/s1600/image.jpg" width="200" /></a></div>
You can spend an entire weekend in San Francisco and not pay for food or drinks once. All you need to do is build a prototype web application in 5 minutes and spend the next 50 hours making it into something never seen before. The hackathon is here.<br />
<br />
Hackathon is the local sport. It's an endurance event for programmers and builders, usually an entire weekend where the contestants race from zero to working application, followed by Olympic-style judging (the criteria might be creativity, applicability to the problem set (usually there is always a "theme"), and technical difficulty). It's a team sport, and if you want to win you have to bring something good to your team. There's a few things you can do that will make your team happy and give you a shot at the gold medal.<br />
<br />
First, preparation is essential. You build your laptop from scratch to be the ultimate developer machine, with several full development stacks and your code editor customized <i>just the way you like it</i> so anything you might need is at your fingertips. Then you'll spend at least a day or two in last minute preparation and testing; doing some practice exercises could't hurt. The key to a good hackathon is rapid prototyping, and that requires tools and skills already in place and ready to go.<br />
<h3>
What You Need to Bring</h3>
<div>
At some point I had to ask myself, what is in my toolbox? What do I install on my laptop and how do I make sure I don't embarrass myself by not having the latest SuperNextGen Build System configured to auto-construct the web site we need and remember everyone's coffee order? Also, I want to win! And to win I need the absolute best tools in the room, configured <i>just so</i>. And so what tools do you bring?</div>
<h4>
<i>Web services development and hosting</i></h4>
<div>
That's right, bring the cloud. More precisely, your access to cloud servers and services. You should be able to whip up a new web service as fast as you can type, and deploy it somewhere the rest of your team can use it. At minimum you need a good REST CRUD for basic object persistence; in reality everyone will be expecting you have the entire data set in a high-throughput BigQuery analysis engine by lunch time. In a pinch, JPA on AppEngine will do.</div>
<div>
<br /></div>
<div>
Whatever platform you use, you're going to want to get a test system up and running first thing, something that you can build your application on. This first program essentially becomes a workbench, something you can test on, adding and removing new features to see how they work. Start with something generic, then specialize it to your problem set.<br />
<br />
Oh, and you'll need to be able to share your code and other digital assets. Here, a little setup beforehand goes a long way.</div>
<div>
<h4>
<i>
User <strike>Interface</strike> Experience.</i></h4>
</div>
<div>
It's not an interface, it's an experience. There's rapid prototyping and then there's interactivity, and you'll never know what kind of interaction works until you try it. You need your code templates and a toolbox of plug-and-play components ready to go, organized so you find the right one quickly. Yes, you can impress everyone with a little copy and paste and some quick JavaScript.</div>
<div>
<h4>
<i>Data Visualization</i> </h4>
</div>
<div>
Chances are, whatever you build will involve looking at data. With a visualization library like D3, you can design and deploy a number of different charts for whatever is thrown at you the day of the hack. </div>
<div>
<h4>
<i>Hardware</i></h4>
</div>
<div>
Nobody hacks in pure software. Not in the age of Raspberry Pi and homebrew sensors. If you show up with a programmable hardware device and it turns out to be actually useful, you will be the rock star.<i><br /></i></div>
<h4>
<i>Algorithms</i></h4>
<div>
You should just learn all you can, constantly. Bring what you know.<br />
<ul>
</ul>
</div>
<h4>
<i>Monty Python Jokes</i></h4>
<div>
<span style="font-weight: normal;">You're spending the weekend surrounded by some of the smartest, most energetic, and creative engineers around, and everyone has fantastic dreams of things to come. People like this are easily entertained, so bring your silly walk.</span><br />
<span style="font-weight: normal;"><br /></span>
<span style="font-weight: normal;">A hackathon is a special time and place where sparks of innovation fill the air and the future is taking shape before your eyes. When those eyes get red and tired, when it's late and everyone is punchy, that's when the fun begins. The geeky insider jokes fly with the airspeed velocity of an of unladen swallow.</span><br />
<span style="font-weight: normal;"><br /></span>
<span style="font-weight: normal;">And you might just take part in the creation of something new. </span><br />
<span style="font-weight: normal;"><br /></span>
<span style="font-weight: normal;">Enjoy!</span></div>
<div>
<br /></div>
asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-7247046844040631582014-02-24T22:33:00.001-08:002014-07-03T06:47:06.679-07:00Words by People<span style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">It's not the epiphany, it's what you do after the epiphany.</span><br />
<span style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">- Stew, Passing Strange </span><br />
<br style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;" />
<span style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">Always do what's next. </span><br />
<span style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">- George Carlin</span><br />
<br style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;" />
<span style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">Adventure without risk is Disneyland. </span><br />
<span style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">- Douglas Coupland</span><br />
<br style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;" />
<span style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">Life is short and information endless. Abbreviation... a necessary evil. </span><br />
<span style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">- Aldous Huxley</span><br />
<br style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;" />
<span style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">Rule 1 of the attention economy, pay attention. Rule 2, pay attention to where you pay attention. </span><br />
<span style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">-Howard Rheingold</span><br />
<br style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;" />
<span style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">85% of life is just showing up. </span><br />
<span style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">- Woody Allen</span><br />
<div style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">
<br /></div>
<div style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">
At least some of the remaining 15% is showing up early.</div>
<div style="background-color: white; color: #666666; font-family: Georgia, serif; font-size: 13px; line-height: 20.799999237060547px;">
- Me<br />
<div>
<br /></div>
<div>
To achieve great things, two things are needed: a plan and not quite enough time.<br />
- Leonard Bernstein<br />
<br />
Time is an illusion. Lunchtime, doubly so.<br />
- Douglas Adams<br />
<br />
One person can make a difference, but most of the time you probably shouldn't.<br />
- Marge Simpson<br />
<br />
Don't believe everything you think.<br />
- bumper sticker on a VW microbus<br />
<br />
Everybody's screwed up in their own special way.<br />
- Joey Ramone</div>
</div>
asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-71337485483559938822014-01-27T21:33:00.000-08:002016-02-15T20:34:12.354-08:00Character Sets in HL7v2If you work with HL7, you need to understand UTF-8. It's the standard and unless you see another character specified in message segment <a href="http://www.hl7.org/documentcenter/public_temp_B594ADD8-1C23-BA17-0C6387FE66614E66/wg/conf/HL7MSH.htm">MSH-18</a>, that's what you use. A typical HL7 message will have an empty MSH-18 segment and by default all visible ASCII characters in UTF-8 (hexidecimal 20-7E) are legal.<br />
<br />
That simplifies things but there's still a lot to watch out for, especially at computer boundaries. You may be sending messages from Windows to a Linux server, or you may be editing files in a text editor that's configured to a different character set and feeding those into your message client.<br />
<br />
There's excellent material on what every programmer needs to know about<br />
<br />
<a href="http://www.healthintersections.com.au/?p=350">Version 2 Character Sets and Encoding</a> from Health Intersections, a paper by someone who had just finished rewriting his v2 parser.<br />
<div>
<br /></div>
<a href="http://www.unicode.org/faq/utf_bom.html">The Unicode FAQ</a> from Unicode.org<br />
<br />
<a href="http://www.joelonsoftware.com/articles/Unicode.html">What Every Programmer Should Know About Unicode (no excuses!)</a><br />
<div>
<br /></div>
From this, we have the need for an HL7 message that can test how a system handles the complete set of visible UTF-8 characters. Start with the <a href="http://www.w3.org/2001/06/utf-8-test/postscript-utf-8.html">UTF-8 Test File</a> from W3C, take any simple HL7 message and add a note segment for every legal character, like this:<br />
<br />
<pre>NTE|2||0020 SPACE
NTE|2||0021 ! EXCLAMATION MARK
NTE|2||0022 " QUOTATION MARK
NTE|2||0023 # NUMBER SIGN
NTE|2||0024 $ DOLLAR SIGN
NTE|2||0025 % PERCENT SIGN
NTE|2||0026 & AMPERSAND
NTE|2||0027 ' APOSTROPHE
NTE|2||0028 ( LEFT PARENTHESIS
NTE|2||0029 ) RIGHT PARENTHESIS
NTE|2||002A * ASTERISK
NTE|2||002B + PLUS SIGN
NTE|2||002C , COMMA
NTE|2||002D - HYPHEN-MINUS
NTE|2||002E . FULL STOP
NTE|2||002F / SOLIDUS
NTE|2||0030 0 DIGIT ZERO
NTE|2||0031 1 DIGIT ONE
NTE|2||0032 2 DIGIT TWO
NTE|2||0033 3 DIGIT THREE
</pre>
<pre></pre>
<pre></pre>
...and so on.<br />
<br />
You can <a href="https://drive.google.com/file/d/0B8r0HraNd-8YbzdqbjFtbWFkczQ/edit?usp=sharing">download a simple lab result test message here</a> or create your own with other character sets and neat tricks like embedding escape sequences and changing encoding mid-stream (but for the sake of the rest of us who might have to read your data please don't). Then feed that into an HL7 client program, such as the free and open source <a href="http://hl7api.sourceforge.net/hapi-testpanel/">HAPI Test Panel</a>, and run it end to end through the system. If it comes out the other side the same way it went in, you're golden. Happy encoding!<br />
<br />asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-81584106684555898162013-11-14T09:04:00.001-08:002013-11-15T10:16:38.142-08:00Adventures In Health Insurance Part 3: Getting Covered(Part 3 in a series, a continuation of <a href="http://nerdpod.blogspot.com/2013/10/adventures-in-health-insurance-exchange.html">Part 1</a> and <a href="http://nerdpod.blogspot.com/2013/10/adventures-in-health-insurance-part-2.html">Part 2</a>)<br />
<br />
To be honest, when I said I want to keep my doctor it was just an experiment.<br />
<br />
I've never been able to keep my doctor. Continuity of care seems like a great concept but it's something I've never experienced. I've seen my current doctor a total of 3 times in the 3 years he's been my doctor. I got this doctor l like I got all my doctors: my health coverage changed when my employment situation changed. Optum, the Health IT company and United Healthcare subsidiary, bought Axolotl, the HIE company where I worked. They gave me this new high deductible HSA PPO they believe is the wave of the future and will ultimately bring down the cost of health care by putting the first few thousand dollars of cost on me, motivating me to spend more wisely. That's the theory anyway, as I saw it pitched by Tommy Thompson (HHS Secretary under President Bush) and UHC executives.<br />
<br />
I left in July to join a small consulting firm. I'm still working in the HIE field but now I'm buying my own insurance. My intention was to pay for COBRA until the end of the year, then buy either an exchange plan or a private one, depending.<br />
<br />
United Health is not on the exchange and is in fact pulling out of California's individual market altogether. They were never big here anyway and the number of individual subscribers probably didn't justify the administrative expense.<br />
<br />
I checked out the exchange plans, and I have my choice there. It's not everything I want but it's darn close, a bit cheaper, and feels safer. If I ever feel slighted or wronged by the exchange in any way, I know I'll have an army of Angry Republicans marching to my defense as they have been wont to do of late.<br />
<br />
Now it's time to explore the individual private market, that vast free market jungle out there. I feel like I should be wearing a pith helmet.<br />
<br />
As with many things, it started with Google, which showed me a paid ad for eHealthInsurance.com<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLvQKOccYX23-MeloTWaMOmjZneynuU_rI8C_IkphfR3jsI2yKPvHRMgXn_HyVbUh3J_qkKH4kmTkGgrrVOfzYl8Kdx3p0A7TW6jJ539iZq8L2OifCgKVuEojHY5Wte_Z647BDvnRyea8/s1600/Screenshot+2013-11-13+at+7.02.27+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLvQKOccYX23-MeloTWaMOmjZneynuU_rI8C_IkphfR3jsI2yKPvHRMgXn_HyVbUh3J_qkKH4kmTkGgrrVOfzYl8Kdx3p0A7TW6jJ539iZq8L2OifCgKVuEojHY5Wte_Z647BDvnRyea8/s400/Screenshot+2013-11-13+at+7.02.27+PM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
It asked me basically the same questions through the same procedure - the doctor search worked - and it sent me to the Blue Shield of California web site, where I saw the same plans for the same price. The UI is more polished, and you can see how the cheaper plan may be great if you're healthy and nothing happens, but paying 40% of an emergency room visit instead of a simple $250 copay, that could hit pretty hard I imagine, and could lead to some interesting negotiations on the operating table ("What's that machine, doc? It looks expensive").</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3A7Wzy7TWrwl_NjMwUfju005d47b_kiPpHYxpzqBF9wy4nttTBgeR-In4VkEwyhU3mwRKFELa2701DLPbz8DT36HEAdFOqMmUWjcPi6CErlohloD0Wpqg8Donjv5ooSvEMD0NJcEdzvU/s1600/Screenshot+2013-11-13+at+7.16.37+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3A7Wzy7TWrwl_NjMwUfju005d47b_kiPpHYxpzqBF9wy4nttTBgeR-In4VkEwyhU3mwRKFELa2701DLPbz8DT36HEAdFOqMmUWjcPi6CErlohloD0Wpqg8Donjv5ooSvEMD0NJcEdzvU/s400/Screenshot+2013-11-13+at+7.16.37+PM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The cheapest plan on the exchange was $263 and the cheapest plan on eHealthInsurance.com was $294. I could get an HSA for around three hundred bucks, and with that I would have a $4500 deductible and a 40% copay beyond that, up to my yearly maximum of $6250. With the HSA I could contribute to $3300 a year tax free. The idea with an HSA is to start young so when your health fails and you start paying out that yearly maximum, you have enough to cover it. Rich people love it because you can contribute pre-tax dollars and invest it in the stock market, like a 401k. Unlike a 401k, you also withdraw it tax-free as long as you spend it on medical expenses. Like the individual mandate, the high-deductible HSA plan was another conservative idea embraced by insurance companies and incorporated into the ACA. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The non-HSA plans have a $2000 deductible. Between that and the lower copays, it seems like a less risky choice. I'll pay a bit more per month but a lot less if something happens.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Also, the exchange site is more responsive than it was last time. It's 7:21pm and I'm navigating through as fast as I can click. It wasn't like that the first week.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Buying insurance isn't as scary as I imagined. There is comfort in knowing whatever I buy will have a minimum level of coverage and no lifetime limits. The horrendous industry practice of rescission (actuaries actively looking for reasons to drop sick and expensive patients from their plans) is a thing of the past. I can buy any plan available without fear of hidden "gotchas" that might hurt me later when I need serious health care.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
So starting January 1st, I'm off COBRA and on my new plan with the same doctor, the same benefits, and the same costs. I went back to CoveredCA.org to do the actual enrollment, and with another login and a few more clicks, I am signed up! My new coverage starts January 1st.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-14177986591940506642013-10-22T21:49:00.000-07:002013-10-26T07:24:48.727-07:00Adventures in Health Insurance, Part 2: CoveredCA Here I ComeSo let's see if I got this right. The original contractor blows a high profile rollout, everyone - and I mean everyone - is screaming mad about the lousy software, management panics, and <a href="http://venturebeat.com/2013/10/22/government-taps-jeffrey-zients-presidential-innovation-fellows-to-repair-federal-health-exchange/">an elite tiger team</a> swoops in to save the day. In the world of health IT, we call that Tuesday.<br />
<br />
<a href="http://nerdpod.blogspot.com/2013/10/adventures-in-health-insurance-exchange.html">As I mentioned before</a>, I am actually shopping for insurance right now. I'm in good health and could probably buy insurance on the private market for a bit less than what I've been paying COBRA for the past several months, but I thought I'd wait to see what the exchanges had to offer. This is the story of my adventure on <a href="https://www.coveredca.com/">CoveredCA</a>.<br />
<br />
I signed up early, was able to compare prices somewhat and already had a login before the October 1st rollout. I finally found the time and motivation to do some for real shopping. It's 7:17pm and I'm logging in.<br />
<br />
It's showing the strain of prime time load, the poor thing.<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRFU8DyPJj7iFPD1JGhjk52zE5PdMI66onOfi9wQi_LxCDwVyfE8v42J_Wju3G0Ea-zWyAspyfRcXWqoehDQ-ToLSA77W7ufDqq327djhBa3DOxSXzOo_WhaPfMds002zPSE5-Z9qky0Q/s1600/Screenshot+2013-10-22+at+7.17.52+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRFU8DyPJj7iFPD1JGhjk52zE5PdMI66onOfi9wQi_LxCDwVyfE8v42J_Wju3G0Ea-zWyAspyfRcXWqoehDQ-ToLSA77W7ufDqq327djhBa3DOxSXzOo_WhaPfMds002zPSE5-Z9qky0Q/s320/Screenshot+2013-10-22+at+7.17.52+PM.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Waiting ten seconds and clicking didn't seem to help, but the APPLY button did take me somewhere useful. The login worked. I was in. <br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz8YKR4EoeS_73rQsTV7Br4iYH3GC5cYDACQZFtZkH_K25mzEycbEjPc2agVUvFO_Gj3URvFK2HAJi-YRRw9GrWrCIM4voZQd7l5Xz7BEvE_HnLBOvZ7hHE22W29LSTSM1-TjpZqKodl4/s1600/Screenshot+2013-10-22+at+7.20.23+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz8YKR4EoeS_73rQsTV7Br4iYH3GC5cYDACQZFtZkH_K25mzEycbEjPc2agVUvFO_Gj3URvFK2HAJi-YRRw9GrWrCIM4voZQd7l5Xz7BEvE_HnLBOvZ7hHE22W29LSTSM1-TjpZqKodl4/s320/Screenshot+2013-10-22+at+7.20.23+PM.png" width="320" /></a></div>
My first impression is that of a nice, clean layout. I can see right away I've already filled in all the forms (there aren't that many), but then none of the things I want to click are hyperlinked. I'm a very nonlinear user and I like to click on everything. I suspect there's a NEXT button hiding in the corner somewhere, and there is.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA5PNNj4pp2-U5UkszNdLaENCol4NWXHNsheorcRnC9cs8N9kkN-YRyDOVeW3-YENUUoYonpPDYF_pDMau2gbEI96c0mjMJPbrTcN1HhuZoqKjHejVOr3uGH4WuXti0ULYCQdPrL8Hra4/s1600/Screenshot+2013-10-22+at+11.00.54+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA5PNNj4pp2-U5UkszNdLaENCol4NWXHNsheorcRnC9cs8N9kkN-YRyDOVeW3-YENUUoYonpPDYF_pDMau2gbEI96c0mjMJPbrTcN1HhuZoqKjHejVOr3uGH4WuXti0ULYCQdPrL8Hra4/s320/Screenshot+2013-10-22+at+11.00.54+PM.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
It turns out to be a very linear navigation, and by "very" I mean "exclusively." It's next-next-next until you see at least three text regions overlapping each other, like an HTML panel editor threw up in the corner. </div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjpWM-mXVRnaaxbnJSvxHyurPsfQtzeveHAFK6B3V0cpV9Fyb_lH__RuPm6JgqvupBP55NVSbcdmll5OgnzKkSRnRJPkUoEYQMpCoUZqlSXdxc8OsPA8yyBAHjziqjZ75czgN3WcB63dQ/s1600/Screenshot+2013-10-22+at+7.49.13+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjpWM-mXVRnaaxbnJSvxHyurPsfQtzeveHAFK6B3V0cpV9Fyb_lH__RuPm6JgqvupBP55NVSbcdmll5OgnzKkSRnRJPkUoEYQMpCoUZqlSXdxc8OsPA8yyBAHjziqjZ75czgN3WcB63dQ/s320/Screenshot+2013-10-22+at+7.49.13+PM.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
It looks terrible but I just need to click Select Health / Dental Plan so I move on.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I get to my selection of 26 plans, of which I can view exactly three at a time. There's too much real estate at the top being used by navigation links I don't care about right now, leaving precious little room at the bottom for a ridiculously constrained scrolling region containing all the information I really want. In this picture you can see two rows of that.</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsrBz5vsVMs9bGOptpRM7QfxODXHIgh1GoJgnjyz-ZDS_CjR2dRcVw9xbwrrt8eNb3w7DC4yX-LZKVP0fBvoF8SB1DUFuGwM_372iqCxKAJomg86q1ca8gnJ7-hmegCPrMhxR7D-byKn0/s1600/Screenshot+2013-10-22+at+8.03.33+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsrBz5vsVMs9bGOptpRM7QfxODXHIgh1GoJgnjyz-ZDS_CjR2dRcVw9xbwrrt8eNb3w7DC4yX-LZKVP0fBvoF8SB1DUFuGwM_372iqCxKAJomg86q1ca8gnJ7-hmegCPrMhxR7D-byKn0/s320/Screenshot+2013-10-22+at+8.03.33+PM.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
And here's a collapsed list of all the information you can scroll through down there. If you count you'll see there's a lot. It's all useful and I wish I could view it more easily.</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3DLpVop6WQie4MjUI-kEnTHnxGTh55HkhoVUQPJTedRNA2zKa_pJMLvsrBh9qGma7rolvjuiJdJ6a9LWrcDWCW1E6BdTaYe_jaWO0Evj6KjtJuKTExDpKC6HADbFvmcbZe6_QF-PuUks/s1600/Screenshot+2013-10-22+at+8.51.34+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="279" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3DLpVop6WQie4MjUI-kEnTHnxGTh55HkhoVUQPJTedRNA2zKa_pJMLvsrBh9qGma7rolvjuiJdJ6a9LWrcDWCW1E6BdTaYe_jaWO0Evj6KjtJuKTExDpKC6HADbFvmcbZe6_QF-PuUks/s320/Screenshot+2013-10-22+at+8.51.34+PM.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEYuY8z5YAWhzuc6K_XkZ5PMJzs48kSWAJkLYViYdTDdMqdq_YTdloKqIxTWy4_XZAziQ0FUO0wKvJIkxRNDOLVhXkkWpi8w6jf0S4DP6t2tG92n6iVA0xXebHSVoCbrYonkCodGwkOOY/s1600/Screenshot+2013-10-22+at+7.47.43+PM.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEYuY8z5YAWhzuc6K_XkZ5PMJzs48kSWAJkLYViYdTDdMqdq_YTdloKqIxTWy4_XZAziQ0FUO0wKvJIkxRNDOLVhXkkWpi8w6jf0S4DP6t2tG92n6iVA0xXebHSVoCbrYonkCodGwkOOY/s320/Screenshot+2013-10-22+at+7.47.43+PM.png" width="165" /></a>Here's a tip for all you twelve year old kids who want to build web applications like this one: <b>The ideal number of scroll bars on a given page is zero.</b> One is marginally acceptable but if you have two or more they interfere with each other and that's bad. Very bad.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Let's get to the part where I search for my doctor. He's not there. I hope he hasn't left town but when I search by name this is what I get.</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-Ab5bB9JCIfdr8w7BGMsXW_fbF3Pck_FQLO2sXsz4DtqciHwlrkDf0c2NFh3BIjHmSHwu8A20FoengAQ3v-BCEFciHVgEaqgqw-DE0YGBoPeOt7Fr3ycec5ispyqoNz1sDmaE_smHoFU/s1600/Screenshot+2013-10-22+at+7.56.07+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-Ab5bB9JCIfdr8w7BGMsXW_fbF3Pck_FQLO2sXsz4DtqciHwlrkDf0c2NFh3BIjHmSHwu8A20FoengAQ3v-BCEFciHVgEaqgqw-DE0YGBoPeOt7Fr3ycec5ispyqoNz1sDmaE_smHoFU/s320/Screenshot+2013-10-22+at+7.56.07+PM.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
And this is what I get when I search for "S"</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKOgicc-F4tWRKxX-ud6c0crk-00FZI5yIa7FMJjnUImiGl6v_RAAttxwOpRufNWyFRIanK6v8F0FnszlYdkkPJaSu5A8Vr5V9M65sictDRmhzYxBJs5pxBXGBAn3-SEkstKDnW9vixzA/s1600/Screenshot+2013-10-22+at+7.23.33+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKOgicc-F4tWRKxX-ud6c0crk-00FZI5yIa7FMJjnUImiGl6v_RAAttxwOpRufNWyFRIanK6v8F0FnszlYdkkPJaSu5A8Vr5V9M65sictDRmhzYxBJs5pxBXGBAn3-SEkstKDnW9vixzA/s320/Screenshot+2013-10-22+at+7.23.33+PM.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
I point this out not because it's broken, in fact it works perfectly fine. However, that NextLast bugs me. It makes me want to open a text editor and fix it, but I can't, so it's just annoying.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Let me show you a brilliant health care web site.</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCNWyvwgxG1HM4E2AYNC1gg0wHQzz6M4ZDdHlr3FmNMAPG2PZrwPYtbzYmETD4nsEhlOTldagRUoySs-pYx9qPS3cu7hGmD-RScWFUAGcMEfhyphenhyphenoepKfDJoKpKXEDoA9mSNC1ABZxqodSU/s1600/Screenshot+2013-10-22+at+7.26.42+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCNWyvwgxG1HM4E2AYNC1gg0wHQzz6M4ZDdHlr3FmNMAPG2PZrwPYtbzYmETD4nsEhlOTldagRUoySs-pYx9qPS3cu7hGmD-RScWFUAGcMEfhyphenhyphenoepKfDJoKpKXEDoA9mSNC1ABZxqodSU/s320/Screenshot+2013-10-22+at+7.26.42+PM.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
This is <a href="http://www.pamf.org/">Palo Alto Medical Foundation</a>. They've been pioneers in health web applications from the very beginning so when I say it's a brilliant site I mean it. It's been polished by years of heavy use, tweaks, and overhauls. Notice the clean layout containing lots of information. Everything you think you should click on, you can. From here you can do any number of things, whether logging in or checking urgent care wait times. And what's that at the top of Special Notices? A list of ACA plans. Just what I need!</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
However, on the CoveredCA site, I can't search by plan name, or much of anything really. I can browse and find the plans easily enough. It browses side to side with lots of stuff to read, here's an example of some of the mouse overs.</div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzuQudNRaCBk0On8DsBzE4nijNLAk6nyaTFnV7aAova2ORMsoTRQx_Y-csBCl1Jymb6cCk9H_rmnqzdhXmeEunK5vHiRS55RhixiE11O9MQqtHoeWpzAsjhWihqC_QgL8kzzAlEOonFWM/s1600/Screenshot+2013-10-22+at+7.34.51+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzuQudNRaCBk0On8DsBzE4nijNLAk6nyaTFnV7aAova2ORMsoTRQx_Y-csBCl1Jymb6cCk9H_rmnqzdhXmeEunK5vHiRS55RhixiE11O9MQqtHoeWpzAsjhWihqC_QgL8kzzAlEOonFWM/s320/Screenshot+2013-10-22+at+7.34.51+PM.png" width="248" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2o3l_VBabZK2OWbc6rCaOTdrBw332d8hYdDSgmduX2sPhqm5Gt7e4xnOYL-gIIeHMwKL6eZL6Vewtr-WG8I0FTB7K8r-aIqHlARa7EIOYS875neZ-UfBxWWckCtSZYQI9yete-DUtNTo/s1600/Screenshot+2013-10-22+at+7.35.02+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2o3l_VBabZK2OWbc6rCaOTdrBw332d8hYdDSgmduX2sPhqm5Gt7e4xnOYL-gIIeHMwKL6eZL6Vewtr-WG8I0FTB7K8r-aIqHlARa7EIOYS875neZ-UfBxWWckCtSZYQI9yete-DUtNTo/s320/Screenshot+2013-10-22+at+7.35.02+PM.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiJv3MjjZ-hL3Ei3wvoxTFjWhgHaqgXyqP4zBDxKfKP7nUzoeAbpv6qM9hE_T3u5HiXH8gGyBBps6zm0ttQtoT0bHzJ9s1rD98VXf1WN5ZQ7pWgnRP2mr_JMZp_vv-V-5kT9HNuJYWECs/s1600/Screenshot+2013-10-22+at+7.35.12+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="183" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiJv3MjjZ-hL3Ei3wvoxTFjWhgHaqgXyqP4zBDxKfKP7nUzoeAbpv6qM9hE_T3u5HiXH8gGyBBps6zm0ttQtoT0bHzJ9s1rD98VXf1WN5ZQ7pWgnRP2mr_JMZp_vv-V-5kT9HNuJYWECs/s320/Screenshot+2013-10-22+at+7.35.12+PM.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS4R0TbgTwIk11rmk8Zb6MGUC-t6_5AIdpk7cGT06PKS6iRtCMTVD9x2HhjYCrP75MobPGqOy0npW2NLXbuC_lIHWbkYdCvLtVyN8QE88bm3NtgGEhe1BBXxLDholhWm897jDa5HKtbVo/s1600/Screenshot+2013-10-22+at+7.34.02+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS4R0TbgTwIk11rmk8Zb6MGUC-t6_5AIdpk7cGT06PKS6iRtCMTVD9x2HhjYCrP75MobPGqOy0npW2NLXbuC_lIHWbkYdCvLtVyN8QE88bm3NtgGEhe1BBXxLDholhWm897jDa5HKtbVo/s320/Screenshot+2013-10-22+at+7.34.02+PM.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Oops, that's no mouse-over. I'm guessing some of the javascript events aren't being picked up by the timeout mechanism. In any case, I have most of what I need so I can call it a day. I know what plan I want and it's a bit cheaper than what I'm paying now. I would like to make double sure all my providers are in network along with a few other minor questions, as is true with any health insurance plan. However it didn't crash, annoyances were constant but didn't stop me, and I'll probably have to talk to someone in person before making a purchase anyway.<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
In other words, it's working just as well as your average brand new health IT system.<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
UPDATE:</div>
<div class="separator" style="clear: both; text-align: left;">
The automatic timeout works, and it is nothing if not secure.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh7YeqqV4e2oHM7pucKLrbvjzHTmQoB5GD6lvbmhwXNNjkOrJ2agmXdL3RXXw2eUyScSt9O2SBUKdt71eDEkAYjtHlfC43yZspZQy9LwySK4Lad9XYcQE6NDi52CYp8LUbeSaRm8XofVQ/s1600/Screenshot+2013-10-22+at+9.55.12+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh7YeqqV4e2oHM7pucKLrbvjzHTmQoB5GD6lvbmhwXNNjkOrJ2agmXdL3RXXw2eUyScSt9O2SBUKdt71eDEkAYjtHlfC43yZspZQy9LwySK4Lad9XYcQE6NDi52CYp8LUbeSaRm8XofVQ/s320/Screenshot+2013-10-22+at+9.55.12+PM.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com2tag:blogger.com,1999:blog-2412539259025916215.post-78541380505240703632013-10-17T21:35:00.000-07:002013-10-26T07:28:46.836-07:00Adventures in Health Insurance Exchange Part I: Doctor, DoctorThe insurance exchanges are online and I need insurance.<br />
<br />
A little background on me: I was a software architect at Optum (the IT arm of United Healthcare) building Health Information Exchange (HIE) systems until recently. I left to join a very small consulting company (there's 3 of us) and lot of exciting stuff is happening in health care: HIEs, ACOs, NwHIN, FHIR, Blue Button, all these amazing things coming into existence right now.<br />
<br />
I'm not without coverage. I have a UNH plan, high deductible with HSA, which is fine. I like my doctors. I'm on COBRA which is $500 a month but I get $100 off for being in good health (rockin' all the vital signs - oatmeal and half marathons yo). Not a bad deal, in relative terms. The individual private plan is about the same but I've been waiting for the insurance exchange to come online and now I get to put it to the test.<br />
<br />
Being a Silicon Valley kind of guy, I went to CoveredCA.com - I actually signed up months ago and the "window shopping" part of the site has been up for quite some time so I know my rates are going to be similar. Turns out that's just what they cost.<br />
<br />
I have a few requirements for my next health insurance plan:<br />
<br />
<ol>
<li>I want to keep my doctors - all of them. PCP, eye doctor, dentist, everyone because I want to live as long as humanly possible and that involves watching the progression of my health very carefully as I age. I stand on the principle that continuity makes better care.</li>
<li>I kind of like my health savings account (HSA), I'd like a plan with an HSA. You pour money in tax free and when it's time to pay that high deductible it doesn't feel nearly as painful as pulling that same amount of money out of a savings account. I also figure when I'm old and feeble I'll be paying the yearly max every year, so there's that.</li>
<li>If they have high tech wellness tools, like a really killer mobile app, that's a plus.</li>
</ol>
<br />
<br />
At first, I didn't know if I could keep my doctor. A tool to search for providers was added October 7th, and with it I was able to find my care organization - Palo Alto Medical Foundation - but not my doctor. I had to go to PAMF's web site to see what plans they accept. PAMF was an early pioneer in this technology and their tools are very, very good. I not only saw what plans I could pick from the exchange, I saw this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKPDfEYf9f7f4TAKpDC4hRqPOUaZEjcMB2SRlyfSsf0V0K5De4nLr9gKDvqfHbf0sMjWHneLZQlxr3sgzXqfxcEy0KEjSaT7NX0cYSwOhoCfrZ_ydhjSz_ap69Tlvq2i_KFQTSoSVei8o/s1600/Screenshot+2013-10-07+at+7.09.26+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="77" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKPDfEYf9f7f4TAKpDC4hRqPOUaZEjcMB2SRlyfSsf0V0K5De4nLr9gKDvqfHbf0sMjWHneLZQlxr3sgzXqfxcEy0KEjSaT7NX0cYSwOhoCfrZ_ydhjSz_ap69Tlvq2i_KFQTSoSVei8o/s400/Screenshot+2013-10-07+at+7.09.26+PM.png" width="380" /></a></div>
How about that. If I don't switch plans, there's a chance I won't be able to keep my doctor.<br />
<br />
Partisan pundits have asked, "Will I get to keep my doctor under ObamaCare?" I think the real answer to that question is, "Were you ever able to keep your doctor?" I had to switch doctors every time I changed jobs, and sometimes just because my insurance company decided to change its "network" for no reason I ever knew. If I move to another city I'll find a new doctor, but as long as I live here, walking distance from PAMF, I'm not switching. I shouldn't have to.<br />
<br />
With an ACA plan I can keep my doctor. In fact, I need to sign up now if I want to keep my doctor.<br />
<br />
In a later post I'll describe my experience navigating the web site, along with a few others, and actually buying insurance. Spoiler alert: I'm a big, big fan of health IT systems and I'm inclined to like it, but I did run into one or two problems.<br />
<br />
<br />
<br />
<br />
<br />
<br />asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-34571804211998440542013-09-24T19:52:00.001-07:002013-09-24T19:52:26.851-07:00Provider Directories at Direct Boot Camp 2.0The ONC State HIE Program hosted a two-day workshop on NHIN Direct, the health information exchange protocol built on secure email (SMTP/S-MIME). There was quite a good turnout. I'm still fairly new to Direct, so readers will have to forgive (or correct) any innacuracies or misinterpretations on my part, as this is based on notes and conversations I had over the two days. The main areas of focus were scalable trust, security and interoperability, and provider directories. So without further ado, here's a brain dump of my two day dive into Direct.<br />
<br />
<h2>
The Big Question</h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6Ddgih8nTlJeL2KTtM0SjZPkRUnqxieHYYFXG9BiZK020rNiI1vO_RmGV-7GVLtcPpVdZfFufDANJLr0r6Nqmnd00xZn8fkFhUF6CfUPW2nSladso3SW2cBHb15y2CxzC2Amfl990jDc/s1600/question.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6Ddgih8nTlJeL2KTtM0SjZPkRUnqxieHYYFXG9BiZK020rNiI1vO_RmGV-7GVLtcPpVdZfFufDANJLr0r6Nqmnd00xZn8fkFhUF6CfUPW2nSladso3SW2cBHb15y2CxzC2Amfl990jDc/s320/question.JPG" width="320" /></a></div>
<div>
<br /></div>
The workshop opened with a question and crowdsourcing exercise. Everyone was given index cards upon which to write an answer. The cards were distributed and voted on, and the top five read aloud. The top answers were centered on education, outreach, and provider directories.<br />
<br />
<h2>
Provider Directories</h2>
<div>
This was the hot topic. There's a lot of interest in healthcare provider directories (HPD), trust, and bridging trust authorities. How does a HISP know which HPD to query for authoritative information, and whether the information returned is accurate, up to date, and trustworthy? Since the HPD is used primarily within Direct to look up addresses and certificates, this is a big issue.</div>
<div>
<br /></div>
<div>
At the HPD roundtable discussion a number of different views were brought together. A Federal Bridge was discussed, which using x.500 and x.509 to certify Certificate Authorities (CAs) and provide trust bundle functionality. This would be a distributed system of authoritative directories with the "source of truth" being at the edge of the directory tree, as close to the provider as possible, being that an organization with a direct relationship with the provider would be more trusted. However, how would x.500 deal with system which only use organization-level certificates, and not person-level certificates? What engagement model will motivate physicians to keep their information up to date?</div>
<br />
A question was raised about the need for a standard response model supported across the country. It would be nice if states and the DEA supported certificates to verify doctor identities. Provider directories have strong verification and credentialing use cases. For example, in a federated model of authoritative sources, is there a potential for fraud or gaming the system? If a provider license is revoked in one state, what happens when the provider moves to a different state?<br />
<br />
Another concern expressed was what information should be exposed publicly. There is a widespread perception that publicly available provider directories might open the door to spam, but the Direct protocol is very difficult to spam. HPD maintainers have a more legitimate concern: if they expose everything via web services, what's to stop a competitor from downloading the entire directory? This is the motivation for mutual authentication, to control who can access what. There needs to be agreement on what information to divulge and what to withhold. Western States Consortium has been studying this problem and is in the process of documenting their findings.<br />
<br />
<h3>
Mod Spec HPD</h3>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="356" marginheight="0" marginwidth="0" mozallowfullscreen="" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/25247956" style="border-width: 1px 1px 0; border: 1px solid #CCC; margin-bottom: 5px; max-width: 427px;" webkitallowfullscreen="" width="100%"> </iframe> </div>
<div style="margin-bottom: 5px;">
<strong> <a href="https://www.slideshare.net/brianahier/direct-boot-camp-2-0-modular-specifications-provider-directories" target="_blank" title="Direct20: Modular Specifications - Provider Directories">Direct20: Modular Specifications - Provider Directories</a> </strong> from <strong><a href="http://www.slideshare.net/brianahier" target="_blank">Brian Ahier</a></strong> </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Mod Spec (MSPD) is trying to "future proof" the HPD specification and make it more modular. MSPD extended HPD for error handling, federation, and extensibility. The LDAP model is the same, but the WSDL and error handling have been updated. They are looking for pilot projects (contact Farrah Darbouze or Matthew Rahn for details).</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://modularspecs.siframework.org/Provider+Directories+Homepage">ModularSpecs Home Page</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div>
<br /></div>
<br />asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com1tag:blogger.com,1999:blog-2412539259025916215.post-23695162898791517392013-09-18T07:18:00.002-07:002013-09-18T07:18:49.093-07:00AngularJS"<a href="http://angularjs.org/">AngularJS</a> is the future" said the guy with a full time job, startup, and weekly speaking engagements who seems to be at every major tech happening and apparently only sleeps between 2AM and 5AM.<br />
<br />
"I need the future today," I replied.<br />
<br />
So here it is, <a href="https://github.com/jeffbcross/syncResource">OmniBinder</a>, an experimental Angular module to bind arrays of objects to a protocol, and <a href="https://github.com/mgonto/restangular">RestAngular</a>, a module which automates fetching data from REST APIs.<br />
<br />
<br />
<a href="http://mgonto.github.io/restangular-talk/">RestAngular Presentation</a> and the <a href="https://github.com/mgonto/restangular-talk">source code used</a>.<br />
<br />asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-82032670315251875502013-05-15T06:15:00.001-07:002015-03-21T18:35:48.935-07:00RESTful Health and the Internet of Things<blockquote class="tr_bq">
<blockquote class="tr_bq">
<br /></blockquote>
</blockquote>
In the Internet of Things everything has a URI, and everything that does something has a URI with RESTful services to invoke its functionality. It really is that simple. So what if we apply the same principle to health data? The Internet of Health? What if every element of the health record has a unique URI, standard RESTful interface and predicate ontology to make meaningful connections?<br />
<br />
<h4>
The RESTful Health Record</h4>
It isn't far off. The health record may be, and has been, implemented using a RESTful API where every patient, visit, report or event, every element of a medical history has a URI.<br />
<br />
<code>
http://restfulhealth.com/Patient/123/Visit/456 http://restfulhealth.com/Patient/123/DiagnosticReport/789</code><br />
<br />
The identifier can be any locally unique data, and often it is an internal database key for fast indexing. It may also be a contextual identifier, something referenced in the clinical payload. You could even asign a random UUID or a compound ID with your system's assigning authority. These identifiers will be used in semantic expressions and therefore must be permanent. An indelible audit trail is mandatory, just another fact of life in health care.<br />
<h4>
FHIR: Health Information as Resources</h4>
<div>
HL7 is working on a RESTful standard for health records. The <a href="http://wiki.hl7.org/index.php?title=FHIR">HL7 FHIR</a> project aims to provide a convention of URI plus a REST to the standard data structure. It's pretty simple, every entity or event has a base URI plus an identifier. Using the same high level structures as the CCD (better yet, the mercifully simple GreenCCD), you can create a set of services to view, add and update elements of a PHR.</div>
<div>
<br /></div>
<code>
http://restfulhealth.com/Patient/xx-xxx</code><br />
<code>http://restfulhealth.com/CarePlan/xx-xxx </code><br />
<code>http://restfulhealth.com/Observation/xx-xxx</code><br />
<code>http://restfulhealth.com/DiagnosticReport/xx-xxx</code><br />
<br />
The elements of a patient's health record are not nested inside the patient. Everything is done with references. For example, a care plan will contain references to the patient, all members of the care team, and relevant clinical data and events.<br />
<h4>
Ontology: Semantic Relationships and Queries</h4>
<div>
An ontology may be created to describe these connections. You're not bound by the standard data structure of CarePlan/Procedure/DiagnosticReport/Result. You can express your own grouping rules if you define the necessary relationships.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">CarePlan hasMember Procedure<br />Procedure hasReport DiagnosticReport<br />DiagnosticReport hasResult Observation<br />hasReport isa hasMember<br />hasResult isa hasMember<br />hasMember is Transient</span></div>
<br />
FHIR also includes the concept of resource bundles, so the care plan can include any number of events and they can be grouped in any way the care giver deems useful. The doctor may send you home with a monitoring device (or connect your existing device), and group your device's observations such that a diagnostic report can be run on the aggregate.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">CarePlan hasMember Group<br />Group hasMember DeviceObservation</span><br />
<div>
<code><span style="font-family: Times;"><br /></span></code></div>
To help facilitate care coordination, you will need an ontology to describe the relationships between the <b>care</b> <b>provided</b> and the health <b>data</b> <b>elements</b> with a corresponding set of <b>semantic</b> <b>queries</b>. What queries would be most useful? How would the data be linked? FHIR already has both internal document links and external resource links (attachments), which are essentially simple semantic connections. There's no reason why a more sophisticated model of care coordination can't be expressed in an OWL ontology.<br />
<br />
I am now officially a big fan of FHIR.<br />
<h4>
</h4>
asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-49216572972104416362013-04-12T20:36:00.000-07:002013-09-24T19:55:54.386-07:00A Jug of Wine, Facebook Graph Search--and ThouWe all know this Facebook graph search works. It's stalky creepy, but it works.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCIgcuwB7fmHVF1Cyu_-qdu68lFYsTEvDUOIa_13l38nQhd7l4Rv72XpB0OOsEh3y8XqANSgsU2hDoCopPqUS7YcwFxgWzMCRSlfaMsiVa6He8xhowDJOik9P6iOTEqZh5_xp9SM4FOrc/s1600/Screen+Shot+2013-04-12+at+8.18.19+PM.png" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCIgcuwB7fmHVF1Cyu_-qdu68lFYsTEvDUOIa_13l38nQhd7l4Rv72XpB0OOsEh3y8XqANSgsU2hDoCopPqUS7YcwFxgWzMCRSlfaMsiVa6He8xhowDJOik9P6iOTEqZh5_xp9SM4FOrc/s320/Screen+Shot+2013-04-12+at+8.18.19+PM.png" /></a><br />
<br />
<br />
OK fine, so that search works, but this one doesn't? It's only one more parameter!<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX-KuZF2TnaV7s8_wSLLi1wvdJFzHrfY77c7WrfZiBXo-ve999Lt3I7X8fLoZiJ8q4wYwVZ1zJmuhpH83vX0mWW9S7apO9QUtm_bZ-Zz22i1CKMy7V1FsI8xFVmZcaFzPJDxC-0SyvdTo/s1600/Screen+Shot+2013-04-12+at+8.17.51+PM.png" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX-KuZF2TnaV7s8_wSLLi1wvdJFzHrfY77c7WrfZiBXo-ve999Lt3I7X8fLoZiJ8q4wYwVZ1zJmuhpH83vX0mWW9S7apO9QUtm_bZ-Zz22i1CKMy7V1FsI8xFVmZcaFzPJDxC-0SyvdTo/s320/Screen+Shot+2013-04-12+at+8.17.51+PM.png" /></a><br />
And, unlike searching for single females I went to high school with (which does work, but really who cares), yeah anyway, unlike that, this involves the real world. I'm... ummmm... asking for a friend.<br />
<br />
All I'm saying is that some things are better in analog.<br />
<br />asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com1tag:blogger.com,1999:blog-2412539259025916215.post-55642309504538969802012-10-09T20:51:00.000-07:002012-10-09T21:13:21.308-07:00Ticking away the moments that make up the health recordFor the purposes of illustrating precision in HL7v3 Time elements (TS), no time zone information is represented. As a nice bonus, this format is easily sortable as Strings or char arrays.
<table>
<tr><th>HL7 TS</th><th>Meaning</th></tr>
<tr><td>20121031235959001</td><td>October 31, 2012, 999 milliseconds before midnight</td></tr>
<tr><td>20121031235959</td><td>October 31, 2012, one second before midnight</td></tr>
<tr><td>201210312359</td><td>...and again one minute before midnight</td></tr>
<tr><td>20121031</td><td>Any time on the day of October 31, 2012</td></tr>
<tr><td>201210</td><td>October 1-31, 2012</td></tr>
<tr><td>20121</td><td>October 1 - December 31, 2012 (technically valid, but never used this way)</td></tr>
<tr><td>2012</td><td>January 1 - December 31, 2012</td></tr>
<tr><td>20</td><td>Sometime in the 21st century</td></tr>
</table>
<p>Get it? It's a regular expression with assumed wildcard at the end.</p>
asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com1tag:blogger.com,1999:blog-2412539259025916215.post-86736329020185471322012-10-08T22:11:00.000-07:002012-10-08T22:32:04.263-07:00Sketches of mHealth Standards<div>
A June blog post by Keith Boone (aka @motorcycleguy), <b><a href="http://motorcycleguy.blogspot.com/2012/06/convergence-cedd-cimi-ihe-fhir-hdata.html">Convergence: CEDD, CIMI, IHE, FHIR, hData, HL7, mHealth and ONC</a> </b>got me thinking and sketching this simple diagram of how some of those pieces can fit together. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha3dlXq70M9Y5jAVzKFot0eRwoZQYn7qWw5Zk7qeANrHx4Ckn_3eoC3yZVCGmMNCXV4W_9pe9uL0WJH1S1s34hNtPDQHu4R-jBpShbxuhvIg36VWG3lvAvPIYDyFPOO04n50Z8MwOKLeQ/s1600/IMG_0605.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="253" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha3dlXq70M9Y5jAVzKFot0eRwoZQYn7qWw5Zk7qeANrHx4Ckn_3eoC3yZVCGmMNCXV4W_9pe9uL0WJH1S1s34hNtPDQHu4R-jBpShbxuhvIg36VWG3lvAvPIYDyFPOO04n50Z8MwOKLeQ/s400/IMG_0605.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
It's more stream of consciousness than companion diagram, but there it is. A REST client/server wrapped in consent rules wrapped in security protocols (only client side shown), treating health information as RESTful resources. A URI for each patient, document, and fragment. </div>
<div>
<br /></div>
<div>
The other thing that stuck out to me is the fact that we need data structures which can be use by both simple clients and highly complex ones. Where a mobile app may be reading and writing a half dozen data poings per entry, an industrial strength medical information system may be processing hundreds, and yet they operate on the same record. That's the essence of the CDA XML to hData JSON downshift, to allow interoperability between devices of vastly different capability.</div>
<div>
<br /></div>
asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-57449552140941996682012-06-05T21:53:00.000-07:002012-06-05T21:53:01.286-07:00Conversational Context in Smart PhonesEvery time I use Siri I feel better if I say hi first. I don't know if it's polite or just makes conversing with a computer seem less weird. In this example, it's 8:26pm and I want to know what time the sun is going to be up tomorrow.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_76oVlfH4bjopghn7JSwRV4iquK-YTqXyxBwGgSJX7lN1_VtgWvpEhoTmcZMh5zJUdlGJO3fX9iqb0FCsiCeSXkye9myRIUjG8ZixlDeJTOaZqdXNF4FPysCjVEv1gxP8fPznNny2Zy0/s1600/IMG_0335.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_76oVlfH4bjopghn7JSwRV4iquK-YTqXyxBwGgSJX7lN1_VtgWvpEhoTmcZMh5zJUdlGJO3fX9iqb0FCsiCeSXkye9myRIUjG8ZixlDeJTOaZqdXNF4FPysCjVEv1gxP8fPznNny2Zy0/s320/IMG_0335.jpg" width="213" /></a></div>
<br />
Close, but not exactly what I wanted.<span style="text-align: left;"> I happen to know sunrise tomorrow is a few minutes earlier than sunrise today (as summer progresses). </span>So I clarify, and in the process I can see Siri's context engine at work. The next single word I say is interpreted relative to facts within the larger conversation.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisGRHnWL_c5v0bcYDoiqfqdf_34enw9FLQu5dqqTgX6zDkJtFhpTG7ZXz0RHOu1KKwF5OW7qoO3bedi83eA_WNTZfTVqkrNNKEGouWj2GnSQWz_8eeRwvvN-rcZ6dn4FQFA1PeLMBYGhE/s1600/IMG_0336.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisGRHnWL_c5v0bcYDoiqfqdf_34enw9FLQu5dqqTgX6zDkJtFhpTG7ZXz0RHOu1KKwF5OW7qoO3bedi83eA_WNTZfTVqkrNNKEGouWj2GnSQWz_8eeRwvvN-rcZ6dn4FQFA1PeLMBYGhE/s320/IMG_0336.jpg" width="213" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Aha. She understands I'm talking about a sunrise. She gets the concept of tomorrow. She just doesn't know the answer. This is standard almanac data, something Wolfram Alpha should handle easily, but that's another story.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
When Siri doesn't understand me, I usually find I'm asking for something that she's not programmed to recognize as a task. How do I know? I simply ask her.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIBwKzZwq3wh45_YeBEQPlE_p9lnZBlFtRo9Tqx4w-4N-C5cVhXlGS907p8cNlsjMvrRmkIav6iKz7TXrdAuIB6SCX2BFAtCx268fSSe8l3L4HhPeAZtwdrfaokUPs026WFOVlplZsSw8/s1600/IMG_0302.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIBwKzZwq3wh45_YeBEQPlE_p9lnZBlFtRo9Tqx4w-4N-C5cVhXlGS907p8cNlsjMvrRmkIav6iKz7TXrdAuIB6SCX2BFAtCx268fSSe8l3L4HhPeAZtwdrfaokUPs026WFOVlplZsSw8/s320/IMG_0302.jpg" width="213" /></a></div>
<br />asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-28771503708907343592012-03-12T22:32:00.000-07:002012-03-12T22:32:09.173-07:00How to be Prepared for Anything<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_7OBe2NfYs9zCHfOE3LuWATeH1Zm4UNZihJfCzoK-pEScTb_YDBOqCcs1oWBLSacd8Bn_mLg6tADNajcD5-nbbTRpnpPLzaFYVVzv2Dkws75MffiXRnvQBnO7GlOqjM0Z0yRX_B3SF0E/s1600/IMG_0132.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_7OBe2NfYs9zCHfOE3LuWATeH1Zm4UNZihJfCzoK-pEScTb_YDBOqCcs1oWBLSacd8Bn_mLg6tADNajcD5-nbbTRpnpPLzaFYVVzv2Dkws75MffiXRnvQBnO7GlOqjM0Z0yRX_B3SF0E/s320/IMG_0132.jpg" width="213" /></a>I found some really cool iPhone apps for emergency preparedness at a Red Cross training session, given last weekend to volunteers in the Community Emergency Response Team (CERT). Palo Alto as a city is more prepared than most, with a small army of volunteers, mobile response teams, and sophisticated communication and response system. </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: left;">Remember police scanners? This is even better. The 5-0 Radio app can give you a live feed from local police, fire, and other civil organizations. </span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPYjrMHNX3H96qUTDOgxDFkRZhVpGmw-ygM-Oj-6U1euNDcEC3vv_SBQXyeStyodcdv46pLz-FCVtV3d_y3rl6op9LKq-G9x6bC35k2WtUqRd7XpDbPJrQdUkNRT11GJdeo1Ep0I-RVfo/s1600/IMG_0133.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPYjrMHNX3H96qUTDOgxDFkRZhVpGmw-ygM-Oj-6U1euNDcEC3vv_SBQXyeStyodcdv46pLz-FCVtV3d_y3rl6op9LKq-G9x6bC35k2WtUqRd7XpDbPJrQdUkNRT11GJdeo1Ep0I-RVfo/s320/IMG_0133.jpg" width="213" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: -webkit-auto;"> Browse your local area, or anywhere in the country. We even have amateur radio operators. Cool!</span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitKwSGTjZ4BTEXUFAZAdisFoHdvw-IaxPHAuzIQHy3bh-gbve6MXDzYNJkQyDEQWYFlzgJnrE2-SbdFUnaEX5VRMNNJvsPUsS4jEGzZvhbh79q8g5ViCIUeP3oFRkK1ZJrcJvl0xCoOTo/s1600/IMG_0136.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitKwSGTjZ4BTEXUFAZAdisFoHdvw-IaxPHAuzIQHy3bh-gbve6MXDzYNJkQyDEQWYFlzgJnrE2-SbdFUnaEX5VRMNNJvsPUsS4jEGzZvhbh79q8g5ViCIUeP3oFRkK1ZJrcJvl0xCoOTo/s320/IMG_0136.jpg" width="213" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both;">
<br class="Apple-interchange-newline" />Listen to a live radio feed.</div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx7rPzpg_C2QpCiQMexsrFhcOoKqy4ryq3B3NMLb6mOBzzYMwGT23-H_RLkpP2T96WxyXgXCBJrdRLaljMQSLXOue_mOyxa4FGkGGLrlyJj9WAnsktQqzVtJA_A0EcBZjcNHcJ99NARQo/s1600/IMG_0138.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx7rPzpg_C2QpCiQMexsrFhcOoKqy4ryq3B3NMLb6mOBzzYMwGT23-H_RLkpP2T96WxyXgXCBJrdRLaljMQSLXOue_mOyxa4FGkGGLrlyJj9WAnsktQqzVtJA_A0EcBZjcNHcJ99NARQo/s320/IMG_0138.jpg" width="213" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br class="Apple-interchange-newline" /><span style="text-align: left;">Check out the California Road Report. You set a radius from your current location and it gives you list of road reports in the area.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRw8x4yvm5T5kKrv3mJMb19QL7O-TQ0gctof-9-6pITI-d7JLDu1v4PFj8-O1zleHb3u1vAwlo1pvUCVGDT7WdcJup6kFrWfM8mV_dlUgeF3kdrrZQd1oFZxSzcIIS1P3YvWFVnwPvrKQ/s1600/IMG_0139.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRw8x4yvm5T5kKrv3mJMb19QL7O-TQ0gctof-9-6pITI-d7JLDu1v4PFj8-O1zleHb3u1vAwlo1pvUCVGDT7WdcJup6kFrWfM8mV_dlUgeF3kdrrZQd1oFZxSzcIIS1P3YvWFVnwPvrKQ/s320/IMG_0139.jpg" width="213" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br class="Apple-interchange-newline" /><span style="text-align: left;">The Pacific Disaster Center (PDC) monitors natural disasters around the world, and they have a mobile app, World Disaster Alerts. </span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5bybJ8ahGOQVKjbwlB6nqAI-dt0Uti-YB_Sls8FsvazBecBc-zOHA5uu0iwB68uFqX_bb2g-Ge2803WWz-ZgT49xeJXbbYVPCxZmVmQYblfiM1c4wZKmeEux2OFOPSB_0pr0o7bZp-kQ/s1600/IMG_0141.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5bybJ8ahGOQVKjbwlB6nqAI-dt0Uti-YB_Sls8FsvazBecBc-zOHA5uu0iwB68uFqX_bb2g-Ge2803WWz-ZgT49xeJXbbYVPCxZmVmQYblfiM1c4wZKmeEux2OFOPSB_0pr0o7bZp-kQ/s200/IMG_0141.jpg" width="133" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU7ptU9Pz6bzPn-MUbQRmDwRXck5H5wCHoic8QTL4UuVXVdyINRew0rO7VB6Oq1Yh_SxlfhUfWKW5O4e6Y_NrxTj8tTpU9a8XVrvZg4lf2dwEgmvFIlip-Wk-y8Mf0AAvHmwskcyleJ2Y/s1600/IMG_0140.jpg" imageanchor="1" style="clear: right; display: inline !important; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU7ptU9Pz6bzPn-MUbQRmDwRXck5H5wCHoic8QTL4UuVXVdyINRew0rO7VB6Oq1Yh_SxlfhUfWKW5O4e6Y_NrxTj8tTpU9a8XVrvZg4lf2dwEgmvFIlip-Wk-y8Mf0AAvHmwskcyleJ2Y/s200/IMG_0140.jpg" width="133" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: left;">If disaster strikes, you can find the location of every open Red Cross shelter, using their app Shelter View. This screen shot was taken on a relatively quiet day.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYjiBD89oUtfp7aGCKZ7KxZbv0najQaHdN3C-Yv9sJOnuaQ8cB-8K25kCtdjGut2vC3N5liFqtFzQyZbZaKVqJNVf9dGYc_GssdI9d8jKxvL9TlVfXKHiYQCJlTRgrkqI5TBwCWReGLCg/s1600/IMG_0142.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYjiBD89oUtfp7aGCKZ7KxZbv0najQaHdN3C-Yv9sJOnuaQ8cB-8K25kCtdjGut2vC3N5liFqtFzQyZbZaKVqJNVf9dGYc_GssdI9d8jKxvL9TlVfXKHiYQCJlTRgrkqI5TBwCWReGLCg/s320/IMG_0142.jpg" width="213" /></a></div>
Cell phone towers and Internet routers go dead in the event of power loss, but mobile hotspots can be set up if necessary, and <a href="http://blog.ted.com/2010/01/14/ushahidi_brings/">mobile data may be important in a crisis</a>. So keep your phone and a solar charger nearby, just in case.asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-52775241904099701642012-02-29T20:30:00.000-08:002012-09-05T15:47:16.937-07:00Hello Siri, How Are You?I know I'm late, but with the impending announcement of the next insanely great thing, I thought I'd go through my old Siri conversations to share. This was my first, when I got the phone and introduced myself to Siri.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzVgpMOrou3U0x0cO4XXS5k_dkVLPRCC_tS93randz0jTiJPmPcKqknZC5yT1zVfhgvTTpRpBaYtckJFYcJ1owWVTIhKqs_pwCF5tDAvL911W0bMyPaaeR-jV0-QLSD0PFo3k2J_meQO8/s1600/0001_HelloMyNameIs.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzVgpMOrou3U0x0cO4XXS5k_dkVLPRCC_tS93randz0jTiJPmPcKqknZC5yT1zVfhgvTTpRpBaYtckJFYcJ1owWVTIhKqs_pwCF5tDAvL911W0bMyPaaeR-jV0-QLSD0PFo3k2J_meQO8/s320/0001_HelloMyNameIs.jpg" width="213" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: -webkit-auto;">Before I go further, let's get the silly stuff out of the way...</span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUEfdwBQw11Riztyl3n66TEpS-XTyI2beVDytO6t9Ia4I8hEx_Cmc9inAxpaBZqvlbJFuGpgfp5k-RGY3SglYArv19eiFwc63_8buwxI0PyZgrL1gQIHWSp0Ik2-0sbHr9JGvXF15flT4/s1600/0007UltimateAnswer.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUEfdwBQw11Riztyl3n66TEpS-XTyI2beVDytO6t9Ia4I8hEx_Cmc9inAxpaBZqvlbJFuGpgfp5k-RGY3SglYArv19eiFwc63_8buwxI0PyZgrL1gQIHWSp0Ik2-0sbHr9JGvXF15flT4/s320/0007UltimateAnswer.jpg" width="212" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIgx7dt6EoayUJBhawXEKhz4xcUmULSqDY9a8ERHsd_Wxk9-OylYOzu1RUfQ62nAT4xn5FGxhz0T-g3MDVFaHb49l1rucxh9IiAADqgU7oCnh8nNXArmX-2Q2It7cbLGdIkEy2lwAoDgU/s1600/0005MontyPython.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIgx7dt6EoayUJBhawXEKhz4xcUmULSqDY9a8ERHsd_Wxk9-OylYOzu1RUfQ62nAT4xn5FGxhz0T-g3MDVFaHb49l1rucxh9IiAADqgU7oCnh8nNXArmX-2Q2It7cbLGdIkEy2lwAoDgU/s1600/0005MontyPython.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIgx7dt6EoayUJBhawXEKhz4xcUmULSqDY9a8ERHsd_Wxk9-OylYOzu1RUfQ62nAT4xn5FGxhz0T-g3MDVFaHb49l1rucxh9IiAADqgU7oCnh8nNXArmX-2Q2It7cbLGdIkEy2lwAoDgU/s320/0005MontyPython.jpg" width="213" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdpRELcALTN56nLi8Dztux0XJsSzrVuFgqRYZ8ARl11-Jaj1t00va-P2Y7Z0waoygcULmC5FB7mYKm7e4x_X1ejzoMzfMv7M5eOeUttZuuDYb_Qg9duW64X99lj2m4pSA_21JTWt7pLS4/s1600/0006Spam.jpeg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdpRELcALTN56nLi8Dztux0XJsSzrVuFgqRYZ8ARl11-Jaj1t00va-P2Y7Z0waoygcULmC5FB7mYKm7e4x_X1ejzoMzfMv7M5eOeUttZuuDYb_Qg9duW64X99lj2m4pSA_21JTWt7pLS4/s400/0006Spam.jpeg" width="183" /></a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Yes, yes. It's only the most obvious Monty Python and Douglas Adams references in the Universe.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: -webkit-auto;">
<br /></div>
<div style="text-align: left;">
<span style="text-align: -webkit-auto;">What happens if I simply say, "The Beatles?"</span></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy9y5uRQd0bWHv-MpIR3zryFKt5H9X6OSiutdjWl1lcmPmfM9wlIM2V5Y6DGLmH5uw0FoibZB8hx7d0OV6h6qy_XKUtsvGpijzX9CzAczAlMgnB9otmAf5DqdWP0lbe-ZkEWj95vtFHh4/s1600/0007_Beatles.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy9y5uRQd0bWHv-MpIR3zryFKt5H9X6OSiutdjWl1lcmPmfM9wlIM2V5Y6DGLmH5uw0FoibZB8hx7d0OV6h6qy_XKUtsvGpijzX9CzAczAlMgnB9otmAf5DqdWP0lbe-ZkEWj95vtFHh4/s320/0007_Beatles.jpg" width="213" /></a><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: -webkit-auto;">Cool.</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: -webkit-auto;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: -webkit-auto;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: -webkit-auto;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: -webkit-auto;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: -webkit-auto;">Now let's settle into the groove of everyday life. Good morning, Siri.</span></div>
<div class="" style="clear: both; text-align: right;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSObKTDvyb0_am69NBmTEcXRo1RgnTxLDWjLl8jc7_4nHi1TJ3LuCwrdwm8iN6OcCLAGadVg09gTUwojI7WqsMadFi3i35JyPeE_0gLZGY-SE98rOBm6oFzdQ2GGANfJqX0wP0CqBnDLg/s1600/0008CantReadTheWeather.jpeg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSObKTDvyb0_am69NBmTEcXRo1RgnTxLDWjLl8jc7_4nHi1TJ3LuCwrdwm8iN6OcCLAGadVg09gTUwojI7WqsMadFi3i35JyPeE_0gLZGY-SE98rOBm6oFzdQ2GGANfJqX0wP0CqBnDLg/s400/0008CantReadTheWeather.jpeg" width="180" /></a></div>
<div class="" style="clear: both; text-align: right;">
Okay, so you can't read me the weather. So much for leaving you in my pocket as I walk out the door.</div>
<br />
<div class="" style="clear: both; text-align: right;">
<br /></div>
<div class="" style="clear: both; text-align: right;">
<br /></div>
<div class="" style="clear: both; text-align: right;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMObzvoPkuDaEZGX4E5XPn_FmTQZ3-lr_lkHRvhgdhYk1EBm1Vg12piNOFQxRR_wZ-_1jhsIplNMLR66mMMk3MXuQPrbWpJJAx-SZK3Rn-sL1UVA6u3I7fmfXOjXvMpeuHDeM4mMCOmHI/s1600/0010_GonnaRain.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMObzvoPkuDaEZGX4E5XPn_FmTQZ3-lr_lkHRvhgdhYk1EBm1Vg12piNOFQxRR_wZ-_1jhsIplNMLR66mMMk3MXuQPrbWpJJAx-SZK3Rn-sL1UVA6u3I7fmfXOjXvMpeuHDeM4mMCOmHI/s320/0010_GonnaRain.jpg" width="213" /></a>At least you understand me, even when I, uh... don't quite enunciate clearly.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0EdnjJkP0OagmreMHOoMoDV1TuzMrVkyVTOINeNC8R1lbHdeg_4x51h-oCz7PO3HXigYddz4nXDe4RB9Hz8V6mT_gdLPG_3dFrsfQ_LSgG2E7ZD0_MgR8PWQamDRhLjtNZ81dJdEUkgQ/s1600/0009_Darkside.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0EdnjJkP0OagmreMHOoMoDV1TuzMrVkyVTOINeNC8R1lbHdeg_4x51h-oCz7PO3HXigYddz4nXDe4RB9Hz8V6mT_gdLPG_3dFrsfQ_LSgG2E7ZD0_MgR8PWQamDRhLjtNZ81dJdEUkgQ/s320/0009_Darkside.jpg" width="213" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
...most of the time, anyway.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp_nxNnrCeUTAa2bFVd4Ef9Xp74h2PhioN4vbmurECalLGDf6KS3x_PlL5yu2GJVraSgNcs32wiZJf7EAY2hOaF0FX9JA0qfjLrqKhxd7OzeMb-lT_4nLnpL5zYxlvFtADLLs-PRDe-j8/s1600/OpenByDoing.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp_nxNnrCeUTAa2bFVd4Ef9Xp74h2PhioN4vbmurECalLGDf6KS3x_PlL5yu2GJVraSgNcs32wiZJf7EAY2hOaF0FX9JA0qfjLrqKhxd7OzeMb-lT_4nLnpL5zYxlvFtADLLs-PRDe-j8/s320/OpenByDoing.jpg" width="213" /></a></div>
<br />
<br />
<br />
<br />
Okay, sometimes.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicghjKp_ZAlu3pcUucrhWBhUD45vdw0sRi7DrYoM40KyshyphenhyphenhLd0426MTmt12dpXWWiiRyTlpjhyQ6uUDXDLZG-3kqtYUKVaHXZV8Gs5ztL7iy01lkhcFq7m7ds_v2G0zYm4FEeMbGDOJY/s1600/0011ShineOn.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicghjKp_ZAlu3pcUucrhWBhUD45vdw0sRi7DrYoM40KyshyphenhyphenhLd0426MTmt12dpXWWiiRyTlpjhyQ6uUDXDLZG-3kqtYUKVaHXZV8Gs5ztL7iy01lkhcFq7m7ds_v2G0zYm4FEeMbGDOJY/s320/0011ShineOn.jpg" width="213" /></a><span style="text-align: -webkit-auto;"></span></div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: right;">
Er, I may need to work on my pronunciation.</div>
<br />
<div class="" style="clear: both; text-align: center;">
Sometimes, I press the Siri button by accident, or forget what I wanted.</div>
<div class="" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQBJMdFt3Do22zScBZU9W31GeUGLhuJU7Md2hMUGdYY0ZO7By-MqvdzoX4WK76ddgAh0rvSjyibUc4zcMxbbSGY0K9F_Zsiqk8eBw_Fqzx4MDgX7Fl24Lpb9-M1UudOq_4YWG2hvf3TZY/s1600/Nevermind.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQBJMdFt3Do22zScBZU9W31GeUGLhuJU7Md2hMUGdYY0ZO7By-MqvdzoX4WK76ddgAh0rvSjyibUc4zcMxbbSGY0K9F_Zsiqk8eBw_Fqzx4MDgX7Fl24Lpb9-M1UudOq_4YWG2hvf3TZY/s320/Nevermind.jpg" width="212" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwLf3BqEDfchiyJ5LZArh9YDhpm78mLocaNqvuyfVJAnLfhVLLURLlRyCBGLcZV6R4AWaXldJHQo_Za9HQAZzk_e-kXwa6JcVFvKT-MgLX86b2p0JaMQGA7jaPQrlvFQaAjNfBJPB_ido/s1600/Nothing.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwLf3BqEDfchiyJ5LZArh9YDhpm78mLocaNqvuyfVJAnLfhVLLURLlRyCBGLcZV6R4AWaXldJHQo_Za9HQAZzk_e-kXwa6JcVFvKT-MgLX86b2p0JaMQGA7jaPQrlvFQaAjNfBJPB_ido/s320/Nothing.jpg" width="212" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: -webkit-auto;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: -webkit-auto;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: -webkit-auto;">Back to everyday life, I'm hoping Siri can guide me to my meeting... </span></div>
<div class="" style="clear: both; text-align: right;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5MuKO0c4Wo7c91ZD9vbIr3wj-UPDUbTrkL97M31l-_Up6xpCRjL8LYIlvmGAPsZZi0kXtPX-M41YH4MTB7dN_C5d5fz2Mnq3iWebJuZGrzMmCd5W95iBd6HP6m-_mukimaxH78GA7zJ0/s1600/WhereIsMyMeeting.jpeg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5MuKO0c4Wo7c91ZD9vbIr3wj-UPDUbTrkL97M31l-_Up6xpCRjL8LYIlvmGAPsZZi0kXtPX-M41YH4MTB7dN_C5d5fz2Mnq3iWebJuZGrzMmCd5W95iBd6HP6m-_mukimaxH78GA7zJ0/s400/WhereIsMyMeeting.jpeg" width="162" /></a></div>
<div class="" style="clear: both; text-align: left;">
...or not. I thought Siri stored a conversational context to help answer questions. Does Siri not remember my most recent questions? How do you get from this meeting to my own address? Or does she think I should skip out on my meeting and just go home?</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: right;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
Now where's that to-do list? </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif7Van-lpZYq9L_F65X19D4tbSQmxalaQ_T1wZhebbP7eN6MC7FdgO3YmprnpqGE-Rw68jX-Zeh56OgUXnU0awFditjNGdMe7uVyYHADt7q6-dMXP22At9cJcorh9SXORCAm1BJfn2TEY/s1600/ToDoList.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif7Van-lpZYq9L_F65X19D4tbSQmxalaQ_T1wZhebbP7eN6MC7FdgO3YmprnpqGE-Rw68jX-Zeh56OgUXnU0awFditjNGdMe7uVyYHADt7q6-dMXP22At9cJcorh9SXORCAm1BJfn2TEY/s320/ToDoList.png" width="214" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: 'Trebuchet MS', sans-serif; font-size: large;"><b>ARGLE BARGLE!!!</b></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG-3pJBhG0ylrBae9KFHlmQZK6axhHfr5a669svEBpLHPmKeyPJu9g_YwSj6R0FYvwVbnRj5rNCWHGKdg0CwBGaHfm4w1NWNQXQo2dNivZKwOl4Nq6pXfqrQxBX0-JxInS8jQVnZN2JX8/s1600/ArgleBargle.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG-3pJBhG0ylrBae9KFHlmQZK6axhHfr5a669svEBpLHPmKeyPJu9g_YwSj6R0FYvwVbnRj5rNCWHGKdg0CwBGaHfm4w1NWNQXQo2dNivZKwOl4Nq6pXfqrQxBX0-JxInS8jQVnZN2JX8/s320/ArgleBargle.jpg" width="213" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
I can already tell, this is going to be way more fun than autocorrect.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-Pf4oihyphenhyphenPCW3GFa3zkw8j-gEUgbgdxFoxC2BDSHPBHH-HdpHTAtPKqB3-LgfzKEwlCeTOS3MyI8wwrdyVxIwiwD4SbDIoKKGK4MVwJ4bs7Oq5y57TJmW2MyxPq6VTizQKsBnR70719L0/s1600/WorseThanAutocomplete.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-Pf4oihyphenhyphenPCW3GFa3zkw8j-gEUgbgdxFoxC2BDSHPBHH-HdpHTAtPKqB3-LgfzKEwlCeTOS3MyI8wwrdyVxIwiwD4SbDIoKKGK4MVwJ4bs7Oq5y57TJmW2MyxPq6VTizQKsBnR70719L0/s320/WorseThanAutocomplete.jpg" width="213" /></a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com1tag:blogger.com,1999:blog-2412539259025916215.post-34733954748097684442012-02-16T17:11:00.000-08:002015-02-13T15:58:50.115-08:00EMRs, iPods, and SaddlebagsI've heard that the size and shape of the modern hard-cover book was determined by the carrying capacity of 15th century saddle bags because after the invention of the printing press people had to carry those books far and wide on horseback, and the size and shape of the iPod was determined by the size and shape of your average front shirt pocket. This makes me wonder: what is the size and shape of the ideal electronic medical record?asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com1tag:blogger.com,1999:blog-2412539259025916215.post-49612946394485793872012-02-15T20:00:00.000-08:002012-02-16T17:02:19.406-08:00What is a C32/CCD?HealthUnity has a pretty good explanation of HIE technology including their <a href="http://www.healthunity.com/HIEExpert.mvc.aspx/HIEUseCases">HIE Use Cases</a>. Documents on transmitted through HIE systems today typically conform to the HL7v3 Clinical Document Architecture (CDA). The Continuity of Care Document (CCD) is the most common of these, meant to be what your doctor needs to know at a glance. It looks something like this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdYdrhkk2-o6hTVAg93pMKDICnXF8yLYuoytuqjN_4pAdthwA0BkeDqReH5IPEGAr0X1AwesbE5pj0k_nkjLSFJfoCadrB_RdXAtOF9hl66zBAPcup8g3GdqqrWLB_W_bXbx-8fx75ECI/s1600/CCD+Simplified.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="281" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdYdrhkk2-o6hTVAg93pMKDICnXF8yLYuoytuqjN_4pAdthwA0BkeDqReH5IPEGAr0X1AwesbE5pj0k_nkjLSFJfoCadrB_RdXAtOF9hl66zBAPcup8g3GdqqrWLB_W_bXbx-8fx75ECI/s320/CCD+Simplified.gif" width="320" /></a></div>
<br />
It's a clinical document with basic information about you and your doctors (any health care providers, really), information about the document itself (author, time of creation, purpose, etc), and a structured body which contains some number of sections - one for each category of health information being shown. For example, allergies, vaccinations, and current medications may be of immediate use, with the latest results, vital signs, and diagnoses. Much more can be documented depending on the purpose of the document.<br />
<br />
To summarize: You (the patient) are the record "target." Every provider involved in the events documented is conveniently listed up front with contact information, followed by one or more sections. A section has a human-readable title and text followed by any number of coded entries. Each section is identified by its templateId (and so is the document itself, with its own templateId on the ClinicalDocument level).<br />
<br />
Which sections are included depends on the document's purpose. A summary document has a bit of everything, while a lab or radiology report may have only the results section. There are many of these specified by <a href="http://www.hitsp.org/">HITSP</a> (composite documents start with a "C" for example C32 is CCD and C84 is History & Physical).<br />
<br />
<br />asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com5tag:blogger.com,1999:blog-2412539259025916215.post-90052337379479005772011-09-28T12:21:00.000-07:002011-09-28T12:44:43.172-07:00Getting Started with HL7v3<div style="text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguTjEBDl1n0V0l-VWo9xuykNPzKwmBrSmI1yhXq8FcrTmeRS6eaSC5qHp2Q8_NIwsMU_PEwBvGpyKMUZC6z-r2J2jpoIc30HsXSHbrYFvbIpkRymZl7vRKxrkMrd1FM1lIDyga-cTmWI0/s1600/hl7-humor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguTjEBDl1n0V0l-VWo9xuykNPzKwmBrSmI1yhXq8FcrTmeRS6eaSC5qHp2Q8_NIwsMU_PEwBvGpyKMUZC6z-r2J2jpoIc30HsXSHbrYFvbIpkRymZl7vRKxrkMrd1FM1lIDyga-cTmWI0/s1600/hl7-humor.png" /></a></div>
</div>
<div style="text-align: center;">
<span class="Apple-style-span" style="font-size: x-large;"><br /></span></div>
<div style="text-align: left;">
Someone asked me how to get started learning HL7v3 and I thought, hmmm...<br />
<br />
I went looking for a simple definition, and the best I could find was from <a href="http://www.pcmag.com/encyclopedia_term/0,2542,t=HL7&i=44294,00.asp">PC Magazine</a>:</div>
<div style="text-align: left;">
<blockquote>
<span class="Apple-style-span" style="background-color: white; font-family: Verdana,Arial,Helvetica,sans; font-size: 13px;">(<b>H</b>ealth <b>L</b>evel <b>7</b>) ANSI-accredited standards for electronically defining clinical and administrative data in the healthcare industry from Health Level Seven International (www.hl7.org). HL7 provides standards for messaging, electronic records, decision support queries, medicine labels and the visual integration of data from different applications.<br /><br />The "7" in the name comes from application layer 7 in the OSI model, which is the highest level where programs talk to each other. HL7 does not deal with the lower levels of the OSI model, which are the transport and network protocols.</span></blockquote>
Okay, so where to start.<br />
<br />
<br />
<b><span style="font-size: large;">RIM</span></b><br />
Reference Information Model. You can represent anything with this, all the basic building blocks organized by structure but not use case. It is typically implemented in XML, and can therefore be represented by an XML schema, or by a set of interfaces in an OO programming language.<br />
<br />
The RIM can be thought of as the data and workflow model. The HL7 Standards Blog did a good brief description of this, and I would recommend reading their blog post, <a href="http://www.hl7standards.com/blog/2011/05/31/hl7-v3-rim-is-it-really-that-intimidating/">HL7 V3 RIM: Is it Really That Intimidating? </a><br />
<br />
The RIM consists of actors, actions, relationships, roles, and entities. Everything happening in the course of care is an Act, and each Act may have any number of Participations, Roles, and Relationships between Entities. For another overview, see the HL7 Australia page on <a href="http://www.hl7.org.au/HL7-V3-Resources.htm">HL7 V3 Resources</a>. Obviously this is as generalizable as possible, so to do useful things it is necessary to constrain the model in different ways, which leads us to the Clinical Document Architecture (CDA).<br />
<br />
<b><span style="font-size: large;">CDA</span></b><br />
The standard for representing clinical documents using the all-purpose RIM. The Clinical Document Architecture ... the actual data structures we use in representing health information. Where the RIM represents structures, CDA organizes those structures into use cases. CDA R1 is finalized. R2 is not done yet. At least, the standard isn't finalized and is subject to change.<br />
<br />
There are many standards documents within the CDA model, but they can be divided in two categories. There are the building blocks which define document components, and there are the documents themselves, which aggregate the components into complete clinical documents. <br />
<br />
Two commonly used building blocks are C83 sections, and C80 code sets. Most clinical documents can be thought of as collections of C83 sections, with data encoded as prescribed by the corresponding C80 specification.<br />
<br />
<br />
At the 2009 Connect Seminar, a simple diagram of the CDA standard relationships was given as part of a presentation. The full presentation may be downloaded from <cite><a href="http://www.connectopensource.org/">www.connectopensource.org</a> (<a href="http://www.connectopensource.org/sites/connectopensource.osuosl.org/files/CONNECT_ContentPayload.ppt">PowerPoint</a>):</cite> <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDff6NRQOzE5QDpazO-ze-zS1TwbN5bNr9-TiT3vOXqEh02ZCkKhZnRAnIf3ErRyc_Wx4NM3O-2jXxSKHWgNxaHyJgUHqZrqTsT7v8lz4PymQ0FL8s0uZrSPIX5LyQ0kDYse4ZBQwELcA/s1600/cda-tree.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDff6NRQOzE5QDpazO-ze-zS1TwbN5bNr9-TiT3vOXqEh02ZCkKhZnRAnIf3ErRyc_Wx4NM3O-2jXxSKHWgNxaHyJgUHqZrqTsT7v8lz4PymQ0FL8s0uZrSPIX5LyQ0kDYse4ZBQwELcA/s400/cda-tree.png" width="400" /></a></div>
<br />
You can see the different types of documents<br />
<ul>
<li>C28 - Emergency Care Summary</li>
<li>C32 - Summary Documents using HL7 Continuity of Care Document (CCD)</li>
<li>C38 - Patient Level Quality Data Document</li>
<li>C48 - Encounter Document</li>
<li>C78 - Immunization Document</li>
<li>C84 - Consult and History & Physical Note</li>
</ul>
These documents are all defined in terms of which C83 components they contain.<br />
<br />
There are many more types of documents, covering a wide range of use cases. A full list of the CDA document standards can be found on the <a href="http://www.hitsp.org/">HITSP Site</a>. You can also see my earlier blog post about <a href="http://nerdpod.blogspot.com/2011/04/on-demand-ccds-continuity-of-care.html">how CCDs are built</a>.<br />
<br />
Really, that's all you need to get started. Learn the RIM, choose the HITSP CDA documents applicable to your use case, and study the C83 sections and C80 codes needed. Then you're ready to get to work. Happy coding!<br />
<br /></div>
asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-35950653569662195122011-07-22T09:46:00.000-07:002011-07-22T09:49:01.871-07:00Java 7 Launch EventJava 7 is scheduled to be GA this summer. A video of the official announcement can be found here:<br /><br /><a href="http://www.oracle.com/us/corporate/events/java7/index.html">http://www.oracle.com/us/corporate/events/java7/index.html</a><br /><br />A summary of Java 7 features (my rough notes from the talk):<br /><br /><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >JSR 292 - invokedynamic - the davinci machine</span><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >more languages on jvm, new bytecode, dynamic languages</span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" ><br /></span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >Project Coin JSR 334</span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >small changes, syntactic sugar, String in switch, constructor generic inference, multi-catch, try with resources to properly close all resources</span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" ><br /></span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >Concurrency and collections updates JSR 166y</span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >lightweight fork/join framework</span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" ><br /></span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >network and file system JSR 203</span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >zip and jar archives</span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" ><br /></span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >enhanced JMX agent and mbeans from jrockit</span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" ><br /></span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" ><br /></span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >security: elliptic curve cryptography, TLS 1.2, DEP</span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" ><br /></span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >unicode 6.0</span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" ><br /></span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >Windows Server 2008 support</span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" ><br /></span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >JDK7 to be released July 28</span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" ><br /></span></div><div><span style="border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-family:Tahoma;font-size:medium;" >JDK8 to include jigsaw, closures late 2012 - possible JSON serialization</span></div>asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-16648102672405054352011-06-27T21:05:00.000-07:002011-07-01T08:19:37.252-07:00Yet Another Google Health Memorial Blog<div><div><h1>Me Too! Me Too!</h1></div><div>I wanted to wait at least a few days to let everyone else pile on Google Health before I threw in my two cents from the peanut gallery. Of course there has been plenty of I told you so, should have listened, and here's where we went wrong, all rightfully so. If you want to hear that, buy me a drink sometime. Right now I don't want to repeat what's already been said, except for what deserves to be repeated: I will trust my doctor and primary care facility to store my medical records, and no one else. That is the only way it will work. </div><div><br /></div><div>Now, let me add this: Google Health was too generic. </div><div><br /></div><div><h1>Specialization is Your Friend</h1></div><div>The comparison has been made between "tethered" and "untethered" PHRs. It would seem logical that providers want to keep patients - more treatment means more revenue - and that makes people tend to build patient portals which drive patients into their own institutions (and profit centers) and not to their competitors. I don't look at it this way. I think each provider facility is so specialized that they look at a general-purpose PHR and think, "This isn't exactly what my patients need." If it's not exactly what the patient needs, it's useless, possibly harmful. Even among the few large makers of traditional EHR systems, every single installation is different and highly customized. Why wouldn't patient systems be just as specialized?</div><div><br /></div><div>Every hospital has its specialties, its centers of excellence, and a patient population more or less centered around what it does well. Let's say, for example, a referral hospital specializes in transplants. They are in the best position to design a PHR-type system with the features that transplant patients need, and transplant patients will flock there for treatment with or without a PHR. </div><div><br /></div><div>Say another hospital treats a lot of cystic fibrosis patients. They, too, have an idea of a different set of features that will serve their patient population best, and if they are very good, it is entirely possible that nearly every cystic fibrosis patient in the country will have an account on their patient portal. One only needs to look at primary care facilities such as Kaiser, the VA, and Palo Alto Medical Foundation to see the first hints of how this can work.</div><div><br /></div><div>If you start out by defining your patient population as "everyone," how are you going to even think about what features are needed most? Most common denominator? Most efficacious numerator? It's a recipe for stasis and mediocrity. </div><div><br /></div><div>Precisely what problem were they trying to solve? It's easier from an engineering standpoint to define the problem in terms of data. After all, Google's stock and trade as a company is moving and analyzing data in large amounts, so naturally they tackled the health record head-on by building a nearly exact replica of a standard patient summary document and not much else.</div><div><br /></div><div>What we have here is not a health record problem, it's a health visualization problem.</div><div><br /></div><div><h1>Physician, Heal Thy Computer</h1></div><div>It's going to be up to the clinicians to figure out what patients need, and can use, from web technology. If you are a physician and have a great idea, you will have no trouble finding talented engineers to build it for you. Even if you have a lousy idea - like Google Health proved to be - you can see there's no shortage of talent, dedication, and know-how to make it happen. </div><div><br /></div><div>What we need is something that lets clinicians with good ideas implement them, on their own EHR systems, in small pieces. Up to this point, if you wanted something as simple as a glucose monitoring chart for your diabetes patients, it took a lot of work just to build infrastructure around getting the data from its various sources and loading it into a web application. What if you could devote 90% of development time to data visualization, instead of data plumbing? Then we can let a thousand flowers bloom.</div><div><br /></div><div>What if, eventually, patient records could aggregate from diverse sources into your system, making your patient portal a place to store, view, and analyze a <i>personal health record</i> for as long as you have patient consent to keep it within your facility? What if the PHR was an entity of pure data, and followed the patient from system to system? As long as you have a primary care facility, would you even need a Google Health? </div><div><br /></div><div>Engineering is a marvelous and noble profession, but clinicians are coming from the more important - and complicated - side of the equation. I've been programming since I was 12 years old and the most difficult, complicated, incomprehensible system I've ever come across is health care, only to hear a respected, practicing physician look at computer diagrams and say, "I don't know that technical stuff." Yes you do. Healthcare is all technical stuff. Anyone who can understand medicine enough to practice it, can go on to say, "I know what these particular patients need from a medical record." That's who will be driving the technology forward. </div><div><br /></div><div>Google Health is dead. The PHR is just getting started.</div></div><div><br /></div>asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-11570469058654365932011-06-24T21:12:00.000-07:002011-06-24T21:50:25.253-07:00Hey @fitbit ur doin it rongThat new fitbit device looks pretty nifty. It even has "social." You can connect with your friends, and it keeps a leader board for you all to watch. The past week, the past month, that's the game. I don't see a lot of action there. I'd rather have some good casual games, small enough to fit in a game with friends one afternoon.<br /><br />For example, take the famous 24 Hours of LeMans race, where drivers race on a track for exactly 24 hours, at which point whoever completed the most laps wins. You can do the same thing with a pedometer, and you can use any time period: a day, an afternoon, a week - as long as somebody gets to say, "Ready, set... Go!" When the time is up, whoever has been most active wins. After all, being active is what fitbit measures.<br /><br />Can everyone play? Even couch potatoes?<br /><br />Yes, if you do a good job handicapping the races, like you would in the game of golf. For example, I walk a lot -- 45 minutes to and from work every day, plus to the store and everywhere else. I drive maybe once a week. My friend leads a rather more sedentary lifestyle, to put it mildly. How can we compete against each other? The game could analyze our past fitbit records and use that level to assign a handicap for each player. I don't play golf but I think that's how it works.<br /><br />This will make real competitions possible, regardless of lifestyle or current fitness level. How would you feel knowing you could beat your marathon-running buddy in a fitbit race?<br /><br />That's it, casual competition with friends, each of us playing to our own level of health. If fitbit can do that, I'll buy one just because my friends are doing it.asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-10787858294860409692011-04-19T22:04:00.001-07:002011-06-24T21:32:58.658-07:00Google Data.gov - How Hard is That?<div><i>Never before in human history has democracy had the tools available, where ordinary voters can so easily examine the workings of government in such detail. We are seeing the first few steps in a larger change in the fundamental way this information is managed.</i></div><div><br /></div><div><a href="http://www.google.com/publicdata/home">Google Public Data Explorer</a> launched February, 2011.</div><div><br /></div><div><div>Tax day has come and gone and my dear old Uncle Sam and I have settled our accounts for another year. Everyone has an Uncle Sam, a nice old guy who doesn't manage his money so well so I help him out once in a while, just to, you know, make ends meet. You can't say no to Uncle Sam, with his white beard and stove pipe hat.</div><div><br /></div><div>I don't know politics but I do know the Internet, which is full of crazy political rants. If you want to lose faith in humanity, just go to the Internet, find people who identify with a political party, and read what they writes about the other. Good times.</div><div><br /></div><div>But hey, real issues, real money. What do I know?</div><div><br /></div><div>What do I know just changed dramatically. Imagine if every dollar spent in the government, every receipt, every outlay, were recorded and place at my fingertips. What if I could chart all the government expenditures and revenues using any level of detail or axis of measure I choose?</div><div><br /></div><div>You can get a taste of this with Google Public Data Viewer. It lets you mouse over the data, select, and change the perspective or data sets as fast as you want. The tools are here and only getting better. The only barrier now is getting everything concerning public policy into these data sets. In some ways, the process has been managed with all the bureaucratic efficiency one would expect, but what has been done is now rightfully mine to peruse and inform my vote. It's the citizens' data really, the taxpayers paid for it, and we own it. Let's take a look.</div><div><br /></div><div>I decided to start with the phrase often heard lately: "We don't have a revenue problem, we have a spending problem." I bet if I can chart the various government expenditures, I'd agree with that. You can find the <a href="http://www.google.com/publicdata/overview?ds=z6tggkh2adod2s_">Federal Finances Dataset</a> in the Google public data explorer <a href="http://www.google.com/publicdata/directory">Dataset Directory</a>. I started with something simple: net outlays by year.</div></div><div><br /></div><div><br /></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNOdtMs609e9vljoBCyVtdksAMoKPv-bIVmtRcHUd954eb_3heODC5_TAN09BPZWZYGtymFDdivrZpG5aKejC1nOEtUGUfZGRSddioUEguRdON9Saq7WcY8kI4yhV3U-C9SaVZAixYbaw/s1600/Screen+shot+2011-04-19+at+9.41.04+PM.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="cursor:pointer; cursor:hand;width: 400px; height: 232px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNOdtMs609e9vljoBCyVtdksAMoKPv-bIVmtRcHUd954eb_3heODC5_TAN09BPZWZYGtymFDdivrZpG5aKejC1nOEtUGUfZGRSddioUEguRdON9Saq7WcY8kI4yhV3U-C9SaVZAixYbaw/s400/Screen+shot+2011-04-19+at+9.41.04+PM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5597527950473008530" /></a><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNOdtMs609e9vljoBCyVtdksAMoKPv-bIVmtRcHUd954eb_3heODC5_TAN09BPZWZYGtymFDdivrZpG5aKejC1nOEtUGUfZGRSddioUEguRdON9Saq7WcY8kI4yhV3U-C9SaVZAixYbaw/s1600/Screen+shot+2011-04-19+at+9.41.04+PM.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"></a>Yikes! It sure does look like we have a spending problem!. I also noticed how social security follows a relatively smooth upward curve, while the others have more little ups and downs. Everything's going up, except the few things everybody talks about cutting: science, education, agriculture, and energy - those programs behave the way I like my own budget, with a set price that doesn't go up every year.</div><div><br /></div><div>Now what happens to those numbers if we compared them to the size of our economy? After all, we have more people, bigger cities, more jets, more of everything. So in terms of taking a percentage of our collective wages, what does our government look like?</div><div><br /></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAVo9AEDJAC1lkAi_ydilkJ5CbPH1y-tZvJZJzQHObS5cRJODeDsLkxP-vK_oTpZD5rflEIJLfj0qhad1GHenyFZfZ-_KF8o-q6J7fw3oHjVTDVSLt3zgdQp8ncKVS24OU_CfqY-kgmDY/s1600/Screen+shot+2011-04-19+at+9.41.29+PM.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="cursor:pointer; cursor:hand;width: 400px; height: 235px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAVo9AEDJAC1lkAi_ydilkJ5CbPH1y-tZvJZJzQHObS5cRJODeDsLkxP-vK_oTpZD5rflEIJLfj0qhad1GHenyFZfZ-_KF8o-q6J7fw3oHjVTDVSLt3zgdQp8ncKVS24OU_CfqY-kgmDY/s400/Screen+shot+2011-04-19+at+9.41.29+PM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5597527850788796594" /></a></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAVo9AEDJAC1lkAi_ydilkJ5CbPH1y-tZvJZJzQHObS5cRJODeDsLkxP-vK_oTpZD5rflEIJLfj0qhad1GHenyFZfZ-_KF8o-q6J7fw3oHjVTDVSLt3zgdQp8ncKVS24OU_CfqY-kgmDY/s1600/Screen+shot+2011-04-19+at+9.41.29+PM.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"></a>Everything changes. Social Security isn't up nearly as much as I thought, the smaller programs are actually down, and the only thing that's really going up is health care. Maybe it is urgent, after all, maybe we should look at reform, as opposed to the plan I like to call repeal-and-replace-maybe-later-if-we-get-around-to-it.</div><div><br /></div><div>Other than health care, really, the only spending problem we have is that we have to spend less and less every year. That's not how most people people like to manage their household finances, is it? </div><div><br /></div><div>Now, how about those taxes? If we can prove we have a spending problem, we can conversely prove that we do not have a revenue problem, simply by charting the taxes with a few clicks of the mouse.</div><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSE1-5LKcxP0VCEuTDNw-bstZXNnAqFIC4mxNPGthRLEYExPG5BvrVz1MMhA0roP_qeVhhm5U-pD9xB5emVsHSO1hPR0NDR1VXU7txg61QsKgpUhtTNbGT11G6unqprCsxyrHlDbiLb0Y/s400/Screen+shot+2011-04-20+at+10.01.14+PM.png" style="cursor:pointer; cursor:hand;width: 400px; height: 233px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5597897660771973378" /><br /><br /></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ1rvnR4W2kFNU3HVsEK6sxEjhupfKIKBrtQ2wY_L6-KE8om8jzZzI_CCKU4vRCJTIki0uglHwbmOmqd_n9IFohhMpKvJEX5ESUx2ppt555Xkf7E5tqOjQzgc5nxmxvjLVDjdSp6ZOiaE/s1600/Screen+shot+2011-04-19+at+9.48.09+PM.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"></a>There's the revenue, and in terms of how big a piece of our pie it's around 20 percent, maybe less. I notice income tax - both personal and corporate - rise and fall relative to the state of the economy, while social security and the others (not shown here) have kept relatively steady. The peak revenue overall was 20% in 2000, which coincides with the peak budget surplus.<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgp43GUFi-pTUt1TQ2LPxHPi6GjbzkB0HoFMez2yDi6vAlVtP7zsS5lROvYNVk9mN0odViM8H-4gD_AHghcN1NNg3-BX5aTp4_zbFKbHywWUrL06IS8CHqvATb6ArQQUziTXN-DuibTJ8/s1600/Screen+shot+2011-04-19+at+9.59.13+PM.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="cursor:pointer; cursor:hand;width: 400px; height: 233px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgp43GUFi-pTUt1TQ2LPxHPi6GjbzkB0HoFMez2yDi6vAlVtP7zsS5lROvYNVk9mN0odViM8H-4gD_AHghcN1NNg3-BX5aTp4_zbFKbHywWUrL06IS8CHqvATb6ArQQUziTXN-DuibTJ8/s400/Screen+shot+2011-04-19+at+9.59.13+PM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5597527224205923186" /></a><br /></div><div>The point is, if I'm going to look at these issues and form opinions, let alone vote and try to convince others to vote with me, I better to do it with data. Whatever conclusions I ultimately reach, I'm going to know more with it than without it. That's probably the best I can do. Twitizen @abuaardvark once tweeted, "Sometimes I feel like the entire Internet is an exercise in documenting confirmation bias theory," or, as noted Wrongologist Kathryn Shulz points out, being wrong about something doesn't actually feel bad. It's only realizing you're wrong that feels bad.</div><div><br /></div><div><br /><!--copy and paste--><object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><param name="wmode" value="transparent"><param name="bgColor" value="#ffffff"> <param name="flashvars" value="vu=http://video.ted.com/talk/stream/2011/Blank/KathrynSchulz_2011-320k.mp4&su=http://images.ted.com/images/ted/tedindex/embed-posters/KathrynSchulz-2011.embed_thumbnail.jpg&vw=432&vh=240&ap=0&ti=1126&lang=eng&introDuration=15330&adDuration=4000&postAdDuration=830&adKeys=talk=kathryn_schulz_on_being_wrong;year=2011;theme=how_the_mind_works;theme=new_on_ted_com;theme=master_storytellers;theme=a_taste_of_ted2011;event=A+Taste+of+TED2011;tag=Culture;tag=failure;&preAdTag=tconf.ted/embed;tile=1;sz=512x288;"><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgcolor="#ffffff" width="446" height="326" allowfullscreen="true" allowscriptaccess="always" flashvars="vu=http://video.ted.com/talk/stream/2011/Blank/KathrynSchulz_2011-320k.mp4&su=http://images.ted.com/images/ted/tedindex/embed-posters/KathrynSchulz-2011.embed_thumbnail.jpg&vw=432&vh=240&ap=0&ti=1126&lang=eng&introDuration=15330&adDuration=4000&postAdDuration=830&adKeys=talk=kathryn_schulz_on_being_wrong;year=2011;theme=how_the_mind_works;theme=new_on_ted_com;theme=master_storytellers;theme=a_taste_of_ted2011;event=A+Taste+of+TED2011;tag=Culture;tag=failure;"></embed></object><br /></div>asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0tag:blogger.com,1999:blog-2412539259025916215.post-45581150349528263862011-04-13T20:31:00.000-07:002011-04-14T16:12:34.412-07:00Health Information System as Data Conduit<div>A health information exchange is a device that moves medical information from one authorized entity to another. Ultimately, these "authorized entities" are people who need to examine medical records, but an authorized entity may also refer to a device, for example a computer you use to manipulate and work with medical records. Anything that holds a copy for a period of time falls under this category and must therefore follow the rules. Secure transmission is essentially a solved problem, and may be treated in a separate data transmission layer. While consent and authorization rules may get complicated, at any given time an entity may or may not have authorization to view a piece of medical information. When you request protected health information (PHI) it is delivered from a repository to you, across a network. While you are working with the PHI, you keep a copy in your sphere of control. The data exists in its secure repositories, and in your immediate control, and nowhere in between.</div><div><br /></div><div>Anywhere PHI may be stored and used must be secure. Yes, it's great to have all that important information zipping around everywhere, but first, do no harm. </div><div><br /></div><div>This is a diagram of the basic information flow.</div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0UtndkcsNwJsBEgXzM0IR3ZiZ_-q6ubwRKtBlZ-rnZrgDpYK-iq_G8XIFr1u_r-H82t_HlmExQ3vfvKpyoVWvzXjzC9Vbe0AVB0ls6IQDx1t4wpzS69OPVKQlsK8IXfNz2b0f8SNlwiY/s1600/Screen+shot+2011-04-13+at+8.36.05+PM.png"><img style="cursor: pointer; width: 400px; height: 365px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0UtndkcsNwJsBEgXzM0IR3ZiZ_-q6ubwRKtBlZ-rnZrgDpYK-iq_G8XIFr1u_r-H82t_HlmExQ3vfvKpyoVWvzXjzC9Vbe0AVB0ls6IQDx1t4wpzS69OPVKQlsK8IXfNz2b0f8SNlwiY/s400/Screen+shot+2011-04-13+at+8.36.05+PM.png" alt="" id="BLOGGER_PHOTO_ID_5595278185273686498" border="0" /></a><br /><p><br /></p><p>When you want to work with a patient's medical record, you request a copy from a repository (maybe more than one) and it is delivered from the repository to you without leaving a trace anywhere in between. No copies, no caching, nothing. When you're done, all that PHI disappears completely from you local system, leaving only those copies stored in secure repositories within the health care system.</p><p>A health care professional (provider) is authorized to view a particular piece of PHI for a period of time. When a device or person becomes "de-authorized" to view a record, for example when a provider "logs out," then that PHI should be gone, leaving nothing of itself anywhere in the system. If a patient changes providers, then the consent rules change accordingly. Most commonly, consent is given for a finite period of time and will expire unless explicitly renewed. (This medical record will self-destruct on July 13, 2011.) PHI always exists in the secure repository and the patient, that is to say the person whose medical record it is (the "owner" of that medical record), is permanently authorized to handle the PHI and give or take away consent.<br /></p><p>An ideal medical record, therefore, knows who is and isn’t authorized to see it at any given time, and is kind enough to politely decline to be transmitted or remove itself from an unauthorized system.</p>asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com2tag:blogger.com,1999:blog-2412539259025916215.post-79015277917100285282011-04-07T21:11:00.000-07:002011-04-08T09:41:07.824-07:00On Demand CCDs: Continuity of Care<style type="text/css"> p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px} span.s1 {letter-spacing: 0.0px} </style> <p class="p1"><span class="s1">At Axolotl, we dynamically generate template based CDA documents from various data sources. </span></p> <p class="p2"><span class="s1"></span><br /></p> <p class="p1"><span class="s1">One commonly transmitted document is the CCD, or Continuity of Care Document. This is a summary document, its intended purpose to have enough information, well organized, to preserve the continuity of patient care between different care providers. </span></p> <p class="p2"><span class="s1"></span><br /></p> <p class="p1"><span class="s1">The way I approach template-based CDA is to first look at the document as a container for health data, and construct the empty container first.</span></p> <p class="p2"><span class="Apple-style-span" style=";font-family:Georgia,serif;font-size:16px;" ><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWjd9iUJ7kWVQftKTbIyhNaiIzzd5YXtU1etgJEPeaRaasaz9AkgBwcPBY_DsNoVz_10-62mVQhZ0XWkKMy1bniWWDBw6o8ksao3bJmT5Z0sNZu_gxy0tWRxlYd2RdiedBjN4-6Nl9TuM/s1600/CCD-outline-1.gif"><img style="cursor: pointer; width: 400px; height: 293px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWjd9iUJ7kWVQftKTbIyhNaiIzzd5YXtU1etgJEPeaRaasaz9AkgBwcPBY_DsNoVz_10-62mVQhZ0XWkKMy1bniWWDBw6o8ksao3bJmT5Z0sNZu_gxy0tWRxlYd2RdiedBjN4-6Nl9TuM/s400/CCD-outline-1.gif" alt="" id="BLOGGER_PHOTO_ID_5593061288095066546" border="0" /></a></span><span class="s1"></span></p><div> <style type="text/css"> p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px} span.s1 {letter-spacing: 0.0px} </style> <p class="p1"><span class="s1">You can see it has, first, the necessary meta-data. Source, destination, attribution, author, the time period this document covers, any confidentiality instructions, and other information about this document. </span></p> <p class="p2"><span class="s1"></span><br /></p> <p class="p1"><span class="s1">Then it has the patient demographics and a list of all healthcare providers involved in the care described, and all doctors who provided care during the covered period. </span></p> <p class="p2"><span class="s1"></span><br /></p> <p class="p1"><span class="s1">The largest part is the clinical information itself. This document is a container, and the clinical section is meant to contain a list of clinical sections. </span></p></div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS9ZQvm2GdwSzyFJ9w54oRGHv2yintgEshw7Vr2hmjg8R6Cusirm-qIrCO2rrJaqo-UKAqoyw_0i7mSutN3Jf_CjJ4__fJogxIlBH7SvPod8s2Zqetzt8hyd-rgazIhwxVhMG5J0RXubQ/s1600/CCD-outline-2.gif"><img style="cursor: pointer; width: 400px; height: 293px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS9ZQvm2GdwSzyFJ9w54oRGHv2yintgEshw7Vr2hmjg8R6Cusirm-qIrCO2rrJaqo-UKAqoyw_0i7mSutN3Jf_CjJ4__fJogxIlBH7SvPod8s2Zqetzt8hyd-rgazIhwxVhMG5J0RXubQ/s400/CCD-outline-2.gif" alt="" id="BLOGGER_PHOTO_ID_5593061145250132066" border="0" /></a><div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS9ZQvm2GdwSzyFJ9w54oRGHv2yintgEshw7Vr2hmjg8R6Cusirm-qIrCO2rrJaqo-UKAqoyw_0i7mSutN3Jf_CjJ4__fJogxIlBH7SvPod8s2Zqetzt8hyd-rgazIhwxVhMG5J0RXubQ/s1600/CCD-outline-2.gif"></a> <style type="text/css"> p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica} span.s1 {letter-spacing: 0.0px} </style> <p class="p1"><span class="s1">A section can be thought of as a smaller CDA entity in and of itself, and just as the document is composed of smaller pieces. It has template identifiers, a title, a human readable narrative text in an html-like format, and a number of entries. Each entry represents a single clinical event.</span></p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRKaYTpW60hNIIm4BCWNGZrZL50Eg-r9eE5ryikqb5fVycpioE39V6nESPVs8A10X35nQcBzXA0_ESKxLr9UEW3pSKr_zpq4fTDPliURFeDk38B-A_osvOrJoK3R1UCVeqvr5PXyH5iFY/s1600/CCD-outline-3.gif"><img style="cursor: pointer; width: 400px; height: 293px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRKaYTpW60hNIIm4BCWNGZrZL50Eg-r9eE5ryikqb5fVycpioE39V6nESPVs8A10X35nQcBzXA0_ESKxLr9UEW3pSKr_zpq4fTDPliURFeDk38B-A_osvOrJoK3R1UCVeqvr5PXyH5iFY/s400/CCD-outline-3.gif" alt="" id="BLOGGER_PHOTO_ID_5593060770586871986" border="0" /></a></div><div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRKaYTpW60hNIIm4BCWNGZrZL50Eg-r9eE5ryikqb5fVycpioE39V6nESPVs8A10X35nQcBzXA0_ESKxLr9UEW3pSKr_zpq4fTDPliURFeDk38B-A_osvOrJoK3R1UCVeqvr5PXyH5iFY/s1600/CCD-outline-3.gif"></a> <style type="text/css"> p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica} span.s1 {letter-spacing: 0.0px} </style> <p class="p1"><span class="s1">You can subclass the section into the different categories of clinical information, thereby putting a complete summary into a list of clinical sections.</span></p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBHaC10KxOjD1YLuVEMnz8SCMjYwMk52tMEySCfsndPiP5mdSsDM-SM2mNPOwsxGV4WlIqoQYwH774FMlXNR8n-SqJlo0lEO47_7R8ZQNr5bdYRdvsqEYAEe6MLA-unzOYGmCFn5OUOgg/s1600/CCD-outline-4.gif"><img style="cursor: pointer; width: 400px; height: 293px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBHaC10KxOjD1YLuVEMnz8SCMjYwMk52tMEySCfsndPiP5mdSsDM-SM2mNPOwsxGV4WlIqoQYwH774FMlXNR8n-SqJlo0lEO47_7R8ZQNr5bdYRdvsqEYAEe6MLA-unzOYGmCFn5OUOgg/s400/CCD-outline-4.gif" alt="" id="BLOGGER_PHOTO_ID_5593060663553476562" border="0" /></a><br /></div><div><style type="text/css"> p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px} span.s1 {letter-spacing: 0.0px} </style> <p class="p1"><span class="s1">The entries, themselves, have a wide variety of forms, so we subclass them into different types of entries for the various sections, support entries for the support section, insurance plan entries for the payers section, allergy entries for the alerts section, and so on.</span></p> <p class="p2"><span class="s1"></span><br /></p> <p class="p1"><span class="s1">If you need to build a CCD, or any template-based CDA document, that’s an approach to think about. </span></p></div>asdfhttp://www.blogger.com/profile/06589403203498589751noreply@blogger.com0