December 31, 2003

Data Loading a Warehouse

One of the problems with interfacing hospital data from system to system and all over the place is data integrity and data ownership. Ensuring synchronization between all of the systems is several peoples full time job, especially when the data is being evaluated for reporting, quality initiatives, and patient evaluation. I’ve always thought a data warehouse including the clinical, labs, pathology, orders, registration, billing, abstracting, case management, denials, and other system data stores is a great place to centralize the data. The structure of a data warehouse is dimensional with fact tables, so data can be analyzed over dimension compared with facts. I think it would be an easier mechanism to utilize for reporting, and allow the users to create reports adhoc.

One of the obstacles has always been the data load, finding a tool that can accurately extract the data from the operational data stores, and place the transformed data into the data warehouse. Cold Fusion could be that tool, especially with the plethora of JDBC drivers. CF is excellent at manipulating data, and extracting data, and CF can connect to multiple data sources. Then load could run off of stored procedure in an ORACLE or DB2 db, using the files from CF extracted from the system, or a temporary SQL Server DB loading area. Does anyone use CF for the extraction process to a Data Warehouse? I think it would be a good tool to consider.

Posted by Elyse at 5:38 AM | Comments (0) | TrackBack

New Hospital/Macromedia Blog

Please welcome Dave Ross to the blog world. :)

He's out of the gate with a BANG! He has compared CF Frameworks, mach ii, fusebox, on-top, in a load test. Interesting results, a good read.

Posted by Elyse at 4:23 AM | TrackBack

December 29, 2003

Macromedia Central Survey

This is another good thing out there, Macromedia is offering a survey about central and its licensing structure. The post about the survey can be found here.

What a good way to help address the needs of their users.

Posted by Elyse at 7:35 PM | Comments (0) | TrackBack

JDBC Drivers

This is great! via Brandon Purcell's website, Sun's JDBC drivers.

Notice Cache! CF connecting to MUMPS code, heck maybe even Misys pathology systems or IDX systems.

Posted by Elyse at 7:24 PM | Comments (1) | TrackBack

Compact a SQL Server

Recently, someone mildly familiar with Access, had a problem with an SQL server db. The question came to me, where is the compact and repair utility in SQL? Just one of the educational opportunities that has arisen lately.

In case the questions comes to you, there are a couple of SQL statements one needs to be familiar with.

EXEC sp_dboption 'dbName', 'single user', 'TRUE'

Set the database in single user mode.

DBCC ShrinkDatabase ( DBName, TargetPercentFreeSpace, TRUNCATEONLY)

This command will shrink the database size to the size + percentage of free space. The truncateonly attribute releases the shrunken space to the operating system.

DBCC CheckDB(dbNAME, REPAIR_REBUILD )

checks the integrity of the db, and repairs some issues without data loss. This will rebuild your indexes.

EXEC sp_dboption 'dbName', 'single user', 'False'

Sets the db back to full access. As always it is good to have a backup in place before doing any database maintenance.

Posted by Elyse at 7:05 AM | Comments (0) | TrackBack

December 27, 2003

Myers-Briggs Test

Found a short personality test for a Myer-Briggs result, I rated as an ENTJ, which is a switch because a couple of years ago I was an ENTP. Although, Jacob has found a shorter one here. I rated an ENTJ on this version also.

Posted by Elyse at 10:46 AM | Comments (0) | TrackBack

December 26, 2003

CF Standards

Simon Horwith is launching a new site, www.cfstandards.org. The goal of the site is to recognize common tasks and functionality, and create flexiblem modules for achieving these results. He's currently looking for volunteers.

A great concept though to have standardize modules, for instance for Authentication. Let's see how it advances the future.

Posted by Elyse at 8:22 AM | Comments (0) | TrackBack

December 25, 2003

Impac purchases Impath Cancer Registry

Impac has aquired Impath's pathology information management and cancer registry information system businesses for 22 million in cash and liabilities.

Impac will add the Impath Cancer Registry Data to its National Oncology database.

