Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ICPT614E

ICPT614E.m

Go to the documentation of this file.
  1. ICPT614E ;DLS/DEK- ICPT Env. Check; 04/28/2003
  1. ;;6.0;CPT/HCPCS;**14**;May 19, 1997
  1. ;
  1. ; External References
  1. ; DBIA 10141 $$PATCH^XPDUTL
  1. ; DBIA 10141 BMES^XPDUTL
  1. ; DBIA 10141 MES^XPDUTL
  1. ;
  1. ENVCHK ; Check Environment for needed vars.
  1. N PATCH,BUILD
  1. S XPDABORT="",PATCH="ICPT*6.0*13",BUILD="ICPT*6.0*14"
  1. F PATCH="ICPT*6.0*12","ICPT*6.0*13" D Q:+($G(XPDABORT))>0
  1. . I '$$PATCH^XPDUTL(PATCH) D
  1. . . D BM(PATCH_" is required and MUST be installed prior to this patch."),ABRT
  1. I +($$CPD)'>0,+($G(XPDENV))=0 D
  1. . I +($G(^LEXM(0,"CHECKSUM")))'=70183825959 D
  1. . . D BM("Global ^LEXM either not found or incomplete."),ABRT
  1. Q:+($G(XPDABORT))>0 D PROGCHK(.XPDABORT)
  1. I $G(XPDABORT)="" K XPDABORT D OK
  1. Q
  1. ;
  1. PROGCHK(XPDABORT) ; Check for Programmer
  1. I '$G(DUZ)!($G(DUZ(0))'="@")!('$G(DT))!($G(U)'="^") D
  1. . D BM("Programming variables are not set up properly."),ABRT
  1. Q
  1. ABRT ; Abort - All or nothing
  1. S XPDABORT=1,XPDQUIT=1,XPDQUIT("LEX*2.0*25")=1
  1. S XPDQUIT("ICD*18.0*6")=1,XPDQUIT("ICPT*6.0*14")=1
  1. S XPDQUIT("CSV UTIL 1.0")=1
  1. Q
  1. OK ; Environment is Ok
  1. Q:+($G(XPDENV))>0
  1. D BM((" Environment for patch/build "_BUILD_" is ok")),M(" ")
  1. Q
  1. ;
  1. POST ; Post-Install - Rebuild Indexes
  1. N ZTRTN,ZTDESC,ZTSK,ZTDTH,ZTIO,CPT1,CPT2 S (CPT1,CPT2)=0
  1. S ZTRTN="CPTP^ICPT614E",ZTDESC="Re-Index file #81"
  1. S ZTIO="",ZTDTH=$H K ZTSK D ^%ZTLOAD,HOME^%ZIS
  1. S:+($G(ZTSK))>0 CPT1=+($G(ZTSK))
  1. S ZTRTN="CPTM^ICPT614E",ZTDESC="Re-Index file #81.3"
  1. S ZTIO="",ZTDTH=$H D ^%ZTLOAD,HOME^%ZIS
  1. S:+($G(ZTSK))>0 CPT2=+($G(ZTSK))
  1. I CPT1>0,CPT2'>0 D BM(("Task "_+CPT1_" to rebuild indexes for CPT Procedures file #81 started"))
  1. I CPT1'>0,CPT2>0 D BM(("Task "_+CPT2_" to rebuild indexes for CPT Modifier file #81.3 started"))
  1. I CPT1>0,CPT2>0 D
  1. . D BM(("Task "_+CPT1_" to rebuild indexes for CPT Procedures file #81 started"))
  1. . D M(("Task "_+CPT2_" to rebuild indexes for CPT Modifier file #81.3 started"))
  1. K Y,ZTSK,ZTDESC,ZTDTH,ZTIO,ZTRTN,CPT1,CPT2
  1. Q
  1. CPTP ; ICPT( Procedures
  1. S:$D(ZTQUEUED) ZTREQ="@"
  1. N DA,DIK S U="^",DT=$$DT^XLFDT,DIK="^ICPT(",DA=0
  1. F S DA=$O(^ICPT(DA)) Q:+DA=0 K ^ICPT(DA,60,"B")
  1. K ^ICPT("ACT"),^ICPT("B"),^ICPT("BA"),^ICPT("C")
  1. K ^ICPT("D"),^ICPT("E"),^ICPT("F") D IXALL^DIK
  1. Q
  1. CPTM ; DIC(81.3, Modifiers
  1. S:$D(ZTQUEUED) ZTREQ="@"
  1. N DA,DIK S U="^",DT=$$DT^XLFDT,DIK="^DIC(81.3,",DA=0
  1. F S DA=$O(^DIC(81.3,DA)) Q:+DA=0 D
  1. . K ^DIC(81.3,DA,60,"B"),^DIC(81.3,DA,"M")
  1. K ^DIC(81.3,"ACT"),^DIC(81.3,"B"),^DIC(81.3,"BA")
  1. K ^DIC(81.3,"C"),^DIC(81.3,"D") D IXALL^DIK
  1. Q
  1. CPD(X) ; Check Current Patched Data is installed
  1. Q:$D(^LEX(757.1,"B",180595,257762))&('$D(^LEX(757.02,"B",322162,3296))) 1
  1. Q 0
  1. ;
  1. ; Miscellaneous
  1. BM(X) ; Blank Line with Message
  1. S X=" "_$G(X) Q:$D(GMTSQT) D:$D(XPDNM) BMES^XPDUTL($G(X)) W:'$D(XPDNM) !!,$G(X) Q
  1. M(X) ; Message
  1. S X=" "_$G(X) Q:$D(GMTSQT) D:$D(XPDNM) MES^XPDUTL($G(X)) W:'$D(XPDNM) !,$G(X) Q