Wednesday, May 19, 2021

Express Scripts - A mail order company with conflicts of interest

 Conflict of Interest - 

    • a situation in which the concerns or aims of two different parties are incompatible.
    • a situation in which a person is in a position to derive personal benefit from actions or decisions made in their official capacity.

 Express Scripts (E.S.) is a mail-order prescription supplier and a prescription insurance company.  A conflict of interest arises when your local pharmacy wants to provide a temporary fill for a prescription, and Express Scripts locks out the pharmacy from filling that prescription. "Too Soon to Order"

This is blatantly false because Express Scripts has not yet filled the prescription, shipped the prescription, delivered the drug, and at the very least, "you" have not received the medication.  How can it be too soon for the local pharmacy to fill if you have not received the medication?

The simple answer is it is not too soon.  In fact, local pharmacies and patients always deal with this.  According to one local pharmacy, when asked if this is a problem with all mail-order companies, the response was, "No, this is mainly a problem with Express Scripts." 

Express Scripts knows this is a problem because every time it happens, the local pharmacy can call Express Scripts, explain the circumstance and obtain an exception to fill the prescription.  But this is wrong in too many ways.  First, it is unnecessary and a waste of time for the local pharmacy.  Express Scripts refers to this as an "exception," which it is not; it's a regular occurrence.  All that is required in this day and age of automation is for your doctor to receive a request from the patient indicating that their supply has run out.  (We won't get into solving this problem right now, and we'll save it for another blog.) The doctor requests a local pharmacy for an emergency supply and the prescription with refills from the mail-order company.  Express Scripts fulfillment is automated after the request is made, except for the local pharmacy fulfilling this request. It fills the prescription automatically 'before' the pharmacy can supply me with the emergency supply... and this makes them jump through hoops before they get authorized to fill it.  What a time waster, sarcastically, "Thank you, Express Scripts."

2021-05-18 Update:
A new system was rolled out by Express Scripts; it takes care of 'some' of the issues mentioned above; however, there are others.  Of course, in the switch over... I picture some IT guy's head rolling... from Hero to Zero.  It drained our FSA before it was caught, and suddenly we have no money to pay for prescriptions.  Apparently, the cancer medication is expensive; fortunately for me, it's underwritten... unfortunately getting the money from the FSA was more accessible, if wrong, and drained the account.  This was rectified immediately.. and by that, I mean within a month or so.  Sheesh.  At least it's fixed now.

So, one more issue to throw at everyone.  Having your mail-order drug supplier also be the insurer is a bad idea... One gigantic conflict of interest.  The more orders they withhold from the local provider creating a precidence conflict prohibiting the patient from receiving a temporary supply from a local provider in a timely manner... the more money they save on medication they didn't pay for, as the insurer, when you needed it.  This conflict not only risks the patient's health, it served to prohibit a local supplier earning money. Yeah... it's really like that sometimes. By wasting your time, and the local provider's time resolving the problem, they make money.

Definition: "in a timely manner." By this, I mean to be received in time to meet your medical needs. Causing, for example, a missing medically necessary medication. One that is not received in time to maintain well-being and health, or threatens possible death due to an inability to obtain needed medication.

Excel VBA Sort Any worksheet by Name with a Named Range and Sort list from any Worksheet returning control to the calling sheet: Code included

 I use Vlookup in several sheets to obtain information in a Master List however, the Master list could have been used to lookup information and having been sorted is no longer in the order needed for Vlookup to work.  So, I needed a quickway to Sort that list into the correct order.  This routine allows me to make sure it is sorted for a lookup from any other sheet,

It also allows one to sort any Named Range, in any sheet by any sort list.

I got tired of needing to access data from a worksheet in an ordered fashion and creating a sort routine for that sheet.  With this, I can create a button, and sort any Range in any way I want from any sheet that needs it. 

The only requirements are:

The sheet must have a Named Range to be sorted and a Named Range which is the list to sort it by.  When calling from a different sheet, the routine activates the sheet with the Range to be sorted, sorts it, and returns to the active sheet it was called from. No more jumping back and forth.  

If I create a Sorting routine for a sheet, that looks up data from a Master list, I can first sort the Master List before calling the routine for the sheet that uses it.  No more messed up lookups because the Master List was sorted by another routine.

For safety, the routine also will debug print information that will allow you to confirm the sorting routine is working the way you want.  If you need different search criteria, the code can be added to this routine to give you even more fine control of the list being sorted.  The sort here is a generic one.  Alphabetical by the Range listed.

If this helps, leave me a comment.

Sub MasterSort(WorksheetName As String, RangeToSort As String, ColumnToSortBy As String)

'

' SortName Macro

' Sort from Any Worksheet any Sort with a NamedRange and SortColumn if  needed for reference in a VLookup form another WorksheetName, RangeToSort and ColumnToSortby

' Retains ActiveWorksheet before Call

' Prints in immediate mode activity for confirmation'

Dim OldWorksheetName As String

OldWorksheetName = ActiveSheet.Name

Debug.Print "Current Active calling Worksheet:" & ActiveSheet.Name, " CodeName of Sheet: "; ActiveSheet.CodeName

'Activate sheet to be sorted

    Worksheets(WorksheetName).Activate

    Worksheets(WorksheetName).Select

    Debug.Print "Worksheet being sorted: "; WorksheetName, " CodeName of Sheet: "; ActiveSheet.CodeName, " Named Range being sorted: "; RangeToSort; " and Column of Sort: "; ColumnToSortBy

'Sort activated sheet

    Range(RangeToSort).Select

    ActiveWorkbook.Worksheets(WorksheetName).Sort.SortFields.Clear

    ActiveWorkbook.Worksheets(WorksheetName).Sort.SortFields.Add2 Key:=Range( _

        ColumnToSortBy), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _

        xlSortNormal

    With ActiveWorkbook.Worksheets(WorksheetName).Sort

        .SetRange Range(RangeToSort)

        .Header = xlGuess

        .MatchCase = False

        .Orientation = xlTopToBottom

        .SortMethod = xlPinYin

        .Apply

    End With

        Range("A1").Select 'places the cursor in the top-left cell.

             

 ' When done, reactivate the calling sheet

 

        Worksheets(OldWorksheetName).Activate

        Worksheets(OldWorksheetName).Select

        Debug.Print "Returning control to " & ActiveSheet.Name

End Sub