According to the Dow Jones News Wires, Impac's President and Chief Executive Joe Jachinowski, said he expects the acquisition will be slightly dilutive to earnings in 2004 and will add to earnings starting in 2005.

For more information:
Impac's Company Site
Impath's Company Site

Posted by Elyse at 6:59 AM | Comments (0) | TrackBack

December 24, 2003

Merry Christmas

I'm going to be running about for the next couple of days, and won't be posting.

Hope you and your loved ones have a great holiday.

Posted by Elyse at 6:52 AM | Comments (1) | TrackBack

Top Ten Web Design Mistakes of 2003

Yet another list from the guru, Jacob Nielsen, to end off the year.

1. Unclear Statement of Purpose.
2. New URLs for Archived Content.
3. Undated Content.
4. Small Thumbnail Images of Big, Detailed Photos.
5. Overly detailed ALT Text.
6. No "What-If" Support.
7. Long Lists that Can't Be Winnowed by Attributes.
8. Products Sorted Only by Brand
9. Overly Restrictive Form Entry
10. Pages That Link to Themselves

Just one comment on restrictive forms, if the purpose of data entry is to ascertain the user's data. Isn't quality data, better than the alternative? So, how can you have quality data for analysis without being restrictive? Quality Data allows for better analysis and maybe even customer service in the long run. Just a thought.

Posted by Elyse at 6:51 AM | TrackBack

December 23, 2003

Standardize HL7 Interfaces In-House

I would dare to say that all Health Care Institutions have an interface engine, I'm scared to think of the institution that doesn't. Although, if there is a place, please let me know about it. And do you have one centralized database for the place? Possibly Meditech?

Back to the topic at hand, there are 3 main types of HL7 interfaces, ADT (Admission, Discharge, and Transfer), Orders, and Results. I am proposing that standard templates in house of these interfaces be created, compliant with Hl7 2.4 (pipe delimited) and HL7 3 (XML based). Then based upon this interface standard, include maintainence enhancements. For instance on an ADT interface, with the invision system, include the Invision function that created the event. So what the end result would be, is a standard data elements that would be interfaced to any system, and decreased development time, by not needing to cut and paste out of other interfaces, and a better quality of interface. Other benefits of having standard interface templates for transactions and segments, would be a standardized naming convention, a standardized segment structure, standardized user-exits, and so on. A lot of positives for a little standardization work.

Posted by Elyse at 8:17 AM | Comments (1) | TrackBack

Mach ii Sample Application

Here is another sample Mach II application for cold fusion. Haven't had a chance to play around with it yet, but it looks interesting, so this is a place holder.

Posted by Elyse at 7:21 AM | Comments (0) | TrackBack

Hospital Forms Committee and XML documents

Here is a what if, what if for every form in the hospital there was a corresponding xml standard definition. What if as a part of form approval, the hospital form committee as set up the required fields for an xml document.

What would that gain us?

Imagine a world where it didn't matter the business application, the data would always be standardized. The hierarchical structure of data within an XML document relates perfectly to health care data. Instead of chasing static paper, we could have xml documents. The document could be delivered in Microsoft Word, Adobe pdf's, and web based forms. And with reuse, once the mechanism was built/installed (A CMS XML based system), a central repository could provide ease of use. I've previously mentioned the benefits here.

But let's expand this, imagine an XML defined format for lab results. We could interface this, even through hl7 ver 3. Taking the categorization of the lab result, the plan text that is hard on the eyes could be replaced with xml, and then defaulting the opening into the tool of the viewers choice. A standard document with a template, and you have a easy way to view the data.

Just a thought to expand on John Udell's article.

Posted by Elyse at 6:50 AM | Comments (2) | TrackBack

December 22, 2003

How Users Navigate

Sensible navigation is essential to a website, it is comparable to driving without having to look at the map. A good website provides an intuitive navigation scheme so the users don't get lost among the roadways.

Website Users navigate websites in one of two ways. First, they will click their way to their intended destination, or they will search for the keyword or term in the search box. Providing both mechanisms of navigating improves the overall web experience.

