ABMP2621 ; IHS/SD/SDR - 3P BILLING 2.6 Patch 21 POST INIT ;
;;2.6;IHS Third Party Billing;**21**;NOV 12, 2009;Build 379
;
;IHS/SD/SDR 2.6*21 - HEAT216037 Added Place Of Service 50 Federally Qualified Health Center.
;IHS/SD/SDR 2.6*21 - HEAT250968 Added Place Of Service 60 for Mass Immunization Center.
;IHS/SD/SDR 2.6*21 - HEAT255088 Added Place Of Service 19 for Off Campus-Outpatient Hospital.
;
Q
POST ;
D ECODES ;add new 3P Codes entries
D REINDEX ;reindex 3P UFMS Cashering file, new SESSION STATUS x-ref
Q
REINDEX ;EP
D BMES^XPDUTL("Reindexing 3P UFMS Cashiering SESSION STATUS field...")
D ^XBFMK
S ABMHOLD=DUZ(2)
S DA(2)=0
F S DA(2)=$O(^ABMUCASH(DA(2))) Q:'+DA(2) D
.F ABMLOOP=10,20 D
..S DA(1)=0
..F S DA(1)=$O(^ABMUCASH(DA(2),ABMLOOP,DA(1))) Q:'DA(1) D
...S DIK="^ABMUCASH("_DA(2)_","_ABMLOOP_","_DA(1)_",20,"
...D IXALL^DIK
S DUZ(2)=ABMHOLD
D BMES^XPDUTL("Done.")
Q
ECODES ;
K DIC,X
F ABMI=1:1 S ABMLN=$P($T(ECODETXT+ABMI),";;",2) Q:ABMLN="END" D
.S ABMCODE=$P(ABMLN,U)
.I $D(^ABMDCODE("AC",$P(ABMLN,U,2),ABMCODE)) D Q
..S DA=$O(^ABMDCODE("AC",$P(ABMLN,U,2),ABMCODE,0))
..S $P(^ABMDCODE(DA,0),U,2)=$P(ABMLN,U,2),$P(^(0),U,3)=$P(ABMLN,U,3),$P(^(0),U,4)=$P(ABMLN,U,4)
.S ABMDESC=$P(ABMLN,U,3)
.S ABMINAC=$P(ABMLN,U,4)
.S DIC="^ABMDCODE("
.S DIC(0)="ML"
.S X=ABMCODE
.S DIC("DR")=".02///"_$P(ABMLN,U,2)
.S DIC("DR")=DIC("DR")_";.03///"_ABMDESC
.S DIC("DR")=DIC("DR")_";.04///"_ABMINAC
.K DD,DO
.D FILE^DICN
Q
;
ECODETXT ;
;;50^H^Federally Qualified Health Center
;;60^H^Mass Immunization Center
;;19^H^Off Campus-Outpatient Hospital
;;END
ABMP2621 ; IHS/SD/SDR - 3P BILLING 2.6 Patch 21 POST INIT ;
+1 ;;2.6;IHS Third Party Billing;**21**;NOV 12, 2009;Build 379
+2 ;
+3 ;IHS/SD/SDR 2.6*21 - HEAT216037 Added Place Of Service 50 Federally Qualified Health Center.
+4 ;IHS/SD/SDR 2.6*21 - HEAT250968 Added Place Of Service 60 for Mass Immunization Center.
+5 ;IHS/SD/SDR 2.6*21 - HEAT255088 Added Place Of Service 19 for Off Campus-Outpatient Hospital.
+6 ;
+7 QUIT
POST ;
+1 ;add new 3P Codes entries
DO ECODES
+2 ;reindex 3P UFMS Cashering file, new SESSION STATUS x-ref
DO REINDEX
+3 QUIT
REINDEX ;EP
+1 DO BMES^XPDUTL("Reindexing 3P UFMS Cashiering SESSION STATUS field...")
+2 DO ^XBFMK
+3 SET ABMHOLD=DUZ(2)
+4 SET DA(2)=0
+5 FOR
SET DA(2)=$ORDER(^ABMUCASH(DA(2)))
IF '+DA(2)
QUIT
Begin DoDot:1
+6 FOR ABMLOOP=10,20
Begin DoDot:2
+7 SET DA(1)=0
+8 FOR
SET DA(1)=$ORDER(^ABMUCASH(DA(2),ABMLOOP,DA(1)))
IF 'DA(1)
QUIT
Begin DoDot:3
+9 SET DIK="^ABMUCASH("_DA(2)_","_ABMLOOP_","_DA(1)_",20,"
+10 DO IXALL^DIK
End DoDot:3
End DoDot:2
End DoDot:1
+11 SET DUZ(2)=ABMHOLD
+12 DO BMES^XPDUTL("Done.")
+13 QUIT
ECODES ;
+1 KILL DIC,X
+2 FOR ABMI=1:1
SET ABMLN=$PIECE($TEXT(ECODETXT+ABMI),";;",2)
IF ABMLN="END"
QUIT
Begin DoDot:1
+3 SET ABMCODE=$PIECE(ABMLN,U)
+4 IF $DATA(^ABMDCODE("AC",$PIECE(ABMLN,U,2),ABMCODE))
Begin DoDot:2
+5 SET DA=$ORDER(^ABMDCODE("AC",$PIECE(ABMLN,U,2),ABMCODE,0))
+6 SET $PIECE(^ABMDCODE(DA,0),U,2)=$PIECE(ABMLN,U,2)
SET $PIECE(^(0),U,3)=$PIECE(ABMLN,U,3)
SET $PIECE(^(0),U,4)=$PIECE(ABMLN,U,4)
End DoDot:2
QUIT
+7 SET ABMDESC=$PIECE(ABMLN,U,3)
+8 SET ABMINAC=$PIECE(ABMLN,U,4)
+9 SET DIC="^ABMDCODE("
+10 SET DIC(0)="ML"
+11 SET X=ABMCODE
+12 SET DIC("DR")=".02///"_$PIECE(ABMLN,U,2)
+13 SET DIC("DR")=DIC("DR")_";.03///"_ABMDESC
+14 SET DIC("DR")=DIC("DR")_";.04///"_ABMINAC
+15 KILL DD,DO
+16 DO FILE^DICN
End DoDot:1
+17 QUIT
+18 ;
ECODETXT ;
+1 ;;50^H^Federally Qualified Health Center
+2 ;;60^H^Mass Immunization Center
+3 ;;19^H^Off Campus-Outpatient Hospital
+4 ;;END