- ABSPOSBH ; IHS/SD/RLT - POS billing - HOLD ; [ 09/12/2007 11:18 AM ]
- ;;1.0;PHARMACY POINT OF SALE;**22,28**;SEP 12, 2007;Build 38
- ;
- ; Code to hold claims from being sent to 3PB if the site
- ; affiliation is IHS and the insurer does not have a tax id.
- ;
- ; This routine handles the holding and releasing of these claims.
- ;
- ; -------------------------------------------------------------------------------------
- ; IHS/OIT/SCR 9/16/08 patch 28 REMOVED all functionality to put claims in HOLD
- ; status.
- ; -------------------------------------------------------------------------------------
- Q
- ; IHS/OIT/SCR 9/23/08 - Patch 28 START CHANGES
- ;HOLDFLG(LOC,VISDT,INSDFN) ;EP - ABSPOSBB
- ;
- ; Claims from sites flagged as IHS must have insurer tax ids
- ; to send to 3PB.
- ;
- ; 1 = don't send to 3PB put on hold
- ; 0 = send to 3PB
- ; Get affiliation.
- ; 1 = IHS
- ;N CLASSFND,CLASS,BEGDT,ENDDT,AFFL
- ;S AFFL=""
- ;S CLASSFND=0
- ;S CLASS="A"
- ;F S CLASS=$O(^AUTTLOC(LOC,11,CLASS),-1) Q:CLASS=0!(CLASSFND) D
- ;. S BEGDT=$S($P(^AUTTLOC(LOC,11,CLASS,0),U)]"":$P(^AUTTLOC(LOC,11,CLASS,0),U),1:0)
- ;. S ENDDT=$S($P(^AUTTLOC(LOC,11,CLASS,0),U,2)]"":$P(^AUTTLOC(LOC,11,CLASS,0),U,2),1:9999999)
- ;. I VISDT'<BEGDT&(VISDT'>ENDDT) S AFFL=$P(^AUTTLOC(LOC,11,CLASS,0),U,3),CLASSFND=1
- ;;
- ;; Get insurer tax id.
- ;N TAXID
- ;S TAXID=$P($G(^AUTNINS(INSDFN,0)),U,11)
- ;
- ; If affiliation is IHS and no insurer tax id don't send to 3PB put on hold.
- ;I AFFL=1&(TAXID="") Q 1
- ;Q 0
- ;HOLDITP(ABSP) ;EP - ABSPOSBB
- ; Put post on hold.
- ;
- ;N LOG
- ;D NOW^%DTC
- ;S LOG=%
- ;
- ;D ^XBFMK ;kill FileMan variables
- ;K DD,DO
- ;S DIC="^ABSPHOLD("
- ;S DIC(0)="L"
- ;S DINUM=LOG
- ;S DINUM=ABSP57
- ;S X=ABSP57
- ;
- ;D FILE^DICN
- ;
- ;Q:+Y<0
- ;
- ;S $P(^ABSPHOLD(ABSP57,0),U,2)="P"
- ;
- ;S $P(^ABSPHOLD(ABSP57,"P"),U,1)=ABSP(.21) ; Bill amount
- ;S $P(^ABSPHOLD(ABSP57,"P"),U,2)=ABSP(.23) ; Gross amount
- ;S $P(^ABSPHOLD(ABSP57,"P"),U,3)=ABSP(.05) ; Patient
- ;S $P(^ABSPHOLD(ABSP57,"P"),U,4)=ABSP(.71) ; Service date from
- ;S $P(^ABSPHOLD(ABSP57,"P"),U,5)=ABSP(.72) ; Service date to
- ;S $P(^ABSPHOLD(ABSP57,"P"),U,6)=ABSP(.1) ; Clinic
- ;S $P(^ABSPHOLD(ABSP57,"P"),U,7)=ABSP(.03) ; Visit location
- ;S $P(^ABSPHOLD(ABSP57,"P"),U,8)=ABSP(.08) ; Active insurer
- ;S $P(^ABSPHOLD(ABSP57,"P"),U,9)=ABSP(.58) ; Prior Authorization
- ;S $P(^ABSPHOLD(ABSP57,"P"),U,10)=ABSP(.14) ; Approving Official
- ;S $P(^ABSPHOLD(ABSP57,"P2"),U,1)=ABSP(41,.01) ; Provider
- ;S $P(^ABSPHOLD(ABSP57,"P2"),U,2)=ABSP(23,.01) ; Medication
- ;S $P(^ABSPHOLD(ABSP57,"P2"),U,3)=ABSP(23,.03) ; Quantity
- ;S $P(^ABSPHOLD(ABSP57,"P2"),U,4)=ABSP(23,.04) ; Unit Price
- ;S $P(^ABSPHOLD(ABSP57,"P2"),U,5)=ABSP(23,.05) ; Dispensing Fee
- ;S $P(^ABSPHOLD(ABSP57,"P2"),U,6)=ABSP(23,19) ; New/Refill code
- ;S $P(^ABSPHOLD(ABSP57,"P2"),U,7)=ABSP(23,.06) ; Prescription
- ;S $P(^ABSPHOLD(ABSP57,"P2"),U,8)=ABSP(23,14) ; Date filled
- ;S $P(^ABSPHOLD(ABSP57,"P2"),U,9)=ABSP(23,20) ; Days supply
- ;S $P(^ABSPHOLD(ABSP57,"P2"),U,10)=ABSP("OTHIDENT") ; Other Bill Identifier
- ;Q
- ;HOLDITR(ABSP) ;EP - ABSPOSBB
- ; Put reversal on hold.
- ;
- ;N LOG
- ;D NOW^%DTC
- ;S LOG=%
- ;
- ;D ^XBFMK ;kill FileMan variables
- ;K DD,DO
- ;S DIC="^ABSPHOLD("
- ;S DIC(0)="L"
- ;S DINUM=LOG
- ;S DINUM=ABSP57
- ;S X=ABSP57
- ;
- ;D FILE^DICN
- ;
- ;Q:+Y<0
- ;
- ;S $P(^ABSPHOLD(ABSP57,0),U,2)="R"
- ;
- ;S $P(^ABSPHOLD(ABSP57,"R"),U,1)=LOC
- ;S $P(^ABSPHOLD(ABSP57,"R"),U,2)=VISDT
- ;S $P(^ABSPHOLD(ABSP57,"R"),U,3)=INSDFN
- ;S $P(^ABSPHOLD(ABSP57,"R"),U,4)=ABSP("CREDIT") ; $$ to reverse
- ;S $P(^ABSPHOLD(ABSP57,"R"),U,5)=ABSP("ARLOC") ; A/R Bill location
- ;S $P(^ABSPHOLD(ABSP57,"R"),U,6)=ABSP("TRAN TYPE") ; Adjustment
- ;S $P(^ABSPHOLD(ABSP57,"R"),U,7)=ABSP("ADJ CAT") ; Write off
- ;S $P(^ABSPHOLD(ABSP57,"R"),U,8)=ABSP("ADJ TYPE") ; Billed in error
- ;S $P(^ABSPHOLD(ABSP57,"R"),U,9)=ABSP("USER") ; User who entered tran
- ;Q
- ; CHKHOLD ;EP - ABSPOSBD
- ;CHKHOLD(HOLDIEN) ;EP - ABSPOSJ1 (pre-init routine that calls to clear HOLD queue)
- ; Process to check the hold claim.
- ;
- ;N HOLD57,HOLDTYP,HOLDREC,HOLDLOC,HOLDVDT,HOLDINS,HOLDFLG,HOLDDA
- ;
- ;S HOLD57=$P($G(^ABSPHOLD(HOLDIEN,0)),U)
- ;S HOLDTYP=$P($G(^ABSPHOLD(HOLDIEN,0)),U,2)
- ;I HOLDTYP="P" D
- ;. S HOLDREC=$G(^ABSPHOLD(HOLDIEN,"P"))
- ;. S HOLDLOC=$P(HOLDREC,U,7)
- ;. S HOLDVDT=$P(HOLDREC,U,4)
- ;. S HOLDINS=$P(HOLDREC,U,8)
- ;I HOLDTYP="R" D
- ;. S HOLDREC=$G(^ABSPHOLD(HOLDIEN,"R"))
- ;. S HOLDLOC=$P(HOLDREC,U,1)
- ;. S HOLDVDT=$P(HOLDREC,U,2)
- ;. S HOLDINS=$P(HOLDREC,U,3)
- ;I HOLDTYP'="P"&(HOLDTYP'="R") Q
- ;S HOLDFLG=$$HOLDFLG^ABSPOSBH(HOLDLOC,HOLDVDT,HOLDINS)
- ; Tax id still not found leave on hold
- ;I HOLDFLG D Q
- ;. ;D LOG^ABSPOSL("Holding for taxid "_HOLD57_".")
- ;. S HOLDCNT=HOLDCNT+1
- ;
- ; Tax id found send to 3PB
- ;I HOLDTYP="P" D POSTIT
- ;I HOLDTYP="R" D REVERSIT
- ;
- ;I HOLDDA]"" D
- ;. N FDA,IEN,MSG
- ;. S FDA(9002313.57,HOLD57_",",.15)=HOLDDA
- ;. D FILE^DIE(,"FDA","MSG")
- ;. I $D(MSG) D LOG^ABSPOSL2("F^ABSPOSBX",.MSG) ; /IHS/OIT/RAM ; 12 JUN 17 ; AND LOG IT IF AN ERROR OCCURS.
- ;
- ; Transaction processed remove entry from hold file
- ;D ^XBFMK ;kill FileMan variables
- ;S DIK="^ABSPHOLD("
- ;S DA=HOLDIEN
- ;D ^DIK
- ;
- ;Q
- ;POSTIT ;
- ;N ABSP,ABSPOST,HOLDREC2
- ;
- ;S ABSP(.21)=$P(HOLDREC,U,1) ; Bill amount
- ;S ABSP(.23)=$P(HOLDREC,U,2) ; Gross amount
- ;S ABSP(.05)=$P(HOLDREC,U,3) ; Patient
- ;S ABSP(.71)=$P(HOLDREC,U,4) ; Service date from
- ;S ABSP(.72)=$P(HOLDREC,U,5) ; Service date to
- ;S ABSP(.1)=$P(HOLDREC,U,6) ; Clinic
- ;S ABSP(.03)=$P(HOLDREC,U,7) ; Visit location
- ;S ABSP(.08)=$P(HOLDREC,U,8) ; Active insurer
- ;S ABSP(.58)=$P(HOLDREC,U,9) ; Prior Authorization
- ;S ABSP(.14)=$P(HOLDREC,U,10) ; Approving Official
- ;S HOLDREC2=$G(^ABSPHOLD(HOLDIEN,"P2"))
- ;S ABSP(41,.01)=$P(HOLDREC2,U,1) ; Provider
- ;S ABSP(23,.01)=$P(HOLDREC2,U,2) ; Medication
- ;S ABSP(23,.03)=$P(HOLDREC2,U,3) ; Quantity
- ;S ABSP(23,.04)=$P(HOLDREC2,U,4) ; Unit Price
- ;S ABSP(23,.05)=$P(HOLDREC2,U,5) ; Dispensing Fee
- ;S ABSP(23,19)=$P(HOLDREC2,U,6) ; New/Refill code
- ;S ABSP(23,.06)=$P(HOLDREC2,U,7) ; Prescription
- ;S ABSP(23,14)=$P(HOLDREC2,U,8) ; Date filled
- ;S ABSP(23,20)=$P(HOLDREC2,U,9) ; Days supply
- ;S ABSP("OTHIDENT")=$P(HOLDREC2,U,10) ; Other Bill Identifier
- ;S INSDFN=ABSP(.08)
- ;
- ;D LOG^ABSPOSL("Posting transaction "_HOLD57_".")
- ;S ABSPOST=$$EN^ABMPSAPI(.ABSP) ; Call published 3PB API
- ;D SETFLAG^ABSPOSBC(HOLD57,0) ; clear the "needs billing" flag
- ;S HOLDDA=ABSPOST
- ;Q
- ;REVERSIT ;
- ;N ABSP,ABSPWOFF,ABSCAN
- ;S ABSP("CREDIT")=$P(HOLDREC,U,4) ; $$ to reverse
- ;S ABSP("ARLOC")=$P(HOLDREC,U,5) ; A/R Bill location
- ;S ABSP("TRAN TYPE")=$P(HOLDREC,U,6) ; Adjustment
- ;S ABSP("ADJ CAT")=$P(HOLDREC,U,7) ; Write off
- ;S ABSP("ADJ TYPE")=$P(HOLDREC,U,8) ; Billed in error
- ;S ABSP("USER")=$P(HOLDREC,U,9) ; User who entered tran
- ;
- ;D LOG^ABSPOSL("Reversing transaction "_HOLD57_".")
- ;S ABSPWOFF=$$EN^BARPSAPI(.ABSP) ; Call published A/R API
- ;S ABSCAN=$$CAN^ABMPSAPI(ABSPWOFF) ; Cancel bill in 3PB
- ;D SETFLAG^ABSPOSBC(HOLD57,0) ; clear the "needs billing" flag
- ;S HOLDDA=ABSPWOFF
- ;
- ;Q
- ;HOLDSCR ;EP - ABSPMHDR
- ;
- ;N HOLDCNT
- ;S HOLDCNT=+$P($G(^ABSPHOLD(0)),U,4)
- ;Q:HOLDCNT=0
- ;N DASH
- ;S $P(DASH,"*",61)=""
- ;W @IOF
- ;W !!!
- ;W !,?10,DASH
- ;W !,?10,"*",?69,"*"
- ;W !,?10,"*"," There are ",HOLDCNT," POS Claims not being passed to 3PB",?69,"*"
- ;W !,?10,"*"," due to missing tax id.",?69,"*"
- ;W !,?10,"*",?69,"*"
- ;W !,?10,"*"," Please run the following report for more information:",?69,"*"
- ;W !,?10,"*",?69,"*"
- ;W !,?10,"*"," HELD Count of POS Claims not Passed to 3PB",?69,"*"
- ;W !,?10,"*",?69,"*"
- ;W !,?10,"*"," To run the report select options RPT/CLA/HELD.",?69,"*"
- ;W !,?10,"*",?69,"*"
- ;W !,?10,DASH
- ;W !!!
- ;D PRESSANY^ABSPOSU5()
- ;Q
- ; IHS/OIT/SCR 9/23/08 - Patch 28 END CHANGES
- ABSPOSBH ; IHS/SD/RLT - POS billing - HOLD ; [ 09/12/2007 11:18 AM ]
- +1 ;;1.0;PHARMACY POINT OF SALE;**22,28**;SEP 12, 2007;Build 38
- +2 ;
- +3 ; Code to hold claims from being sent to 3PB if the site
- +4 ; affiliation is IHS and the insurer does not have a tax id.
- +5 ;
- +6 ; This routine handles the holding and releasing of these claims.
- +7 ;
- +8 ; -------------------------------------------------------------------------------------
- +9 ; IHS/OIT/SCR 9/16/08 patch 28 REMOVED all functionality to put claims in HOLD
- +10 ; status.
- +11 ; -------------------------------------------------------------------------------------
- +12 QUIT
- +13 ; IHS/OIT/SCR 9/23/08 - Patch 28 START CHANGES
- +14 ;HOLDFLG(LOC,VISDT,INSDFN) ;EP - ABSPOSBB
- +15 ;
- +16 ; Claims from sites flagged as IHS must have insurer tax ids
- +17 ; to send to 3PB.
- +18 ;
- +19 ; 1 = don't send to 3PB put on hold
- +20 ; 0 = send to 3PB
- +21 ; Get affiliation.
- +22 ; 1 = IHS
- +23 ;N CLASSFND,CLASS,BEGDT,ENDDT,AFFL
- +24 ;S AFFL=""
- +25 ;S CLASSFND=0
- +26 ;S CLASS="A"
- +27 ;F S CLASS=$O(^AUTTLOC(LOC,11,CLASS),-1) Q:CLASS=0!(CLASSFND) D
- +28 ;. S BEGDT=$S($P(^AUTTLOC(LOC,11,CLASS,0),U)]"":$P(^AUTTLOC(LOC,11,CLASS,0),U),1:0)
- +29 ;. S ENDDT=$S($P(^AUTTLOC(LOC,11,CLASS,0),U,2)]"":$P(^AUTTLOC(LOC,11,CLASS,0),U,2),1:9999999)
- +30 ;. I VISDT'<BEGDT&(VISDT'>ENDDT) S AFFL=$P(^AUTTLOC(LOC,11,CLASS,0),U,3),CLASSFND=1
- +31 ;;
- +32 ;; Get insurer tax id.
- +33 ;N TAXID
- +34 ;S TAXID=$P($G(^AUTNINS(INSDFN,0)),U,11)
- +35 ;
- +36 ; If affiliation is IHS and no insurer tax id don't send to 3PB put on hold.
- +37 ;I AFFL=1&(TAXID="") Q 1
- +38 ;Q 0
- +39 ;HOLDITP(ABSP) ;EP - ABSPOSBB
- +40 ; Put post on hold.
- +41 ;
- +42 ;N LOG
- +43 ;D NOW^%DTC
- +44 ;S LOG=%
- +45 ;
- +46 ;D ^XBFMK ;kill FileMan variables
- +47 ;K DD,DO
- +48 ;S DIC="^ABSPHOLD("
- +49 ;S DIC(0)="L"
- +50 ;S DINUM=LOG
- +51 ;S DINUM=ABSP57
- +52 ;S X=ABSP57
- +53 ;
- +54 ;D FILE^DICN
- +55 ;
- +56 ;Q:+Y<0
- +57 ;
- +58 ;S $P(^ABSPHOLD(ABSP57,0),U,2)="P"
- +59 ;
- +60 ;S $P(^ABSPHOLD(ABSP57,"P"),U,1)=ABSP(.21) ; Bill amount
- +61 ;S $P(^ABSPHOLD(ABSP57,"P"),U,2)=ABSP(.23) ; Gross amount
- +62 ;S $P(^ABSPHOLD(ABSP57,"P"),U,3)=ABSP(.05) ; Patient
- +63 ;S $P(^ABSPHOLD(ABSP57,"P"),U,4)=ABSP(.71) ; Service date from
- +64 ;S $P(^ABSPHOLD(ABSP57,"P"),U,5)=ABSP(.72) ; Service date to
- +65 ;S $P(^ABSPHOLD(ABSP57,"P"),U,6)=ABSP(.1) ; Clinic
- +66 ;S $P(^ABSPHOLD(ABSP57,"P"),U,7)=ABSP(.03) ; Visit location
- +67 ;S $P(^ABSPHOLD(ABSP57,"P"),U,8)=ABSP(.08) ; Active insurer
- +68 ;S $P(^ABSPHOLD(ABSP57,"P"),U,9)=ABSP(.58) ; Prior Authorization
- +69 ;S $P(^ABSPHOLD(ABSP57,"P"),U,10)=ABSP(.14) ; Approving Official
- +70 ;S $P(^ABSPHOLD(ABSP57,"P2"),U,1)=ABSP(41,.01) ; Provider
- +71 ;S $P(^ABSPHOLD(ABSP57,"P2"),U,2)=ABSP(23,.01) ; Medication
- +72 ;S $P(^ABSPHOLD(ABSP57,"P2"),U,3)=ABSP(23,.03) ; Quantity
- +73 ;S $P(^ABSPHOLD(ABSP57,"P2"),U,4)=ABSP(23,.04) ; Unit Price
- +74 ;S $P(^ABSPHOLD(ABSP57,"P2"),U,5)=ABSP(23,.05) ; Dispensing Fee
- +75 ;S $P(^ABSPHOLD(ABSP57,"P2"),U,6)=ABSP(23,19) ; New/Refill code
- +76 ;S $P(^ABSPHOLD(ABSP57,"P2"),U,7)=ABSP(23,.06) ; Prescription
- +77 ;S $P(^ABSPHOLD(ABSP57,"P2"),U,8)=ABSP(23,14) ; Date filled
- +78 ;S $P(^ABSPHOLD(ABSP57,"P2"),U,9)=ABSP(23,20) ; Days supply
- +79 ;S $P(^ABSPHOLD(ABSP57,"P2"),U,10)=ABSP("OTHIDENT") ; Other Bill Identifier
- +80 ;Q
- +81 ;HOLDITR(ABSP) ;EP - ABSPOSBB
- +82 ; Put reversal on hold.
- +83 ;
- +84 ;N LOG
- +85 ;D NOW^%DTC
- +86 ;S LOG=%
- +87 ;
- +88 ;D ^XBFMK ;kill FileMan variables
- +89 ;K DD,DO
- +90 ;S DIC="^ABSPHOLD("
- +91 ;S DIC(0)="L"
- +92 ;S DINUM=LOG
- +93 ;S DINUM=ABSP57
- +94 ;S X=ABSP57
- +95 ;
- +96 ;D FILE^DICN
- +97 ;
- +98 ;Q:+Y<0
- +99 ;
- +100 ;S $P(^ABSPHOLD(ABSP57,0),U,2)="R"
- +101 ;
- +102 ;S $P(^ABSPHOLD(ABSP57,"R"),U,1)=LOC
- +103 ;S $P(^ABSPHOLD(ABSP57,"R"),U,2)=VISDT
- +104 ;S $P(^ABSPHOLD(ABSP57,"R"),U,3)=INSDFN
- +105 ;S $P(^ABSPHOLD(ABSP57,"R"),U,4)=ABSP("CREDIT") ; $$ to reverse
- +106 ;S $P(^ABSPHOLD(ABSP57,"R"),U,5)=ABSP("ARLOC") ; A/R Bill location
- +107 ;S $P(^ABSPHOLD(ABSP57,"R"),U,6)=ABSP("TRAN TYPE") ; Adjustment
- +108 ;S $P(^ABSPHOLD(ABSP57,"R"),U,7)=ABSP("ADJ CAT") ; Write off
- +109 ;S $P(^ABSPHOLD(ABSP57,"R"),U,8)=ABSP("ADJ TYPE") ; Billed in error
- +110 ;S $P(^ABSPHOLD(ABSP57,"R"),U,9)=ABSP("USER") ; User who entered tran
- +111 ;Q
- +112 ; CHKHOLD ;EP - ABSPOSBD
- +113 ;CHKHOLD(HOLDIEN) ;EP - ABSPOSJ1 (pre-init routine that calls to clear HOLD queue)
- +114 ; Process to check the hold claim.
- +115 ;
- +116 ;N HOLD57,HOLDTYP,HOLDREC,HOLDLOC,HOLDVDT,HOLDINS,HOLDFLG,HOLDDA
- +117 ;
- +118 ;S HOLD57=$P($G(^ABSPHOLD(HOLDIEN,0)),U)
- +119 ;S HOLDTYP=$P($G(^ABSPHOLD(HOLDIEN,0)),U,2)
- +120 ;I HOLDTYP="P" D
- +121 ;. S HOLDREC=$G(^ABSPHOLD(HOLDIEN,"P"))
- +122 ;. S HOLDLOC=$P(HOLDREC,U,7)
- +123 ;. S HOLDVDT=$P(HOLDREC,U,4)
- +124 ;. S HOLDINS=$P(HOLDREC,U,8)
- +125 ;I HOLDTYP="R" D
- +126 ;. S HOLDREC=$G(^ABSPHOLD(HOLDIEN,"R"))
- +127 ;. S HOLDLOC=$P(HOLDREC,U,1)
- +128 ;. S HOLDVDT=$P(HOLDREC,U,2)
- +129 ;. S HOLDINS=$P(HOLDREC,U,3)
- +130 ;I HOLDTYP'="P"&(HOLDTYP'="R") Q
- +131 ;S HOLDFLG=$$HOLDFLG^ABSPOSBH(HOLDLOC,HOLDVDT,HOLDINS)
- +132 ; Tax id still not found leave on hold
- +133 ;I HOLDFLG D Q
- +134 ;. ;D LOG^ABSPOSL("Holding for taxid "_HOLD57_".")
- +135 ;. S HOLDCNT=HOLDCNT+1
- +136 ;
- +137 ; Tax id found send to 3PB
- +138 ;I HOLDTYP="P" D POSTIT
- +139 ;I HOLDTYP="R" D REVERSIT
- +140 ;
- +141 ;I HOLDDA]"" D
- +142 ;. N FDA,IEN,MSG
- +143 ;. S FDA(9002313.57,HOLD57_",",.15)=HOLDDA
- +144 ;. D FILE^DIE(,"FDA","MSG")
- +145 ;. I $D(MSG) D LOG^ABSPOSL2("F^ABSPOSBX",.MSG) ; /IHS/OIT/RAM ; 12 JUN 17 ; AND LOG IT IF AN ERROR OCCURS.
- +146 ;
- +147 ; Transaction processed remove entry from hold file
- +148 ;D ^XBFMK ;kill FileMan variables
- +149 ;S DIK="^ABSPHOLD("
- +150 ;S DA=HOLDIEN
- +151 ;D ^DIK
- +152 ;
- +153 ;Q
- +154 ;POSTIT ;
- +155 ;N ABSP,ABSPOST,HOLDREC2
- +156 ;
- +157 ;S ABSP(.21)=$P(HOLDREC,U,1) ; Bill amount
- +158 ;S ABSP(.23)=$P(HOLDREC,U,2) ; Gross amount
- +159 ;S ABSP(.05)=$P(HOLDREC,U,3) ; Patient
- +160 ;S ABSP(.71)=$P(HOLDREC,U,4) ; Service date from
- +161 ;S ABSP(.72)=$P(HOLDREC,U,5) ; Service date to
- +162 ;S ABSP(.1)=$P(HOLDREC,U,6) ; Clinic
- +163 ;S ABSP(.03)=$P(HOLDREC,U,7) ; Visit location
- +164 ;S ABSP(.08)=$P(HOLDREC,U,8) ; Active insurer
- +165 ;S ABSP(.58)=$P(HOLDREC,U,9) ; Prior Authorization
- +166 ;S ABSP(.14)=$P(HOLDREC,U,10) ; Approving Official
- +167 ;S HOLDREC2=$G(^ABSPHOLD(HOLDIEN,"P2"))
- +168 ;S ABSP(41,.01)=$P(HOLDREC2,U,1) ; Provider
- +169 ;S ABSP(23,.01)=$P(HOLDREC2,U,2) ; Medication
- +170 ;S ABSP(23,.03)=$P(HOLDREC2,U,3) ; Quantity
- +171 ;S ABSP(23,.04)=$P(HOLDREC2,U,4) ; Unit Price
- +172 ;S ABSP(23,.05)=$P(HOLDREC2,U,5) ; Dispensing Fee
- +173 ;S ABSP(23,19)=$P(HOLDREC2,U,6) ; New/Refill code
- +174 ;S ABSP(23,.06)=$P(HOLDREC2,U,7) ; Prescription
- +175 ;S ABSP(23,14)=$P(HOLDREC2,U,8) ; Date filled
- +176 ;S ABSP(23,20)=$P(HOLDREC2,U,9) ; Days supply
- +177 ;S ABSP("OTHIDENT")=$P(HOLDREC2,U,10) ; Other Bill Identifier
- +178 ;S INSDFN=ABSP(.08)
- +179 ;
- +180 ;D LOG^ABSPOSL("Posting transaction "_HOLD57_".")
- +181 ;S ABSPOST=$$EN^ABMPSAPI(.ABSP) ; Call published 3PB API
- +182 ;D SETFLAG^ABSPOSBC(HOLD57,0) ; clear the "needs billing" flag
- +183 ;S HOLDDA=ABSPOST
- +184 ;Q
- +185 ;REVERSIT ;
- +186 ;N ABSP,ABSPWOFF,ABSCAN
- +187 ;S ABSP("CREDIT")=$P(HOLDREC,U,4) ; $$ to reverse
- +188 ;S ABSP("ARLOC")=$P(HOLDREC,U,5) ; A/R Bill location
- +189 ;S ABSP("TRAN TYPE")=$P(HOLDREC,U,6) ; Adjustment
- +190 ;S ABSP("ADJ CAT")=$P(HOLDREC,U,7) ; Write off
- +191 ;S ABSP("ADJ TYPE")=$P(HOLDREC,U,8) ; Billed in error
- +192 ;S ABSP("USER")=$P(HOLDREC,U,9) ; User who entered tran
- +193 ;
- +194 ;D LOG^ABSPOSL("Reversing transaction "_HOLD57_".")
- +195 ;S ABSPWOFF=$$EN^BARPSAPI(.ABSP) ; Call published A/R API
- +196 ;S ABSCAN=$$CAN^ABMPSAPI(ABSPWOFF) ; Cancel bill in 3PB
- +197 ;D SETFLAG^ABSPOSBC(HOLD57,0) ; clear the "needs billing" flag
- +198 ;S HOLDDA=ABSPWOFF
- +199 ;
- +200 ;Q
- +201 ;HOLDSCR ;EP - ABSPMHDR
- +202 ;
- +203 ;N HOLDCNT
- +204 ;S HOLDCNT=+$P($G(^ABSPHOLD(0)),U,4)
- +205 ;Q:HOLDCNT=0
- +206 ;N DASH
- +207 ;S $P(DASH,"*",61)=""
- +208 ;W @IOF
- +209 ;W !!!
- +210 ;W !,?10,DASH
- +211 ;W !,?10,"*",?69,"*"
- +212 ;W !,?10,"*"," There are ",HOLDCNT," POS Claims not being passed to 3PB",?69,"*"
- +213 ;W !,?10,"*"," due to missing tax id.",?69,"*"
- +214 ;W !,?10,"*",?69,"*"
- +215 ;W !,?10,"*"," Please run the following report for more information:",?69,"*"
- +216 ;W !,?10,"*",?69,"*"
- +217 ;W !,?10,"*"," HELD Count of POS Claims not Passed to 3PB",?69,"*"
- +218 ;W !,?10,"*",?69,"*"
- +219 ;W !,?10,"*"," To run the report select options RPT/CLA/HELD.",?69,"*"
- +220 ;W !,?10,"*",?69,"*"
- +221 ;W !,?10,DASH
- +222 ;W !!!
- +223 ;D PRESSANY^ABSPOSU5()
- +224 ;Q
- +225 ; IHS/OIT/SCR 9/23/08 - Patch 28 END CHANGES