Posted by Elyse at 6:05 AM | Comments (0) | TrackBack

December 19, 2003

First, A CMS system

One of the lessons learned, since I've started web development is if I was given the opportunity to consult at a company thinking of implementing a website. The first thing I would do, is say sure. Next, however would be something to the extent, how about we also give you the ability to update your own website?

There are a few reasons for this, and I'll probably elaborate more later, but first and foremost, a content management system enables the users, and creates a sense of responsibility about their website. It places the ownership of the information displayed, in the proper hands. This idea will allow recent information to be displayed, the quality of the information to be improved, and the users of the site will have a more informed experience.

Yes, there are educational considerations for the business users updating the site, and there is usability issues of the site. However, all of that is much easier dealt with at the beginning, rather than at the end. In addition, isn't the most basic reason of a website is to provide information to our users?

Posted by Elyse at 5:47 AM | Comments (1) | TrackBack

December 18, 2003

Work Around the Eolas Patent

Looks like the Eolas Patent suit is still up in the air, but Devx published a workaround with using XSL transformation and Web server filters to automate the task. The article can be found here. It covers J2EE compliant Java Servers, not IIS filters.

Posted by Elyse at 6:44 AM | TrackBack

December 17, 2003

Gartner Blogs

This is a nice to see, Gartner has a running blog list found here.

In the IT matters blog, the recent entry is asking the right questions. The entry is a best practices kind. How many are in place at your organization?

-- Snipped from Gartner --
1) Don't talk about IT, talk about what IT enables. IT by itself does nothing. What matters is what IT enables the business to do differently or better.
2) Don't ignore change management. Your business must be able to absorb the change in technology, processes and people. Developing a competency in adapting to change will differentiate one business from another.
3) Focus. There are two major components to your IT budget: expenditures that are necessary simply to keep the "IT lights on" and discretionary investments where you actually have an opportunity to improve your business. The problem is that just keeping the lights on consumes, on average, 80 percent of our budget. Don't let it consume 80 percent of your time. Focus on that precious 20 percent of IT investments that can transform your business.
4) Be proactive. Don't be a victim of a business strategy that someone else defined. IT should be represented at the table when the strategy for the business is defined. Proactively bring ideas of what IT can enable to the discussion.
5) Become a business process expert. The processes of your business are where the realization of your business strategy meets infrastructure constraints. Understand the top 10 expense and revenue-generating processes of your business and proactively bring ideas to the table on how IT could improve these.
6) Make IT an enabler, not an inhibitor, to changes in the business.
7) Speak in their language not yours. MIPS and MHz carry no weight. Customer retention rates and reductions in inventory shrinkage do.

Posted by Elyse at 5:14 AM | Comments (0) | TrackBack

HBS Working Knowledge

Found a new site this morning, HBS Working Knowledge. Of particular interest is the article, UnderStaffed and Overworked: Now What?

I'm not going to comment much on the article except to say that it has alot of valid points, but the last line is hilarious.

"Worse, many have buried their heads in the sand like ostriches. When you do that, another part of your anatomy is uncovered"

Posted by Elyse at 4:55 AM | Comments (0) | TrackBack

Flash Player Penetration

Macromedia updated the Flash Player Penetration Statistics for September yesterday.

Macromedia Flash Player 6 has a 90% installation base in the US. This is key because it is necessary for Flash Remoting and Flash Paper. On a side note, I tried to find the adobe acrobate reader installation base at adobe.com. No luck.

Macromedia Flash Player 7 has a 7% install base in the US. This is key, because it is necessary for ActionScript 2.0.


Posted by Elyse at 3:54 AM | TrackBack

December 16, 2003

Never Delete Anything

I'm a technological pack rat. I highly recommend to anyone to never delete anything. Hard Disk space is cheap, keep copies.

For instance, if you are making changes to a db, keep a copy of the db somewhere with the date in the name. Then in the db, keep a copy of the object you are modifying with the date in the name, and modify away. Yes, i know it is redundant. But if push comes to shove, I like having more than one backup system.

