It is just as easy as using SERIN/SEROUT

I don't know what speed your chips are running - but.

Use MisterE's PIC Multi-Calc to help you set up the proper DEFINES

Then use something like the following:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Code:
    CR CON 13
    LF  CON 10

    DataStatus = 0

    INTCON.7 = 1   
    INTCON.6 = 1

        INCLUDE "DT_INTS-18.bas"         ; Base Interrupt System
        INCLUDE "ReEnterPBP-18.bas"     ; Include if using PBP interrupts
  
ASM
INT_LIST  macro    ; IntSource,        Label,  Type, ResetFlag?
               INT_Handler    RX1_INT,    _GetChar,    PBP,  yes           
                endm
    INT_CREATE              
ENDASM

;----------------------------------------------------------------------------

  goto OverISRs:

;------------------------------------------------------------------------------------

GetChar:
          HSEROUT[CR,LF,"At least some data received"]    ;     THIS IS JUST FOR DEBUG!!!  REMOVE IN ACTUAL PGM.
         
                     HSERIN 15,BadData,[wait ("P"),UnitID2,TotalRate1.lowbyte,TotalRate1.Highbyte,TotalRate2.lowbyte,TotalRate2.Highbyte,_
                       TotalRate3.lowbyte,TotalRate3.Highbyte,TotalRate4.lowbyte,TotalRate4.Highbyte,OFI1,OFI2,OFI3,OFI4]
         DataStatus = 1 
        GOTO GoodData
BadData:
          DataStatus.7 = 1
GoodData:

@ INT_ENABLE RX1_INT      
@ INT_RETURN

;-------------------------------------------------
OverISRs:     


MAIN:
      If DataStatus.0  then
         HSEROUT [CR,LF,#UnitID2,#TotalRate1,"  .............................
      endif
      if DataStatus.7 then
         HSEROUT [CR,LF,"Data Error!"]
         DataStatus = 0 
   goto main

I haven't actually tested this but it should work.