Tuesday, September 20, 2011

Everyone Assumes Health Plans are the Bad Guy

When I read "Everyone wants to assume that the health plans are the bad guy", I couldn't help keep nodding my head.

This interesting statement was written by David Axene (President & Consulting Actuary, Axene Health Partners) in his article "Is California leading states in health care reform?", posted in SoA Blog. Many people have an perception that insurance companies are the greedy devils which always look for opportunities to get excessive profits by increasing the health insurance's premium rates - but do they really complain on the increasing medical costs charged by the medical providers (like private hospitals)? They do not understand the premium increase is mainly attributed to the increase in medical costs, or they refuse to understand?

"Public" here refers to those public who have bad perception on insurance companies
selling health insurance

Perhaps this disappointing public behaviour can be explained by the above chart - public needs to pay premiums to insurance companies, but they receive treatments from the hospitals. We can easily understand with common sense that it is human nature to consider the party which they need to pay money to as "bad guy", especially when there is premium increase. Even though the insurance companies explain that the increase in medical cost is the main culprit, they fail to (or refuse to) comprehend the key problem as the medical bills are not paid out from their pocket directly. To make the matter worse, sometimes the government also think the insurance companies are the "bad guy" and impose a lot of restrictions and controls - while they do not take sufficient measures to control the root cause.

On the other, the medical providers are the one help the public by providing medical treatments and they do not pay or only pay small amount of deductibles / co-insurance. Since the medical bills are settled by the insurance companies and not from their own pocket, they don't concern what the amounts are. Since the Malaysian Government is currently working on healthcare reform, they must invite expertises from insurance industry to join the working committee - the public behaviour will change dramatically according to how the healthcare policy is established.

It is human's nature for not appreciating insurance companies - My friend, Jane, has a relative who just received treatments in a hospital, was complaining that her insurance company did not fully reimburse the pre-hospitalization medical bills (i.e. the prescription drugs costed a few hundred ringgit). Even though the insurance company has paid a few thousand hospital bills. Of course, no gratitude to the insurance company.

Monday, September 19, 2011

Spreadsheet Tips (1): More Flexible MOP Template

In case you are looking for some Excel / Spreadsheet tips on how to make your templates more efficient, perhaps you can get some ideas from the tips I share below. Afraid of bombastic command or VB coding? Don't worry, the tips I share below are very simple and you don't need to be an expert to use the tips.

The following tips use examples from the template I used to compile movement of policy (MOP) statistics (i.e. new business, in force business & termination/alteration) . However, you may apply the same ideas for other types of templates as well.

Tips (1): Produce results by plan code level, not product group
Normally, the MOP statistics are reported in specific product groups, such as "Whole Life", "Endowment", "Temporary" etc. in BNM Form L6-L8 (Conventional Insurance) / FT5-FT7 (Takaful). It is common for us to group our data by the required product groups using data processing applications (e.g. FoxPro, Data Conversion System (DCS)) before we transfer the results to the spreadsheet template.

Well, try to think a few conditions you may come across - Your superior finds out there is a mistake in classifying few product codes into incorrect product codes, and he needs you to update the last year production and current year production based on the correct product group. OMG, you need to update the FoxPro / DCS tables and rerun the programs to product revised new business summaries - to make matter worse, the last year new business data may be already gone due to hard disk crash (because you forgot to backup the data)...

Figure 1: Data Sheet
You will not face such problem if you produce the new business results by product code / plan code. Instead of doing grouping at FoxPro / DCS level,  you only do the product grouping at spreadsheet template level. As shown in Figure 1, I use column G (labeled as "Index") to do product grouping. For example, for "Ind_Trad_EndEdu_Reg" :
  • Refers to "Individual Products + Traditional Business + Endowment + For Education + Regular Premium".
      
  • I use SUMIF to sum up the no. of policies sum assured and annualized premiums for the product group, i.e. "=SUMIF('data_NewBiz (Ind)'!$G:$G,"Ind_Trad_EndEdu_Reg",'data_NewBiz (Ind)'!$C:$C)".