If you are moving code live, keep a copy of the original code with the date in the file name.

If you are building an app, don't delete the data. Archive it so the user doesn't see. Maybe have an validity attribute on the table, or an archive table with the history. And a field for the date Archived.

If you have a file interface with a file verifying what was sent. Keep copies of what you sent, and what they say the got with the date in the name when you recieved it.

If you have a server recovery plan, have an image, a backup, and copies of the key configuration files.

Why do I keep copies? Well, issues normally don't crop up overnight, sometimes they crop up in instances over the years. It is easier to research an issue, and find out what occurred, if you have the copies. Also if you are in a recovery mode, its nice to have more than one mechanism to rebuild. In case the first one doesn't work.

Posted by Elyse at 5:02 AM | Comments (0) | TrackBack

OO App DB Schema

IBM has a nice page on mapping objects to relational databases.

They provide various technics, such as One Table per hierarchy, One table per concrete class, and one table per class, and the pros and cons for each approach.

The article also covers implementing relationships in a db, and the ever illusive many to many relationship.

Posted by Elyse at 4:49 AM | Comments (0) | TrackBack

Streamlining Business with IT

Business Process mapping is fun! It’s great to learn more about the way one’s place works, and after a couple years of it. It is easy to recognize process that will be enhanced with an IT solution, and it is also to easy to see those that will become more cumbersome. There is a golden rule, if the paper process at this time is too overbearing and dysfunctional, a technological solution will only enhance the dysfunction. The process needs to be reworked, so the it solution will work.

Now here is the great problem, technologists really can’t remap a process to work for the business. That is what the Business owner needs to do, but a technologist can identify that there is a problem in mapping out the process. If you get caught in the situation, try to nicely tell the business owner, that they need to fix the business process, before implementing a solution based on the current process. Once you implement a technological on a bad process, your maintenance time has just gone through the roof. It will be a technology problem from that point forward, no longer a business process problem.

Posted by Elyse at 4:35 AM | Comments (0) | TrackBack

December 15, 2003

Builder Mach II Overview

Builder.com has done a nice high level overview of Mach-II found here.

I have been lucky enough to find my first non-essential app to build using Mach II. :) I'll let you know how it goes.

Posted by Elyse at 5:36 AM | Comments (0) | TrackBack

December 13, 2003

Inpatient rehabilitation facility payment rule

Looks like there is a delay in the inpatient rehabilitation facility payment rule, it will not be implemented on January 1, 2004. Proposed changes to the 75 percent rule seem to be that rehabilitation facilities are required to have at least 65% of their patient population diagnosed with
stroke, spinal cord injuries, congenital deformity, amputations, major multiple trauma, hip fracture, brain injuries, polyarthrities, burns, and neurological disorders. It looks like the specificity of arthritic degeneration has been firmed up. To see the entire rule, please click here.

In reviewing the website, there aren’t any announcements of anticipated changes to Irven, the CMS provided Inpatient Rehabilitation Validation and Entry Program. One would think with changes as proposed the Case-Mix Group Calculation will be updated also.

Posted by Elyse at 12:52 PM | Comments (0) | TrackBack

December 11, 2003

SQL Server Best Practices

If you're interested, this maybe a useful tool. MS SQL Server 2000 Best Practices Analyzer 1.0 Beta.

Posted by Elyse at 9:15 PM | Comments (0) | TrackBack

FarCry v2.1

Looks like an update to Far Cry is around the corner.

Posted by Elyse at 9:11 PM | Comments (0) | TrackBack

SpoolEnable

One of the new features with CFMX is the <cfmail> spoolenable attribute.

What does it do? Well, previously to CFMX one could save a file, mail the file as an attachment, and then delete the file, without any issues in the same page.

With CFMX, the message is created, placed in a queue, and then processed after the page processing is completed. So with the above example, one has deleted the attachment before sending it. SpoolEnable is an optional attribute with a default value of yes, meaning to queue mailing until after the page has processed.

So if you have the above logic on one page, it is advisable to set the cfmail attribute spoolenable="no".

