<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US"> <head> <title> ConceptAddress < Gnumed < Foswiki</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="robots" content="noindex" /> <link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss.html" /> <link rel="icon" href="../rsrc/System/ProjectLogos/favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="../rsrc/System/ProjectLogos/favicon.ico" type="image/x-icon" /> <link rel="alternate" href="http://wiki.gnumed.de/bin/edit/Gnumed/ConceptAddress?t=1362919412" type="application/x-wiki" title="edit ConceptAddress" /> <meta name="description" content="ConceptAddress" /> <!--[if IE]></base><![endif]--> <style type="text/css" media="all"> @import url('../rsrc/System/SkinTemplates/base.css'); </style> <style type="text/css" media="all"> @import url('../rsrc/System/SkinTemplates/default.css'); </style> <!--[if IE]><style type="text/css" media="screen"> pre { overflow-x:auto; padding-bottom:expression(this.scrollWidth > this.offsetWidth ? 16 : 0); } </style> <![endif]--> <meta name="foswiki.PUBURL" content="http://wiki.gnumed.de/pub" /> <!-- PUBURL --> <meta name="foswiki.PUBURLPATH" content="/pub" /> <!-- PUBURLPATH --> <meta name="foswiki.SCRIPTSUFFIX" content="" /> <!-- SCRIPTSUFFIX --> <meta name="foswiki.SCRIPTURL" content="http://wiki.gnumed.de/bin" /> <!-- SCRIPTURL --> <meta name="foswiki.SCRIPTURLPATH" content="/bin" /> <!-- SCRIPTURLPATH --> <meta name="foswiki.SERVERTIME" content="10%20Mar%202013%20-%2013:43" /> <!-- SERVERTIME --> <meta name="foswiki.SKIN" content="twikinet%2c%20pattern" /> <!-- SKIN --> <meta name="foswiki.SYSTEMWEB" content="System" /> <!-- SYSTEMWEB --> <meta name="foswiki.TOPIC" content="ConceptAddress" /> <!-- TOPIC --> <meta name="foswiki.USERNAME" content="KarstenHilbert" /> <!-- USERNAME --> <meta name="foswiki.USERSWEB" content="Main" /> <!-- USERSWEB --> <meta name="foswiki.WEB" content="Gnumed" /> <!-- WEB --> <meta name="foswiki.WIKINAME" content="KarstenHilbert" /> <!-- WIKINAME --> <meta name="foswiki.WIKIUSERNAME" content="Main.KarstenHilbert" /> <!-- WIKIUSERNAME --> <meta name="foswiki.NAMEFILTER" content="%5b%5cs%5c*%3f~%5e%5c%24%40%25%60%22'%26%3b%7c%3c%3e%5c%5b%5c%5d%23%5cx00-%5cx1f%5d" /> <!-- NAMEFILTER --><!--JQUERYPLUGIN::FOSWIKI::META--> <script type='text/javascript' src='../rsrc/System/JQueryPlugin/jquery-1.4.3.js'></script><!--JQUERYPLUGIN--> <script type='text/javascript' src='../rsrc/System/JQueryPlugin/plugins/livequery/jquery.livequery.js'></script><!--JQUERYPLUGIN::LIVEQUERY--> <script type='text/javascript' src='../rsrc/System/JQueryPlugin/plugins/foswiki/jquery.foswiki.js'></script><!--JQUERYPLUGIN::FOSWIKI--> <script type='text/javascript' src='../rsrc/System/JSTreeContrib/jquery.jstree.js'></script><!--JQUERYPLUGIN::JSTREE--> </head> <body class=""><div class="foswikiPage"> <a name="PageTop"></a> <p></p> <p></p> <h1><a name="The_Concept_of_42address_42"></a> The Concept of <strong>address</strong> </h1> <p></p> The important point to realize here is that an <em>address</em> is nothing but a convenient label for a <em>location</em> with an intended purpose of use for said location. In other words, addresses are the names of <em>locations intended for non-random stay</em>. It doesn't matter who - or in fact if anyone - actually lives there. <p></p> Based upon this GNUmed handles addresses conceptually independant of people who might live there. This means one address - it being a name for a geographical location - should only ever be stored once in the database. People living there are then linked to that address by means of a two-way assocation table. That table allows attaching a meaning to that association such as <em>work</em>, <em>home</em>, etc. <p></p> This in turn means, that there is no middleware primitive along the lines of <code>patient.change_address()</code> or <code>patient.delete_address()</code>. There rather are a few primitives operating on the above assumptions upon which higher-level functionality is built: <p></p> <h3><a name="A_61business_47gmDemographics.py_61"></a> <code>business/gmDemographics.py</code> </h3> <p></p> <ul> <li> class <code>cAddress</code> encapsulates an address in its own right </li> <li> class <code>cPatientAddress</code> encapsulates an address associated with a purpose and a patient </li> <li> method <code>create_address()</code> </li> <li> method <code>delete_address()</code> </li> <li> method <code>address_exists()</code> </li></ul> <p></p> The following higher level functions use the above primitives: <p></p> <h3><a name="A_61business_47gmPerson.py_61"></a> <code>business/gmPerson.py</code> </h3> <p></p> <ul> <li> <code>cIdentity.get_addresses()</code> </li> <li> <code>cIdentity.link_address()</code> </li> <li> <code>cIdentity.unlink_address()</code> </li></ul> <a name="TopicEnd"></a> <p></p> <p></p> <p></p> <p></p> </div> </body></html>