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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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?
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.
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.
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"
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.
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.
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.
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.
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.
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.
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.
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".
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.
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.
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
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.
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.
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.
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.
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
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 |
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
August 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
November 2005
October 2005
September 2005
August 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
December 2003
November 2003
October 2003
New Hospital/Macromedia Blog
Macromedia Central Survey
JDBC Drivers
Compact a SQL Server
Myers-Briggs Test
CF Standards
Impac purchases Impath Cancer Registry
Merry Christmas
Top Ten Web Design Mistakes of 2003
Standardize HL7 Interfaces In-House
Mach ii Sample Application
Hospital Forms Committee and XML documents
How Users Navigate
First, A CMS system
Work Around the Eolas Patent
Gartner Blogs
HBS Working Knowledge
Flash Player Penetration
Never Delete Anything
Joel on Software
David Ross
Edward Prevost
Martin Fowler
The Health Care Blog
The Tales of Hoffman
The Business Word
Medical Rants
Christina's Considerations
Paul Levy
RSS feed