Figure 2: Reference Table
It is not difficult to set up the product group "code". In Figure 2, you can easily find out that the code is basically just the combination of several fields, and teh underscore ("_") is used separate the fields (you can omit "_" if you want your "code" to be shorter. You can use "&" to combine the values from different fields, instead of CONCATENATE, such as "=IF(ISBLANK(B6),"",B6&"_"&C6&"_"&D6&"_"&E6)" used in my template.

Now you can produce the revised report easily - change the product group in the current year and last year working file, and your revised report is done!

Tips (2): Too many worksheets in your spreadsheets? How to display the selected group of worksheets?
It is common for actuarial people to have spreadsheet template with a lot of worksheets. For example, the MOP template for Figure 1 & 2 contains 25 worksheets. Sometimes it may be a bit troublesome to go to the specific worksheets I would like to check.

Figure 3: Buttons used to hide unwanted worksheets
To overcome this problem, I use VBA to hide the unwanted worksheets. As shown in Figure 3, I used 4 buttons to hide the worksheets that I do not want to see. As the 9 data sheets are only referred when needed, I create an additional control to display/hide the data sheets. When I click "Display Monthly Sheets" button (without data sheets), only 6 worksheets are displayed and it makes my checking easier! 

Below is an example of the VBA coding I used in my template:

Sub DisplayMthlySheets()
    Application.ScreenUpdating = False
    
    For i = 1 To Sheets.Count
        If Sheets(i).Name = "input" Or _
           Sheets(i).Name = "FT5_mth" Or _
           Sheets(i).Name = "FT6_mth (ProdClass)" Or _
           Sheets(i).Name = "FT6_mth (Cause)" Or _
           Sheets(i).Name = "FT7_Close" Or _
           Sheets(i).Name = "Recon (Mth)" Then
            Sheets(i).Visible = True
        Else
            Sheets(i).Visible = False
        End If
   Next i
    
    Call DisplayDataSheets
    
    Application.ScreenUpdating = True    
End Sub

Friday, September 16, 2011

FoxPro for Actuarial (2)

I started to learn FoxPro when I started my first actuarial career after graduating from the university. My mentor in the actuarial department, Madam L, was also my FoxPro shifu (i.e. master / teacher / guru). Madam L was the reinsurance administrator in the department - by using FoxPro, she managed to do necessary reinsurance administration work for the entire individual life insurance business (more than 1 million policies) by her own, alone! By going through her programs and guidances, I picked up necessary skills to use FoxPro and create FoxPro programs for my reporting and experience studies tasks (my manager resigned three month after I joined the department - all his tasks became my tasks!) - until now I am still grateful to the guidance she provided to me previously.

When I was promoted to a team leader with junior staffs, similarly I needed to teach them the relevant FoxPro knowledge so that they had necessary skills to do the assigned tasks. At that time, there was no proper training set up to teach the juniors FoxPro skills - the juniors have to go through the existing programs and learn the FoxPro skills by their own, by going through a lot of try-and-error. Consequently, some FoxPro programs were not modified properly and eventually were discarded as they were already too messy; on the other hand, some FoxPro programs written by my "genius" colleagues cannot be understood by most people in the department. Hence, I decided to set up a proper "syllabus" for FoxPro to train my juniors.

I split my FoxPro training into 5 modules, and each module has its own training materials: (with quiz & exams!)

  • Module 1: Introduction & Query
  • Module 2: Query (2) - create & alter tables, multiple-table matching
  • Module 3: Program (1)
  • Module 4: Program (2) - looping, arrays, text merge
  • Module 5: Program (3) - procedure & functions, advanced topics

I frequently reminded my staffs that "actuarial are NOT IT programmer" - we only need to learn the relevant skills that are required to carry out our actuarial tasks. In other words, we do not need to learn the entire FoxPro skill sets like IT programmers - such as the visual features of Visual FoxPro (as this is not really necessary to make the process efficient). Furthermore, the standard "syllabus" also helped me to ensure at least the same level of skill sets for the entire team - the FoxPro programs and coding would be set up in a similar manner, so that other users and future developers could understand the programs quickly and modifications could be done easily.

Does it mean that we cannot use commands not stated in the "syllabus"? Not really. For those commands which were considered "nice to have" and did not really improve the efficiency of the process, I normally advised them not to use it (I said: "...because you will not the person who uses the programs forever"). However, if any team member found out good commands that can help to improve the efficiency, I would amend the "syllabus" accordingly so that everyone could (well, actually "should"...) learn the new commands.

In fact, apart from FoxPro, my staffs and I also set up standard "syllabus" for Prophet training as well. Setting up such proper training modules (especially for the junior staffs) are crucial for the department's knowledge management. If the "knowledge" is managed well in the department, the department will be able to develop healthily - there is continuity in the skills developed and lessons learned in the past. Otherwise, the past mistakes will recur in the future and our successors will only learn what we have learned previously, instead of making progress on what we have developed and learned previously.

(In case you are looking for FoxPro training program for actuarial people, you may contact me at limcheebeng@hotmail.com to discuss further.)

Thursday, September 15, 2011

FoxPro for Actuarial (1)

Recently when I helped my client to set up process to compile movement of certificate statistics (MOP) (i.e. new business, in force and termination/alteration), I advised them that Excel is not an ideal tool to do such actuarial exercise which requires a lot of data manipulation. "Then what is the better tool?" They asked me. Without any hesitation, I answered: "FoxPro".

Why do I recommend FoxPro as a good tool to be used for actuarial exercises that require a lot of data manipulation & matching (such as MOP reporting, experience studies and reinsurance administration)? What are Excel, MS Access or Data Conversion System (DCS) (a supplementary application comes together with Prophet) not considered good tools for actuarial exercise? Among the reasons are:

  • Ability to do data matching / joining - as FoxPro uses SQL (Structured Query Language) as the primary programming language, we can combine the selected fields from 2 different tables/data easily based on multiple matching criteria, by using "SELECT" and "JOIN" command (the ones I used the most are "LEFT OUTER JOIN" and "FULL JOIN").

    Doing such data matching / joining in Excel or DCS? You will definitely think that I must be kidding - it is pretty tedious to use "LOOKUP" function to do matching, especially if we need to refer to multiple fields / part of a field / combination of fields as matching criteria. Furthermore, our Excel / DCS will extremely "tired" to look up values if we have a huge set of data...
      
  • Highly automated process - We can set up highly automated process using coding the required steps in a "program" - from converting the raw data to FoxPro tables, perform necessary calculations and data manipulations to produce summaries for the intended results (such as in text file or Excel formats).

    Although Excel is able to summarize data like FoxPro by using Pivot Table function, it will be a bit complicated to set up coding for automated Pivot Table using VB in Excel (I just helped my client to set up one - I admit the relevant VB coding makes me a bit headache). FoxPro just needs a few lines of commands to do the required summaries.
      
  • Ability to handle huge volume of data - I still remember that when I used to use FoxPro to do matching for 2 tables with multiple millions records each. Sometimes I did felt sorry to my computer for "torture" it with sure heavy tasks... :p
      
  • Easy to debug - Although MS Access uses SQL as well, you may find out it may not be easy to debug. I still remember I used to help my staff to debug the MS Access template - which he totally had no idea where went wrong. The error message didn't give adequate information!
      
  • Inexpensive - Comparing to other actuarial applications (such as Prophet), FoxPro is considered cheap (just a few thousands riggit) - especially for a newly set up company with limited budget. By having FoxPro, you can even set up models to calculate reserves.
I will discuss my experience in learning FoxPro and the FoxPro training I provided to my staffs (with proper syllabus and training materials. Got exams too!)

Monday, September 5, 2011

Medical Insurance for All Malaysian?

During a seminar on health care reform held recently in Kuala Lumpur, Malaysian Health Minister Liow Tiong Lai mentioned that the government would refer to the healthcare model in Taiwan (one type of social insurance, i.e. National Health Insurance (NHI)) as one of the bases to reform Malaysian health care system. The government will develop the National Health Financing Authority (NHFA) to manage the fund under the National 1Care Health Scheme (1Care) - which is expected to be funded by government, private sector, employers and the people.

Theoretically, it is a good idea to have a structured healthcare system that can provide healthcare services to all citizens in the country. In my view, expensive medical cost is one of the key financial risks that everyone should really concern on - almost everyday we can read news about unfortunate folks with serious illnesses begging the public to fund for the expensive medical costs. According to Liow, starting from 2004, the medical expenditure for private hospitals exceeds government hospital. Frankly, the main factor attributes to this trend is the government hospitals are unable to deliver the healthcare services promptly and efficiently - I believe some of you may experience the frustration in government hospital, such as spending hours of waiting or getting doctor appointments scheduled after many months. However, we have to admit that government hospitals still have the most complete range of equipments.

However, practically, it is extremely difficult to implement social healthcare insurance model as adopted in Taiwan. There are too many factors that directly affect the implementation of social healthcare insurance - you can find out many weakness in Taiwanese model from Wikipedia article I refer below (sorry I only managed to find out the Chinese Language version). Let me quickly quote a few examples:
  • Difficult to increase insurance premium, despite the high medical inflation (have political consideration)
  • High volume of abuse by "insured" (due to public's attitude)
  • Overstatement of medical costs by hospitals
The responsible government agency needs to have a very stringent controls on all aspects of the healthcare, if they want to make this healthcare reform successful. It will be really a massive work to be done, furthermore on regular basis. Many expertises are needed to close monitor the "claim experience", from incidence rate, average claim paid, average length of stay up to loss ratio - many insurance companies have done a lot of controls on their medical claims but unfortunately quite a number of them the medical insurance is not a really profit making business. The agency should be granted sufficient authority to take actions on the hospitals if necessary (without political influence). Well, you may want to ask the the problem: "Where can we get the relevant expertises?"

We still have long way to go in healthcare reform. By the way, just wondering if the healthcare reform will also cover the delivery efficiency as well?


Reference:

Get Inspiration for New Problems

In my last post and debut podcast, I talked about why strong foundations matter for coming up with smart, workable solutions in business. Bu...