<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Glen McCallum</title>
	
	<link>http://glenmccallum.com</link>
	<description>Informatics, Standards, Software Engineering</description>
	<lastBuildDate>Fri, 29 Jul 2011 19:13:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/glenmccallum" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="glenmccallum" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>GSOC Student Evaluation</title>
		<link>http://glenmccallum.com/2011/05/16/gsoc-student-evaluation/</link>
		<comments>http://glenmccallum.com/2011/05/16/gsoc-student-evaluation/#comments</comments>
		<pubDate>Tue, 17 May 2011 05:52:46 +0000</pubDate>
		<dc:creator>Glen McCallum</dc:creator>
				<category><![CDATA[OpenMRS]]></category>

		<guid isPermaLink="false">http://glenmccallum.com/?p=238</guid>
		<description><![CDATA[The toughest part of being a GSOC mentor is evaluating student performance. At two points during the program a mentor must make a “Pass” or “Fail” judgement on the student’s performance. I believe that this is even more difficult because of the distributed working relationship and &#8230; it becomes complicated since it is tied to [...]]]></description>
			<content:encoded><![CDATA[<p>The toughest part of being a GSOC mentor is evaluating student performance. At two points during the program a mentor must make a “Pass” or “Fail” judgement on the student’s performance. I believe that this is even more difficult because of the distributed working relationship and &#8230; it becomes complicated since it is tied to the student’s summer stipend.</p>
<p>For guidance I searched the GSOC documentation and found a related FAQ.</p>
<blockquote><p>3. What are the goals of this program?<br />
Google Summer of Code has several goals:</p>
<ol>
<li> Create and release open source code for the benefit of all</li>
<li> Inspire young developers to begin participating in open source development</li>
<li>Help open source projects identify and bring in new developers and committers</li>
<li>Provide students the opportunity to do work related to their academic pursuits. during the summer (think &#8220;flip bits, not burgers&#8221;)</li>
<li>Give students more exposure to real-world software development scenarios (e.g., distributed development, software licensing questions, mailing-list etiquette)</li>
</ol>
</blockquote>
<p>OpenMRS has also published expectations for GSOC 2011: <a title="Summer Of Code 2011 - Expectations" href="https://wiki.openmrs.org/display/RES/Summer+Of+Code+2011#SummerOfCode2011-Expectations">Summer of Code 2011 &#8211; Expectations</a></p>
<h3>My Conclusion</h3>
<p>In my opinion, successful working code is not the only objective. Integration to the community is the primary objective with the students having a positive real-world experience.</p>
<p>Is it possible to have a project that meets all functional objectives but I still consider the project unsuccessful? Definitely, yes.</p>
<p>Is it possible to have a student project that does not accomplish the functional objectives but still I consider the project a huge success? Yes, absolutely.</p>
<h1>Evaluation Criteria</h1>
<p>The following are a list of activities that I consider important as a participant in the GSOC program.</p>
<h2>Blog</h2>
<p>Publish meaningful articles to your blog about OpenMRS, GSOC, and web development in Java. At least one post per week is acceptable.</p>
<p>My student sent me a detailed progress report this week. This is great, as I read it I was thinking that it would be good for a blog as two or three posts.</p>
<h2>Wiki</h2>
<p>The quality of the documentation on the wiki, particularly the project page, determines the future usefulness of your work.<br />
Types of documentation that the student should publish are:</p>
<ol>
<li> Project Management &#8211; timelines, milestones, progress to date</li>
<li>User documentation &#8211; &#8220;how-to&#8221; instructions</li>
<li>Technical design documentation &#8211; SSDs, domain models, flowcharts, Design Patterns, &#8230;</li>
</ol>
<p>This should be updated weekly and synchronized with the code you&#8217;re writing. At the end of the week there shouldn’t be features in your code that aren’t documented on the wiki (from a user perspective or a technical perspective).</p>
<h2>SVN</h2>
<p>If you’re working solo in an openmrs branch or module repository you should check in every time you work on the project. If I don&#8217;t see 3 or 4 commits from a student in a week then I&#8217;m wondering if there is a problem.</p>
<p>Helpful Links:</p>
<ul>
<li><a title="Requesting a Branch" href="https://wiki.openmrs.org/display/docs/Code+Repository#CodeRepository-Requestingabranch">Requesting a Branch</a></li>
<li><a title="How To Submit Code" href="https://wiki.openmrs.org/display/docs/How-To+Submit+Code">How to Submit Code</a></li>
</ul>
<h2>Mailing List</h2>
<p>Every one should be on the mailing list. If you&#8217;re encountering a steep learning curve, you can ask questions If you&#8217;re a strong student, you answer questions.  So either way I’d like to see a student participating on the mailing list several times (minimum 3) per week.</p>
<p>Often, the mailing list is more appropriate than contacting a mentor directly by email. The work we’re doing, the issues we encounter, and the decisions we take should be recorded and available publicly for future community members.</p>
<h2>Weekly Meetings</h2>
<p>Attendance is a must &#8230; and you have to talk. People are interested in what you have to say.<br />
Ask one question per developer call. Provide feedback once per developer call (you know, when Paul asks if anyone has any other thoughts on something &#8230; usually followed by moments of silence)</p>
<p>Helpful Links:</p>
<ul>
<li><a title="Weekly Developer Meeting" href="https://wiki.openmrs.org/display/docs/Weekly+Developer+Meeting">Weekly Developer Meeting</a></li>
<li><a title="Weekly Design Review Meeting" href="https://wiki.openmrs.org/display/docs/Weekly+Design+Review+Meeting">Weekly Design Review Meeting</a></li>
</ul>
<p><strong>Presentation</strong>. You will be evaluated on your presentation. I’m stating here that I’m available for my student to review it and practice together. I’ll listen to it every day during the week leading up to the presentation. The day of the presentation is too late to find out that:</p>
<ol>
<li>Your skype connection cuts in and out when you’re talking;</li>
<li>You speak English at warp speed and no one can understand;</li>
<li>Your screen is freezing on adobe connect and other participants can’t follow you;</li>
<li>You’ve prepared too much material and there is no time for questions;</li>
<li>Your presentation does not include suggested content, such as a live demo.</li>
</ol>
<p>These are all easy to work around and your mentor is glad to help you, myself included.</p>
<h2>Methods and Software Quality</h2>
<p>Bare minimum you must follow OpenMRS conventions and testing methods. In my opinion this is even more important than functional completeness of the project.<br />
Useful links:</p>
<ul>
<li><a title="Code Style" href="https://wiki.openmrs.org/display/docs/Code+Style">Code Style</a></li>
<li><a title="Coding Conventions" href="https://wiki.openmrs.org/display/docs/Coding+Conventions">Coding Conventions</a></li>
<li><a title="Unit Tests" href="https://wiki.openmrs.org/display/docs/Unit+Tests">Unit Tests</a></li>
<li><a title="Unit Testing Conventions" href="https://wiki.openmrs.org/display/docs/Unit+Testing+Conventions">Unit Testing Conventions</a></li>
<li><a title="Unit Testing with at Should Annotations" href="https://wiki.openmrs.org/display/docs/Unit+Testing+with+at+should+annotation">Unit Testing Annotations</a></li>
</ul>
<p>At the end of any week all code will adhere to these guidelines.</p>
<h2>Functional Objectives</h2>
<p>Does the code behave the way that is expected? Does it do what it is supposed to?</p>
<p>If you have a backup mentor that is also a domain user this is really helpful. Andy Kanter was great last year for this purpose; he’d load up the module and provide rich, functional feedback.</p>
<h1>Mentor Feedback Should be Weekly</h1>
<p>In my opinion, waiting until midterm is too long to provide feedback to the student. I believe that this should happen on a weekly basis. I noticed that openmrs gsoc organizers implemented a weekly report to leadership, but I believe this should be happening directly between mentor and student as well.</p>
<p>I’m preparing a weekly report to show my student which areas he’s doing the best in and which areas he can spend more time on &#8211; based on the evaluation criteria listed above. The midterm and final evaluations then become the accumulation of the weekly reports.</p>
<p>I like this approach because it shows the relative importance of community participation and other activities in comparison to simply “coding up new features”.</p>
<p>Participation should be natural, not last minute. I don’t want to see 5 svn commits within an hour on Sunday night; that&#8217;s meaningless.</p>
<h1>Ready. Set. Go.</h1>
<p>Less than a week until start date. I’m looking forward to the summer. I’m extremely pleased with student I’m working with. He’s got mad skills and great drive. We’re going to have a fun time.</p>
]]></content:encoded>
			<wfw:commentRss>http://glenmccallum.com/2011/05/16/gsoc-student-evaluation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Journal Reflection: Real Work Experience</title>
		<link>http://glenmccallum.com/2011/02/05/journal-reflection-work-experience/</link>
		<comments>http://glenmccallum.com/2011/02/05/journal-reflection-work-experience/#comments</comments>
		<pubDate>Sat, 05 Feb 2011 17:50:52 +0000</pubDate>
		<dc:creator>Glen McCallum</dc:creator>
				<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://glenmccallum.com/?p=203</guid>
		<description><![CDATA[I keep a journal. Perhaps this is one reason why I don&#8217;t publish on the blog as frequently as I could. I publish to my own personal platform almost daily. Here is a direct excerpt from earlier in the week describing a personal project I&#8217;m working on. &#8220;This morning I started on it as soon [...]]]></description>
			<content:encoded><![CDATA[<p>I keep a journal. Perhaps this is one reason why I don&#8217;t publish on the blog as frequently as I could. I publish to my own personal platform almost daily. Here is a direct excerpt from earlier in the week describing a personal project I&#8217;m working on.</p>
<blockquote><p><em>&#8220;This morning I started on it as soon as I got into the office. I was so into it that I didn&#8217;t even take off my coats. I sat here for 2 hours working with 2 coats on. Just now I have finally paused to remove them.&#8221;</em></p></blockquote>
<p>Sadly, I can&#8217;t remember the last time I felt this way about my work. What is wrong with this? It reminds me of a quote I heard.</p>
<blockquote><p><em>&#8220;The less a project or task or opportunity at work feels like the sort of thing you would do if this is just a job, the more you should do it.&#8221;</em></p></blockquote>
<p>Moving forward let&#8217;s look for opportunities that we&#8217;re naturally drawn to. When you wake up in the morning, what are you thinking about doing? Are you so excited to get started that you won&#8217;t even pause to take your coat off?</p>
]]></content:encoded>
			<wfw:commentRss>http://glenmccallum.com/2011/02/05/journal-reflection-work-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenMRS Spotlight Update</title>
		<link>http://glenmccallum.com/2010/11/30/openmrs-spotlight-update/</link>
		<comments>http://glenmccallum.com/2010/11/30/openmrs-spotlight-update/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 19:58:55 +0000</pubDate>
		<dc:creator>Glen McCallum</dc:creator>
				<category><![CDATA[OpenMRS]]></category>

		<guid isPermaLink="false">http://blog.glenmccallum.com/?p=180</guid>
		<description><![CDATA[I just wanted to update the community and let you know that I&#8217;m doing legwork for the next two OpenMRS community spotlights. To date, I&#8217;ve published a couple of interviews and received some positive feedback. I&#8217;m trying to release these on a bi-weekly basis. But there is a fair amount of legwork in scheduling, editing, [...]]]></description>
			<content:encoded><![CDATA[<p>I just wanted to update the community and let you know that I&#8217;m doing legwork for the next two OpenMRS community spotlights.</p>
<p>To date, I&#8217;ve published a couple of interviews and received some positive feedback.</p>
<p>I&#8217;m trying to release these on a bi-weekly basis. But there is a fair amount of legwork in scheduling, editing, and publishing. I missed one cycle on the week of American Thanksgiving. Perhaps, due to the upcoming holiday season it&#8217;s been harder to schedule interviews lately.</p>
<p>Please drop me a line if you have suggestions on who I can speak with. Or just let me know what you think of the interviews. I&#8217;d love to hear from you. <a href="mailto:mcglen@gmail.com">mcglen@gmail.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://glenmccallum.com/2010/11/30/openmrs-spotlight-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenMRS Spotlight on Jonathan Galingan (National Telehealth Centre, Philippines)</title>
		<link>http://glenmccallum.com/2010/11/12/openmrs-spotlight-on-jonathan-galingan-national-telehealth-centre-philippines/</link>
		<comments>http://glenmccallum.com/2010/11/12/openmrs-spotlight-on-jonathan-galingan-national-telehealth-centre-philippines/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 16:13:04 +0000</pubDate>
		<dc:creator>Glen McCallum</dc:creator>
				<category><![CDATA[OpenMRS]]></category>

		<guid isPermaLink="false">http://blog.glenmccallum.com/?p=175</guid>
		<description><![CDATA[OpenMRS Spotlight &#8211; Jonathan Galingan (National Telehealth Centre, Philippines) from Glen McCallum. How is OpenMRS being used in Asia? When I heard that OpenMRS is being used in two hospitals in the Philippines I just had to find out more. Jonathan Galingan of the National Telehealth Centre fills us in on the details.]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/16742535?portrait=0" width="600" height="450" frameborder="0"></iframe></p>
<p><a href="http://vimeo.com/16742535">OpenMRS Spotlight &#8211; Jonathan Galingan (National Telehealth Centre, Philippines)</a> from <a href="http://blog.glenmccallum.com/">Glen McCallum</a>.</p>
<p>How is OpenMRS being used in Asia?</p>
<p>When I heard that OpenMRS is being used in two hospitals in the Philippines I just had to find out more. Jonathan Galingan of the National Telehealth Centre fills us in on the details.</p>
]]></content:encoded>
			<wfw:commentRss>http://glenmccallum.com/2010/11/12/openmrs-spotlight-on-jonathan-galingan-national-telehealth-centre-philippines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenMRS Spotlight on Joaquin Blaya (ehealth Systems)</title>
		<link>http://glenmccallum.com/2010/10/29/openmrs-joaquinblaya/</link>
		<comments>http://glenmccallum.com/2010/10/29/openmrs-joaquinblaya/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 19:00:15 +0000</pubDate>
		<dc:creator>Glen McCallum</dc:creator>
				<category><![CDATA[OpenMRS]]></category>

		<guid isPermaLink="false">http://blog.glenmccallum.com/?p=162</guid>
		<description><![CDATA[I came up with this idea for the OpenMRS community. I set up a video interview to learn about how people are using OpenMRS. The first one is Joaquin Blaya in Chile.  I learned a lot and had fun doing it so I&#8217;d like to do another. Any suggestions as to who I should invite [...]]]></description>
			<content:encoded><![CDATA[<p>I came up with this idea for the OpenMRS community. I set up a video interview to learn about how people are using OpenMRS. The first one is Joaquin Blaya in Chile.  I learned a lot and had fun doing it so I&#8217;d like to do another. Any suggestions as to who I should invite next?</p>
<p><iframe src="http://player.vimeo.com/video/16301825?title=0&amp;byline=0&amp;portrait=0" width="400" height="300" frameborder="0"></iframe>
<p><a href="http://vimeo.com/16301825">OpenMRS Spotlight &#8211; Joaquin Blaya (eHealth Systems)</a>.</p>
<p>How did this recent PhD graduate living in Boston end up founding a tech startup in Chile?</p>
<p>When I heard Joaquin Blaya is establishing a company around OpenMRS I had a ton of questions. He&#8217;s answered them here for all of us.</p>
]]></content:encoded>
			<wfw:commentRss>http://glenmccallum.com/2010/10/29/openmrs-joaquinblaya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advanced Systems Architecture – Master Data Management</title>
		<link>http://glenmccallum.com/2010/10/07/advanced-systems-architecture-master-data-management/</link>
		<comments>http://glenmccallum.com/2010/10/07/advanced-systems-architecture-master-data-management/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 20:57:31 +0000</pubDate>
		<dc:creator>Glen McCallum</dc:creator>
				<category><![CDATA[OpenMRS]]></category>

		<guid isPermaLink="false">http://blog.glenmccallum.com/?p=154</guid>
		<description><![CDATA[I’m involved in an email thread that has spawned some deeper thinking on the topic of Master Data Management in OpenMRS. The question at the heart of the discussion is, can OpenMRS be used to manage a domain-specific concept dictionary? I believe there is a more fundamental question here: should OpenMRS be used to manage [...]]]></description>
			<content:encoded><![CDATA[<p>I’m involved in an email thread that has spawned some deeper thinking on the topic of Master Data Management in OpenMRS. The question at the heart of the discussion is, can OpenMRS be used to manage a domain-specific concept dictionary?</p>
<p>I believe there is a more fundamental question here: <em>should</em> OpenMRS be used to manage reference data? It is not the first time I&#8217;ve seen OpenMRS suggested as a solution to manage non-patient information.</p>
<h2>Definitions</h2>
<div>
<ul>
<li><a title="Reference Data" href="http://en.wikipedia.org/wiki/Reference_data" target="_blank">Reference Data</a> &#8211; are data describing a physical or virtual object and its properties</li>
<li><a title="Master Data Management" href="http://en.wikipedia.org/wiki/Master_Data_Management">Master Data Management</a> &#8211; comprises a set of processes and tools that consistently defines and manages the non-transactional data entities of an organization</li>
</ul>
</div>
<p>To me, the introduction of the term “Master” indicates that the reference data is depended on by more than one instance of an application or by several different applications. For example, Terminology Management is one component of Master Data Management for a healthcare organization.</p>
<h2>Scenarios</h2>
<p>For a one-stop-shop (monolithic system architecture) where all of your data capture and reporting is done on a single system it is fine to manage reference data in that same location. I believe this is the case with most OpenMRS installations.</p>
<div>
<p>However, if you’re moving towards a more complex architecture &#8211; say, several instances of openMRS for data capture at different sites or a separate data warehouse for aggregation and reporting &#8211; then a thoughtful approach to master data management is necessary. You have to ensure that each application uses reference data consistently. This becomes labour intensive when it is maintained using the copy-paste method Such was the case with a service provider management repository I saw a couple of years ago &#8211; all of the physician information had to be manually transfered into the main hospital system.</p>
<p>If you’re maintaining reference data for the purpose of re-distribution &#8211; to encourage best practice adoption and standardization then you have a whole different set of use cases. However, currently many good data structures and some APIs exist in OpenMRS.</p>
</div>
<h2>Evidence that this is an issue in OpenMRS</h2>
<div>As of today there are several plugins that attempt to adress this issue either partially or fully:</div>
<div>
<ol>
<li><a title="Concept Proposal Module" href="http://wiki.openmrs.org/display/projects/Concept+Proposal+Module" target="_blank">Concept Proposal Module</a></li>
<li><a title="Form Import Export Module" href="http://wiki.openmrs.org/display/docs/FormImportExport+Module" target="_blank">Form Import Export Module</a></li>
<li><a title="Integration of OpenMRS with OpenEMPI Module" href="http://wiki.openmrs.org/display/projects/Integration+of+OpenMRS+with+OpenEMPI+Module" target="_blank">Integration of OpenMRS with OpenEMPI Module</a>:</li>
<li><a title="Metadata Sharing Module" href="http://wiki.openmrs.org/display/docs/Metadata+Sharing+Module" target="_blank">Metadata Sharing Module</a></li>
<li><a title="Remote Data Transfer Module" href="http://wiki.openmrs.org/display/docs/Remote+Data+Transfer+Module" target="_blank">Remote Data Transfer Module</a></li>
<li><a title="Spreadsheet Import Module" href="http://wiki.openmrs.org/display/docs/Spreadsheet+Import+Module" target="_blank">Spreadsheet Import Module</a></li>
<li><a title="Sync Module" href="http://wiki.openmrs.org/display/docs/Sync+Module" target="_blank">Sync Module</a></li>
</ol>
</div>
<div>
<p>A ton of development effort has been invested to solve this in a fragmented manner.</p>
<h2>Issues</h2>
<p>A huge challenge is that there are no freely-available master data management tools. In addition, “integration” (read development effort) would be required for such an applicaiton to work with openmrs.</p>
<p>This is complicated by the fact that reference data management tools in openmrs are quite strong. Take concept management as an example. OpenMRS has a robust, central concept dictionary. The management tools are pretty good &#8211; you can manage synonyms, references, descriptions and definitions in multiple languages.</p>
<p>Moreover, anyone who moves in this direction may become frustrated because some of the primary stakeholders operate OpenMRS in a fairly simple deployment model. Supporting an advanced architecture may not rank high on the list of core enhancement priorities.</p>
<h2>Wrap Up</h2>
<p>I’ve heard some chatter about Chris Seebregt’s presentation at the 2010 implementers meeting on enterprise architecture &#8211; although I have yet to see the slides. OpenMRS is being considered as one component in a larger systems architecture. Master data management is increasing in importance.</p>
<p>As for using OpenMRS as a tool to manage reference data, I&#8217;m unsure. Certainly there&#8217;s a solid data model and service layer with mechanisms for security and auditing. But it is necessary to be clear on the requirements and the difference between a master data repository and point of service application. Personally, I&#8217;d investigate the possibility of a new application built on top of the OpenMRS application server.</p>
<p>How are others managing their reference data?</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://glenmccallum.com/2010/10/07/advanced-systems-architecture-master-data-management/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Close Encounters of the Electronic Medical Record System Kind</title>
		<link>http://glenmccallum.com/2010/09/03/close-encounters-of-the-electronic-medical-record-system-kind/</link>
		<comments>http://glenmccallum.com/2010/09/03/close-encounters-of-the-electronic-medical-record-system-kind/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 22:22:47 +0000</pubDate>
		<dc:creator>Glen McCallum</dc:creator>
				<category><![CDATA[OpenMRS]]></category>
		<category><![CDATA[clinical encounter]]></category>
		<category><![CDATA[enounter]]></category>
		<category><![CDATA[medical encounter]]></category>

		<guid isPermaLink="false">http://blog.glenmccallum.com/?p=139</guid>
		<description><![CDATA[Last week I noticed this email to the openmrs developers list asking some extremely relevant and practical questions about modeling clinical data in openmrs. In my project, I need to model a cancer treatment summary form in OpenMRS. For example, a chemotherapy treatment summary form may contain such fields as name and address of institution [...]]]></description>
			<content:encoded><![CDATA[<h3><span style="font-weight: normal; font-size: 13px;">Last week I noticed <a href="http://openmrs-mailing-list-archives.1560443.n2.nabble.com/How-do-I-model-a-cancer-treatment-summary-form-with-OpenMRS-td5461934.html">this email</a> to the openmrs developers list asking some extremely relevant and practical questions about modeling clinical data in openmrs.</span></h3>
<blockquote><p><em>In my project, I need to model a cancer treatment summary form in OpenMRS. For example, a chemotherapy treatment summary form may contain such fields as name and address of institution where chemotherapy was given, oncologist&#8217;s name, nurse or nurse practitioner&#8217;s name, and up to eight medications used in the treatment. Each medication has five fields that needs to be filled out: name of medication, dose per administration, number of doses, cumulative dose and how given.</em></p>
<p><em> My questions are: </em></p>
<ol>
<li><em> Is it OK to model this type of form as a single OpenMRS encounter (i.e. chemotherapy treatment encounter)?</em></li>
<li><em> </em><em>Is there any other (and better) way to model this type of form using existing OpenMRS entities?</em></li>
<li><em> </em><em>Can we model each chemotherapy medication as a separate obs and add five notes to represent each of the medication&#8217;s five attributes (i.e. name, dose, etc) respectively?</em></li>
<li><em> </em><em>Is there a better way to model an observation with multiple attributes (e.g. an OpenMRS data type with multiple sub-</em></li>
<li><em> </em><em>Is there a way to link one encounter with another and how? e.g. I may want to model an aggregated cancer treatment summary form  as an encounter, which contains all of the treatments received by a patient, and link that form to multiple individual cancer treatment forms modeled also as an encounter.</em></li>
</ol>
</blockquote>
<p>When I read this I thought to myself, maybe this author has a background similar to mine with large vendor-supplied clinical information systems and integrated health networks. There&#8217;s something here that is subtly different to OpenMRS – the <strong>Encounter definition</strong>.</p>
<h1>Encounters used by vendors</h1>
<p>Typically, the encounter is the central entity in a large clinical information system. It roughly maps to a visit/stay and aggregates everything that transpired during that time – orders, procedures, observations, charges, claims, etc. Types of encounters can include: outpatient, lab clinic, emergency, outpatient surgery, inpatient, etc.</p>
<p>The encounter starts at the admission date/time and ends upon discharge. There is one main encounter per admission. For some outpatient encounters I’ve seen the encounter start when the patient presents at the desk for check-in then auto-discharge at midnight.</p>
<p>I’ve seen a few clinical areas diverge from this definition. For example, some clinicians view an encounter spanning multiple visits for a specific treatment or problem – like in mental health or kidney dialysis. Sometimes these are modeled as a “recurring encounter” in the clinical information system – but on the information level each is a single encounter and aggregated into some group structure.</p>
<h1>Encounters in OpenMRS</h1>
<p>Burke and Darius led a <a href="http://wiki.openmrs.org/display/RES/2009+Implementers+Group+Meeting+Program+Episodes+of+Care">break out session</a> at the 2009 implementers meeting. I wasn’t there but I believe that the notes represent the understanding and the direction of the community.</p>
<h3>Encounter</h3>
<ul>
<li>“<em>an encounter is an instant of creating data and why its 1 to 1 with forms</em>”</li>
<li>“<em>Encounter has a single date/time</em>”
<ul>
<li>GM&gt; An encounter represents the interaction between a clinician and a patient. If a patient sees more than one clinician during a visit then there was more than one encounter, even it was for the same problem or part of the same program. Typically, at the sites, each workflow is optimized to have the clinican document the encounter on a single form which is later recorded in the system by a data entry clerk.</li>
<li>GM&gt; An encounter is associated with no more than one visit and no more than one episode of care.</li>
</ul>
</li>
</ul>
<h3>Visit</h3>
<ul>
<li>“<em>A visit happens from admission to discharge. For outpatient visits, the discharge happens automatically at the end of the day.</em>”</li>
<li>“<em>Visit has start/stop</em>”
<ul>
<li>GM&gt; A visit represents the interaction between the patient and the clinic/facility. A patient comes to a location and has one or more encounters with clinicians.</li>
<li>GM&gt; A visit can be associated with more than one episode of care. A visit can be associated with more than one encounter.</li>
</ul>
</li>
</ul>
<h3>Episode</h3>
<ul>
<li>“<em>Episode of care is a span of time where some data was collected, orders placed, encounters happened, etc</em>”</li>
<li>“<em>Episode has start/stop</em>”</li>
<li>“<em>An episode of care is a program workflow</em>”. <em>“If an outpaitent comes to a clinic for both an tb visit and hiv visit&#8230;is that two Visit entries or one? It should be one visit and the patient is in two different episodes of care.”</em>
<ul>
<li>GM&gt; Episodes span multiple visits and have a purpose/program. An episode of care is typically associated with more than one visit. An episode of care is usually associated with more than one encounter.</li>
</ul>
</li>
</ul>
<h1>Encounters defined by standards</h1>
<p><a href="http://www.astm.org/Standards/E1384.htm">ASTM defines</a> an encounter as “<em>(1) an instance of direct provider/practitioner to patient interaction, regardless of the setting, between a patient and a practitioner vested with primary responsibility for diagnosing, evaluating or treating the patient’s condition, or both, or providing social worker services. (2) A contact between a patient and a practitioner who has primary responsibility for assessing and treating the patient at a given contact, exercising independent judgment.&#8221;</em></p>
<p><em> </em></p>
<p><a href="http://publicaa.ansi.org/sites/apdl/hitspadmin/Reference%20Documents/HITSP%20Glossary.pdf">HITSP defines</a> an encounter as: “<em>An encounter between a patient and a healthcare practitioner or healthcare provider (e.g. hospital or clinic) for clinical care. May also be used to refer to an encounter between a patient and a physician or other practitioner, as distinguished from ancillary services, such as lab tests or vaccinations.”</em></p>
<h1>Conclusion</h1>
<p>I believe the difference in vendor versus openmrs definitions for encounter lies in the subtle ambiguity of the HITSP definition, “an encounter between a patient and a healthcare practitioner&#8230;” – the OpenMRS defintion &#8211; … “an encounter between a patient and &#8230; or  healthcare provider (e.g. hospital or clinic)” – the vendor definition. Certainly the openmrs understanding of encounter is more consistent with the ASTM description.</p>
<p>I hope this adds some clarity to those new to the community. Perhaps I’ve erred in my interpretation of the breakout minutes from the implementers meeting, or perhaps the core openmrs group has altered their way of thinking since then. I welcome any clarification or correction in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://glenmccallum.com/2010/09/03/close-encounters-of-the-electronic-medical-record-system-kind/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>My GSOMT – Google Summer of Mentor Training</title>
		<link>http://glenmccallum.com/2010/09/01/gsoc-mentor-training/</link>
		<comments>http://glenmccallum.com/2010/09/01/gsoc-mentor-training/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 20:59:54 +0000</pubDate>
		<dc:creator>Glen McCallum</dc:creator>
				<category><![CDATA[OpenMRS]]></category>

		<guid isPermaLink="false">http://blog.glenmccallum.com/?p=123</guid>
		<description><![CDATA[Over the summer I&#8217;ve learned a lot participating in GSOC. Now that the program is over, I&#8217;m finally ready to start being a mentor. Here are a couple of things that I learned: 1. Get involved early &#8211; provide unlimited feedback on proposals Get on IRC as much as possible, especially early on. Get to [...]]]></description>
			<content:encoded><![CDATA[<p>Over the summer I&#8217;ve learned a lot participating in GSOC. Now that the program is over, I&#8217;m finally ready to start being a mentor.</p>
<p>Here are a couple of things that I learned:</p>
<h2>1. Get involved early &#8211; provide unlimited feedback on proposals</h2>
<p>Get on IRC as much as possible, especially early on. Get to know the students. Tell the students that email you to come on IRC. Start teaching them about the domain, about the product, about the technology stack. Treat every student like they are already in the program. Indeed, a student&#8217;s willingness to socialize can be an indicator of integration with the community.</p>
<p>Customize the proposal template &#8211; make it your own. Add what you need &#8211; UI Mockups, requirements, evaluation framework, project plan. Try doing all your requirements analysis with the students during the application phase. Have students send you their proposal a week early and use it as a tool to teach &#8230;  tell them where more detail is needed.</p>
<p>It was surprising how many students just submitted a boiler plate application. I rejected these immediately. To be shortlisted the application had to include at least a paragraph about the specific project (even if it was regurgitated from the project description).</p>
<h2>2. Set aside time every day for the project</h2>
<p>Technology, time zones, language, school, and work schedules made status meetings difficult early in the summer.</p>
<p>At the midterm evaluation point, we started checking in daily on irc Monday-Saturday. During the 1/2 hour of daily check-in my student had complete access to me. It was a time that I could make the project the focus of my attention. I believe that this communicated to the student that people are interested in the project &#8230; that the work is important. When I made it a priority the student responded in the same way.</p>
<p>&#8211;</p>
<p>Obviously, this is not everything I learned. I grew a great deal during my participation but some of it was personal growth. I feel far more prepared now to be a mentor than I was at the onset of the program. Perhaps I will be invited to participate again next year.</p>
]]></content:encoded>
			<wfw:commentRss>http://glenmccallum.com/2010/09/01/gsoc-mentor-training/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GSOC Project Iteration Plan</title>
		<link>http://glenmccallum.com/2010/05/25/gsoc-project-iteration-plan/</link>
		<comments>http://glenmccallum.com/2010/05/25/gsoc-project-iteration-plan/#comments</comments>
		<pubDate>Tue, 25 May 2010 22:36:01 +0000</pubDate>
		<dc:creator>Glen McCallum</dc:creator>
				<category><![CDATA[OpenMRS]]></category>
		<category><![CDATA[Concept Proposal Module]]></category>
		<category><![CDATA[GSOC]]></category>

		<guid isPermaLink="false">http://blog.glenmccallum.com/?p=92</guid>
		<description><![CDATA[So I&#8217;ve put some thought into the best way to structure the summer. Personally, I&#8217;ve had the best experiences doing iterative development.  Firzhan is keen to try it out. So here my proposed iteration plan: I&#8217;m planning a 12 day cycle. It starts on a Monday and ends on a Saturday. The 13th day is [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve put some thought into the best way to structure the summer. Personally, I&#8217;ve had the best experiences doing iterative development.  Firzhan is keen to try it out. So here my proposed iteration plan:</p>
<p><a href="http://blog.glenmccallum.com/wp-content/uploads/2010/05/gsoc-it-plan.jpg"><img class="aligncenter size-full wp-image-93" title="gsoc-it-plan" src="http://blog.glenmccallum.com/wp-content/uploads/2010/05/gsoc-it-plan.jpg" alt="" width="570" height="259" /></a></p>
<p>I&#8217;m planning a 12 day cycle. It starts on a Monday and ends on a Saturday. The 13th day is a day of grace. There will be 5 iterations over the whole summer.</p>
<p>Programming is a smaller part of creating good software.</p>
]]></content:encoded>
			<wfw:commentRss>http://glenmccallum.com/2010/05/25/gsoc-project-iteration-plan/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Project Documentation: OpenMRS GSOC</title>
		<link>http://glenmccallum.com/2010/05/14/project-documentation-openmrs-gsoc/</link>
		<comments>http://glenmccallum.com/2010/05/14/project-documentation-openmrs-gsoc/#comments</comments>
		<pubDate>Fri, 14 May 2010 18:04:24 +0000</pubDate>
		<dc:creator>Glen McCallum</dc:creator>
				<category><![CDATA[OpenMRS]]></category>
		<category><![CDATA[Concept Proposal Module]]></category>
		<category><![CDATA[GSOC]]></category>

		<guid isPermaLink="false">http://blog.glenmccallum.com/?p=64</guid>
		<description><![CDATA[“Documentation is a little bit like broccoli; we all know it’s good for us, but many of us avoid it.” &#8211; Samantha Bailey Over the past week I&#8217;ve been thinking about the bare minimum set of documentation needed for the Concept Proposal Module. I strongly feel that some documentation is necessary; a good set of documentation will make [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<div>
    <em>“Documentation is a little bit like broccoli; we all know it’s good for us, but many of us avoid it.” </em>&#8211; Samantha Bailey
  </div>
</blockquote>
<div>Over the past week I&#8217;ve been thinking about the bare minimum set of documentation needed for the Concept Proposal Module. I strongly feel that some documentation is necessary; a good set of documentation will make a module much easier to adopt.<br />
<br />
<a href="http://blog.glenmccallum.com/wp-content/uploads/2010/05/documentation.jpg"><img class="aligncenter size-full wp-image-65" title="documentation" src="http://blog.glenmccallum.com/wp-content/uploads/2010/05/documentation.jpg" alt="" width="570" height="379" /></a><strong> </strong><br />
<br />
I think most projects should include, at least, the following artifacts:<br />
<strong>1. Project Overview</strong></p>
<ul>
<li>Non-technical audience</li>
<li>Background / Problem/ Rationale &#8211; what problem is the module solving?</li>
<li>Scope and Deliverables</li>
<li>Project Schedule</li>
<li>Lives on the wiki &#8211; largely written at the beginning of the project but continues to evolve</li>
</ul>
<p><strong>2. Requirements Specification</strong></p>
<ul>
<li>Non-technical and technical audience</li>
<li>Functional Requirements &#8211; Specifies what the community needs the module to do (in detail). Use cases, BPMN workflow diagrams, UI mockups.</li>
<li>Non-functional requirements &#8211; technology assumptions, constraints, and dependencies. URPS+ Usability, Reliability, Performance, Scalability, + &#8230; what version of OpenMRS the module is targeting.</li>
<li>Lives on the wiki &#8211; written at a high-level at the beginning of the project. Increases in detail with each iteration.</li>
</ul>
<p><strong>2. Technical Design</strong></p>
<ul>
<li>Technical audience &#8211; future developers and maintainers</li>
<li>Given that it is a module there are many architectural and design decisions already made</li>
<li>This artifact describes any module specific design decisions or directions that were taken</li>
<li>Lives on the wiki</li>
</ul>
<p><strong>3. JavaDoc</strong></p>
<ul>
<li>Technical audience</li>
<li>Describes detailed behaviour of the code</li>
<li>Lives in the source files &#8211; perhaps compiled and bundled as html with each release</li>
<li>Expands with every iteration</li>
</ul>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;"><strong>4. User Guide / Help Files</strong></span></strong></span></strong></p>
<ul>
<li>Technical  - Installation, setup, configuration</li>
<li>Users  - should follow desired business goal that the module is helping the user meet (i.e. Use Cases)</li>
<li>Lives on the wiki &#8211; expands incrementally with each release</li>
<li>Is there a context-sensitive help framework built into OpenMRS?</li>
<li>Time-permitting &#8211; some screen-capture video tutorials with audio</li>
</ul>
<p><strong><em>What do other mentors / projects recommend?</em></strong>
</div>
]]></content:encoded>
			<wfw:commentRss>http://glenmccallum.com/2010/05/14/project-documentation-openmrs-gsoc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

