Attribute VB_Name = "modObjectToUdt" Option Explicit Public Function TranslateObj_eHospital(obj As Object) As eHospitals Dim response As eHospitals If IsEmpty(obj.Hospital) = False Then ' COLLECT ARRAY DATA Dim arrHospitals() As Object arrHospitals = obj.Hospital Dim arrLen As Integer arrLen = UBound(arrHospitals) ReDim response.Hospitals(arrLen) Dim counter As Integer For counter = 0 To arrLen response.Hospitals(counter).AccreCode = arrHospitals(counter).AccreCode response.Hospitals(counter).HospitalName = arrHospitals(counter).HospitalName response.Hospitals(counter).PMCCNo = arrHospitals(counter).PMCCNo Next End If TranslateObj_eHospital = response End Function Public Function TranslateObj_eCaseRate(obj As Object) As eCaserates Dim response As eCaserates Dim arrLen As Integer Dim counter As Integer If IsEmpty(obj.CaseRates) = False Then Dim objCaseRates() As Object objCaseRates = obj.CaseRates arrLen = UBound(obj.CaseRates) ReDim response.CaseRates(arrLen) For counter = 0 To arrLen response.CaseRates(counter).caseRateCode = objCaseRates(counter).caseRateCode response.CaseRates(counter).CaseRateDescription = objCaseRates(counter).CaseRateDescription response.CaseRates(counter).ItemCode = objCaseRates(counter).ItemCode response.CaseRates(counter).ItemDescription = objCaseRates(counter).ItemDescription response.CaseRates(counter).EffectivityDate = objCaseRates(counter).EffectivityDate response.CaseRates(counter).Amounts = TranslateObj_Amounts(objCaseRates(counter)) Next counter End If TranslateObj_eCaseRate = response End Function Private Function TranslateObj_Amounts(obj As Object) As amount() Dim arrAmount() As Object arrAmount = obj.amount Dim response() As amount Dim arrLen As Integer arrLen = UBound(arrAmount) ReDim response(arrLen) Dim counter As Integer For counter = 0 To arrLen response(counter).PrimaryHCIFee = arrAmount(counter).PrimaryHCIFee response(counter).PrimaryProfFee = arrAmount(counter).PrimaryProfFee response(counter).PrimaryCaseRate = arrAmount(counter).PrimaryCaseRate response(counter).SecondaryHCIFee = arrAmount(counter).SecondaryHCIFee response(counter).SecondaryProfFee = arrAmount(counter).SecondaryProfFee response(counter).SecondaryCaseRate = arrAmount(counter).SecondaryCaseRate response(counter).CheckFacilityH1 = arrAmount(counter).CheckFacilityH1 response(counter).CheckFacilityH2 = arrAmount(counter).CheckFacilityH2 response(counter).CheckFacilityH3 = arrAmount(counter).CheckFacilityH3 response(counter).CheckFacilityASC = arrAmount(counter).CheckFacilityASC response(counter).CheckFacilityPCF = arrAmount(counter).CheckFacilityPCF response(counter).CheckFacilityMAT = arrAmount(counter).CheckFacilityMAT response(counter).CheckFacilityFSDC = arrAmount(counter).CheckFacilityFSDC Next TranslateObj_Amounts = response End Function Public Function TranslateObj_Voucher(obj As Object) As VoucherDetail Dim response As VoucherDetail With response .voucherNo = obj.voucherNo .VoucherDate = obj.VoucherDate .Summary.NumberOfClaims = obj.Summary.NumberOfClaims .Summary.TotalAmount = obj.Summary.TotalAmount End With Dim arrLen As Integer Dim counter As Integer If IsEmpty(obj.Claim) = False Then Dim objClaim() As Object objClaim = obj.Claim arrLen = UBound(objClaim) ReDim response.Claim(arrLen) For counter = 0 To arrLen response.Claim(counter).ClaimSeriesLhio = objClaim(counter).ClaimSeriesLhio response.Claim(counter).Pin = objClaim(counter).Pin response.Claim(counter).patientInfo.info.LastName = objClaim(counter).PatientLastName response.Claim(counter).patientInfo.info.FirstName = objClaim(counter).PatientFirstName response.Claim(counter).patientInfo.info.MiddleName = objClaim(counter).PatientMiddleName response.Claim(counter).patientInfo.info.Suffix = objClaim(counter).patientSuffix response.Claim(counter).patientInfo.Confinement.AdmissionDate = objClaim(counter).AdmissionDate response.Claim(counter).patientInfo.Confinement.DischargeDate = objClaim(counter).DischargeDate response.Claim(counter).ClaimDateReceived = objClaim(counter).ClaimDateReceived response.Claim(counter).ClaimDateRefile = objClaim(counter).ClaimDateRefile response.Claim(counter).IsAdjustment = objClaim(counter).IsAdjustment response.Claim(counter).Charge = TranslateObj_Charge(objClaim(counter)) Next counter End If If IsEmpty(obj.Summary.Payee) = False Then Dim objPayee() As Object objPayee = obj.Summary.Payee arrLen = UBound(objPayee) ReDim response.Summary.Payee(arrLen) For counter = 0 To arrLen response.Summary.Payee(counter).PayeeType = objPayee(counter).PayeeType response.Summary.Payee(counter).PayeeCode = objPayee(counter).PayeeCode response.Summary.Payee(counter).PayeeName = objPayee(counter).PayeeName response.Summary.Payee(counter).RMBD = objPayee(counter).RMBD response.Summary.Payee(counter).DRUGS = objPayee(counter).DRUGS response.Summary.Payee(counter).XRAY = objPayee(counter).XRAY response.Summary.Payee(counter).OPRM = objPayee(counter).OPRM response.Summary.Payee(counter).SPFee = objPayee(counter).SPFee response.Summary.Payee(counter).GPFee = objPayee(counter).GPFee response.Summary.Payee(counter).SURFee = objPayee(counter).SURFee response.Summary.Payee(counter).ANESFee = objPayee(counter).ANESFee response.Summary.Payee(counter).GrossAmount = objPayee(counter).GrossAmount response.Summary.Payee(counter).TaxAmount = objPayee(counter).TaxAmount response.Summary.Payee(counter).NetAmount = objPayee(counter).NetAmount response.Summary.Payee(counter).CheckNo = objPayee(counter).CheckNo response.Summary.Payee(counter).CheckDate = objPayee(counter).CheckDate Next counter End If TranslateObj_Voucher = response End Function Private Function TranslateObj_Charge(obj As Object) As Charge() Dim arrCharge() As Object arrCharge = obj.Charge Dim response() As Charge Dim arrLen As Integer arrLen = UBound(arrCharge) ReDim response(arrLen) Dim counter As Integer For counter = 0 To arrLen response(counter).PayeeType = arrCharge(counter).PayeeType response(counter).PayeeCode = arrCharge(counter).PayeeCode response(counter).PayeeName = arrCharge(counter).PayeeName response(counter).RMBD = arrCharge(counter).RMBD response(counter).DRUGS = arrCharge(counter).DRUGS response(counter).XRAY = arrCharge(counter).XRAY response(counter).OPRM = arrCharge(counter).OPRM response(counter).SPFee = arrCharge(counter).SPFee response(counter).GPFee = arrCharge(counter).GPFee response(counter).SURFee = arrCharge(counter).SURFee response(counter).ANESFee = arrCharge(counter).ANESFee response(counter).GrossAmount = arrCharge(counter).GrossAmount response(counter).TaxAmount = arrCharge(counter).TaxAmount response(counter).NetAmount = arrCharge(counter).NetAmount Next TranslateObj_Charge = response End Function Public Function TranslateObj_ClaimStatus(obj As Object) As ClaimStatus Dim response As ClaimStatus With response .AsOf = obj.AsOf .AsOfTime = obj.AsOfTime End With If IsEmpty(obj.Claim) = False Then Dim objClaim() As Object objClaim = obj.Claim Dim arrLen As Integer arrLen = UBound(objClaim) ReDim response.Claim(arrLen) Dim counter As Integer For counter = 0 To arrLen response.Claim(counter).ClaimSeriesLhio = objClaim(counter).ClaimSeriesLhio response.Claim(counter).Pin = objClaim(counter).Pin response.Claim(counter).patientInfo.info.LastName = objClaim(counter).PatientLastName response.Claim(counter).patientInfo.info.FirstName = objClaim(counter).PatientFirstName response.Claim(counter).patientInfo.info.MiddleName = objClaim(counter).PatientMiddleName response.Claim(counter).patientInfo.info.Suffix = objClaim(counter).patientSuffix response.Claim(counter).patientInfo.Confinement.AdmissionDate = objClaim(counter).AdmissionDate response.Claim(counter).patientInfo.Confinement.DischargeDate = objClaim(counter).DischargeDate response.Claim(counter).ClaimDateReceived = objClaim(counter).ClaimDateReceived response.Claim(counter).ClaimDateRefile = objClaim(counter).ClaimDateRefile response.Claim(counter).Status = objClaim(counter).Status If response.Claim(counter).Status = "IN PROCESS" Then response.Claim(counter).Trail = TranslateObj_Trail(objClaim(counter).Trail) End If If response.Claim(counter).Status = "RETURN" Then response.Claim(counter).Returns = TranslateObj_Return(objClaim(counter).Return) End If If response.Claim(counter).Status = "DENIED" Then response.Claim(counter).Denied = TranslateObj_Denied(objClaim(counter).Denied) End If If response.Claim(counter).Status = "WITH CHEQUE" Or response.Claim(counter).Status = "WITH VOUCHER" Or response.Claim(counter).Status = "VOUCHERING" Then response.Claim(counter).Payment = TranslateObj_Payment(objClaim(counter).Payment) End If Next End If TranslateObj_ClaimStatus = response End Function Private Function TranslateObj_Payment(obj As Object) As Payment Dim response As Payment response.TotalClaimAmountPaid = obj.TotalClaimAmountPaid Dim arrPayee() As Object arrPayee = obj.Payee Dim arrLen As Integer arrLen = UBound(arrPayee) ReDim response.Payee(arrLen) Dim counter As Integer For counter = 0 To arrLen response.Payee(counter).voucherNo = arrPayee(counter).voucherNo response.Payee(counter).VoucherDate = arrPayee(counter).VoucherDate response.Payee(counter).CheckNo = arrPayee(counter).CheckNo response.Payee(counter).CheckDate = arrPayee(counter).CheckDate response.Payee(counter).CheckAmount = arrPayee(counter).CheckAmount response.Payee(counter).ClaimAmount = arrPayee(counter).ClaimAmount response.Payee(counter).ClaimPayeeName = arrPayee(counter).ClaimPayeeName Next TranslateObj_Payment = response End Function Private Function TranslateObj_Denied(obj As Object) As Reason() Dim response() As Reason Dim reasonHasElement As Boolean On Error Resume Next reasonHasElement = IsNumeric(UBound(obj.Reason)) If reasonHasElement Then Dim arrReason() As Object arrReason = obj.Reason Dim arrLen As Integer arrLen = UBound(arrReason) ReDim response(arrLen) Dim counter As Integer For counter = 0 To arrLen response(counter).Reason = arrReason(counter).pReason Next End If TranslateObj_Denied = response End Function Private Function TranslateObj_Return(obj As Object) As Defects() Dim response() As Defects Dim defectsHasElement As Boolean On Error Resume Next defectsHasElement = IsNumeric(UBound(obj.Defects)) If defectsHasElement Then Dim objReturn() As Object objReturn = obj.Defects Dim arrDefectsLen As Integer arrDefectsLen = UBound(objReturn) ReDim response(arrDefectsLen) Dim counter As Integer For counter = 0 To arrDefectsLen response(counter).Deficiency = objReturn(counter).Deficiency Dim requirementsHasElement As Boolean On Error Resume Next requirementsHasElement = IsNumeric(UBound(objReturn(counter).Requirement)) If requirementsHasElement Then Dim objRequirements() As Object objRequirements = objReturn(counter).Requirement Dim arrRequirementsLen As Integer arrRequirementsLen = UBound(objRequirements) ReDim response(counter).Requirements(arrRequirementsLen) Dim reqCounter As Integer For reqCounter = 0 To arrRequirementsLen response(counter).Requirements(reqCounter).Requirement = objRequirements(reqCounter).pRequirement Next End If Next End If TranslateObj_Return = response End Function Private Function TranslateObj_Trail(obj As Object) As Process() Dim response() As Process On Error Resume Next Dim hasElement As Boolean hasElement = IsNumeric(UBound(obj.Process)) If hasElement Then Dim objProcess() As Object objProcess = obj.Process ' Dim response() As Process Dim arrLen As Integer arrLen = UBound(objProcess) ReDim response(arrLen) Dim counter As Integer For counter = 0 To arrLen response(counter).ProcessStage = objProcess(counter).ProcessStage response(counter).ProcessDate = objProcess(counter).ProcessDate Next TranslateObj_Trail = response End If End Function Public Function TranslateObj_eConfirmation(obj As Object) As eCONFIRMATION Dim response As eCONFIRMATION With response .ReceiptTicketNumber = obj.ReceiptTicketNumber .HospitalCode = obj.HospitalCode .HospitalTransmittalNo = obj.HospitalTransmittalNo .TotalClaims = obj.TotalClaims .ReceivedDate = obj.ReceivedDate End With If IsEmpty(obj.Mapping) = False Then ' COLLECT ARRAY DATA Dim arrMapping() As Object arrMapping = obj.Mapping Dim arrLen As Integer arrLen = UBound(arrMapping) ReDim response.Mapping(arrLen) Dim counter As Integer For counter = 0 To arrLen response.Mapping(counter).ClaimNumber = arrMapping(counter).ClaimNumber response.Mapping(counter).patientInfo.LastName = arrMapping(counter).PatientLastName response.Mapping(counter).patientInfo.FirstName = arrMapping(counter).PatientFirstName response.Mapping(counter).patientInfo.MiddleName = arrMapping(counter).PatientMiddleName response.Mapping(counter).patientInfo.Suffix = arrMapping(counter).patientSuffix response.Mapping(counter).Confinement.AdmissionDate = arrMapping(counter).AdmissionDate response.Mapping(counter).Confinement.DischargeDate = arrMapping(counter).DischargeDate response.Mapping(counter).ClaimSeriesLhio = arrMapping(counter).ClaimSeriesLhio Next End If TranslateObj_eConfirmation = response End Function Public Function TranslateOjb_eReceipt(obj As Object) As eReceipt Dim response As eReceipt response.Key.UserName = obj.UserName response.Key.UserPassword = obj.UserPassword response.Key.HospitalCode = obj.HospitalCode response.HospitalTransmittalNo = obj.HospitalTransmittalNo response.TotalClaims = obj.TotalClaims response.TransmissionControlNumber = obj.TransmissionControlNumber response.TransmissionDate = obj.TransmissionDate response.TransmissionTime = obj.TransmissionTime response.ReceiptTicketNumber = obj.ReceiptTicketNumber response.xml = obj.xml If IsEmpty(obj.Remarks) = False Then ' COLLECT ARRAY DATA Dim arrRemarks() As Object arrRemarks = obj.Remarks Dim arrLen As Integer arrLen = UBound(arrRemarks) ReDim response.Remarks(arrLen) Dim counter As Integer For counter = 0 To arrLen response.Remarks(counter).ErrCode = arrRemarks(counter).ErrCode response.Remarks(counter).ErrDescription = arrRemarks(counter).ErrDescription Next End If TranslateOjb_eReceipt = response End Function Public Function TranslateObj_eEmployer(obj As Object) As eEmployers Dim response As eEmployers response.AsOf = obj.AsOf If IsEmpty(obj.Employer) = False Then ' COLLECT ARRAY DATA Dim arrEmployers() As Object arrEmployers = obj.Employer Dim arrLen As Integer arrLen = UBound(arrEmployers) ReDim response.Employer(arrLen) Dim counter As Integer For counter = 0 To arrLen response.Employer(counter).PEN = arrEmployers(counter).PEN response.Employer(counter).Name = arrEmployers(counter).Name response.Employer(counter).Address = arrEmployers(counter).Address Next End If TranslateObj_eEmployer = response End Function Public Function TranslateObj_eAccreditation(obj As Object) As eAccreditation Dim response As eAccreditation With response .IsAccredited = obj.IsAccredited .Doctor.DoctorAccreCode = obj.DoctorAccreCode .Confinement.DischargeDate = obj.AdmissionDate .Confinement.DischargeDate = obj.DischargeDate .AccreditationStart = obj.AccreditationStart .AccreditationEnd = obj.AccreditationEnd .Remarks = obj.value End With TranslateObj_eAccreditation = response End Function Public Function TranslateObj_EligibilityResponse(obj As Object) As EligibilityResponse Dim response As EligibilityResponse With response .xml = obj.xml .isOk = obj.isOk .Tracking_Number = obj.trackingNumber .Remaining_Days = obj.remainingDays .With3Over6 = obj.With3Over6 .With9Over12 = obj.With9Over12 .IsNhts = obj.IsNhts .AsOf = obj.AsOf .patient.PatientIs = obj.patient.PatientIs .patient.info.LastName = obj.patient.LastName .patient.info.FirstName = obj.patient.FirstName .patient.info.MiddleName = obj.patient.MiddleName .patient.info.Suffix = obj.patient.Suffix .patient.info.BirthDate = obj.patient.BirthDate .patient.Confinement.AdmissionDate = obj.Confinement.Admitted .patient.Confinement.DischargeDate = obj.Confinement.DISCHARGE .member.Pin = obj.member.Pin .member.MemberShipType = obj.member.memberType .member.MemberCategoryId = obj.member.MemberCategoryId .member.MemberCategoryDescription = obj.member.MemberCategoryDescription .member.info.LastName = obj.member.LastName .member.info.FirstName = obj.member.FirstName .member.info.MiddleName = obj.member.MiddleName .member.info.Suffix = obj.member.Suffix .member.info.BirthDate = obj.member.BirthDate .Employer.PEN = obj.Employer.PEN .Employer.Name = obj.Employer.Name End With ' COLLECT ARRAY DATA Dim documentHasElement As Boolean On Error Resume Next documentHasElement = IsNumeric(UBound(obj.Documents.Document)) If documentHasElement Then Dim arrDocuments() As Object arrDocuments = obj.Documents.Document Dim arrLen As Integer arrLen = UBound(arrDocuments) ReDim response.Documents.Document(arrLen) Dim counter As Integer For counter = 0 To arrLen response.Documents.Document(counter).Code = arrDocuments(counter).Code response.Documents.Document(counter).Name = arrDocuments(counter).Name response.Documents.Document(counter).Reason = arrDocuments(counter).value Next End If TranslateObj_EligibilityResponse = response End Function