GMTSPOST ;SLC/JER - Post-init for Health Summary ;11/18/92 11:23
;;2.7;Health Summary;;Oct 20, 1995
;IHS/ITSC/LJF 8/8/2003 made changes to accommodate patches and new releases since postinit was written
;
MAIN ; Controls branching and execution
N GMI,INCLUDE,GMTSEG,GMTSI,GMTSIFN,GMTJ,GMTSNM
W !!,"Starting post-init action now...."
D SPOOL,PARAM
D INPHAR,DIET,OERR,VITALS,LAB,RAD,MHPE,PRGNOTE,SURG,DCS,CP,PL^GMTSPOS1,PCE,MED^GMTSPOS1,PSO^GMTSPOS1,OUTPHAR,SOWK^GMTSPOS1
;
;IHS/ITSC/LJF 8/8/2003 added call to check on disabling clinical reminder, GAF & Spinal cord dysfuntion components
D CRIHS^GMTSPOS1,GAFIHS^GMTSPOS1,SCDIHS^GMTSPOS1,MAS^GMTSPOS1
;
D EN^GMTSPOS2
K ^GMT(142,12,1,"C") ;Get rid of "C" xref in case there are duplicate entries
W !!,"'C' cross-reference on the GMTS AD HOC OPTION type in file 142 deleted."
W !,"It will be rebuilt"
S INCLUDE=0 D ENPOST^GMTSLOAD
;D ^GMTSONIT ;IHS/ITSC/LJF 8/8/2003 not needed as KIDS install is being used
W !!,"Post-init successfully completed."
D FINITO
K GMTSIST
Q
SPOOL ; Convert spool name to pointer value
N DIC,DIE,DA,X
S X=$P($G(^GMT(142.99,1,0)),U,4)
Q:+X!(X']"") ;Quit is Spool Device is null or a numeric value
S DIC=3.5,DIC(0)="X"
D ^DIC
W !!,"Converting "_X_" to a pointer value for Spool Device in Site Parameter file."
I +Y'>0 D Q
. W !,"** Can't converted "_X_" to a pointer value. **"
. W !,"Enter a Valid Spool Device using 'Edit Health Summary Site Parameters' option."
S $P(^GMT(142.99,1,0),U,4)=+Y
W !,X," converted successfully."
Q
PARAM ; Convert YES/NO codes from 1/0 to Y/N
N GMNUM,X
F GMNUM=2,3,5 D
. S X=$P($G(^GMT(142.99,1,0)),U,GMNUM)
. Q:X']""!(X="Y")!(X="N") ;Quit there is not entry or it is "Y" or "N"
. I X=0 S $P(^GMT(142.99,1,0),U,GMNUM)=""
. I X=1 S $P(^GMT(142.99,1,0),U,GMNUM)="Y"
Q
INPHAR ; Checks conditions auto-disable of Inpatient Pharmacy components
N GMMSG,X
S X="PSJEEU0"
X ^%ZOSF("TEST")
Q:$T
F X="PHARMACY INTRAVENOUS","PHARMACY UNIT DOSE" S GMMSG="Inpatient Medications not yet available" D DISABLE
Q
OUTPHAR ; Checks conditions auto-disable of Outpatient Pharmacy components
N GMMSG,X
S X="PSOHCSUM"
X ^%ZOSF("TEST")
Q:$T
F X="PHARMACY OUTPATIENT" S GMMSG="Outpatient Pharmacy not yet available" D DISABLE
Q
DIET ; Checks conditions auto-disable of Dietetics
N GMMSG,X
S X="FHWHEA"
X ^%ZOSF("TEST")
Q:$T
F X="DIETETICS" S GMMSG="Dietetics not yet available" D DISABLE
Q
OERR ; Checks conditions auto-disable of OERR Orders
N GMMSG,X
S X="ORF4"
X ^%ZOSF("TEST")
Q:$T
F X="ORDERS CURRENT" S GMMSG="OE/RR Orders not yet available" D DISABLE
Q
VITALS ; Checks conditions auto-disable of Vitals
N GMMSG,X
S X="GMRVUT0"
X ^%ZOSF("TEST")
Q:$T
;
;IHS/ITSC/LJF 8/8/2003 new components released in patches since postinit was written
;F X="VITAL SIGNS","VITAL SIGNS SELECTED" S GMMSG="Vital Signs not yet available" D DISABLE
F X="VITAL SIGNS","VITAL SIGNS SELECTED","VITAL SIGNS DETAILED DISPLAY","VITAL SIGNS OUTPATIENT","VITAL SIGNS SELECTED OUTPAT." S GMMSG="Vital Signs not yet available" D DISABLE
;IHS/ITSC/LJF 8/8/2003 end of mods
;
Q
PRGNOTE ; Checks conditions auto-disable of Progress Note components
;
;IHS/ITSC/LJF 8/8/2003 changed code because since original postinit was written, TIU was released - globals changed
I $D(^TIU(8925.1))<10 F X="ADVANCE DIRECTIVE","CLINICAL WARNINGS","CRISIS NOTES","PROGRESS NOTES","PROGRESS NOTES BRIEF","PROGRESS NOTES SELECTED","DISCHARGE SUMMARY","DISCHARGE SUMMARY BRIEF" S GMMSG=X_" not yet available" D DISABLE
Q
;IHS/ITSC/LJF 8/8/2003 end of mods
;
N GMMSG,X
I ($D(^YSP(606))<10),($D(^GMR(121))<10) F X="PROGRESS NOTES","PROGRESS NOTES BRIEF" S GMMSG="Progress Notes not yet available" D DISABLE
I $D(^GMR(121))<10 F X="ADVANCE DIRECTIVE","CLINICAL WARNINGS","CRISIS NOTES" S GMMSG=X_" not yet available" D DISABLE
Q
SURG ; Checks conditions for auto-disable of Surgery component
N X,GMMSG
;IHS/ITSC/LJF 8/8/2003 new Surgery components released in patches since postinit written
;I $D(^SRF)<10 F X="SURGERY REPORTS","SURGERY REPORTS BRIEF" S GMMSG="Surgery Package not yet installed" D DISABLE
I $D(^SRF)<10 F X="SURGERY REPORTS","SURGERY REPORTS BRIEF","SURGERY NON OR PROCEDURES","SURGERY ONLY REPORTS","SURGERY SEL NON OR PROCEDURES" S GMMSG="Surgery Package not yet installed" D DISABLE
;IHS/ITSC/LJF 8/8/2003 end of mods
Q
DCS ; Checks conditions for auto-disable of Discharge Summary components
;
Q ;IHS/ITSC/LJF 8/8/2003 see mods to PRGNOTE subroutine
;
N X,GMMSG
I $D(^GMR(128))<10 D
. S GMMSG="Discharge Summary Package not yet installed or available"
. F X="DISCHARGE SUMMARY","DISCHARGE SUMMARY BRIEF" D DISABLE
Q
CP ; Checks conditions for auto-disable of Compensation and Pension component
N X,GMMSG
; Checks conditions for auto-disable of Comp & Pen component
I +$$VERSION^XPDUTL("DVBA")<2.7 D
. S GMMSG="Requires AMIE version 2.7"
. S X="COMPENSATION AND PENSION EXAMS" D DISABLE^GMTSPOST
Q
LAB ; Checks condition for auto-disable of Lab components
N GMMSG,X
I $$VERSION^XPDUTL("LR")<5.1 D
. S GMMSG="Requires Lab version 5.1 or later"
. F X="LAB BLOOD AVAILABILITY","LAB BLOOD TRANSFUSIONS","LAB CHEMISTRY & HEMATOLOGY","LAB CUMULATIVE SELECTED","LAB CUMULATIVE SELECTED 1" D DISABLE^GMTSPOST
. F X="LAB CUMULATIVE SELECTED 2","LAB CUMULATIVE SELECTED 3","LAB CUMULATIVE SELECTED 4","LAB CYTOPATHOLOGY","LAB ELECTRON MICROSCOPY","LAB MICROBIOLOGY" D DISABLE^GMTSPOST
. F X="LAB MICROBIOLOGY BRIEF","LAB ORDERS","LAB ORDERS BRIEF","LAB SURGICAL PATHOLOGY","LAB TESTS SELECTED" D DISABLE^GMTSPOST
Q
RAD ; Checks condition for auto-disable of Radiology
N GMMSG,X
I $$VERSION^XPDUTL("RA")<3 D
. ;
. ;IHS/ITSC/LJF 8/8/2003 a patch changed names of components
. S GMMSG="Requires Radiology version 3 or later"
. ;F X="RADIOLOGY IMPRESSION","RADIOLOGY IMPRESSION SELECTED","RADIOLOGY PROFILE","RADIOLOGY STATUS" D DISABLE^GMTSPOST
. F X="IMAGING IMPRESSION","IMAGING IMPRESSION SELECTED","IMAGING PROFILE","IMAGING STATUS" D DISABLE^GMTSPOST
. ;IHS/ITSC/LJF 8/8/2003 end of mods
Q
MHPE ; Checks condition for auto-disable of Mental Health
N GMMSG,X
I $$VERSION^XPDUTL("YS")<5 D
. S GMMSG="Requires Mental Health version 5 or later"
. F X="MENTAL HEALTH PHYSICAL EXAM" D DISABLE^GMTSPOST
Q
PCE ; Checks for existence of PCE package...Disables components if absents
N GMMSG,X
I $$VERSION^XPDUTL("PX")'>0 D ;Disable PCE components if PCE not installed nor available
. S GMMSG="Patient Care Encounter Package not yet installed"
. F X="PCE LOCATION OF HOME","PCE CLINICAL REMINDERS","PCE HEALTH FACTORS SELECTED","PCE HEALTH FACTORS ALL","PCE OUTPATIENT ENCOUNTERS","PCE MEASUREMENTS NON-TABULAR","PCE IMMUNIZATIONS","PCE SKIN TESTS" D DISABLE^GMTSPOST
. F X="PCE MEASUREMENTS SELECTED","PCE EDUCATION","PCE EDUCATION LATEST","PCE OUTPATIENT DIAGNOSIS","PCE EXAMS LATEST","PCE TREATMENTS PROVIDED" D DISABLE^GMTSPOST
. F X="PCE CLINICAL MAINTENANCE" D DISABLE^GMTSPOST
Q
DISABLE ; Disable components if auto-disable conditions are met
N DA,DIC,DIE,DR,Y
S DIC="^GMT(142.1,",DIC(0)="X" D ^DIC
I +Y>0 D
. W !,X," Health Summary Component disabled"
. S DA=+Y,DR="5///"_"P"_";8///"_GMMSG,DIE=DIC D ^DIE
Q
FINITO ; Finish initialization, inform user
N GMTSIFT,GMTSITD,X
S GMTSIFT=$$NOW^GMTSPREI,GMTSITD=$$DIFF(GMTSIFT,+$G(GMTSIST))
W !!,"HEALTH SUMMARY VERSION 2.7 INITIALIZATION COMPLETE!"
Q:'$L($T(FMDIFF^XLFDT))
S X=$G(GMTSIST) D REGDTM^GMTSU
W !!?9,"Initialization began at: ",X
S X=GMTSIFT D REGDTM^GMTSU
W !!?5,"Initialization completed at: ",X
W !!?7,"TOTAL Initialization Time: ",GMTSITD
Q
DIFF(END,BEGIN) ; Converts time difference to external format
N DIFF,HR,MIN,SEC,Y
S DIFF=$$FMDIFF^XLFDT(END,BEGIN,2),HR=DIFF\3600
S MIN=DIFF\60,SEC=DIFF#60
S HR=$E("00",0,2-$L(HR))_HR,MIN=$E("00",0,2-$L(MIN))_MIN,SEC=$E("00",0,2-$L(SEC))_SEC
S Y=HR_":"_MIN_":"_SEC
Q Y
GMTSPOST ;SLC/JER - Post-init for Health Summary ;11/18/92 11:23
+1 ;;2.7;Health Summary;;Oct 20, 1995
+2 ;IHS/ITSC/LJF 8/8/2003 made changes to accommodate patches and new releases since postinit was written
+3 ;
MAIN ; Controls branching and execution
+1 NEW GMI,INCLUDE,GMTSEG,GMTSI,GMTSIFN,GMTJ,GMTSNM
+2 WRITE !!,"Starting post-init action now...."
+3 DO SPOOL
DO PARAM
+4 DO INPHAR
DO DIET
DO OERR
DO VITALS
DO LAB
DO RAD
DO MHPE
DO PRGNOTE
DO SURG
DO DCS
DO CP
DO PL^GMTSPOS1
DO PCE
DO MED^GMTSPOS1
DO PSO^GMTSPOS1
DO OUTPHAR
DO SOWK^GMTSPOS1
+5 ;
+6 ;IHS/ITSC/LJF 8/8/2003 added call to check on disabling clinical reminder, GAF & Spinal cord dysfuntion components
+7 DO CRIHS^GMTSPOS1
DO GAFIHS^GMTSPOS1
DO SCDIHS^GMTSPOS1
DO MAS^GMTSPOS1
+8 ;
+9 DO EN^GMTSPOS2
+10 ;Get rid of "C" xref in case there are duplicate entries
KILL ^GMT(142,12,1,"C")
+11 WRITE !!,"'C' cross-reference on the GMTS AD HOC OPTION type in file 142 deleted."
+12 WRITE !,"It will be rebuilt"
+13 SET INCLUDE=0
DO ENPOST^GMTSLOAD
+14 ;D ^GMTSONIT ;IHS/ITSC/LJF 8/8/2003 not needed as KIDS install is being used
+15 WRITE !!,"Post-init successfully completed."
+16 DO FINITO
+17 KILL GMTSIST
+18 QUIT
SPOOL ; Convert spool name to pointer value
+1 NEW DIC,DIE,DA,X
+2 SET X=$PIECE($GET(^GMT(142.99,1,0)),U,4)
+3 ;Quit is Spool Device is null or a numeric value
IF +X!(X']"")
QUIT
+4 SET DIC=3.5
SET DIC(0)="X"
+5 DO ^DIC
+6 WRITE !!,"Converting "_X_" to a pointer value for Spool Device in Site Parameter file."
+7 IF +Y'>0
Begin DoDot:1
+8 WRITE !,"** Can't converted "_X_" to a pointer value. **"
+9 WRITE !,"Enter a Valid Spool Device using 'Edit Health Summary Site Parameters' option."
End DoDot:1
QUIT
+10 SET $PIECE(^GMT(142.99,1,0),U,4)=+Y
+11 WRITE !,X," converted successfully."
+12 QUIT
PARAM ; Convert YES/NO codes from 1/0 to Y/N
+1 NEW GMNUM,X
+2 FOR GMNUM=2,3,5
Begin DoDot:1
+3 SET X=$PIECE($GET(^GMT(142.99,1,0)),U,GMNUM)
+4 ;Quit there is not entry or it is "Y" or "N"
IF X']""!(X="Y")!(X="N")
QUIT
+5 IF X=0
SET $PIECE(^GMT(142.99,1,0),U,GMNUM)=""
+6 IF X=1
SET $PIECE(^GMT(142.99,1,0),U,GMNUM)="Y"
End DoDot:1
+7 QUIT
INPHAR ; Checks conditions auto-disable of Inpatient Pharmacy components
+1 NEW GMMSG,X
+2 SET X="PSJEEU0"
+3 XECUTE ^%ZOSF("TEST")
+4 IF $TEST
QUIT
+5 FOR X="PHARMACY INTRAVENOUS","PHARMACY UNIT DOSE"
SET GMMSG="Inpatient Medications not yet available"
DO DISABLE
+6 QUIT
OUTPHAR ; Checks conditions auto-disable of Outpatient Pharmacy components
+1 NEW GMMSG,X
+2 SET X="PSOHCSUM"
+3 XECUTE ^%ZOSF("TEST")
+4 IF $TEST
QUIT
+5 FOR X="PHARMACY OUTPATIENT"
SET GMMSG="Outpatient Pharmacy not yet available"
DO DISABLE
+6 QUIT
DIET ; Checks conditions auto-disable of Dietetics
+1 NEW GMMSG,X
+2 SET X="FHWHEA"
+3 XECUTE ^%ZOSF("TEST")
+4 IF $TEST
QUIT
+5 FOR X="DIETETICS"
SET GMMSG="Dietetics not yet available"
DO DISABLE
+6 QUIT
OERR ; Checks conditions auto-disable of OERR Orders
+1 NEW GMMSG,X
+2 SET X="ORF4"
+3 XECUTE ^%ZOSF("TEST")
+4 IF $TEST
QUIT
+5 FOR X="ORDERS CURRENT"
SET GMMSG="OE/RR Orders not yet available"
DO DISABLE
+6 QUIT
VITALS ; Checks conditions auto-disable of Vitals
+1 NEW GMMSG,X
+2 SET X="GMRVUT0"
+3 XECUTE ^%ZOSF("TEST")
+4 IF $TEST
QUIT
+5 ;
+6 ;IHS/ITSC/LJF 8/8/2003 new components released in patches since postinit was written
+7 ;F X="VITAL SIGNS","VITAL SIGNS SELECTED" S GMMSG="Vital Signs not yet available" D DISABLE
+8 FOR X="VITAL SIGNS","VITAL SIGNS SELECTED","VITAL SIGNS DETAILED DISPLAY","VITAL SIGNS OUTPATIENT","VITAL SIGNS SELECTED OUTPAT."
SET GMMSG="Vital Signs not yet available"
DO DISABLE
+9 ;IHS/ITSC/LJF 8/8/2003 end of mods
+10 ;
+11 QUIT
PRGNOTE ; Checks conditions auto-disable of Progress Note components
+1 ;
+2 ;IHS/ITSC/LJF 8/8/2003 changed code because since original postinit was written, TIU was released - globals changed
+3 IF $DATA(^TIU(8925.1))<10
FOR X="ADVANCE DIRECTIVE","CLINICAL WARNINGS","CRISIS NOTES","PROGRESS NOTES","PROGRESS NOTES BRIEF","PROGRESS NOTES SELECTED","DISCHARGE SUMMARY","DISCHARGE SUMMARY BRIEF"
SET GMMSG=X_" not yet available"
DO DISABLE
+4 QUIT
+5 ;IHS/ITSC/LJF 8/8/2003 end of mods
+6 ;
+7 NEW GMMSG,X
+8 IF ($DATA(^YSP(606))<10)
IF ($DATA(^GMR(121))<10)
FOR X="PROGRESS NOTES","PROGRESS NOTES BRIEF"
SET GMMSG="Progress Notes not yet available"
DO DISABLE
+9 IF $DATA(^GMR(121))<10
FOR X="ADVANCE DIRECTIVE","CLINICAL WARNINGS","CRISIS NOTES"
SET GMMSG=X_" not yet available"
DO DISABLE
+10 QUIT
SURG ; Checks conditions for auto-disable of Surgery component
+1 NEW X,GMMSG
+2 ;IHS/ITSC/LJF 8/8/2003 new Surgery components released in patches since postinit written
+3 ;I $D(^SRF)<10 F X="SURGERY REPORTS","SURGERY REPORTS BRIEF" S GMMSG="Surgery Package not yet installed" D DISABLE
+4 IF $DATA(^SRF)<10
FOR X="SURGERY REPORTS","SURGERY REPORTS BRIEF","SURGERY NON OR PROCEDURES","SURGERY ONLY REPORTS","SURGERY SEL NON OR PROCEDURES"
SET GMMSG="Surgery Package not yet installed"
DO DISABLE
+5 ;IHS/ITSC/LJF 8/8/2003 end of mods
+6 QUIT
DCS ; Checks conditions for auto-disable of Discharge Summary components
+1 ;
+2 ;IHS/ITSC/LJF 8/8/2003 see mods to PRGNOTE subroutine
QUIT
+3 ;
+4 NEW X,GMMSG
+5 IF $DATA(^GMR(128))<10
Begin DoDot:1
+6 SET GMMSG="Discharge Summary Package not yet installed or available"
+7 FOR X="DISCHARGE SUMMARY","DISCHARGE SUMMARY BRIEF"
DO DISABLE
End DoDot:1
+8 QUIT
CP ; Checks conditions for auto-disable of Compensation and Pension component
+1 NEW X,GMMSG
+2 ; Checks conditions for auto-disable of Comp & Pen component
+3 IF +$$VERSION^XPDUTL("DVBA")<2.7
Begin DoDot:1
+4 SET GMMSG="Requires AMIE version 2.7"
+5 SET X="COMPENSATION AND PENSION EXAMS"
DO DISABLE^GMTSPOST
End DoDot:1
+6 QUIT
LAB ; Checks condition for auto-disable of Lab components
+1 NEW GMMSG,X
+2 IF $$VERSION^XPDUTL("LR")<5.1
Begin DoDot:1
+3 SET GMMSG="Requires Lab version 5.1 or later"
+4 FOR X="LAB BLOOD AVAILABILITY","LAB BLOOD TRANSFUSIONS","LAB CHEMISTRY & HEMATOLOGY","LAB CUMULATIVE SELECTED","LAB CUMULATIVE SELECTED 1"
DO DISABLE^GMTSPOST
+5 FOR X="LAB CUMULATIVE SELECTED 2","LAB CUMULATIVE SELECTED 3","LAB CUMULATIVE SELECTED 4","LAB CYTOPATHOLOGY","LAB ELECTRON MICROSCOPY","LAB MICROBIOLOGY"
DO DISABLE^GMTSPOST
+6 FOR X="LAB MICROBIOLOGY BRIEF","LAB ORDERS","LAB ORDERS BRIEF","LAB SURGICAL PATHOLOGY","LAB TESTS SELECTED"
DO DISABLE^GMTSPOST
End DoDot:1
+7 QUIT
RAD ; Checks condition for auto-disable of Radiology
+1 NEW GMMSG,X
+2 IF $$VERSION^XPDUTL("RA")<3
Begin DoDot:1
+3 ;
+4 ;IHS/ITSC/LJF 8/8/2003 a patch changed names of components
+5 SET GMMSG="Requires Radiology version 3 or later"
+6 ;F X="RADIOLOGY IMPRESSION","RADIOLOGY IMPRESSION SELECTED","RADIOLOGY PROFILE","RADIOLOGY STATUS" D DISABLE^GMTSPOST
+7 FOR X="IMAGING IMPRESSION","IMAGING IMPRESSION SELECTED","IMAGING PROFILE","IMAGING STATUS"
DO DISABLE^GMTSPOST
+8 ;IHS/ITSC/LJF 8/8/2003 end of mods
End DoDot:1
+9 QUIT
MHPE ; Checks condition for auto-disable of Mental Health
+1 NEW GMMSG,X
+2 IF $$VERSION^XPDUTL("YS")<5
Begin DoDot:1
+3 SET GMMSG="Requires Mental Health version 5 or later"
+4 FOR X="MENTAL HEALTH PHYSICAL EXAM"
DO DISABLE^GMTSPOST
End DoDot:1
+5 QUIT
PCE ; Checks for existence of PCE package...Disables components if absents
+1 NEW GMMSG,X
+2 ;Disable PCE components if PCE not installed nor available
IF $$VERSION^XPDUTL("PX")'>0
Begin DoDot:1
+3 SET GMMSG="Patient Care Encounter Package not yet installed"
+4 FOR X="PCE LOCATION OF HOME","PCE CLINICAL REMINDERS","PCE HEALTH FACTORS SELECTED","PCE HEALTH FACTORS ALL","PCE OUTPATIENT ENCOUNTERS","PCE MEASUREMENTS NON-TABULAR","PCE IMMUNIZATIONS","PCE SKIN TESTS"
DO DISABLE^GMTSPOST
+5 FOR X="PCE MEASUREMENTS SELECTED","PCE EDUCATION","PCE EDUCATION LATEST","PCE OUTPATIENT DIAGNOSIS","PCE EXAMS LATEST","PCE TREATMENTS PROVIDED"
DO DISABLE^GMTSPOST
+6 FOR X="PCE CLINICAL MAINTENANCE"
DO DISABLE^GMTSPOST
End DoDot:1
+7 QUIT
DISABLE ; Disable components if auto-disable conditions are met
+1 NEW DA,DIC,DIE,DR,Y
+2 SET DIC="^GMT(142.1,"
SET DIC(0)="X"
DO ^DIC
+3 IF +Y>0
Begin DoDot:1
+4 WRITE !,X," Health Summary Component disabled"
+5 SET DA=+Y
SET DR="5///"_"P"_";8///"_GMMSG
SET DIE=DIC
DO ^DIE
End DoDot:1
+6 QUIT
FINITO ; Finish initialization, inform user
+1 NEW GMTSIFT,GMTSITD,X
+2 SET GMTSIFT=$$NOW^GMTSPREI
SET GMTSITD=$$DIFF(GMTSIFT,+$GET(GMTSIST))
+3 WRITE !!,"HEALTH SUMMARY VERSION 2.7 INITIALIZATION COMPLETE!"
+4 IF '$LENGTH($TEXT(FMDIFF^XLFDT))
QUIT
+5 SET X=$GET(GMTSIST)
DO REGDTM^GMTSU
+6 WRITE !!?9,"Initialization began at: ",X
+7 SET X=GMTSIFT
DO REGDTM^GMTSU
+8 WRITE !!?5,"Initialization completed at: ",X
+9 WRITE !!?7,"TOTAL Initialization Time: ",GMTSITD
+10 QUIT
DIFF(END,BEGIN) ; Converts time difference to external format
+1 NEW DIFF,HR,MIN,SEC,Y
+2 SET DIFF=$$FMDIFF^XLFDT(END,BEGIN,2)
SET HR=DIFF\3600
+3 SET MIN=DIFF\60
SET SEC=DIFF#60
+4 SET HR=$EXTRACT("00",0,2-$LENGTH(HR))_HR
SET MIN=$EXTRACT("00",0,2-$LENGTH(MIN))_MIN
SET SEC=$EXTRACT("00",0,2-$LENGTH(SEC))_SEC
+5 SET Y=HR_":"_MIN_":"_SEC
+6 QUIT Y