December 26, 2004
Christmas Present for all
Look what Santa Sean brought, an update of the Mach II Development Guide and an updated version of the Macromedia Web Team ColdFusion MX Coding Guidelines.
Physician office EMR Lessons Learn
The California Health Foundation has a nice review of the lessons learned in implementing a practice based EMR.
The recommendations are applicable to any system implementation
1. Identify an EMR Champion—Or Don’t Implement
For any application implementation, a user champion is necessary. The user champion needs to be an individual who can help with inspire the user community. The user champion is also an invaluable resource throughout the implementation process. Their input is essential to the todos of the application, defining the usability needs and business rules of the application. This can ensure an implementation doesn't impede the user's workflow. The user champion can also help to set the priority on implementation issues and help assess risk to the implementation project. The user champion is essential to the marketing of an application. Sometimes the user champion is an individual or depending on the size maybe a committee.
Obtain Physician Commitments to Use the EMR
One of the first steps for any project is to have the commitment of the user community to use the application. This is really two fold, there is the commitment to use, and the commitment of the implementers to listen to the user needs. Why implement something if it isn't going to be utilized?
Maximize Electronic Data Exchange
Integration is key with any implementation. Respecting data owners, and having interoperability between the systems will eliminate redundant data entry and bring the infrastructure one step closer to a real-time business.
Arrange Comprehensive Support
Support is necessary for an implementation. There are various types but the critical needs are education support, end user support, and technical support.
Motivate Physicians to Use the EMR
Most people don't like change. There needs to be a real tangible benefit to utilizing the system that is noted by the users of that system.
December 23, 2004
The Difference Between Liquid and Fixed Design
By no means of the imagination am I a web designer by heart. I think the phrase is ?designer challenged.?
That said, I?d like to clarify two classic techniques, liquid and fixed designs. A fixed design indicates fixed dimensions, for example a three column fixed layout.
<html>
<head>
<title>Example of a Three Column Fixed Layout</title>
<style type="text/css">
<!--
#header {
background: #6666CC;
position: absolute;
top: 0px;
left: 0px;
width: 800px;
height: 50px;
}
#leftcolumn {
background: #CCCCFF;
position: absolute;
top: 50px;
left: 0px;
width: 100px;
height: 500px;
}
#rightcolumn {
background: #CCCCFF;
position: absolute;
top: 50px;
left: 700px;
width: 100px;
height: 500px;
}
#contentcolumn {
background: #FFFFFF;
position: absolute;
top: 50px;
left: 100px;
width: 600px;
height: 500px;
}
#footer {
background: #6666CC;
position: absolute;
left: 0px;
top: 550px;
width: 800px;
height: 50px;
}
-->
</style>
</head>
<body>
<div id="header">Header Section</div>
<div id="leftcolumn">Left Section</div>
<div id="contentcolumn">Content Section</div>
<div id="rightcolumn">Right Section</div>
<div id="footer">Footer Section</div>
</body>
</html>
Please click here to see the example.
So what do we notice about fixed design. All of the container elements are assigned to a fixed location in pixels. The pixels set the screen to 800px by 600px. This will set a consistent look and feel across all screen resolutions.
The liquid philosophy makes use of floats and clear attributes to set up a page that adjusts to all monitor resolutions. The float attribute sets the container element on the side of the page. The clear setting in the footer ensures that floated divs don?t intrude on the other elements. A sample liquid layout is
<html>
<head>
<title>Example of a Three Column Liquid Layout</title>
<style type="text/css">
<!--
body {
margin: 0px;
padding: 0px;
}
#header {
background: #6666CC;
width: 100%;
height: 10%;
}
#leftcolumn {
background: #CCCCFF;
float: left;
width: 15%;
height:500px;
z-index: 1;
}
#rightcolumn {
background: #CCCCFF;
float: right;
width: 15%;
height:500px;
}
#contentcolumn {
background: #FFFFFF;
float: left;
height: 500px;
}
#footer {
background: #6666CC;
clear: both;
height: 10%;
}
-->
</style>
</head>
<body>
<div id="header">Header Section</div>
<div id="leftcolumn">Left Section</div>
<div id="rightcolumn">Right Section</div>
<div id="contentcolumn">Content Section</div>
<div id="footer">Footer Section</div>
</body>
</html>
Please click here to see an example.
December 18, 2004
Hospitals safety measures
The Leapfrog Group released a survey measuring hospitals' progress toward reaching the group's patient safety goals.
ONCHIT Workplan
Ever wonder what the Office of the National Coordinator for Health Information Technology is working on? Why not check out their workplan.
IT Competencies
Leading in an IT organization is more than just programming well now a days. Gartner recently revealed 25 newly needed IS competencies for leaders in the organization.
In the Technical skill set, One needs to do the following
1. Understanding existing systems and technology
2. Designing and Developing Application
3. Applying Procedures, Tools and Methods
4. Integrating Systems
5. Designing Technical Architecture
6. Understanding Emerging Technologies
Business Skills needed
1. Understanding the business practices and approaches
2. Understanding the organizations structure, politics and culture
3. Behaving commercially
4. Understanding and analyzing the competitive situation
5. Managing projects
6. Managing change in the business from IT application.
7. Planning, prioritizing, and administering work
8. Communicating/listening and gathering information
9. Focusing on Customers.
And in the soft skill category
1. Leading, inspiring and building trust
2. Thinking creatively and innovatively
3. Focusing on results
4. Thinking strategically
5. Coaching, delegating, and developing
6. Building relationships and teamwork
7. Influencing and persuading
8. Principled negotiations
9. Resolving conflicts and problems
10. Being adaptable.
Device Configuration Standardization
A standard device configuration is absolutely essential. PC's need to be viewed as a part of the infrastructure of the organization. In order to assist in this viewpoint standardized device policies are absolutely essential. Here is an example from the University of Nebraska.
One can see risk coming
Accessing risk from projects is an activity that needs constant vigilance. When evaluating risk, examine the probability that the outcome will occur, the various possible outcomes, when this risk is expected, and how often it will occur. Risks have some of the same patterns.
- Schedule Risks
- Cost Risks
- Quality Risks
- Scope of Work Risks
- Resources Risks
- Customer Satisfaction Risks
During the project, in all likelihood, all of these risks will surface in one fashion or another. There are different ways to manage risks.
- Avoidance (reducing probability): You can avoid a risk by eliminating the cause of that risk.
- Mitigation (improving alternatives): You can achieve mitigation by reducing the probability of the risk outcome while increasing the likelihood of a good outcome.
- Transferring (reducing impact): You usually do this by creating insurance of some kind that involves assumption of responsibility by another party.
- Assumption (acceptance): For risks that have a low impact, accept the risk and create a contingency plan.
New Billing Formats
The National Uniform Billing Committee (NUBC) has opened up a 45-day comment period on the new UB-04 data set. This is to replace the ole tried UB-92. The UB-04 can be found here.
How health care organizations use IT
Several ideas floating around blogsphere and the web on how healthcare organizations use information technology and why hasn’t advanced well beyond the current point.
For example there is the MedScape’s article, Information Technologies: When Will They Make It Into Physicians' Black Bags? The article analyzed the Commonwealth funds data from 2003 for adoption rates of technology in the practice setting.
<-- snipped from MedScape -->
For clinical management, the most common tool is computerized access to laboratory results (59%). Other tools are less prevalent: Twenty-seven percent of respondents use EMRs routinely or occasionally; 27% prescribe or order tests electronically; and 12% receive electronic alerts about potential drug-prescribing problems. Only 24% of surveyed physicians practice in a "high-tech" office setting. Physicians in groups of 50 or more are significantly more likely to use any IT tools and to practice in a high-tech office, as compared with physicians in solo practice (odds ratio = 7.7). The top 3 barriers to adoption of IT are start-up costs (56%), lack of uniform standards (44%), and lack of time (39%).
The article concludes with the suggestion of focusing on policies and business models to increase the adoption rate.
The commonwealth fund performed an analysis of the Medscape article. The reported barriers to IT adoption where system start-up costs, recurring maintenance costs, the lack of standards, and the time needed to obtain, implement and utilize a practice based clinical system.
The medical informatics weblog entry, Cash Reward Not an Incentive to EMR Adoption, cites several programs where cash is exploited as an incentive to implement an EMR. Unfortunately the case offered is minimal in light of the cost of an EMR for a practice.
Health Signals new york also comments on the medical informatic’s entry suggesting the idea of asking the docs what docs want.
Enoch also ponders this dilemma in the entry, You can lead docs to water, but how to keep them drinking? Enoch points out competition among practice provider organizations as a means to increase the adoption rate.
With all of these ideas floating around, it looks like the beginning of a cultural change. Health care organizations are notoriously risk adverse. According to Gartner, most health care organizations are a TYPE C, see the chart below.

