- DGYQPOST ;AISC/TET - POST INIT TO PATCH DG*5.3*41
- ;;5.3;Registration;**41,1015**;Aug 13, 1993;Build 21
- EN ;entry point for entire post init
- D RCOMP,WARD,DOB
- Q
- RCOMP ;entry point to re-compile templates
- N DGDASH,DGMAX,DGROU,DGTEMP,I
- S:'$D(DTIME) DTIME=300 S U="^",$P(DGDASH,"=",81)="",DGMAX=$G(^DD("ROU")) S:'DGMAX DGMAX=5000
- W !!?17,"Recompilation of affected Registration Input Templates",!,DGDASH,!
- F I=1:1 S DGTEMP=$P($T(ITEMP+I),";;",2) Q:DGTEMP="END" W !?5,DGTEMP D
- .N DMAX,DGIEN,DGROU,X,Y
- .S DGIEN=$O(^DIE("B",DGTEMP,0)) Q:'DGIEN
- .S DGROU=$G(^DIE(DGIEN,"ROUOLD")) I DGROU']""!('$D(^DIE(DGIEN,0))) Q
- .S X=$P(DGROU,U),DMAX=DGMAX,Y=DGIEN D EN^DIEZ
- .W !?5,"===> ",DGTEMP," input template recompiled.",!
- ;Q
- ITEMP ;input templates to be recompiled
- ;;DGPM ADMIT
- ;;DGPM ASIH ADMIT
- ;;DGPM SPECIALTY TRANSFER
- ;;DVBA C ADD 2507 PAT
- ;;END
- Q
- WARD ;delete .001 field from ward location file (#42), if exists
- I $D(^DD(42,.001)) D
- .N DA,DIC,DIK
- .W !!,"Deleting the Number field (#.001) from the WARD LOCATION file (#42)."
- .S DIK="^DD(42,",DA=".001",DA(1)=42 D ^DIK K DIK,DA
- .W !?10," ... Deleted",!
- Q
- DOB ;entry point to remove value from latest dob field (#.07) in period of service file (#21)
- W !!,">>>> Modifying data in the Period of Service File (#21)..."
- W !," >>>> Deleting the Latest DOB Field (#.07) for select entries",!
- N DIC,DIE,DA,DR,X,Y,DGX,DGERR
- S DIC="^DIC(21,"
- S DIC(0)="XZ"
- F DGX="PERSIAN GULF WAR","OPERATION DESERT SHIELD" D Q:$G(DGERR)
- .S X=DGX
- .D ^DIC
- .I Y'>0 D
- ..W !!,"*****"
- ..W ?7,"There was a problem identifying the following PERIOD OF SERVICE"
- ..W !?7,"entry: ",DGX,!
- ..S DGERR=1
- .I Y>0 D
- ..W !!,"IEN= ",+Y,?10," Period of Service: ",$P(Y,U,2)
- ..S DA=+Y,DIE=DIC,DR=".07///@"
- ..D ^DIE
- ..W ", Field #.07 deleted.",!
- D:$G(DGERR) ERRMESS
- W:'$G(DGERR) !!,"Done."
- Q
- ERRMESS ;
- W !!!!
- F X=1:1 S DGX=$T(MESS+X) Q:$G(DGX)="" W !,$P(DGX,";;",2)
- Q
- MESS ;
- ;;It appears as if the PERIOD OF SERVICE File (#21) has been locally
- ;;modified at this site.
- ;;
- ;;The PERIOD OF SERVICE file contains entries as determined by VACO
- ;;MAS. Alteration of existing entries or addition of new ones will
- ;;undoubtedly have a negative impact on the efficient operation of the
- ;;MAS module and other modules.
- ;;
- ;;Please contact your Support ISC before continuing. This routine,
- ;;at tag DOB^DGYQPOST, may be re-run multiple times.
- DGYQPOST ;AISC/TET - POST INIT TO PATCH DG*5.3*41
- +1 ;;5.3;Registration;**41,1015**;Aug 13, 1993;Build 21
- EN ;entry point for entire post init
- +1 DO RCOMP
- DO WARD
- DO DOB
- +2 QUIT
- RCOMP ;entry point to re-compile templates
- +1 NEW DGDASH,DGMAX,DGROU,DGTEMP,I
- +2 IF '$DATA(DTIME)
- SET DTIME=300
- SET U="^"
- SET $PIECE(DGDASH,"=",81)=""
- SET DGMAX=$GET(^DD("ROU"))
- IF 'DGMAX
- SET DGMAX=5000
- +3 WRITE !!?17,"Recompilation of affected Registration Input Templates",!,DGDASH,!
- +4 FOR I=1:1
- SET DGTEMP=$PIECE($TEXT(ITEMP+I),";;",2)
- IF DGTEMP="END"
- QUIT
- WRITE !?5,DGTEMP
- Begin DoDot:1
- +5 NEW DMAX,DGIEN,DGROU,X,Y
- +6 SET DGIEN=$ORDER(^DIE("B",DGTEMP,0))
- IF 'DGIEN
- QUIT
- +7 SET DGROU=$GET(^DIE(DGIEN,"ROUOLD"))
- IF DGROU']""!('$DATA(^DIE(DGIEN,0)))
- QUIT
- +8 SET X=$PIECE(DGROU,U)
- SET DMAX=DGMAX
- SET Y=DGIEN
- DO EN^DIEZ
- +9 WRITE !?5,"===> ",DGTEMP," input template recompiled.",!
- End DoDot:1
- +10 ;Q
- ITEMP ;input templates to be recompiled
- +1 ;;DGPM ADMIT
- +2 ;;DGPM ASIH ADMIT
- +3 ;;DGPM SPECIALTY TRANSFER
- +4 ;;DVBA C ADD 2507 PAT
- +5 ;;END
- +6 QUIT
- WARD ;delete .001 field from ward location file (#42), if exists
- +1 IF $DATA(^DD(42,.001))
- Begin DoDot:1
- +2 NEW DA,DIC,DIK
- +3 WRITE !!,"Deleting the Number field (#.001) from the WARD LOCATION file (#42)."
- +4 SET DIK="^DD(42,"
- SET DA=".001"
- SET DA(1)=42
- DO ^DIK
- KILL DIK,DA
- +5 WRITE !?10," ... Deleted",!
- End DoDot:1
- +6 QUIT
- DOB ;entry point to remove value from latest dob field (#.07) in period of service file (#21)
- +1 WRITE !!,">>>> Modifying data in the Period of Service File (#21)..."
- +2 WRITE !," >>>> Deleting the Latest DOB Field (#.07) for select entries",!
- +3 NEW DIC,DIE,DA,DR,X,Y,DGX,DGERR
- +4 SET DIC="^DIC(21,"
- +5 SET DIC(0)="XZ"
- +6 FOR DGX="PERSIAN GULF WAR","OPERATION DESERT SHIELD"
- Begin DoDot:1
- +7 SET X=DGX
- +8 DO ^DIC
- +9 IF Y'>0
- Begin DoDot:2
- +10 WRITE !!,"*****"
- +11 WRITE ?7,"There was a problem identifying the following PERIOD OF SERVICE"
- +12 WRITE !?7,"entry: ",DGX,!
- +13 SET DGERR=1
- End DoDot:2
- +14 IF Y>0
- Begin DoDot:2
- +15 WRITE !!,"IEN= ",+Y,?10," Period of Service: ",$PIECE(Y,U,2)
- +16 SET DA=+Y
- SET DIE=DIC
- SET DR=".07///@"
- +17 DO ^DIE
- +18 WRITE ", Field #.07 deleted.",!
- End DoDot:2
- End DoDot:1
- IF $GET(DGERR)
- QUIT
- +19 IF $GET(DGERR)
- DO ERRMESS
- +20 IF '$GET(DGERR)
- WRITE !!,"Done."
- +21 QUIT
- ERRMESS ;
- +1 WRITE !!!!
- +2 FOR X=1:1
- SET DGX=$TEXT(MESS+X)
- IF $GET(DGX)=""
- QUIT
- WRITE !,$PIECE(DGX,";;",2)
- +3 QUIT
- MESS ;
- +1 ;;It appears as if the PERIOD OF SERVICE File (#21) has been locally
- +2 ;;modified at this site.
- +3 ;;
- +4 ;;The PERIOD OF SERVICE file contains entries as determined by VACO
- +5 ;;MAS. Alteration of existing entries or addition of new ones will
- +6 ;;undoubtedly have a negative impact on the efficient operation of the
- +7 ;;MAS module and other modules.
- +8 ;;
- +9 ;;Please contact your Support ISC before continuing. This routine,
- +10 ;;at tag DOB^DGYQPOST, may be re-run multiple times.