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

GMTSPOST.m

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