When payments are made, the reserve amounts are reduced, until reaching zero. No more payments can be done then until the reserve is increased. Each adjuster have a limit to how large reserve he or she can set, higher reserve must be approved by a manager.
Class AmountData Public lr As Currency ' Loss Reserve Public er As Currency ' Expense Reserve Public lp As Currency ' Loss Payments Public ep As Currency ' Expense Payments Public slp As Currency ' Supplemental Loss Payments Public sep As Currency ' Supplemental Expense Payments Public rec As Currency ' Recovery amount Public lossavail As Currency Public expavail As Currency Public Sub New() rec = 0 slp = 0 sep = 0 lr = 0 er = 0 lp = 0 ep = 0 lossavail = -1 expavail = -1 End Sub Public Sub Load(claimnumber As String, claimant As Integer) Dim success As Integer Dim servaddress As String Dim xmldata As String Dim claimlink As ClaimLink ' Object to connect to backend Set ClaimLink = New ClaimLink() ' Create object/class If claimant = 0 Then ' Get total amounts for all claimants success = claimlink.GetClaimStatus(claimnumber, Today()) Else ' Get amounts for selected claimant success = claimlink.GetAmountsByClaimant(claimnumber, claimant, Today()) End If If success = True Then ' Data returned successfully xmldata = claimlink.GetDataXML() rec = Cstr(Ccur(XMLGetValue(xmldata,"recovery"))) slp = Cstr(0-Ccur(XMLGetValue(xmldata,"losssup"))) sep = Cstr(0-Ccur(XMLGetValue(xmldata,"expsup"))) If claimant = 0 Then ' All claimants lr = Cstr(Ccur(XMLGetValue(xmldata,"lossorig")) + Ccur(XMLGetValue(xmldata,"losschg"))) er = Cstr(Ccur(XMLGetValue(xmldata,"exporig")) + Ccur(XMLGetValue(xmldata,"expchg"))) Else ' Specified claimant lr = Cstr(Ccur(XMLGetValue(xmldata,"lossres")) - Ccur(slp) + Ccur(rec)) er = Cstr(Ccur(XMLGetValue(xmldata,"expres")) - Ccur(sep)) End If lp = Cstr(0-Ccur(XMLGetValue(xmldata,"losspaid")) - Ccur(slp)) ep = Cstr(0-Ccur(XMLGetValue(xmldata,"exppaid")) - Ccur(sep)) lossavail = Ccur(lr) - Ccur(lp) expavail = Ccur(er) - Ccur(ep) End If End Sub End Class
Class ClaimantStatusData Public loss As String Public expense As String Public claimant As String Public Sub new(doc As NotesDocument) If Lcase(doc.LossClosed(0)) = "yes" Then Me.loss = "closed" Else Me.loss = "open" End If If Lcase(doc.ExpensesClosed(0)) = "yes" Then Me.expense = "closed" Else Me.expense = "open" End If If Me.expense = "closed" Then If Me.loss = "closed" Then Me.claimant = "closed" Else Me.claimant = "open" End If Else Me.claimant = "open" End If End Sub End Class
Class ClaimantData Public claimantdoc As NotesDocument Public unid As String ' Store UniversalID of claimant document Public parentunid As String Public amounts As AmountData Public claimcare As ClaimCareData Public status As ClaimantStatusData Public Parallel As Integer Public Sub New(doc As NotesDocument) Dim claimnumber As String Dim claimant As Integer Set claimantdoc = doc unid = doc.UniversalID parentunid = doc.GetItemValue("ParentUNID")(0) claimnumber = doc.GetItemValue("ClaimNumber")(0) claimant = Cint(doc.GetItemValue("Claimant_Number")(0)) If Lcase(doc.GetItemValue("TransferredToParallel")(0)) = "yes" Then Parallel = True Else Parallel = False End If Set amounts = New Amounts(claimnumber, claimant) Set status = New ClaimantStatusData(doc) End Sub Public Function GetValue(fieldname) As Variant GetValue = claimantdoc.GetItemValue(fieldname)(0) End Function Public Function SetValue(fieldname, Byval value As Variant) As Variant Call claimantdoc.ReplaceItemValue(fieldname, value) End Function Public Function GetVariant(fieldname) As Variant GetVariant = claimantdoc.GetItemValue(fieldname) End Function Public Sub Save() Call claimantdoc.Save(True,True) End Sub Public Function DisplayName() As String If Fulltrim(GetValue("Claimant_Name")) = "" Then DisplayName = GetValue("Claimant_Company") Else DisplayName = GetValue("Claimant_Name") End If End Function Public Function GetXML() Dim tempxml As String If claimantdoc Is Nothing Then Msgbox "Claimant document is not loaded, no data returned.",,"ClaimantData.GetXML()" GetXML = "" Exit Function End If tempxml = "<claimntno>" & claimantdoc.GetValue("Claimant_Number") & "</claimntno>" & CRLF tempxml = tempxml + "<extclmntno>" & claimantdoc.getValue("ClaimantNumberExternal") & "</extclmntno>" & CRLF tempxml = tempxml + "<classcode>" & claimantdoc.pClassCode(0) & "</classcode>" & CRLF tempxml = tempxml + "<cvgcode>" & claimantdoc.Claimant_LossType(0) & "</cvgcode>" & CRLF tempxml = tempxml + "<table>" & claimantdoc.pTable(0) & "</table>" & CRLF If claimantdoc.Unknown(0)="Yes" Then tempxml = tempxml + "<claimntnam>* unknown *</claimntnam>" & CRLF Elseif claimantdoc.Claimant_Name(0)="" Then tempxml = tempxml + "<claimntnam>" & dsClaimLink.EncodeXML(claimantdoc.Claimant_Company(0)) & "</claimntnam>" & CRLF Else tempxml = tempxml + "<claimntnam>" & dsClaimLink.EncodeXML(claimantdoc.Claimant_Name(0)) & "</claimntnam>" & CRLF End If ' Check if we have amounts loaded If Not amounts Is Nothing Then tempxml = tempxml + "<lossamt>" & Format$(amounts.lp,"###0.00") & "</lossamt>" & CRLF tempxml = tempxml + "<expamt>" & Format$(amounts.ep,"###0.00") & "</expamt>" & CRLF End If GetXML = tempxml End Function End Class