Posted by Elyse at 7:30 PM | Comments (0) | TrackBack

December 10, 2003

Quadramed's New Abstractor

Looks like Quadramed has a new abstracting tool in the works. They announced the general availability of the Quantim Abstracting last week.

However, I don't see a software spec or a system solution on their website.

Posted by Elyse at 6:42 AM | Comments (0) | TrackBack

December 9, 2003

Blogs for Communication

I checked out Kameron's site once again tonight, its become an evening and early morning habit of mine. I'm amazed by Kameron's positivity. I'm really astounded by the community that comments and follows his progress. And I am really glad to be able to read about how he is doing. He's a great kid.

The blog really serves as a mechanism of communication. When a family member is sick, there isn't time to keep everyone as updated as you would like. There really needs to be one point communication person who relays everything out. The blog in this instance does that, and keeps an ongoing journal. It provides an initimate insight to others of Kameron's life since he has been diagnosised with CML.

I'm writing on this because I just saw the top 20 definitions of blogging. I don't think you need 20 definitions. Blogging is communication, pure and simple. It is we, the bloggers, providing insights, tips, rants, or anything else to you the readers. I think the above blog does an excellent job of that in a very needed situation.

Posted by Elyse at 8:39 PM | Comments (0) | TrackBack

Central License Updated

Macromedia updated their central licensing package. It still needs a little work for enterprise development, and this point its not economically feasible in comparison with other technologies. However thanks to Mike for at least listening and trying to address everyone's concerns.

For further info:
Macromedia Central License Program
FAQ Page
Mike Chambers Announcement

Posted by Elyse at 6:46 AM | Comments (0) | TrackBack

December 8, 2003

When are debuggers useful?

Debugging is a tedious task. The tediousness grows exponentially, when you don’t have an understanding of the language, architecture, or framework. At this point, I think having a debugger is a great tool, especially one that allows you to step through the code. We aren’t always in the luxury position of having to fix a problem with code that we developed, in a language that we have an understanding of. Sometimes we are asked to do what is necessary. For instance last week, my teammate and I were asked to look at some C++ code and figure out what it was doing. Now, it has been about 8 years since I last wrote anything in C++, and I haven’t used a heck of a lot of pointers in web development lately. So I was brushing off the cobwebs to say the least. The debugger with the watch of certain variables was invaluable to determining the issue with the code.

However, as one becomes familiar with a technology, a developer finds that they use the debugger with a lot less frequency, relying on test cases to find issues with code as mentioned in Sean’s blog.

Posted by Elyse at 5:19 AM | Comments (0) | TrackBack

December 5, 2003

The 1 - 2% margin of error

Joel Spolsky has written an excellent article on software craftsmanship.

The article elaborates on why fixing the last 1% of bugs is enormously expensive.

What are the last 1% or for that matter 2% of bugs? That depends on your focus, if you work for a place that is developing a product for mass release, these issues are normally caught in testing the unique cases, in joel's example ftping a 128MB content update file. If you work for an organization that's focus is something else than releasing software, these are the issues that your users bring to you or you find out from some other mechanism. They were not identified in testing. Why? well first, in house developers don't have access to all of the different browsers and operating systems to test things on. If we are lucky we have 2 - 3 setups. If we are really fortunate one of those is a mac. Secondly, we don't test for every possible outcome. It takes too much time, and we never ever capture all of them.

So here we are with in-house developed software, that works at 388 workstations, but not at 8. What do you do? Do you take the time to fix it for the 8 workstations, even though that may take anywhere between hours to weeks. If the fix time is in day multiples, you will need to reschedule all of the projects in the pipeline to resolve this issue. (Resources are limited) If you choose not fix it, you will leave the users with an embittered experience. Do you fix it depending on the political power of the user? Is that right? Does it matter if the user is a physician or a nurse or clerical? If you are in the business of developing software, the answer is easy. Fix it. If you are in the business of supporting an organizations business processes, the answer is not clear at all. Normally the first step is analysis and diagnosis. If it is hours or a couple of days, then I think fixing it is definitely the way to go. If it is weeks, then the answer is never clear at all. I'd like to resolve every issue the user has, doesn't matter the user, doesn't matter the time.

