Attribute VB_Name = "modXmlTranslator" Option Explicit Public Function Translate_ClaimStatus(ByVal xml As String) As ClaimStatus Dim response As ClaimStatus With response .AsOf = GetXMLValue(xml, "/STATUS", "pAsOf") .AsOfTime = GetXMLValue(xml, "/STATUS", "pAsOfTime") .Claim = Translate_Claim(xml) End With Translate_ClaimStatus = response End Function Private Function Translate_Claim(ByVal xml As String) As Claim() Dim arrClaimSeriesLhio() As String arrClaimSeriesLhio = GetXMLArrayValue(xml, "//CLAIM", "pClaimSeriesLhio") Dim arrPin() As String arrPin = GetXMLArrayValue(xml, "//CLAIM", "pPin") Dim arrPatientLastName() As String arrPatientLastName = GetXMLArrayValue(xml, "//CLAIM", "pPatientLastName") Dim arrPatientFirstName() As String arrPatientFirstName = GetXMLArrayValue(xml, "//CLAIM", "pPatientFirstName") Dim arrPatientMiddleName() As String arrPatientMiddleName = GetXMLArrayValue(xml, "//CLAIM", "pPatientMiddleName") Dim arrPatientSuffix() As String arrPatientSuffix = GetXMLArrayValue(xml, "//CLAIM", "pPatientSuffix") Dim arrAdmissionDate() As String arrAdmissionDate = GetXMLArrayValue(xml, "//CLAIM", "pAdmissionDate") Dim arrDischargeDate() As String arrDischargeDate = GetXMLArrayValue(xml, "//CLAIM", "pDischargeDate") Dim arrClaimDateReceived() As String arrClaimDateReceived = GetXMLArrayValue(xml, "//CLAIM", "pClaimDateReceived") Dim arrClaimDateRefile() As String arrClaimDateRefile = GetXMLArrayValue(xml, "//CLAIM", "pClaimDateRefile") Dim arrStatus() As String arrStatus = GetXMLArrayValue(xml, "//CLAIM", "pStatus") Dim response() As Claim Dim arrLen As Integer arrLen = UBound(arrClaimSeriesLhio) ReDim response(arrLen) Dim counter As Integer For counter = 0 To arrLen response(counter).ClaimSeriesLhio = arrClaimSeriesLhio(counter) response(counter).Pin = arrPin(counter) response(counter).patientInfo.info.LastName = arrPatientLastName(counter) response(counter).patientInfo.info.FirstName = arrPatientFirstName(counter) response(counter).patientInfo.info.MiddleName = arrPatientMiddleName(counter) response(counter).patientInfo.info.Suffix = arrPatientSuffix(counter) response(counter).patientInfo.Confinement.AdmissionDate = arrAdmissionDate(counter) response(counter).patientInfo.Confinement.DischargeDate = arrDischargeDate(counter) response(counter).ClaimDateReceived = arrClaimDateReceived(counter) response(counter).ClaimDateRefile = arrClaimDateRefile(counter) response(counter).Status = arrStatus(counter) If response(counter).Status = "IN PROCESS" Then response(counter).Trail = Translate_Trail(xml) End If ' If response(counter).Status = "RETURN" Then ' response(counter).Return = Translate_Return(xml) ' End If If response(counter).Status = "DENIED" Then response(counter).Denied = Translate_Denied(xml) End If If response(counter).Status = "WITH CHEQUE" Or response(counter).Status = "WITH VOUCHER" Or response(counter).Status = "VOUCHERING" Then response(counter).Payment = Translate_Payment(xml) End If Next Translate_Claim = response End Function Private Function Translate_Payment(ByVal xml As String) As Payment Dim response As Payment response.TotalClaimAmountPaid = GetXMLValue(xml, "//PAYMENT", "PTotalClaimAmountPaid") Dim arrVoucherNo() As String arrVoucherNo = GetXMLArrayValue(xml, "//PAYEE", "pVoucherNo") Dim arrVoucherDate() As String arrVoucherDate = GetXMLArrayValue(xml, "//PAYEE", "pVoucherDate") Dim arrCheckNo() As String arrCheckNo = GetXMLArrayValue(xml, "//PAYEE", "pCheckNo") Dim arrCheckDate() As String arrCheckDate = GetXMLArrayValue(xml, "//PAYEE", "pCheckDate") Dim arrCheckAmount() As String arrCheckAmount = GetXMLArrayValue(xml, "//PAYEE", "pCheckAmount") Dim arrClaimAmount() As String arrClaimAmount = GetXMLArrayValue(xml, "//PAYEE", "pClaimAmount") Dim arrClaimPayeeName() As String arrClaimPayeeName = GetXMLArrayValue(xml, "//PAYEE", "pClaimPayeeName") Dim arrLen As Integer arrLen = UBound(arrVoucherNo) ReDim response.Payee(arrLen) Dim counter As Integer For counter = 0 To arrLen response.Payee(counter).voucherNo = arrVoucherNo(counter) response.Payee(counter).VoucherDate = arrVoucherDate(counter) response.Payee(counter).CheckNo = arrCheckNo(counter) response.Payee(counter).CheckDate = arrCheckDate(counter) response.Payee(counter).CheckAmount = arrCheckAmount(counter) response.Payee(counter).ClaimAmount = arrClaimAmount(counter) response.Payee(counter).ClaimPayeeName = arrClaimPayeeName(counter) Next Translate_Payment = response End Function Private Function Translate_Denied(ByVal xml As String) As Reason() Dim response() As Reason Dim arrReason() As String arrReason = GetXMLArrayValue(xml, "//REASON", "pReason") Dim arrLen As Integer arrLen = UBound(arrReason) ReDim response(arrLen) Dim counter As Integer For counter = 0 To arrLen response(counter).Reason = arrReason(counter) Next Translate_Denied = response End Function Private Function Translate_Return(ByVal xml As String) As Defects Dim response As Defects response.Deficiency = GetXMLValue(xml, "//DEFECTS", "pDeficiency") Dim arrRequirement() As String arrRequirement = GetXMLArrayValue(xml, "//REQUIREMENT", "pRequirement") Dim arrLen As Integer arrLen = UBound(arrRequirement) ReDim response.Requirements(arrLen) Dim counter As Integer For counter = 0 To arrLen response.Requirements(counter).Requirement = arrRequirement(counter) Next Translate_Return = response End Function Private Function Translate_Trail(ByVal xml As String) As Process() Dim arrProcessStage() As String arrProcessStage = GetXMLArrayValue(xml, "//PROCESS", "pProcessStage") Dim arrProcessDate() As String arrProcessDate = GetXMLArrayValue(xml, "//PROCESS", "pProcessDate") Dim response() As Process Dim arrLen As Integer arrLen = UBound(arrProcessStage) ReDim response(arrLen) Dim counter As Integer For counter = 0 To arrLen response(counter).ProcessStage = arrProcessStage(counter) response(counter).ProcessDate = arrProcessDate(counter) Next Translate_Trail = response End Function Public Function Translate_eConfirmation(ByVal xml As String) As eCONFIRMATION Dim response As eCONFIRMATION With response .ReceiptTicketNumber = GetXMLValue(xml, "/eCONFIRMATION", "pReceiptTicketNumber") .HospitalCode = GetXMLValue(xml, "/eCONFIRMATION", "pHospitalCode") .HospitalTransmittalNo = GetXMLValue(xml, "/eCONFIRMATION", "pHospitalTransmittalNo") .TotalClaims = GetXMLValue(xml, "/eCONFIRMATION", "pTotalClaims") .ReceivedDate = GetXMLValue(xml, "/eCONFIRMATION", "pReceivedDate") End With Dim arrClaimNumber() As String arrClaimNumber = GetXMLArrayValue(xml, "//MAPPING", "pClaimNumber") Dim arrPatientLastName() As String arrPatientLastName = GetXMLArrayValue(xml, "//MAPPING", "pPatientLastName") Dim arrPatientFirstName() As String arrPatientFirstName = GetXMLArrayValue(xml, "//MAPPING", "pPatientFirstName") Dim arrPatientMiddleName() As String arrPatientMiddleName = GetXMLArrayValue(xml, "//MAPPING", "pPatientMiddleName") Dim arrPatientSuffix() As String arrPatientSuffix = GetXMLArrayValue(xml, "//MAPPING", "pPatientSuffix") Dim arrAdmissionDate() As String arrAdmissionDate = GetXMLArrayValue(xml, "//MAPPING", "pAdmissionDate") Dim arrDischargeDate() As String arrDischargeDate = GetXMLArrayValue(xml, "//MAPPING", "pDischargeDate") Dim arrClaimSeriesLhio() As String arrClaimSeriesLhio = GetXMLArrayValue(xml, "//MAPPING", "pClaimSeriesLhio") Dim arrLen As Integer arrLen = UBound(arrClaimNumber) ReDim response.Mapping(arrLen) Dim counter As Integer For counter = 0 To arrLen - 1 response.Mapping(counter).ClaimNumber = GetXMLValue(xml, "//MAPPING", "pClaimNumber") response.Mapping(counter).patientInfo.LastName = GetXMLValue(xml, "//MAPPING", "pPatientLastName") response.Mapping(counter).patientInfo.FirstName = GetXMLValue(xml, "//MAPPING", "pPatientFirstName") response.Mapping(counter).patientInfo.MiddleName = GetXMLValue(xml, "//MAPPING", "pPatientMiddleName") response.Mapping(counter).patientInfo.Suffix = GetXMLValue(xml, "//MAPPING", "pPatientSuffix") response.Mapping(counter).Confinement.AdmissionDate = GetXMLValue(xml, "//MAPPING", "pAdmissionDate") response.Mapping(counter).Confinement.DischargeDate = GetXMLValue(xml, "//MAPPING", "pDischargeDate") response.Mapping(counter).ClaimSeriesLhio = GetXMLValue(xml, "//MAPPING", "pClaimSeriesLhio") Next Translate_eConfirmation = response End Function Public Function Translate_eReceipt(ByVal xml As String) As eReceipt Dim response As eReceipt response.Key.UserName = GetXMLValue(xml, "/eRECEIPT", "pUserName") response.Key.UserPassword = GetXMLValue(xml, "/eRECEIPT", "pUserPassword") response.Key.HospitalCode = GetXMLValue(xml, "/eRECEIPT", "pHospitalCode") response.HospitalTransmittalNo = GetXMLValue(xml, "/eRECEIPT", "pHospitalTransmittalNo") response.TotalClaims = GetXMLValue(xml, "/eRECEIPT", "pTotalClaims") response.TransmissionControlNumber = GetXMLValue(xml, "/eRECEIPT", "pTransmissionControlNumber") response.TransmissionDate = GetXMLValue(xml, "/eRECEIPT", "pTransmissionDate") response.TransmissionTime = GetXMLValue(xml, "/eRECEIPT", "pTransmissionTime") response.ReceiptTicketNumber = GetXMLValue(xml, "/eRECEIPT", "pReceiptTicketNumber") response.xml = xml Dim arrErrCode() As String arrErrCode = GetXMLArrayValue(xml, "//REMARKS", "pErrCode") Dim arrErrDescription() As String arrErrDescription = GetXMLArrayValue(xml, "//REMARKS", "pErrDescription") Dim arrLen As Integer arrLen = UBound(arrErrCode) ReDim response.Remarks(arrLen) Dim counter As Integer For counter = 0 To arrLen - 1 response.Remarks(counter).ErrCode = arrErrCode(counter) response.Remarks(counter).ErrDescription = arrErrDescription(counter) Next Translate_eReceipt = response End Function Public Function Translate_eEmployer(ByVal xml As String) As eEmployers Dim response As eEmployers response.AsOf = GetXMLValue(xml, "/eEMPLOYERS", "ASOF") ' COLLECT XML ARRAY DATA Dim arrPEN() As String Dim arrName() As String Dim arrAddress() As String arrPEN = GetXMLArrayValue(xml, "//employer", "pPEN") arrName = GetXMLArrayValue(xml, "//employer", "pEmployerName") arrAddress = GetXMLArrayValue(xml, "//employer", "pEmployerAddress") Dim arrLen As Integer arrLen = UBound(arrPEN) ReDim response.Employer(arrLen) Dim counter As Integer For counter = 0 To arrLen response.Employer(counter).PEN = arrPEN(counter) response.Employer(counter).Name = arrName(counter) response.Employer(counter).Address = arrAddress(counter) Next Translate_eEmployer = response End Function Public Function Translate_eAccreditation(ByVal xml As String) As eAccreditation Dim response As eAccreditation With response .IsAccredited = GetXMLValue(xml, "/eACCREDITATION", "IsAccredited") .doctor.DoctorAccreCode = GetXMLValue(xml, "/eACCREDITATION", "pDoctorAccreCode") .Confinement.DischargeDate = GetXMLValue(xml, "/eACCREDITATION", "pAdmissionDate") .Confinement.DischargeDate = GetXMLValue(xml, "/eACCREDITATION", "pDischargeDate") .Remarks = GetXMLValue(xml, "/eACCREDITATION", "") End With Translate_eAccreditation = response End Function Public Function Translate_EligibilityResponse(ByVal xml As String) As EligibilityResponse Dim response As EligibilityResponse With response .isOk = GetXMLValue(xml, "/RESPONSE", "ISOK") .Tracking_Number = GetXMLValue(xml, "/RESPONSE", "TRACKING_NUMBER") .Remaining_Days = GetXMLValue(xml, "/RESPONSE", "REMAINING_DAYS") .AsOf = GetXMLValue(xml, "/RESPONSE", "ASOF") .With3Over6 = GetXMLValue(xml, "/RESPONSE", "WITH3OVER6") .With9Over12 = GetXMLValue(xml, "/RESPONSE", "WITH9OVER12") .patient.PatientIs = GetXMLValue(xml, "//PATIENT", "PATIENTIS") .patient.info.LastName = GetXMLValue(xml, "//PATIENT", "LASTNAME") .patient.info.FirstName = GetXMLValue(xml, "//PATIENT", "FIRSTNAME") .patient.info.MiddleName = GetXMLValue(xml, "//PATIENT", "MIDDLENAME") .patient.info.Suffix = GetXMLValue(xml, "//PATIENT", "SUFFIX") .patient.info.BirthDate = GetXMLValue(xml, "//PATIENT", "BIRTHDATE") .patient.Confinement.AdmissionDate = GetXMLValue(xml, "//CONFINMENT", "ADMITTED") .patient.Confinement.DischargeDate = GetXMLValue(xml, "//CONFINMENT", "DISCHARGE") .member.Pin = GetXMLValue(xml, "//MEMBER", "PIN") .member.MemberShipType = GetXMLValue(xml, "//MEMBER", "MEMBER_TYPE") .member.info.LastName = GetXMLValue(xml, "//MEMBER", "LASTNAME") .member.info.FirstName = GetXMLValue(xml, "//MEMBER", "FIRSTNAME") .member.info.MiddleName = GetXMLValue(xml, "//MEMBER", "MIDDLENAME") .member.info.Suffix = GetXMLValue(xml, "//MEMBER", "SUFFIX") .member.info.BirthDate = GetXMLValue(xml, "//MEMBER", "BIRTHDATE") .member.MemberCategoryId = GetXMLValue(xml, "//MEMBER", "MEMBER_CATEGORY_ID") .member.MemberCategoryDescription = GetXMLValue(xml, "//MEMBER", "MEMBER_CATEGORY_DESC") .Employer.PEN = GetXMLValue(xml, "//EMPLOYER", "PEN") .Employer.Name = GetXMLValue(xml, "//EMPLOYER", "NAME") .xml = xml End With ' COLLECT XML ARRAY DATA Dim arrDocCode() As String Dim arrDocName() As String Dim arrDocReason() As String arrDocCode = GetXMLArrayValue(xml, "//DOCUMENT", "CODE") arrDocName = GetXMLArrayValue(xml, "//DOCUMENT", "NAME") arrDocReason = GetXMLArrayValue(xml, "//DOCUMENT", "") Dim arrLen As Integer arrLen = UBound(arrDocCode) ReDim response.Documents.Document(arrLen) Dim counter As Integer For counter = 0 To arrLen response.Documents.Document(counter).Code = arrDocCode(counter) response.Documents.Document(counter).Name = arrDocName(counter) response.Documents.Document(counter).Reason = arrDocReason(counter) Next Translate_EligibilityResponse = response End Function