ABMERUT2 ; IHS/FCS/DRS - ABMERUTL cont.;
;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
;
; New Routine - Split from ABMERUTL on 08/30/2001
Q
; ABM*2.4*9 IHS/FCS/DRS 09/21/01 ; Part 15 - split POS out from large ABMERUTL and validate
; the POS code before sending to Envoy. Necessitated by San Xavier's
; hardcopy 1500 override value "03" which is rejected by Envoy's
; edit checks. If it turns out that this payer really absolutely
; has to have 03 even in the electronic form, then Envoy will have
; to do something - either stuff in the 03 at Envoy, or have us do
; it and have Envoy disable their POS check for that one payer.
; Though it seems as if that one payer had an exception, that some
; other Envoy customer would have encountered the problem by now
; and Envoy already would have adjusted their checking accordingly.
; So either we're the first or the 03 really isn't needed.
;
POS(X) ;EP - Point of Service ; parameter X apparently unused - comment said
; it was Mode of Export
S X=$G(^ABMNINS(DUZ(2),ABMP("INS"),2,"AOVR",3,37,3,ABMP("VTYP")))
D POSOK
I X="" S X=$G(^ABMNINS(DUZ(2),ABMP("INS"),2,"AOVR",3,37,3,0))
D POSOK
I X="" S X=$G(^ABMNINS(DUZ(2),ABMP("INS"),2,"AOVR",14,37,3,ABMP("VTYP")))
D POSOK
I X="" S X=$G(^ABMNINS(DUZ(2),ABMP("INS"),2,"AOVR",14,37,3,0))
D POSOK
I X'="" Q X
S X=$P($G(^ABMDPARM(ABMP("LDFN"),1,3)),"^",6)
S:X="" X=$P($G(^ABMDPARM(DUZ(2),1,3)),"^",6)
S:X X=$P(^ABMDCODE(X,0),"^")
I X="" S X=11
Q X
;
; POSOK new in ABM*2.4*9
POSOK ; Valid Point of Service code in X; reset X="" if invalid
Q:X="" Q:'$$ENVOY^ABMEF19 ; only enforce for Envoy
S:'$D(^ABMDCODE("AC","H",X)) X="" Q
ABMERUT2 ; IHS/FCS/DRS - ABMERUTL cont.;
+1 ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
+2 ;
+3 ; New Routine - Split from ABMERUTL on 08/30/2001
+4 QUIT
+5 ; ABM*2.4*9 IHS/FCS/DRS 09/21/01 ; Part 15 - split POS out from large ABMERUTL and validate
+6 ; the POS code before sending to Envoy. Necessitated by San Xavier's
+7 ; hardcopy 1500 override value "03" which is rejected by Envoy's
+8 ; edit checks. If it turns out that this payer really absolutely
+9 ; has to have 03 even in the electronic form, then Envoy will have
+10 ; to do something - either stuff in the 03 at Envoy, or have us do
+11 ; it and have Envoy disable their POS check for that one payer.
+12 ; Though it seems as if that one payer had an exception, that some
+13 ; other Envoy customer would have encountered the problem by now
+14 ; and Envoy already would have adjusted their checking accordingly.
+15 ; So either we're the first or the 03 really isn't needed.
+16 ;
POS(X) ;EP - Point of Service ; parameter X apparently unused - comment said
+1 ; it was Mode of Export
+2 SET X=$GET(^ABMNINS(DUZ(2),ABMP("INS"),2,"AOVR",3,37,3,ABMP("VTYP")))
+3 DO POSOK
+4 IF X=""
SET X=$GET(^ABMNINS(DUZ(2),ABMP("INS"),2,"AOVR",3,37,3,0))
+5 DO POSOK
+6 IF X=""
SET X=$GET(^ABMNINS(DUZ(2),ABMP("INS"),2,"AOVR",14,37,3,ABMP("VTYP")))
+7 DO POSOK
+8 IF X=""
SET X=$GET(^ABMNINS(DUZ(2),ABMP("INS"),2,"AOVR",14,37,3,0))
+9 DO POSOK
+10 IF X'=""
QUIT X
+11 SET X=$PIECE($GET(^ABMDPARM(ABMP("LDFN"),1,3)),"^",6)
+12 IF X=""
SET X=$PIECE($GET(^ABMDPARM(DUZ(2),1,3)),"^",6)
+13 IF X
SET X=$PIECE(^ABMDCODE(X,0),"^")
+14 IF X=""
SET X=11
+15 QUIT X
+16 ;
+17 ; POSOK new in ABM*2.4*9
POSOK ; Valid Point of Service code in X; reset X="" if invalid
+1 ; only enforce for Envoy
IF X=""
QUIT
IF '$$ENVOY^ABMEF19
QUIT
+2 IF '$DATA(^ABMDCODE("AC","H",X))
SET X=""
QUIT