Hi Jeff,

I'll just speak to the patient demographic (unchanging, e.g. Date of Birth, names of family members) and briefly mention a few more. Clinical management databases start with the demographic. The family address details are a concern if this a pediatric practice. In that case tracking multiple addresses may be important to the business rules of this office. Otherwise, the records are patient-centric; it is the patient's address details that are germaine. And it might be quite appropriate to track the legacy addresses and different phone and emergency numbers of the patient, so the individual's history of address and phone numbers in tables may indeed be appropriate. However I think the family address details are peripheral unless this is a family practice, or a psychologist's office, where family members have to be contacted from time to time.

Even in doctors' offices, sometimes less is more.

As far as the other data tables; Visits go in a separate encounter table (BP, etc). Lab results in a table related to encounters. I consider this a pretty small and simple project.

Four more points.
- To track the type of encounter (1st admit or outpatient) you can do the numeric as you were considering, but in the end your users would prefer if you give legible labels. And, not a trivial point, from experience, leave the MRN alone, and don't combine it in calculations. Sooner or later you will need to mask it, and any calcs you have designed around it will similarly need to be masked. - Create a complex unique key for each patient, not their MRN. Use something like an alpha character (P for example) & (non-modifiable) Serial number & GetAsNumber(CreationDate) & GetAsNumber (CreationTime), or use a more sophisticated approach. Whatever you do, never use the MRN as a primary key. The same principle applies to the other tables. - Be prepared for when they ask you to report on all the patient, encounter and lab data without names, MRN's or DOB's. Non-modifiable Serial numbers are handy in these situations, but don't confuse them with keys. - Never pull the solution you have created onto a laptop, or install it on your home computer if it has any real patient data. If the solution ends up on your computer, immediately do the drill: Purge, insert dummy data, trash the live version and make sure you empty your trash _securely_.

Best wishes,


Beatrice Beaubien, Ph.D.
i2eye, Toronto, Canada

FileMaker Business Alliance




On Jan 5, 2009, at 24:25:12, Corn Walker wrote:

On Jan 4, 2009, at 11:00 PM, Jason L DeLooze wrote in sum:

Sometimes de-normalization is a good thing.

Clearly the weariness is affecting Jason tonight. While his assertion that the portal may be meaningless has merit (after all, a shared address does not define a family unit) this does not imply de-normalization is the cure.

Indeed the structure Richard suggested - a single Address record with an association table linking individuals to that address - provides exactly the same opportunities a de-normalized structure might. The trick then lies in the presentation. Will the user be changing the address data directly or will there be an intermediary interface to manage the creation and updating of address data? The first option, direct address record manipulation, is subject to the flaws Jason raises. The second option need not be.

However, let's be clear: when you associate people to an "address" what we're really talking about here is a location. Harvey Summers can be reached by post at location "2 GE Road Building 37B, Schenectady, NY 12345". The "address" serves as a label for the location, which in turn is a hierarchy of locations.

What Jason alludes to is a larger problem which is primarily an issue of semantic carelessness and ill-considered application design. For the first part, when someone provides us with an "address" we often do not stop to consider what the nature of the address is. This properly begins with the address request: why did we solicit the address in the first place? Is it a residential address? An address at which one receives their post? The type of address being solicited is more important than the address itself because the type will impart meaning to the data which, lacking such, is nothing more than a location (Box 1234 in the 06776 Post Office in New Milford CT). When we receive an "address change" simply having the new address does not generally provide enough actionable information. Perhaps we can infer the type of action to take through comparative analysis of old and new addresses ("PO Box 1284 New Milford CT 06776" might indicate a data entry error) but it is more often the case that we simply need more information. What type of address is this for Harvey (obviously not a residential address)? Has his residence moved? Does he have any family members that receive their mail (or reside as the case may be) at the new address with him? The simple raising of these questions illuminates the insufficiency of the simple data model originally proposed. It also implies that there is a thing called "family members" which may or may not be independent of the residential and correspondence addresses.

The database designer, not having seriously considered the domain, often errs in the presentation of address-related information and does not put in the effort to create the data entry mechanisms that might invite the above questions. As a result he colludes with the organization in soliciting and storing information that is of dubious value even before entering the database.

That is to say, normalization has little to do with any of it. I can envision the same type of interface necessary for proper location updates stored in a non-normal form and reliant upon scripted updates to modify the location information for related persons. In fact, the "DRY" principle doesn't much apply to "person x is located at location y" information" and storing locations proper may not be within the scope of the system design. Ultimately the data architecture question needs be answered by a thorough investigation of the requirements, not an a priori presumption of how to properly structure and store "addresses."

Food for thought...


Cheers,
-corn



Corn Walker
The Proof Group
http://proofgroup.com/

Reply via email to