ABMPT268 ; IHS/SD/SDR - 3P BILLING 2.6 Patch 8 POST INIT ;
;;2.6;IHS Third Party Billing;**8**;NOV 12, 2009
;
Q
POST ;
D EXP31
D EXP33
D ERRCODES
D PRVCLASS
D CHRGSUMM
D MUCONV
Q
EXP31 ;
K DIC,DR,DINUM,DLAYGO,DIE
S DIC="^ABMDEXP("
S DIC(0)="LM"
S DLAYGO=9002274
S X="837I (UB) 5010",DINUM=31
K DD,DO
D ^DIC
Q:Y<0
S DA=+Y
S DIE="^ABMDEXP("
S DR=".04////ABMEF31;.07///837 5010 INSTITUTIONAL;.08///1,2,3,4,5,6,8,14,19,21,22,23,24,28,31;.11////ABMDES1;.15///E"
D ^DIE
EXP33 ;
K DIC,DR,DINUM,DLAYGO,DIE
S DIC="^ABMDEXP("
S DIC(0)="LM"
S DLAYGO=9002274
S X="837D (ADA) 5010",DINUM=33
K DD,DO
D ^DIC
Q:Y<0
S DA=+Y
S DIE="^ABMDEXP("
S DR=".04////ABMEF33;.07///837 5010 DENTAL;.08///1,2,3,4B,5,14,16,17,18,19,28,34,35;.11////ABMDES3;.15///E"
D ^DIE
Q
ERRCODES ;
;240 - POA VALUE '1' NOT APPLICABLE FOR THIS EXPORT MODE
K DIC,X
S DIC="^ABMDERR("
S DIC(0)="LM"
S DINUM=240
S X="POA VALUE '1' NOT APPLICABLE FOR THIS EXPORT MODE"
S DIC("DR")=".02///Select different POA Value"
S DIC("DR")=DIC("DR")_";.03///E"
K DD,DO
D FILE^DICN
D SITE(240)
Q
SITE(ABMX) ;Add SITE multiple
S DUZHOLD=DUZ(2)
S DUZ(2)=0
F S DUZ(2)=$O(^ABMDCLM(DUZ(2))) Q:'+DUZ(2) D
.S DIC(0)="LX"
.S DA(1)=ABMX
.S DIC="^ABMDERR("_DA(1)_",31,"
.S DIC("P")=$P(^DD(9002274.04,31,0),U,2)
.S DINUM=DUZ(2)
.S X=$P($G(^DIC(4,DUZ(2),0)),U)
.S DIC("DR")=".03////E"
.D ^DIC
.K DA,DIC,DINUM
S DUZ(2)=DUZHOLD
K DUZHOLD,DLAYGO,ABMX
Q
;
PRVCLASS ;
F ABMI=1:1 S ABMLN=$P($T(PCLASS+ABMI),";;",2) Q:ABMLN="END" D
.S DA(1)=1
.S DIC="^ABMMUPRM("_DA(1)_",2,"
.S DIC(0)="QLM"
.S X=$P(ABMLN,U)
.D ^DIC
Q
PCLASS ;
;;00^PHYSICIAN
;;11^PHYSICIAN ASSISTANT
;;16^PEDIATRIC NURSE PRACT.
;;17^NURSE MIDWIFE
;;18^PHYSICIAN (CONTRACT)
;;21^NURSE PRACTITIONER
;;41^OB/GYN (CONTRACT)
;;44^PHYSICIAN (TRIBAL)
;;45^OSTEOPATH
;;49^CONTRACT PSYCHIATRIST
;;52^DENTIST
;;64^NEPHROLOGIST
;;68^EMERGENCY ROOM PHYSICIAN
;;70^CARDIOLOGIST
;;71^INTERNAL MEDICINE
;;72^OB/GYN
;;73^ORTHOPEDIST
;;74^OTOLARYNGOLOGIST
;;75^PEDIATRICIAN
;;76^RADIOLOGIST
;;77^SURGEON
;;78^UROLOGIST
;;79^OPHTHALMOLOGIST
;;80^FAMILY PRACTICE
;;81^PSYCHIATRIST
;;82^ANESTHESIOLOGIST
;;83^PATHOLOGIST
;;85^NEUROLOGIST
;;86^DERMATOLOGIST
;;A1^SPORTS MEDICINE PHYSICIAN
;;A9^HEPATOLOGIST
;;B1^GASTROENTEROLOGIST
;;B2^ENDOCRINOLOGIST
;;B3^RHEUMATOLOGIST
;;B4^ONCOLOGIST-HEMATOLOGIST
;;B5^PULMONOLOGIST
;;B6^NEUROSURGEON
;;END
CHRGSUMM ;
S DIE="^ABMDEXP("
S DR=".11////ABMDES4"
F DA=23,33 D
.D ^DIE
Q
MUCONV ;
S ABMIEN=0
F S ABMIEN=$O(^ABMMUPRM(1,1,ABMIEN)) Q:'ABMIEN D
.S ABMLOC=+$P($G(^ABMMUPRM(1,1,ABMIEN,0)),U)
.Q:'$D(^ABMMUPRM(1,1,ABMLOC))
.S $P(^ABMMUPRM(1,1,ABMIEN,0),U,2)=$P($G(^ABMMUPRM(1,1,ABMLOC,0)),U,2)
.S DA(1)=1
.S DA=ABMLOC
.S DIK="^ABMMUPRM("_DA(1)_",1,"
.D ^DIK
Q
ABMPT268 ; IHS/SD/SDR - 3P BILLING 2.6 Patch 8 POST INIT ;
+1 ;;2.6;IHS Third Party Billing;**8**;NOV 12, 2009
+2 ;
+3 QUIT
POST ;
+1 DO EXP31
+2 DO EXP33
+3 DO ERRCODES
+4 DO PRVCLASS
+5 DO CHRGSUMM
+6 DO MUCONV
+7 QUIT
EXP31 ;
+1 KILL DIC,DR,DINUM,DLAYGO,DIE
+2 SET DIC="^ABMDEXP("
+3 SET DIC(0)="LM"
+4 SET DLAYGO=9002274
+5 SET X="837I (UB) 5010"
SET DINUM=31
+6 KILL DD,DO
+7 DO ^DIC
+8 IF Y<0
QUIT
+9 SET DA=+Y
+10 SET DIE="^ABMDEXP("
+11 SET DR=".04////ABMEF31;.07///837 5010 INSTITUTIONAL;.08///1,2,3,4,5,6,8,14,19,21,22,23,24,28,31;.11////ABMDES1;.15///E"
+12 DO ^DIE
EXP33 ;
+1 KILL DIC,DR,DINUM,DLAYGO,DIE
+2 SET DIC="^ABMDEXP("
+3 SET DIC(0)="LM"
+4 SET DLAYGO=9002274
+5 SET X="837D (ADA) 5010"
SET DINUM=33
+6 KILL DD,DO
+7 DO ^DIC
+8 IF Y<0
QUIT
+9 SET DA=+Y
+10 SET DIE="^ABMDEXP("
+11 SET DR=".04////ABMEF33;.07///837 5010 DENTAL;.08///1,2,3,4B,5,14,16,17,18,19,28,34,35;.11////ABMDES3;.15///E"
+12 DO ^DIE
+13 QUIT
ERRCODES ;
+1 ;240 - POA VALUE '1' NOT APPLICABLE FOR THIS EXPORT MODE
+2 KILL DIC,X
+3 SET DIC="^ABMDERR("
+4 SET DIC(0)="LM"
+5 SET DINUM=240
+6 SET X="POA VALUE '1' NOT APPLICABLE FOR THIS EXPORT MODE"
+7 SET DIC("DR")=".02///Select different POA Value"
+8 SET DIC("DR")=DIC("DR")_";.03///E"
+9 KILL DD,DO
+10 DO FILE^DICN
+11 DO SITE(240)
+12 QUIT
SITE(ABMX) ;Add SITE multiple
+1 SET DUZHOLD=DUZ(2)
+2 SET DUZ(2)=0
+3 FOR
SET DUZ(2)=$ORDER(^ABMDCLM(DUZ(2)))
IF '+DUZ(2)
QUIT
Begin DoDot:1
+4 SET DIC(0)="LX"
+5 SET DA(1)=ABMX
+6 SET DIC="^ABMDERR("_DA(1)_",31,"
+7 SET DIC("P")=$PIECE(^DD(9002274.04,31,0),U,2)
+8 SET DINUM=DUZ(2)
+9 SET X=$PIECE($GET(^DIC(4,DUZ(2),0)),U)
+10 SET DIC("DR")=".03////E"
+11 DO ^DIC
+12 KILL DA,DIC,DINUM
End DoDot:1
+13 SET DUZ(2)=DUZHOLD
+14 KILL DUZHOLD,DLAYGO,ABMX
+15 QUIT
+16 ;
PRVCLASS ;
+1 FOR ABMI=1:1
SET ABMLN=$PIECE($TEXT(PCLASS+ABMI),";;",2)
IF ABMLN="END"
QUIT
Begin DoDot:1
+2 SET DA(1)=1
+3 SET DIC="^ABMMUPRM("_DA(1)_",2,"
+4 SET DIC(0)="QLM"
+5 SET X=$PIECE(ABMLN,U)
+6 DO ^DIC
End DoDot:1
+7 QUIT
PCLASS ;
+1 ;;00^PHYSICIAN
+2 ;;11^PHYSICIAN ASSISTANT
+3 ;;16^PEDIATRIC NURSE PRACT.
+4 ;;17^NURSE MIDWIFE
+5 ;;18^PHYSICIAN (CONTRACT)
+6 ;;21^NURSE PRACTITIONER
+7 ;;41^OB/GYN (CONTRACT)
+8 ;;44^PHYSICIAN (TRIBAL)
+9 ;;45^OSTEOPATH
+10 ;;49^CONTRACT PSYCHIATRIST
+11 ;;52^DENTIST
+12 ;;64^NEPHROLOGIST
+13 ;;68^EMERGENCY ROOM PHYSICIAN
+14 ;;70^CARDIOLOGIST
+15 ;;71^INTERNAL MEDICINE
+16 ;;72^OB/GYN
+17 ;;73^ORTHOPEDIST
+18 ;;74^OTOLARYNGOLOGIST
+19 ;;75^PEDIATRICIAN
+20 ;;76^RADIOLOGIST
+21 ;;77^SURGEON
+22 ;;78^UROLOGIST
+23 ;;79^OPHTHALMOLOGIST
+24 ;;80^FAMILY PRACTICE
+25 ;;81^PSYCHIATRIST
+26 ;;82^ANESTHESIOLOGIST
+27 ;;83^PATHOLOGIST
+28 ;;85^NEUROLOGIST
+29 ;;86^DERMATOLOGIST
+30 ;;A1^SPORTS MEDICINE PHYSICIAN
+31 ;;A9^HEPATOLOGIST
+32 ;;B1^GASTROENTEROLOGIST
+33 ;;B2^ENDOCRINOLOGIST
+34 ;;B3^RHEUMATOLOGIST
+35 ;;B4^ONCOLOGIST-HEMATOLOGIST
+36 ;;B5^PULMONOLOGIST
+37 ;;B6^NEUROSURGEON
+38 ;;END
CHRGSUMM ;
+1 SET DIE="^ABMDEXP("
+2 SET DR=".11////ABMDES4"
+3 FOR DA=23,33
Begin DoDot:1
+4 DO ^DIE
End DoDot:1
+5 QUIT
MUCONV ;
+1 SET ABMIEN=0
+2 FOR
SET ABMIEN=$ORDER(^ABMMUPRM(1,1,ABMIEN))
IF 'ABMIEN
QUIT
Begin DoDot:1
+3 SET ABMLOC=+$PIECE($GET(^ABMMUPRM(1,1,ABMIEN,0)),U)
+4 IF '$DATA(^ABMMUPRM(1,1,ABMLOC))
QUIT
+5 SET $PIECE(^ABMMUPRM(1,1,ABMIEN,0),U,2)=$PIECE($GET(^ABMMUPRM(1,1,ABMLOC,0)),U,2)
+6 SET DA(1)=1
+7 SET DA=ABMLOC
+8 SET DIK="^ABMMUPRM("_DA(1)_",1,"
+9 DO ^DIK
End DoDot:1
+10 QUIT