Being a Type C is a hard place to be. First, IT is not viewed as a part of strategy or increasing tactical productivity. We are the utility of the organization. We keep the place running, but we aren’t used to enhance it. So then departmentally, there occurs grass roots spending on IS which is outside the IS Budget, in order to attempt to bring in innovations.
Now an EMR, with results, order-entry, care plans, and other clinical documentation is a strategic move. Its costly in cash, redesigned workflows, organizational standardization, and several other areas. An EMR has long term benefits like improved patient safety and modes of reducing medical errors. But I think the adoption rate problem stems from the switch of using IT as a utility to bringing IT in and having it be used to the strategic advantage of the organization. In order for this to occur, health care as a whole needs a culture change in the way health care IT is utilized. This will bring a symbiotic relationship necessary for the EMR implementation. Once that has occurred, and EMR implementation maybe be a smoother road to travel.
Patient Safety - still improving
The Commonwealth group has a quick commentary on advancements since the IOM's report on medical errors, To Err Is Human.
<--- Snipped from Article --->
Are We Making Progress?
In an informal survey of practicing hospitalists (i.e., physicians specializing in hospital inpatient care), Wachter found the majority of the group (55%) felt their hospitals had a "culture of safety," with nearly one-half attributing improvements to an overall increase in sensitivity to the issue. To assess progress made to date, Wachter categorized and graded the five major areas related to advancements in patient safety: regulation, error reporting systems, information technology, the malpractice system and other vehicles for accountability, and workforce and training issues.
Regulation: A–. Wachter agrees with many hospital leaders who view the Joint Commission on Accreditation of Healthcare Organization (JCAHO) as the most important driver of progress in patient safety. In a health system in which physicians remain highly individualistic and hospitals continue to lack robust financial incentives, regulatory solutions have been the most important early step. Many of these have been common-sense measures; for example, requiring read-backs of patient names and oral orders to improve communications and standardizing the marking of body parts prior to surgeries. While additional regulation is likely, other drivers will become increasingly important, Wachter says.
Error reporting systems: C. Error-reporting systems can be powerful tools, but the results must be used to improve systems or educate providers. They can be particularly valuable when the individuals who submit reports learn that their submissions made a difference. However, many states and hospitals point with pride to growing numbers of error reports as evidence of improved safety, despite the lack of any organized programs to follow up on reports and turn them into meaningful changes. To translate data into action, new models and greater resources are needed.
Information technology: B–. There has been a marked uptick in implementation of clinical information systems, with many good results. There have also been reports of problems, from IT system crashes, to faulty systems that actually introduce errors, to physicians rebelling against computer interfaces that are not user-friendly. While the issue is clearly important to the federal government—as evidenced by the appointment of David Brailer, M.D., as National Health Information Technology Coordinator—hospitals must understand that patient safety is not synonymous with clinical IT, particularly if process change, standardization, and cultural issues are left unaddressed.
The malpractice system and other vehicles for accountability: D+. The malpractice system is broken, Wachter says, but its impact on patient safety, both positive and negative, has been overstated. The lack of accountability for poor performance is of greater importance. While Wachter supports the IOM-recommended shift from individual blame to systems improvement, a safe system must also deal effectively with bad doctors and nurses or with providers who willfully violate reasonable safety rules. This issue raises exceedingly complex questions for providers, patients, and institutions, Wachter says, and few solutions have been offered. "I believe we have made virtually no progress in tackling these exceptionally thorny questions in the past five years," he writes.
Workforce and training issues: B. In the inpatient arena, an important development has been the advent of hospitalists, who specialize in coordinating care and focus on patient safety. The national nursing shortage, however, has presented a challenge. In the ambulatory arena, a growing issue is the demor-alization of many primary care doctors and a resulting absence of leadership on safety. Efforts have been made to en-force limits on residents' duty hours, a reform that will ultimately improve safety by decreasing fatigue. In addition, more specialty medical boards are now requiring periodic recertification. However, two training strategies that received much attention after the IOM report—teamwork and simulation—have been largely neglected, despite their potential to improve performance and create a safer, more collaborative culture.
December 15, 2004
Usability and Patient Care (part deux)
Jacob and I are having a public debate on usability:
Jacob’s Google=Usability, Medical Software != usability
Elyse’s Usability and Patient Care
Jacob’s Usability Again
Yesterday, Jacob posted an emotional response to the issue at hand, the cost of usability.
To me usability is the art of making a computer system smoothly integrate with the users workflow. Basically to make the system flow seamlessly with the user’s intuitive actions.
Jacob portrayed the providers problem with the loss of time from entering a patient’s name. In his opinion, the system is not interactive with the physician’s workflow.
This inconvenience during the patient selection process needs to be resolved, but again at what cost?
1. The RFP Process
The RFP is the place where the needed features are declared for a new system. Having the requirements and weighing the vendors compared to the requirements ensures that everyone is on the same page. This is an an essential step in the implementation process. It explains what is important within the organization to the vendors. We are all aware that usability is subjective. What may be a very essential usable feature to one, may be intolerably inconvenient to others. By quantifying and specifying the end result of where usability is applicable, it gives one a path to get there. By eliminating the subjectivity of usability with defined criteria through the RFP process, the cost of usability is due diligence and relatively inexpensive at this stage.
2. Autocompleting the patient selection process based upon one identifier.
Patient selection using multiple identifiers increases the quality of the choice. Autocompleting patient selection based upon only one identifier decreases the quality. The cost of usability is quality for the patient selection process.
3. Loading the MPI
In this item, the load is still a load and a delay. The cost of usability is performance.
In reading the description of the custom EMR, how is the application handling the auditing of what PHI is seen if the PHI is being displayed through the selection process? Perhaps is this another cost of usability, the cost to auditing within a security context?
4. The handling of the issue.
There is a cost of reworking/programming the selection process. Looking at all the issues and evaluating the resolution is just good practice. The cost of usability may be customer programming services and then have an affect on the live date of the application.
5. I said with, I meant with
To implement any clinical system, there is a team formed. The team consists of user advocates, IT, and the vendor. There are also a lot of stakeholders that need to be involved with the process. A project cannot survive a broken team. All parties of the team need to invest and be apart of choosing the best course of resolution for an issue. Usability is important, but as with everything there are costs associated. A team will have creative ideas on how to address items and the costs and risks associated with those items.
6. Usability is important.
We agree! My perception is that the flow of the application is important, but there are costs to usability.
Usaibility costs follow the cost pattern of everything else. They are inexpensive at the beginning of an implementation and become increasing expensive throughout the implementation process. Consider a requirement in the RFP detailing a usability function versus an implemented system that encumbers its users. A significant cost difference, defining the meaning of usability for an organization is very important at the beginning. Usability can have diverse effects on performance, security, quality and projected timelines. All of these items need to be evaluated in light of making a new functionality usable.
7. A dictionary item versus the main decision data point.
There is a difference between typing the first couple of letters of a medication in a predefined dictionary. For any dictionary item, this would be great. The need for the accuracy of the data is an evaluation as a part of making the selection usable. Pressing 1 three times is bad if not hitting 0 ends up with the wrong data point.
By the way, if you are in the neighborhood tomorrow how about dropping by for some chicken chili?
December 14, 2004
Usability and Patient Care
Over the years, the health care industry has been increasingly concerned about privacy and personal health information. The other item is one of the most critical activities during system processing is the decision to choose the right patient. The ability to intelligently select the correct patient based upon data in the screen is critical to computing systems enhancing and assisting in the patients care.
That said, I read Jacob’s entry on usability and the practice EMR yesterday. The comparison of the searching functionality of google compared to an EMR, was concerning. This is what I have understood from the entry. There is a time-loss for the family doc to enter the patient’s name. Jacob thinks having the google suggest search mechanism helps with usability. This inconvenience needs to be fixed, but at what cost?
My interpretations are:
First, over the past several years, there has been regulations passed on the privacy of health information. Those security and privacy regulations should be a primary concern of any application in healthcare, but especially an electronic medical record. Dumping the Master Patient Index, MPI, into the browser to have a javascript typing search is just looking to not comply.
Second, over the past several years performance of a system is critical. Again dumping the MPI into the browser to have the javascript typing search doesn’t help out a lot with performance. Also having a db search done at every key stroke doesn’t help with performance. I don’t know what would be more frustrating, waiting for the response between keystrokes, the wrong name popping up, or typing the name out. My guess would not be typing the name out. By the way, I’m 99% certain neither mechanism was utilized for the google suggest.
The next item is that names are not always spelled correctly. For instance when saying my last name, Nielsen, I’ve seen it spelled Nelsen, Nelson, Neilsen, Neilson, etc. I would really prefer not to be treated based on the information in Alysse Neilson’s EMR. Also transposing of numbers is exceptionately easy and frequently done. This is why the name and mrno is not enough information to uniquely choose a person. I previously posted about the information needed for an MPI here. This information assists in the decision point of choosing the correct patient.
So what would need to be done for this issue. First, I recommend Jacob put together a list of issues for his practice EMR implementation. Then I suggest Jacob offers the list to his IT or vendor group. Give them an opportunity to hear him, and work with him. (Notice I said with) Rank each issue with its necessity for live, include information on the level of effort needed to resolve, the criticality of the issue and the risk of the issue. Work with the vendor group to resolve the issue based on the needed timeframe for live.
There may already be some solutions, perhaps typing a couple of letters and having a soundex search return the subset with MPI identifiers. Autocompleting is fine for googling, but what about when someone’s health is at stake?
Also if this issue was that critical to the usability of the application, why wasn’t that a part of an RFP functional requirements?
December 13, 2004
Setting up things in production
A long while ago, I commented on having separate environments for test, production and development. This is one of those things, that need to be considered for whatever solution is being examined. If you have an opensource app you are testing, a place to do it is a good thing. If you are installing a CD that all of a sudden has Tomcat installed on the webserver. Maybe a separate box is best.
In developing there is logic that can be placed within code to have the application set up in which stage.
For example in MachII setting the development reloading can be as easy as
<--- Set the configuration mode (when to reload): -1=never, 0=dynamic, 1=always --->
<cfset request.isProductionMode = (listContainsNoCase(CGI.SERVER_NAME, "ProductionServerName")) />
<cfif not request.isProductionMode and structKeyExists(URL,"reloadApp")>
<cfset MACHII_CONFIG_MODE = 1 />
</cfif>
Its a neat trick for reloading and setting up the environments.
This is customized from the download on mach-ii.info
Dumping Oracle 8i
Ahh, A favorite activity of mine, dumping the db to load elsewhere.
The following contains instructions to export Oracle 8i Database, and the flags indicated on the interactive export routine.
To run the file.
1.) Go to the dos prompt on the db server
2.) Type Exp username/password@instancename
The array fetch buffer size is 4096.
The file should export the data into a good location ie.D:\Exports\backup.dmp
You should select a full export which exports everything in the database, the other two options are owner, which exports the data that this user owns, and tables which exports the data in the specified table.
You should say yes to exporting the table data.
You should all the compressing of extents.
December 12, 2004
The Grinder 3 & Web Application load testing
Web Applications have a wide range of user populations. It is not uncommon to have tens of thousand of visitors hit a site during a week. One really needs to know if the application can perform under a load and what level of load. This type of testing is know as load testing. There are several load testing tools available. The industry standard tool is Mercury Interactive?s Load Runner. I?ve seen it, and I?d recommend it. Unfortunately, I haven?t had the chance to use it, but I?ll recommend the business case again next year. In the meantime, one tool that I recently tried out with CFMX is The Grinder.
The grinder is an open source load testing framework. I went very out of character and utilized the Beta version, grinder 3, because it uses Jython to write scripts. With the grinder 3, you can load test anything; databases, messaging services, web apps, web services, etc. I?m hoping to utilize the grinder 3 to load test Quovadx/Cloverleaf Interface Engine, the Siemens Soarian Clinical Access, Crystal Enterprise 10, 3M?s Encoder, and several other applications.
Installing the Grinder 3
1. First ensure java is installed on the machine where you will be running the scripts. If not, please download from here.
2. Download and unzip the grinder 3 from here.
3. Download the jython2.1 class file.
4. Add the grinder.jar to your CLASSPATH variable.
- Set CLASSPATH=%CLASSPATH%;c:\grinder-3.0-beta23\lib\grinder.jar
5. Install the jython2.1 class file.
- Java jython2-1
Aside: Remember the directory and set it in the grinder.properties file
To get into the Grinder console, run java net.grinder.Console. You can find more about the console here. I'm not very big on the GUI, but it does its job.
Recording Web App test scripts
Hand coding the test scripts would get to be very trying in a very short time. In order to maintain one?s sanity, exploit the TCPProxy httpplugin to record scripts.
1. First, set up IE to temporarily use a proxy server.
- Menu -> Tools -> Internet Options -> Connections tab
- Click on Lan Settings button
- Check the use a proxy server for your lan setting
- Click on Advanced button
- Set the http proxy address to use to be localhost, port 8001
- Set the secure proxy address to use to be localhost, port 8001

