DG53819B ;ALB/MJB - TREATING SPECIALTIES UPDATES ; 3/12/07 7:21am
;;5.3;PIMS;**1016**;JUN 30, 2012;Build 20
;
Q
EN ;Add Treating Specialties to the SPECIALITY file (#42.4)
N DGI,DGERR,DGSPEC,DGIFN,DGQUES
S DGIFN=0
;add new treating specialties
F DGI=1:1 S DGSPEC=$P($T(TRSP+DGI),";;",2) Q:DGSPEC="QUIT" D
.D TSPEC
.S DGQUES=$P(DGSPEC,U,9)
.D FAC
.Q
;edit existing treating specialties
;D EDIT
;inactivate existing treating specialties
D INACT
;edit existing surgical specialties
;D EDIT^DG53813R
Q
TSPEC ;Add treating specialty to SPECIALTY File (#42.4)
D BMES^XPDUTL(">>>"_$P(DGSPEC,U,2)_">>>")
N DA,DGFILE,DGMULT,DIC,DIE,DGDA1,DINUM,DLAYGO,DR,X,Y
;S DGERR=0
S DIC="^DIC(42.4,"
S DIC(0)="LX"
S DINUM=$P(DGSPEC,U)
S X=$P(DGSPEC,U,2)
S DLAYGO=42.4
D ^DIC
S (DGIFN,DGDA1)=DGSPEC
I +DGIFN=-1 D Q
.D MES^XPDUTL(" Entry not added to SPECIALTY File (#42.4). No further updating will occur.")
.D MES^XPDUTL(" Please contact Customer Service for assistance.")
.Q
;I $P(DGIFN,U,3)'=1&(+DGIFN'=$P(DGSPEC,U)) D Q
;.D MES^XPDUTL(" Entry exists in SPECIALTY File (#42.4), but with a different PTF Code #.")
;.D MES^XPDUTL(" No further updating will occur. Please review entry.")
;.S DGERR=1
;.Q
D MES^XPDUTL(" Entry added to SPECIALTY File (#42.4).")
D MES^XPDUTL(" Updating SPECIALTY File fields.")
S DIE=DIC
S DR=".01///"_$P(DGSPEC,U,2)_";1///"_$P(DGSPEC,U,3)_";3///"_$P(DGSPEC,U,4)_";4///"_$P(DGSPEC,U,5)_";5///"_$P(DGSPEC,U,6)_";6///"_$P(DGSPEC,U,7)_";7///"_$P(DGSPEC,U,10)
S DA=+DGIFN
D ^DIE
S DGFILE=42.4
S DGMULT=10
S DIC="^DIC(42.4,"_+DGIFN_",""E"","
D MULT
Q
FAC ;Add treating specialty to Facility Treating Specialty file (#45.7)
N DA,DGFILE,DGMULT,DIC,DIE,DLAYGO,DR,X,Y
S DIC="^DIC(45.7,"
S DIC(0)="LXZ"
S DLAYGO=45.7
S X=$P(DGSPEC,U,2)
D ^DIC
S DGDA1=Y
I +DGDA1=-1 D BMES^XPDUTL(" Entry not added to FACILITY TREATING SPECIALTY File(#45.7).") Q
I $P(DGDA1,U,3)'=1&($P(Y(0),U,2)'=$P(DGSPEC,U)) D Q
.D BMES^XPDUTL(" Entry exists in FACILITY TREATING SPECIALTY File (#45.7), but with")
.D MES^XPDUTL(" a different PTF Code #. No further updating will occur.")
.D MES^XPDUTL(" Please review entry.")
.Q
D BMES^XPDUTL(" Entry "_$S($P(DGDA1,U,3)=1:"added to",1:"exists in")_" FACILITY TREATING SPECIALTY File (#45.7).")
D MES^XPDUTL(" Updating SPECIALTY field...")
S DIE=DIC
S DA=+DGDA1
S DR="1////"_$P(DGSPEC,U)
D ^DIE
S DGFILE=45.7
S DGMULT=100
S DIC="^DIC(45.7,"_+DGDA1_",""E"","
D MULT
Q
MULT ;Add Effective Date
N DA,DIE,DR
S DA(1)=+DGDA1
S DIC(0)="LX"
S DIC("P")=$P(^DD(DGFILE,DGMULT,0),"^",2)
S X=3100101
D ^DIC
S DA=+Y
I +Y=-1 D MES^XPDUTL(" Effective date not added.") Q
D MES^XPDUTL(" Effective date added.")
S DIE=DIC
S DR=".02///Y"
D ^DIE
Q
INACT ;inactivate treating specialties
N DA,DIE,DR,X,DGTSP
F DGTSP=36,62 D
. S DIC="^DIC(42.4,"_DGTSP_",""E"","
. S DA(1)=DGTSP
. S DIC(0)="LX"
. S DIC("P")=$P(^DD(42.4,10,0),"^",2)
. S X=3100601
. D ^DIC
. S DA=+Y
. I +Y=-1 D BMES^XPDUTL(">>>Inactive date not added to TS code "_DGTSP_" in the Specialty file.<<<") Q
. D BMES^XPDUTL(">>>Inactive date added to TS code "_DGTSP_" in the Specialty file.<<<")
. S DIE=DIC
. S DR=".02///N"
. D ^DIE
. ;check for CODES in the Facility Treating Specialty File (45.7
. ;add inactivation date of 2/1/2010
. D BMES^XPDUTL(" ")
. D MES^XPDUTL(" FACILITY TREATING SPECIALTY FILE being checked to see if any entries are")
. D MES^XPDUTL(" pointing to "_DGTSP_". If so, they will be inactivated.>>>")
.N DAA F DAA=0:0 S DAA=$O(^DIC(45.7,"ASPEC",DGTSP,DAA)) Q:'DAA D
.. N DIE,DR,TS,X S TS=""
..S TS=$P($G(^DIC(45.7,DAA,0)),"^")
..S DIC="^DIC(45.7,"_DAA_",""E"","
..S DA(1)=DAA
..S DIC(0)="LX"
..S X=3100601
..D ^DIC
..S DA=+Y
..I +Y=-1 D BMES^XPDUTL(" Inactive date not added to "_TS_"in the Facility Treating Specialty file.") Q
..D BMES^XPDUTL(" Inactive date added to "_TS_" in the Facility Treating Specialty file.<<<")
..S DIE=DIC
..S DR=".02///N"
..D ^DIE
Q
EDIT ;Edit treating specialties
;
N DS,DIE,DR,DGI
S DIE="^DIC(42.4,"
S DIC(0)="LX"
F DGI=1:1 S DGSPEC=$P($T(ETRSP+DGI),";;",2) Q:DGSPEC="QUIT" D
. S DGERR=0
. S DA=$P(DGSPEC,U)
. S DR=".01///"_$P(DGSPEC,U,2)_";1///"_$P(DGSPEC,U,3)_";3///"_$P(DGSPEC,U,4)_";4///"_$P(DGSPEC,U,5)_";5///"_$P(DGSPEC,U,6)_";6///"_$P(DGSPEC,U,7)
. D ^DIE
. D BMES^XPDUTL(" ")
. D BMES^XPDUTL(" ")
. D BMES^XPDUTL(">>>"_$P(DGSPEC,U)_" code updated to "_$P(DGSPEC,U,2)_" in the Specialty file.>>>")
N DS,DIE,DR,DGI,DGII,DGSP,CNT,DGSPEC,DGSPEC1
S DIE="^DIC(45.7,"
S DIC(0)="LX"
F DGI=1:1 S DGSPEC=$P($T(ETRSP+DGI),";;",2) Q:DGSPEC="QUIT" D
. S DGERR=0
. S DGSP=$P(DGSPEC,U)
. S CNT=0,DGSPEC1=0 F DGII=0:0 S DGSPEC1=$O(^DIC(45.7,"ASPEC",DGSP,DGSPEC1)) Q:'DGSPEC1 S CNT=CNT+1 D
.. I CNT=1 D
... I $$ACTIVE^DGACT(45.7,DGSPEC1)'=1 S CNT=0 Q
... S DA=DGSPEC1,DR=".01///"_$P(DGSPEC,U,2)_";99///@"
... D BMES^XPDUTL(" "_$P(^DIC(45.7,DGSPEC1,0),U)_" name has been changed to "_$P(DGSPEC,U,2)_" in the Facility Treating Specialty file.")
... D ^DIE
.. E D
... S TS=""
... S TS=$P($G(^DIC(45.7,DGSPEC1,0)),"^")
... D BMES^XPDUTL(" Please review Facility Treating Specialty "_TS_". The entry name may need changing or entry may need inactivating since more than one entry points to "_$P(DGSPEC,U,2)_" in the Specialty file.<<<")
Q
TRSP ;PTF CODE^SPECIALTY^PRINT NAME^SERVICE^ASK PSYCH^BILLING BEDSECTION^CDR/MPCR^^QUES#^AUSTIN PTF CODE
;;112^POLYTRAUMA REHAB UNIT^^REHAB MEDICINE^N^REHABILITATION MEDICINE^1113^^^1N
;;QUIT
ETRSP ;PTF CODE^SPECIALTY^PRINT NAME^SERVICE^ASK PSYCH^BILLING BEDSECTION^CDR/MPCR
;;QUIT
DG53819B ;ALB/MJB - TREATING SPECIALTIES UPDATES ; 3/12/07 7:21am
+1 ;;5.3;PIMS;**1016**;JUN 30, 2012;Build 20
+2 ;
+3 QUIT
EN ;Add Treating Specialties to the SPECIALITY file (#42.4)
+1 NEW DGI,DGERR,DGSPEC,DGIFN,DGQUES
+2 SET DGIFN=0
+3 ;add new treating specialties
+4 FOR DGI=1:1
SET DGSPEC=$PIECE($TEXT(TRSP+DGI),";;",2)
IF DGSPEC="QUIT"
QUIT
Begin DoDot:1
+5 DO TSPEC
+6 SET DGQUES=$PIECE(DGSPEC,U,9)
+7 DO FAC
+8 QUIT
End DoDot:1
+9 ;edit existing treating specialties
+10 ;D EDIT
+11 ;inactivate existing treating specialties
+12 DO INACT
+13 ;edit existing surgical specialties
+14 ;D EDIT^DG53813R
+15 QUIT
TSPEC ;Add treating specialty to SPECIALTY File (#42.4)
+1 DO BMES^XPDUTL(">>>"_$PIECE(DGSPEC,U,2)_">>>")
+2 NEW DA,DGFILE,DGMULT,DIC,DIE,DGDA1,DINUM,DLAYGO,DR,X,Y
+3 ;S DGERR=0
+4 SET DIC="^DIC(42.4,"
+5 SET DIC(0)="LX"
+6 SET DINUM=$PIECE(DGSPEC,U)
+7 SET X=$PIECE(DGSPEC,U,2)
+8 SET DLAYGO=42.4
+9 DO ^DIC
+10 SET (DGIFN,DGDA1)=DGSPEC
+11 IF +DGIFN=-1
Begin DoDot:1
+12 DO MES^XPDUTL(" Entry not added to SPECIALTY File (#42.4). No further updating will occur.")
+13 DO MES^XPDUTL(" Please contact Customer Service for assistance.")
+14 QUIT
End DoDot:1
QUIT
+15 ;I $P(DGIFN,U,3)'=1&(+DGIFN'=$P(DGSPEC,U)) D Q
+16 ;.D MES^XPDUTL(" Entry exists in SPECIALTY File (#42.4), but with a different PTF Code #.")
+17 ;.D MES^XPDUTL(" No further updating will occur. Please review entry.")
+18 ;.S DGERR=1
+19 ;.Q
+20 DO MES^XPDUTL(" Entry added to SPECIALTY File (#42.4).")
+21 DO MES^XPDUTL(" Updating SPECIALTY File fields.")
+22 SET DIE=DIC
+23 SET DR=".01///"_$PIECE(DGSPEC,U,2)_";1///"_$PIECE(DGSPEC,U,3)_";3///"_$PIECE(DGSPEC,U,4)_";4///"_$PIECE(DGSPEC,U,5)_";5///"_$PIECE(DGSPEC,U,6)_";6///"_$PIECE(DGSPEC,U,7)_";7///"_$PIECE(DGSPEC,U,10)
+24 SET DA=+DGIFN
+25 DO ^DIE
+26 SET DGFILE=42.4
+27 SET DGMULT=10
+28 SET DIC="^DIC(42.4,"_+DGIFN_",""E"","
+29 DO MULT
+30 QUIT
FAC ;Add treating specialty to Facility Treating Specialty file (#45.7)
+1 NEW DA,DGFILE,DGMULT,DIC,DIE,DLAYGO,DR,X,Y
+2 SET DIC="^DIC(45.7,"
+3 SET DIC(0)="LXZ"
+4 SET DLAYGO=45.7
+5 SET X=$PIECE(DGSPEC,U,2)
+6 DO ^DIC
+7 SET DGDA1=Y
+8 IF +DGDA1=-1
DO BMES^XPDUTL(" Entry not added to FACILITY TREATING SPECIALTY File(#45.7).")
QUIT
+9 IF $PIECE(DGDA1,U,3)'=1&($PIECE(Y(0),U,2)'=$PIECE(DGSPEC,U))
Begin DoDot:1
+10 DO BMES^XPDUTL(" Entry exists in FACILITY TREATING SPECIALTY File (#45.7), but with")
+11 DO MES^XPDUTL(" a different PTF Code #. No further updating will occur.")
+12 DO MES^XPDUTL(" Please review entry.")
+13 QUIT
End DoDot:1
QUIT
+14 DO BMES^XPDUTL(" Entry "_$SELECT($PIECE(DGDA1,U,3)=1:"added to",1:"exists in")_" FACILITY TREATING SPECIALTY File (#45.7).")
+15 DO MES^XPDUTL(" Updating SPECIALTY field...")
+16 SET DIE=DIC
+17 SET DA=+DGDA1
+18 SET DR="1////"_$PIECE(DGSPEC,U)
+19 DO ^DIE
+20 SET DGFILE=45.7
+21 SET DGMULT=100
+22 SET DIC="^DIC(45.7,"_+DGDA1_",""E"","
+23 DO MULT
+24 QUIT
MULT ;Add Effective Date
+1 NEW DA,DIE,DR
+2 SET DA(1)=+DGDA1
+3 SET DIC(0)="LX"
+4 SET DIC("P")=$PIECE(^DD(DGFILE,DGMULT,0),"^",2)
+5 SET X=3100101
+6 DO ^DIC
+7 SET DA=+Y
+8 IF +Y=-1
DO MES^XPDUTL(" Effective date not added.")
QUIT
+9 DO MES^XPDUTL(" Effective date added.")
+10 SET DIE=DIC
+11 SET DR=".02///Y"
+12 DO ^DIE
+13 QUIT
INACT ;inactivate treating specialties
+1 NEW DA,DIE,DR,X,DGTSP
+2 FOR DGTSP=36,62
Begin DoDot:1
+3 SET DIC="^DIC(42.4,"_DGTSP_",""E"","
+4 SET DA(1)=DGTSP
+5 SET DIC(0)="LX"
+6 SET DIC("P")=$PIECE(^DD(42.4,10,0),"^",2)
+7 SET X=3100601
+8 DO ^DIC
+9 SET DA=+Y
+10 IF +Y=-1
DO BMES^XPDUTL(">>>Inactive date not added to TS code "_DGTSP_" in the Specialty file.<<<")
QUIT
+11 DO BMES^XPDUTL(">>>Inactive date added to TS code "_DGTSP_" in the Specialty file.<<<")
+12 SET DIE=DIC
+13 SET DR=".02///N"
+14 DO ^DIE
+15 ;check for CODES in the Facility Treating Specialty File (45.7
+16 ;add inactivation date of 2/1/2010
+17 DO BMES^XPDUTL(" ")
+18 DO MES^XPDUTL(" FACILITY TREATING SPECIALTY FILE being checked to see if any entries are")
+19 DO MES^XPDUTL(" pointing to "_DGTSP_". If so, they will be inactivated.>>>")
+20 NEW DAA
FOR DAA=0:0
SET DAA=$ORDER(^DIC(45.7,"ASPEC",DGTSP,DAA))
IF 'DAA
QUIT
Begin DoDot:2
+21 NEW DIE,DR,TS,X
SET TS=""
+22 SET TS=$PIECE($GET(^DIC(45.7,DAA,0)),"^")
+23 SET DIC="^DIC(45.7,"_DAA_",""E"","
+24 SET DA(1)=DAA
+25 SET DIC(0)="LX"
+26 SET X=3100601
+27 DO ^DIC
+28 SET DA=+Y
+29 IF +Y=-1
DO BMES^XPDUTL(" Inactive date not added to "_TS_"in the Facility Treating Specialty file.")
QUIT
+30 DO BMES^XPDUTL(" Inactive date added to "_TS_" in the Facility Treating Specialty file.<<<")
+31 SET DIE=DIC
+32 SET DR=".02///N"
+33 DO ^DIE
End DoDot:2
End DoDot:1
+34 QUIT
EDIT ;Edit treating specialties
+1 ;
+2 NEW DS,DIE,DR,DGI
+3 SET DIE="^DIC(42.4,"
+4 SET DIC(0)="LX"
+5 FOR DGI=1:1
SET DGSPEC=$PIECE($TEXT(ETRSP+DGI),";;",2)
IF DGSPEC="QUIT"
QUIT
Begin DoDot:1
+6 SET DGERR=0
+7 SET DA=$PIECE(DGSPEC,U)
+8 SET DR=".01///"_$PIECE(DGSPEC,U,2)_";1///"_$PIECE(DGSPEC,U,3)_";3///"_$PIECE(DGSPEC,U,4)_";4///"_$PIECE(DGSPEC,U,5)_";5///"_$PIECE(DGSPEC,U,6)_";6///"_$PIECE(DGSPEC,U,7)
+9 DO ^DIE
+10 DO BMES^XPDUTL(" ")
+11 DO BMES^XPDUTL(" ")
+12 DO BMES^XPDUTL(">>>"_$PIECE(DGSPEC,U)_" code updated to "_$PIECE(DGSPEC,U,2)_" in the Specialty file.>>>")
End DoDot:1
+13 NEW DS,DIE,DR,DGI,DGII,DGSP,CNT,DGSPEC,DGSPEC1
+14 SET DIE="^DIC(45.7,"
+15 SET DIC(0)="LX"
+16 FOR DGI=1:1
SET DGSPEC=$PIECE($TEXT(ETRSP+DGI),";;",2)
IF DGSPEC="QUIT"
QUIT
Begin DoDot:1
+17 SET DGERR=0
+18 SET DGSP=$PIECE(DGSPEC,U)
+19 SET CNT=0
SET DGSPEC1=0
FOR DGII=0:0
SET DGSPEC1=$ORDER(^DIC(45.7,"ASPEC",DGSP,DGSPEC1))
IF 'DGSPEC1
QUIT
SET CNT=CNT+1
Begin DoDot:2
+20 IF CNT=1
Begin DoDot:3
+21 IF $$ACTIVE^DGACT(45.7,DGSPEC1)'=1
SET CNT=0
QUIT
+22 SET DA=DGSPEC1
SET DR=".01///"_$PIECE(DGSPEC,U,2)_";99///@"
+23 DO BMES^XPDUTL(" "_$PIECE(^DIC(45.7,DGSPEC1,0),U)_" name has been changed to "_$PIECE(DGSPEC,U,2)_" in the Facility Treating Specialty file.")
+24 DO ^DIE
End DoDot:3
+25 IF '$TEST
Begin DoDot:3
+26 SET TS=""
+27 SET TS=$PIECE($GET(^DIC(45.7,DGSPEC1,0)),"^")
+28 DO BMES^XPDUTL(" Please review Facility Treating Specialty "_TS_". The entry name may need changing or entry may need inactivating since more than one entry points to "_$PIECE(DGSPEC,U,2)_" in the Specialty file.<<<
")
End DoDot:3
End DoDot:2
End DoDot:1
+29 QUIT
TRSP ;PTF CODE^SPECIALTY^PRINT NAME^SERVICE^ASK PSYCH^BILLING BEDSECTION^CDR/MPCR^^QUES#^AUSTIN PTF CODE
+1 ;;112^POLYTRAUMA REHAB UNIT^^REHAB MEDICINE^N^REHABILITATION MEDICINE^1113^^^1N
+2 ;;QUIT
ETRSP ;PTF CODE^SPECIALTY^PRINT NAME^SERVICE^ASK PSYCH^BILLING BEDSECTION^CDR/MPCR
+1 ;;QUIT