Passing Item Cost to Surgical Systems

 3 Replies
 1 Subscribed to this topic
 38 Subscribed to this forum
Sort:
Author
Messages
Kathy Todt
New Member Send Private Message
Posts: 3
New Member

For those that are using Lawson Clinical Bridge, how have you gotten item cost from Lawson over to your surgical systems (ie Cerner, Epic)?  What is your process?

 Do you wait until a PO is issued to capture updated pricing and interface it over, or do you have a mechanism that interfaces cost over at the time the item is changed in Lawson which could be in advance of a PO being issued?

Kat V
Veteran Member Send Private Message
Posts: 1020
Veteran Member
It's not Lawson Clinical Bridge - we use a sql sent to Cloverleaf to send the Epic supply interface.

In the sql, we calculate actual unit cost based on the price on PO25.6. So the second option in your scenario - "a mechanism that interfaces cost over at the time the item is changed in Lawson which could be in advance of a PO being issued"
Kathy Todt
New Member Send Private Message
Posts: 3
New Member
So it sounds like you have every item on a VPA in Lawson, is that correct?
Kat V
Veteran Member Send Private Message
Posts: 1020
Veteran Member

Yes - for Epic, all the item master items have one VPA that is not on hold. Inactive is part of the sql and passes a 0 value. Our Cloverleaf team does their magic so active items update pricing and inactive items change other fields but not pricing.

 

For those that need this the sql select is:

        , CASE
           WHEN ITE.ACTIVE_STATUS ='A'  and  pvn.HOLD_FLAG = 'N' THEN -- ABOVE SELECTED AN ITEM WHEN IT'S ACTIVE AND NOT ON HOLD
                           (pvn.BASE_COST / CASE pvn.UOM                                                                -- on po25.6, get the cost not on hold and the uom
                                            WHEN ite.ALT_UOM_01 THEN ite.ALT_UOM_CONV_01          -- if the uom is the same as the uom on ic11 row one, divide the cost by that conversion
                                            WHEN ite.ALT_UOM_02 THEN ite.ALT_UOM_CONV_02          -- match row 2 then divide by row 2 conversion
                                            WHEN ite.ALT_UOM_03 THEN ite.ALT_UOM_CONV_03          -- and so on
                                            WHEN ite.ALT_UOM_04 THEN ite.ALT_UOM_CONV_04
                                            WHEN ite.ALT_UOM_05 THEN ite.ALT_UOM_CONV_05
                                            WHEN ite.ALT_UOM_06 THEN ite.ALT_UOM_CONV_06
                                            WHEN ite.ALT_UOM_07 THEN ite.ALT_UOM_CONV_07          -- we have never gone past 5 uoms on ic11 just to be safe we look for 7
                                            ELSE ite.ALT_UOM_CONV_01          -- if it can't find any match, divide by  the first conversion (1) -- this avoids the query stopping in error with divide by null/zero
            END )                                                     -- when above selected item is ACTIVE AND ON HOLD query returns "NULL"
            WHEN ITE.ACTIVE_STATUS = 'I' THEN 0 -- when above selected item is INACTIVE say 0
END  AS "UNITCOST"
/*
*****************************************************************************
CLOVERLEAF:
this will return more records than we want as the NULL are active items but old pricing
remove all NULL value rows
This is why Inactive must be 0

once null rows are removed
If (ite.ACTIVE_STATUS)   = A then move this field to unit cost
if (ite.ACTIVE_STATUS)  = I then skip field (send NULL) to Epic