But sometimes work is getting paid to do the things, we don't like to do.

Posted by Elyse at 7:31 AM | Comments (0) | TrackBack

December 3, 2003

Mach II 1.08

Yesterday, the object-oriented CF framework, Mach II, was updated. It looks like Macromedia and Sean Corfield did some load testing of applications built within the framework and updated the code.

In the comments, there is a good suggestion to start with a small project to understand the framework. Good thought for any new technology.

Also Robby is asking questions about what enhancements/improvements can be added to the framework in the forums and his blog.

Posted by Elyse at 6:05 AM | Comments (0) | TrackBack

December 2, 2003

The problem with requirements

We are sitting in the conference. It's my team, and the business process owner's team. Our thought process is driven by technological innovations, their thought process is driven by some health or business related passion. Maybe the passion is for billing accounts correctly and in a timely manner, maybe the passion is create an excellect training course for nurses, medical students, or physicians, and maybe the passion is to disperse policies to everyone in a timely manner. The point is we each focus on different things, and that is good.

We are here to have a requirements meeting. What's that? There is a business process that can be streamlined by a technical process. The requirements meeting is to determine the nature of business process. For our purposes here, everyone is gung-ho to move forward with let's say the e-procurement process for laboratory supplies.

So we are sitting down together to discuss this aspect, it is a new concept and everyone is happy. "This will be great, when we get it together"

It is a state of bliss, to determine the blue print for your new house. Only thing is software requirements are not like a house's requirements. Since the building process takes time, the business process the requirements were set to solve also evolves. Users don't see the physical house, the analysis, the construction of the code, the db, the object, or web services. So when they have a relatively minor enhancement to the business process, why isn't it just inclusive in the technical solution?

Well first, there needs to be more than just one requirements meetings, and there needs to be a we heard this, is this correct? Do you understand what we mean by this? type of dialogue between the techies and the business owners. Don't be afraid to ask questions, questions are needed, essential to the process. Ask what they do now, what do they invision in the future, what changes are planned? Document the requirements.

The other item is to revisit the requirements along the software lifecycle path, or product implementation path. The requirements are going to change. It would be nice if requirements could be frozen, cast in stone, and then pointed to like the ten commandments. But have you ever tried lugging stone tablets around? just not a good way to do things. They weigh you down. In all likelihood the business process you identified the solution for in the requirements stage of implementation will be different by the release stage of the software, and it is definitely going to change in the maintenance stage. Requirements are ever changing, because no one likes to get by on just the bare minimum that they require. Just add to the document the changes, and then try to determine the easiest way to implement the change. Then talk it over with the business owners the impact of the change. Is this a cosmetic thing? or is this going to need to change the live plan?

Since the business is changing, and therefore the requirements are changing, when building an application consider how to handle the changing requirements in the analysis and proposed solution with minimal impact to the overall design. For example don't waste your time specifying canned reports for the user to run, but has no ability to change. Instead, spend some time with the user, training them in access reporting, allow the users to create their own reports. Review the reporting needs, and ensure that all of the requirement data elements are captured. Expect data elements to be added or needed in the future, and create a db schema that allows those changes. In other words, have a software architecture that anticipates and is forgiving of change.

Posted by Elyse at 5:03 AM | Comments (2) | TrackBack

December 1, 2003

Nice Job Mayo

Once Again, Mayo Clinic has come to the fore front of hospital web sites. Their infrastructure is the subject of Ben Forta's ColdFusion in the trenches article in MX Developers Journal.

Applications that compromise the Mayo Clinic internet, extranet or intranet site include :


  • Content Management System

  • Human Resources self service apps (time cards and benefits management)

  • Change Management Tracking

  • A Single Sign On System

  • Internal Departmental Newsletters

  • Committee Minutes system

  • Employee Directory System

  • IT issues tracking system

  • Job Posting Board

Posted by Elyse at 10:06 PM | TrackBack