Today I was writing a SAS program, and I wanted a statement I was writing to the log to appear in a different color, so the user could find the information easily by scanning the log. My supervisor wrote a macro program that output a note at the end that appeared red in the log. So I looked up the program to see how he did it.
To my surprise, the macro program uses a simple %put statement with the word ERROR at the beginning, followed immediately by a dash (-). The dash removes the word "ERROR" from the log, replacing it with 5 spaces. This is apparently a default function in SAS. He also added a %str statement inside the word ERROR to break it up, so users do not see the word "ERROR" when the program is included in another program and the user searches the log for errors. Here is the code:
%put ER%str(ROR-) Here is text in red!;
This technique can also be used for the keywords WARNING and NOTE:
%put WA%str(RNING-) Here is text in green!;
%put NO%str(TE-) Here is text in blue!;
Note that the placement of %str() is arbitrary. It could just as well be "%str(W)ARNING-". Keep in mind that the end result is also indented the length of the key word, with blue being the shortest and green being the longest indent. Furthermore, there isn't much point in removing the word "NOTE" since it is generally not associated with error messages.
In the end, only four colors can be used in the log: the default black, red, green, and blue. Blue is the easiest to use, since the key word NOTE does not need to be removed. Having red and green also available, though, is definitely better than nothing!
Wednesday, September 16, 2009
Tuesday, July 28, 2009
IBM Buys SPSS & SPSS vs SAS
Announced earlier today, IBM is to buy SPSS, the statistical and predictive modeling software and competitor with SAS. (More news articles.)
I used SPSS at my last job, and I liked it quite a bit. There were certain tasks that were much easier using the windowing interface, and SAS's code-only method just doesn't quite match that. For example, transposing a dataset in SAS is not very intuitive. In SPSS, however, the wizard explains which variables to choose for identification of variables, constants, and variables to transpose.
Then on the other hand, SAS is quite powerful and is capable of a lot more than SPSS. Perhaps SPSS's code module can be used in a similar way, but when I used it, it was rather annoying. If you need to use a dataset, it required it to be open. In SAS, you don't ever have to open a dataset, unless you need to figure out what the variables are like. Then again, you can just look at the column information in the context menu. SAS flows from one dataset to another, and there's no need for the dataset to pop-up when using it.
SPSS was much better at handling variables (columns). Variables could be easily changed from one type to another, and "labels" for particular variables could be applied. For example, 1 = Low, 2 = Medium, and 3 = High. This can be accomplished in SAS with formats, but it's not quite the same, as it requires the user to apply the format. SPSS was also quite useful for turning a variable into a category or a variable with ranges; for example, converting salaries into salary ranges. A window wizard helped with that too.
At any rate, it will be interesting to see what happens in this market now that IBM is going to own SPSS. I always thought SPSS and SAS joined together would be a really great product, and perhaps IBM will bring to SPSS more SAS-like capabilities. Who knows?
More comparisons of SPSS and SAS:
I used SPSS at my last job, and I liked it quite a bit. There were certain tasks that were much easier using the windowing interface, and SAS's code-only method just doesn't quite match that. For example, transposing a dataset in SAS is not very intuitive. In SPSS, however, the wizard explains which variables to choose for identification of variables, constants, and variables to transpose.
Then on the other hand, SAS is quite powerful and is capable of a lot more than SPSS. Perhaps SPSS's code module can be used in a similar way, but when I used it, it was rather annoying. If you need to use a dataset, it required it to be open. In SAS, you don't ever have to open a dataset, unless you need to figure out what the variables are like. Then again, you can just look at the column information in the context menu. SAS flows from one dataset to another, and there's no need for the dataset to pop-up when using it.
SPSS was much better at handling variables (columns). Variables could be easily changed from one type to another, and "labels" for particular variables could be applied. For example, 1 = Low, 2 = Medium, and 3 = High. This can be accomplished in SAS with formats, but it's not quite the same, as it requires the user to apply the format. SPSS was also quite useful for turning a variable into a category or a variable with ranges; for example, converting salaries into salary ranges. A window wizard helped with that too.
At any rate, it will be interesting to see what happens in this market now that IBM is going to own SPSS. I always thought SPSS and SAS joined together would be a really great product, and perhaps IBM will bring to SPSS more SAS-like capabilities. Who knows?
More comparisons of SPSS and SAS:
Saturday, July 4, 2009
Bank Advice to Couples
Recently, my bank, the UW Credit Union, published an article on the website about "Five Common Money Mistakes Made by Couples." Here is the list in short form:
The other points were great, if not somewhat obvious. Of course it's best to make decisions together and not retain secrets, unless of course, some money is set aside for a gift. Keeping major financial secrets is a quick way to lead to arguments or a lot of stress for a spouse should something happen to the other.
The fourth item about not "marrying your debt" pointed out that it's not best to merge debt. As many people have students loans, it may be tempting to put all the debt together. However, this can harm one or the other spouse's credit. Consolidation may save money on monthly payments, but it could make it harder to get a loan. It also reminds me of that commercial with the guy singing about his new wife who had a bad credit score and they couldn't get a home loan because of it. At the end, he sings something like, "I’d be a happy bachelor with a dog and a yard." That's no way to start a marriage!
The last point about planning ahead also noted that it's good to have about six months in savings ready for any disaster. While that sounds great, I don't think anyone in middle America is doing that. It's been said that we spend $1.01 for ever $1.00 we earn, so it's going to be difficult to change the culture to turn that around. Of course, it's best to try!
- Know where your money goes and have a budget.
- Share financial responsibility.
- Don't keep money secrets from each other.
- Don't marry your debt.
- Plan ahead.
The other points were great, if not somewhat obvious. Of course it's best to make decisions together and not retain secrets, unless of course, some money is set aside for a gift. Keeping major financial secrets is a quick way to lead to arguments or a lot of stress for a spouse should something happen to the other.
The fourth item about not "marrying your debt" pointed out that it's not best to merge debt. As many people have students loans, it may be tempting to put all the debt together. However, this can harm one or the other spouse's credit. Consolidation may save money on monthly payments, but it could make it harder to get a loan. It also reminds me of that commercial with the guy singing about his new wife who had a bad credit score and they couldn't get a home loan because of it. At the end, he sings something like, "I’d be a happy bachelor with a dog and a yard." That's no way to start a marriage!
The last point about planning ahead also noted that it's good to have about six months in savings ready for any disaster. While that sounds great, I don't think anyone in middle America is doing that. It's been said that we spend $1.01 for ever $1.00 we earn, so it's going to be difficult to change the culture to turn that around. Of course, it's best to try!
Saturday, June 20, 2009
HEDIS 2009 Complete
We just completed HEDIS 2009!
For those of you who don't know what HEDIS is, the acronym stands for Health Plan Employer Data and Information Set. In order to obtain accreditation from the National Committee for Quality Assurance, health plans must analyze their health care data to generate percentages related to the quality of care provided by the health care providers. The data is used to compare health plans and provide information about where health care can be improved, for the health plans specifically and for our nation in general.
An easy is example of a HEDIS measure is the percent of pregnant women who obtain the recommended number of prenatal visits before giving birth. This percent is part of the FPC measure (Frequency of Ongoing Prenatal Care). Another example is the percent of children who obtain the recommended vaccinations at specific times during their development. This comprises the CIS measure (Childhood Immunization Status). More complex measures, such as CDC or the set of RRU measures, measure the quality of care for diabetics or the cost of care for specific disorders across the health plan (respectively).
Toward the end of HEDIS, I invented a couple of new words related to the process:
Update: I noted the wrong pregnancy measure, PPC, instead of FPC. It is now correct.
For those of you who don't know what HEDIS is, the acronym stands for Health Plan Employer Data and Information Set. In order to obtain accreditation from the National Committee for Quality Assurance, health plans must analyze their health care data to generate percentages related to the quality of care provided by the health care providers. The data is used to compare health plans and provide information about where health care can be improved, for the health plans specifically and for our nation in general.
An easy is example of a HEDIS measure is the percent of pregnant women who obtain the recommended number of prenatal visits before giving birth. This percent is part of the FPC measure (Frequency of Ongoing Prenatal Care). Another example is the percent of children who obtain the recommended vaccinations at specific times during their development. This comprises the CIS measure (Childhood Immunization Status). More complex measures, such as CDC or the set of RRU measures, measure the quality of care for diabetics or the cost of care for specific disorders across the health plan (respectively).
Toward the end of HEDIS, I invented a couple of new words related to the process:
- HEDISache - A headache brought on by working on HEDIS.
- THEDIS - Pronounced tuh-he-dis. Alternatively, THEDIouS, pronounced tuh-he-di-ous. - An adjective describing what it's like to review HEDIS data: tedious.
- HEDIlunch - Lunch with other people who worked on HEDIS, usually after successful completion.
Update: I noted the wrong pregnancy measure, PPC, instead of FPC. It is now correct.
Thursday, May 14, 2009
AHIP Insurance Course
Last week, I completed an introduction to insurance course, Fundamentals of Health Insurance - Part A (Basics of Health Insurance), offered by AHIP, America's Health Insurance Plans, a coalition of health insurance companies. I had decided to take the course online to save paper and money. To prepare for the exam, I studied for a couple of hours every night last week. I had already read all of the material, but it was quite a bit of information to remember, so I was reviewing it and going through the study guide. I took the test Friday and passed. However, I wasn't offered the opportunity to offer any feedback on the course, so I would like to here.
First, I had a number of problems accessing the presentation online. When I would try to load the presentation in Firefox, I received an error message from Java. I tried it on Internet Explorer and received the same message. I checked my version of Java, and it appeared to be up-to-date. I also check my security settings in both Firefox and Internet Explorer. Nothing seemed to be blocking it. I also checked my firewall, but since I was in a hurry, I didn't check it thoroughly. So then I tried my wife's laptop, which is less secure than my desktop PC in terms of browser security and firewall settings, and it worked. I studied using her computer for a few weeks until I had some time to investigate issues on my PC. Finally, I manually updated Java and changed my firewall settings to asked about network connections. It turned out that the Java applet AHIP was using was out-of-date, and I had to allow an exception. I'm not sure if the update or the firewall change resolved the issue, but it worked on my PC.
The presentation itself was also problematic. The data presented was out-of-date by at least 10 years, as the presentation only included data up to the 90s. It appeared that many of the terms, definitions, and trends were also quite out-of-date. The presentation also included a number of "Knowledge Checks" to see if you were understanding the material. About 90% of the time, these questions were completely irrelevant to the material. At first I thought they were from a different chapter, but now that I've finished reading the material, I don't think they were even from the right course. The answers to the questions were not provided in ANY of the material. Fortunately, these questions were only intended to help the student study and did not count toward the final grade. I'm not even sure AHIP even kept track of the answers.
I had contacted AHIP about both problems - with access and the questions - however, they were not much help. The guidance on updating my PC did not help, nor did the tip that "these intermediary quizzes are not graded" - basically saying "skip them". Open the following link to view the email conversation with the AHIP representative:
http://docs.google.com/Doc?id=dff94k46_67gdnxhwhn
At any rate, I was able to overcome these issues, study the material, and pass the test. There were issues with the test, too. The location for accessing the test was oddly placed at the end of the presenation content. If you clicked on it before you were ready or before your test time, that took up 1 of 2 test opportunities, since it would load the official test. I heard a number of people saying they accidentally clicked on it or expected it to be a practice test. This seems to be a bit of poor design.
The test format was a bit odd. It consisted of a number of frames with the browser, with a convenient clock counting down the time left for the test. The questions were multiple choice, but included poorly-written answers like 1) A and B; 2) B and C; 3) A, B, and C; 4) Only A; 5) Only C. These types of questions do not really increase the ability of the test to distinguish between those test-takers who know the material and those who do not. Simpler questions with 3 or 4 clear choices for responses would be adequate.
Some features were actually very convenient, helping the test-taker. One was the "Review" button, which once pressed would flag the question and put it on a list for you to answer later. The other was the button that showed the list of questions to review. The next button, as I heard from a colleague, changed from "Next" to "Submit" on the last question, which is not good if you're not paying attention to the number of questions you've answered. She clicked Submit by accident, without reviewing the questions she had flagged, and as a result, failed the test. Once I completed the test, a list of the questions I answered correctly appeared. Apparently there was a link at the bottom that showed the total percent correct, but I did not see it. I clicked the "Home" button to check to see if I passed the test. When I went back, it did not load the test results. I suppose it was a safety mechanism so that the user does not overwrite a test that was just taken, which would not be good, especially if the taker passes it the first time and fails it the second.
Although all of these problems were present, I did learn quite a bit. The course had a lot of good information about how the insurance industry works and huge number of common terms and definitions. There was some information I did not find as relevant, for example, commissions for agents/brokers, but it would certainly be useful for someone in those fields or working with those fields. I heard feedback from my co-workers that sounded similar to my experiences, but I found that a lot of people order the books. I feel that's a bit wasteful; however, it would have avoided the problems with the online presentation and questions. In the end, the information I learned was very useful, but the presentation could have been better. I hope AHIP reviews the presentation and content and updates the content to include new data and up-to-date definitions.
First, I had a number of problems accessing the presentation online. When I would try to load the presentation in Firefox, I received an error message from Java. I tried it on Internet Explorer and received the same message. I checked my version of Java, and it appeared to be up-to-date. I also check my security settings in both Firefox and Internet Explorer. Nothing seemed to be blocking it. I also checked my firewall, but since I was in a hurry, I didn't check it thoroughly. So then I tried my wife's laptop, which is less secure than my desktop PC in terms of browser security and firewall settings, and it worked. I studied using her computer for a few weeks until I had some time to investigate issues on my PC. Finally, I manually updated Java and changed my firewall settings to asked about network connections. It turned out that the Java applet AHIP was using was out-of-date, and I had to allow an exception. I'm not sure if the update or the firewall change resolved the issue, but it worked on my PC.
The presentation itself was also problematic. The data presented was out-of-date by at least 10 years, as the presentation only included data up to the 90s. It appeared that many of the terms, definitions, and trends were also quite out-of-date. The presentation also included a number of "Knowledge Checks" to see if you were understanding the material. About 90% of the time, these questions were completely irrelevant to the material. At first I thought they were from a different chapter, but now that I've finished reading the material, I don't think they were even from the right course. The answers to the questions were not provided in ANY of the material. Fortunately, these questions were only intended to help the student study and did not count toward the final grade. I'm not even sure AHIP even kept track of the answers.
I had contacted AHIP about both problems - with access and the questions - however, they were not much help. The guidance on updating my PC did not help, nor did the tip that "these intermediary quizzes are not graded" - basically saying "skip them". Open the following link to view the email conversation with the AHIP representative:
http://docs.google.com/Doc?id=dff94k46_67gdnxhwhn
At any rate, I was able to overcome these issues, study the material, and pass the test. There were issues with the test, too. The location for accessing the test was oddly placed at the end of the presenation content. If you clicked on it before you were ready or before your test time, that took up 1 of 2 test opportunities, since it would load the official test. I heard a number of people saying they accidentally clicked on it or expected it to be a practice test. This seems to be a bit of poor design.
The test format was a bit odd. It consisted of a number of frames with the browser, with a convenient clock counting down the time left for the test. The questions were multiple choice, but included poorly-written answers like 1) A and B; 2) B and C; 3) A, B, and C; 4) Only A; 5) Only C. These types of questions do not really increase the ability of the test to distinguish between those test-takers who know the material and those who do not. Simpler questions with 3 or 4 clear choices for responses would be adequate.
Some features were actually very convenient, helping the test-taker. One was the "Review" button, which once pressed would flag the question and put it on a list for you to answer later. The other was the button that showed the list of questions to review. The next button, as I heard from a colleague, changed from "Next" to "Submit" on the last question, which is not good if you're not paying attention to the number of questions you've answered. She clicked Submit by accident, without reviewing the questions she had flagged, and as a result, failed the test. Once I completed the test, a list of the questions I answered correctly appeared. Apparently there was a link at the bottom that showed the total percent correct, but I did not see it. I clicked the "Home" button to check to see if I passed the test. When I went back, it did not load the test results. I suppose it was a safety mechanism so that the user does not overwrite a test that was just taken, which would not be good, especially if the taker passes it the first time and fails it the second.
Although all of these problems were present, I did learn quite a bit. The course had a lot of good information about how the insurance industry works and huge number of common terms and definitions. There was some information I did not find as relevant, for example, commissions for agents/brokers, but it would certainly be useful for someone in those fields or working with those fields. I heard feedback from my co-workers that sounded similar to my experiences, but I found that a lot of people order the books. I feel that's a bit wasteful; however, it would have avoided the problems with the online presentation and questions. In the end, the information I learned was very useful, but the presentation could have been better. I hope AHIP reviews the presentation and content and updates the content to include new data and up-to-date definitions.
Subscribe to:
Posts (Atom)