2. Fire off the TCPProxy within grinder.
- java net.grinder.TCPProxy ?console ?httpplugin

3. Surf away with the IE session, and you will have all actions recorded.
4. Click Stop Recording on the TCPProxy Window, when you are done.
5. Remove the changes to the IE Browser, unchecking using a proxy server.
6. You will notice within the directory there is a httpscript.py and a httpscript_tests.py file. These are your test scripts.
A quick aside point is that if you don?t want to switch setting, one could always leave ie in the record mode and surf the web with firefox.
Running the test scripts
A key thing to remember when you are running your test scripts, set up multiple grinder sessions on multiple machines. This way everyone isn?t using the same network interface.
1. Set up resource monitoring with performance monitor on the server, and client machine.
2. To run the grinder test scripts;
- In the same directory have a grinder.properties, this file contains the configuration settings
- Also within that directory, have the script you would like to run. For our example, find the httpscript.py and httpscript_tests.py files.
- run java net.grinder.Grinder, from that directory.
The settings in the grinder.properties file are:
#
# Example grinder.properties
#
# Set the jython class directory
grinder.jvm.arguments=-Dpython.home=c:\jython-2.1
#Set the worker processes, with threads, and runs.
#So for this example, I have 10 worker processes with 20 threads each.
#They will cycle 100 times.
grinder.processes=5
grinder.threads=3
grinder.runs=100
#don?t use the console.
grinder.useConsole=false
#The directory which logs the results, and the number of old results to keep.
grinder.logDirectory=log
grinder.numberOfOldLogs=2
#grinder.initialSleepTime=500
#grinder.sleepTimeFactor=0.01
#grinder.sleepTimeVariation=0.005
grinder.script=httpscript.py
I?m hoping grinder is going to be an easy to setup load testing in a systematic way. Our first shot out of the door will be Crystal Enterprise 10 this week. (stay tuned)
Places that helped
WebSite:
The grinder 3 manual
Dan Moore?s the grinder
Open Testing Reviews The Grinder
The HTTPClient Info
The grinder loadtesting for everyone
NewGroups
grinder-announce: Low-volume notifications of new releases
grinder-use: The place to ask for help
grinder-development: For those interested in developing The Grinder
December 11, 2004
Anatomical Pathology Reports to the Cancer Registries
One of the smaller apps that aren't looked on with all of the prestige of an institution are the cancer registry applications.
However, having AP reports automatically interfaced into the cancer registry system through the use of HL7 will save the cancer registrars hours of manual redundant data entry.
NAACR has a draft guide for implementing AP reports to the Cancer Registries via HL7.
The highlights are that AP needs to use three coding systems (listed below) and then its HL7 interface fun as usual.
1.) Logical Observation Identifier Names and Codes (LOINCÒ) for specific laboratory procedure names.
2) The Systematized Nomenclature for Human and Veterinary Medicine Clinical Terms (SNOMED CTÒ) for descriptions of findings, notably organism names.
3) International Classification of Diseases, Clinical
Modification (ICD-9-CM) coding system to code signs, symptoms, injuries, diseases, and conditions.
Now the question is how many AP systems utilize all the codes, not just one or the other?
Don't play chicken with inittab
Here is a quick piece of advise for the newbies. Please don’t play chicken with inittab.
Inittab is the file that contains all of the daemon processes that need to be restarted if they freeze.
So to list the contents of the file on aix, lsitab is the command to use.
If you are determined to edit the file, just remember the old rule of having a backout mechanism. Normally, I like to make a copy and set it to be read only.
cd /etc
cp inittab inittab.mmddyy
chmod a-w inittab.mmddyy
Then mkitab allows you to make new entries to inittab. (Also comment out old entries for a little while before you permanently remove them)
What does the CE Crystal Management Server Do?
The Crystal Management Server, CMS, assists with managing the CE Framework. The Crystal Management Server consists of two databases, the crystal repository and the crystal security db.
For maintaining the security, the CMS maintains a database of users and their object rights. The CMS sets up security relationships for as to what users are able to do within the framework. The CE Framework licensing policy and enforcement are all handled as a part of CE object security. One note the security to objects, ie folder and reports, is very different from the row-level reporting security.
The CMS is also responsible for managing the objects of the CE Framework for example folder hierarchy. The report schedule information is contained within the Crystal Management Server, and via communication with the Report and Program Job Servers scheduled reports are completed.
The CMS maintains a listing of the CE Framework’s server processing. This list is constantly tapped into during report viewing to see which server process is available. For example, lets say the cache server needed to access a page server. It would go to the CMS for information on which page server was free.
Another duty of the CMS is to manage auditing of CE. In Crystal Enterprise 10, user actions are recorded into a central db. This information can assist in tuning the CE environment. For example, which reports are really never ever viewed.
December 9, 2004
Oracle Top-N Queries
In Oracle8i, selecting the top-N query is sometimes very useful. In order to do it, first use an inline view to obtain all data in a sorted order. Then utilize the imaginary row numbering column, rownum, to determine the top number of rows to output.
For example:
select account_no, discharge_date, rownum
from (select * from encounter order by discharge_date)
where rownum <=10;
What does the CE Web Component Server do?
The Crystal Enterprise 10, Web Component Server is the web page serving utility. It normally sitsbetween the Web server and rest of the Crystal Enterprise system. What happens is that when viewing a CE page, it is a .csp page or .cwr page. So a .csp or .cwr page request hits the Web Server. The Web Connector forwards these page requests to the Crystal Enterprise Web Component Server. The CE Web Componenet Server works with the CE Framework to actually creates the new web page and then submits it back to the Web Server for viewing purposes.
Display File System Stats
The df command yields the amount of free space available on each file system. It tells you how many kbytes are available, what has been used, what is free, the capacity, and where the filesystem has been mounted.
Its a good command to check out when you suddenly become aware of a space issue.
Governmental Process Idea for Healthcare Apps
In reading Dave Aden's article, Considerations in Developing ColdFusion Applications in Enterprise and Government Organizations, I really like the idea of having the privacy officer review the application. The reason being with HIPAA, Hospitals have created the role of the Privacy Officer. This individual or group of individuals are tasked with ensuring personal health information remains private. Different solutions have different levels of privacy needed, but it would be a great idea to have as a part of the evaluation process or design review walkthrough to present the concepts to the privacy officer(s).
December 8, 2004
Practice What We Preach
IT departments are sometimes plagued with a myriad of applications that are hard to maintain because they were developed in silos, or for one purpose and exploited to do another. You can have applications running on the same box, that can’t even talk to each other, because the development in a silo didn’t use the same meta data to refer to items. The problem is that there is not a large investment in organizations to resolve the administrative problem. Management needs to have a quantitative answer to the question who is doing what, where are they, how much more do we have coming through the door, what changes are going on here and there, and how much time are we spending. There are basic questions. In order to solve the basic questions, one needs a central shopping area in order to synchronize the data. Creating applications and releasing applications in a silo for a single purpose only leads to a long run view of a department stuck in a quagmire of incompatible apps trying to compare apples to oranges to grapes to try to figure out where the departmental resources have been exerted.
Crystal Enterprise Tiers
Crystal Enterprise, CE, is a tier based system. The components are logically grouped based on what they do.
The five tiers are:
- The Client Tier refers to the Crystal Management Console which is a web based delivery system. There are also custom apps that can be created.
- The Application Tier is where the server side components are processing, in the default CE install on Windows this is the Web Component Server and Web Connector to the Web Server, IIS.
- The Intelligence Tier is the management of the CE system, maintaining the security, server process communication, auditing, and storing report instances. It contains the Crystal Management Server, Cache Server, File Repository Servers, and Event Server.
- The Processing Tier is the report generator part of the system. It works with the databases. Here one finds the Report Job Server, Page Server, Report Application Server, and Program Job Server.
- The Data Tier is the databases that will be utilized on the CE system.
Here is the extensible part of CE, components can be installed on one machine, or spread across many machines. A tier is sorta like a layer of the system. In CE, services are referred to as servers, but many of these server processes are involved in comprising the system. So a service can be installed on one machine or a couple. They can also be redundant for instance you can run two Crystal Management Server processes to ensure there is no downtime.
Vi Commands
Since it has been a while, and I need a place for my permanent memory banks. Enjoy
vi ?R file opens a read only copy
vi +n file opens a file at line n
vi +/pattern file opens a file at the first line matching the pattern
vi tail -200 file opens the last 200 lines of the file.
h moves to the left.
j moves down.
k moves up
l moves right
0 is the first position of the current line
$ is the last position of the current line
H brings you to the top of the screen
M brings you to the middle of the screen
L brings you to the bottom of the screen
G brings you to the last line in the file
:linenumber brings you to that line number
/searchpattern searches forward for the pattern.
?searchpattern searches backwards.
n repeats the search.
N repeats the search in the opposite direction
a appends after cursor.
A appends to the end of the current line.
i inserts before the cursor.
I inserts at the beginning of the line
ESC gets you out of insertion mode.
CTRL-J, RETURN moves down one line.
CTRL-I inserts a tab
cw changes a word
cc changes a line
dd deletes the current line
numberdd deletes how many lines number is equal to 11dd 11 lines gone.
s substitute charater
S substitute entire line
u undo last change
U restore current line
x delete current cursor position
X delete back one character
y copy current line to new buffer
yy copy the current line
ZZ, :x quit and save copy if there are changes
:w write file.
:q quit file
:e filenext edit the next file
:n edit the next file (determined at vi starting)
CTL+G show the current file and line number
I think that?s enough to get me going again when the situation arises.
December 7, 2004
Access and Autoexe
One of the wonderful things with technology for the masses, is that the masses utilize it.
So if you get yourself caught in a situation where it has been years since you have had to touch an access db.
One can supress the running of autoexe with pressing the shift key on open.
Also the command below will open the macro you desire.
MSACCESS myDB.mdb /xMacrotoRunonOpen.
Why have an IT Architecture?
An IT strategic plan generally consists of where we currently are, where we as an organization would like to go, and the way to get there. Is generally linked to IT Architecture, but why?
First, the Vision of where one would like to be is derived the business visions being enhance by technology thrends. From these realizations the purpose of IT in an organization and the purpose of the organization itself is defined. This outcome establishes and communicates a common direction.
The strategy of getting to the vision encompasses several key components that are dependent on each other. First, the IT configuration of the organization needs to be defined. This encompasses the portfolio of IT assets - including applications, tools, hardware, infrastructure. The next step is detailing the business goals/needs and the infrastructure goals/needs. Finally one needs to determine the amount of IS resource available, and budget for new resources if needed. Based on these three items, comfiguration, goals and needs, and available resources, one can look at the plan and success criteria of meeting the IS Purpose through objectives and projects. An architecture assists here because it can define interoperability for data and functionality, which will limit support requirements for new projects. IE, we don't really need to convert this data, because it is sitting here and already configured for reporting. Plus you will also have access to this information. Another way the architecture assists, is hopefully the picture will continue to be simplified instead of complicated.
The sequencing of implementing the vision is driven by the IT Architecture, the Operating Plan of the organization, and the Budget. A good architecture brings about interoperability which assists new implementations with allowing a higher quality and flexibility of the system. Finally a good architecture makes the planning simple, so that it is obvious to everyone there are no gaps.
December 6, 2004
Its the End of the NT Era
Its the End of an Era, the final time to be able to shutdown the machine, and replace it with another beautiful OS.
Microsoft's announcement of end of unpaid support can be found here.
Somethings one just misses
Its been a while, but sometimes there are people who come in and out of ones life. When you don't see them daily, one misses their presence, the benefits they brought to your life.
In cleaning out old archived emails, I came across one of those old emails to be deleted that made me chuckle, and I'll share.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Elyse,
Love how you start the email with Good Day....and then tell me how crappy your morning had been.
Anyway, In between meetings, I'm attempting to locate the keeper of the Service Contracts. I assume you have been up and running the rest of the day. I'll let you know as soon as I find something.
P
______________________________ Reply Separator _________________________________
8/3/99
Good Day,
This morning devo received the following error:
FATAL: Parity Error on the motherboard
PANIC: Parity Error address unknown
Trying to dump 9120 pages to dumpdev hd (1/41) at block 0 9120 pages dump
This error forced a shutdown of the machine. Joe and I rebooted the machine and cleaned the filesystems as they were mounted. The machine appears to be functioning properly. Now I have concerns over what caused the error message and how severe is the error? Any error messages dealing with a motherboard normally give me heart palpitations. I was wondering if you could find the service contract number and the phone number to call for aid in distressing situations. We know the machine is supported by DEC. I would really like to find the root cause of this error message.
Thank you for your time,
Elyse
Competition is good.
Damon Cooper posted a compatibility test warning on the latest copycat ColdFusion server yesterday. The post clearly states his level of frustration. What the post misses, is that competition is good and needed for any product. There will probably be a small range of tags that are good in this tool and missing from the other. There will also be a basic foundation in Macromedia's product that is missing from the copy cat. However the fact is the competition will cause a better product on both sides. It takes a lot for an upstart to catch up to Macromedia’s ColdFusion. The product has been tried and tested and Macromedia has a wide knowledge base of what is needed and where the future is going to be. The upstart will be missing these key factors, but probably the upstart will deliver a couple of features the community has been desiring at a quicker release schedule. The competition brings drive to both companies. Having a company motivated by drive to enhance and develop a great product is only good for the users of both products.
December 5, 2004
Crontab an old friend
Its been a while, but this week I had an opportunity for a refresher course in cron and aix (on the job learning of course). For those of you who are unfamiliar, cron is the scheduling utility in UNIX.
So to edit crontab, the command is crontab -e
To list crontab, the command is crontab -l
To view the job status of cron, the command is crontab -v
To remove the crontab file for your user, the command is crontab -r
The format on aix is as follows
- The minute the job is to be run (0-59)
- The hour the job is to be run (0-23)
- The day of the month the job is to be run (1-31)
- The month the job is suppose to be run (1-12)
- The day of the week for the job. (0 - 6 respectively equates to Sunday through Saturday)
- The shell command
For for midnight during the weekdays, and example would be
0 0 * * 1-5 /shellcommand.sh
An astrick (*) equates to all values, e.g., every hour, every day, every month, etc.
A pound sign (#) comments out the line.
To list who can access your cron file, /var/adm/cron/cron.allow file, and to deny access, /var/adm/cron/cron.deny.
Also to view all processes on a machine running the command is ps -elf.
Got to love email
I came across Sean's warnings of emails and attachments. Basically to place up a website in order to control the attachments, but I think it really equates to where your company is and email is.
At my lovely organization, email has become a knowledge management type system. Since there is not really one in place, email is a substitute. Recently, we have recieved notification that everyone will be limited to 60MB of email space. Since having in one's email all of the project movements, clarifications, and decision points since your first day of employment has been standard operating procedures. 60 MB is really small. I have contracts in my email for project for next year where the document attached is over 60 MB. I also have screen shots of vendor system bugs that also equate to alot of space. I could place these on the network in a file system, but either way space needs to be consumed. I could put these on a website with a CMS, but still space will be consumed.
Other issue, is that the Content Management System project for our organization is still in the RFP stage, so not everyone has access to the web. Plus, I really don't believe that placing a contract on the web is the best way to attack the problem. But a CMS and the contract, would definitely be a great way to control the version control problem with contracts, and searching through the contract for key terms. Although security issues and view time between the two companies would really need to be handled.
So what am I saying, I guess it comes down to this. If an organization is going to limit email, a couple of other items need to be in place.
1. An easy way to exchange documents between organizations, where the link is secure and a click away.
2. A process in place to handle the security of the documents exchanged.
3. Easy availablity to place and update the documents being exchanged.
4. Storage space will always be needed.
| 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
Physician office EMR Lessons Learn
The Difference Between Liquid and Fixed Design
Hospitals safety measures
ONCHIT Workplan
IT Competencies
Device Configuration Standardization
One can see risk coming
New Billing Formats
How health care organizations use IT
Patient Safety - still improving
Usability and Patient Care (part deux)
Usability and Patient Care
Setting up things in production
Dumping Oracle 8i
Comments Off
The Grinder 3 & Web Application load testing
Anatomical Pathology Reports to the Cancer Registries
Don't play chicken with inittab
What does the CE Crystal Management Server Do?
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




