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

GMTSP102.m

Go to the documentation of this file.
  1. GMTSP102 ; SLC/RFR - Pre/Post Install GMTS*2.7*102 ; 11/04/2011
  1. ;;2.7;Health Summary;**102**;;Build 25
  1. ;
  1. PRE ;PRE-INSTALL
  1. N GMTSIEN,GMTSFDA,GMTSERR,GMTSMSG,GMTSX,INCLUDE
  1. S XPDIDTOT=2
  1. D UPDATE^XPDID(0)
  1. ;DEACTIVATE THE MENTAL HEALTH PHYSICAL EXAM COMPONENT
  1. S GMTSIEN=$$GETIEN
  1. Q:GMTSIEN=0
  1. D BMES^XPDUTL("Deactivating the MENTAL HEALTH PHYSICAL EXAM component...")
  1. S GMTSFDA(142.1,GMTSIEN_",",5)="P"
  1. S GMTSFDA(142.1,GMTSIEN_",",8)="DEACTIVATED BY HEALTH SUMMARY PATCH GMTS*2.7*102"
  1. L +^GMT(142.1,GMTSIEN):+$G(DILOCKTM)
  1. I '$T D Q
  1. .S GMTSMSG(1)=" "
  1. .S GMTSMSG(2)="Unable to lock the MENTAL HEALTH PHYSICAL EXAM component for editing."
  1. .D MES^XPDUTL(.GMTSMSG)
  1. .S XPDABORT=1
  1. D FILE^DIE("","GMTSFDA","GMTSERR")
  1. L -^GMT(142.1,GMTSIEN):+$G(DILOCKTM)
  1. I $D(GMTSERR) D Q
  1. .S GMTSLINE=1
  1. .S GMTSMSG(GMTSLINE)=" ",GMTSLINE=GMTSLINE+1
  1. .S GMTSMSG(GMTSLINE)="VA FileMan Error #"_GMTSERR("DIERR",1)_":",GMTSLINE=GMTSLINE+1
  1. .F GMTSX=1:1:+$O(GMTSERR("DIERR",1,"TEXT","A"),-1) D
  1. ..S GMTSMSG(GMTSLINE)=GMTSERR("DIERR",1,"TEXT",GMTSX),GMTSLINE=GMTSLINE+1
  1. .D MES^XPDUTL(.GMTSMSG)
  1. .S XPDABORT=1
  1. D MES^XPDUTL("DONE")
  1. D UPDATE^XPDID(1)
  1. ;REBUILD THE ADHOC HEALTH SUMMARY TYPE, EXCLUDING ALL DISABLED COMPONENTS BY DEFAULT
  1. S INCLUDE=$S($D(XPDQUES("PRE1"))>0:XPDQUES("PRE1"),1:0)
  1. D ENPOST^GMTSLOAD
  1. D UPDATE^XPDID(2)
  1. Q
  1. POST ;POST-INSTALL
  1. N GMTSLINE,GMTSREP,GMTSIEN,GMTSTIEN,GMTSOIEN,GMTSMSG
  1. N XMMG,XMDUZ,XMY,XMSUB,XMTEXT,XMZ,XMERR,XPDIDTOT,DIFROM
  1. S XPDIDTOT=1
  1. D UPDATE^XPDID(0)
  1. S GMTSIEN=$$GETIEN
  1. Q:GMTSIEN=0
  1. D BMES^XPDUTL("Assembling usage report...")
  1. S GMTSLINE=1
  1. S GMTSREP(GMTSLINE)="The following health summary types contain a reference to the",GMTSLINE=GMTSLINE+1
  1. S GMTSREP(GMTSLINE)="MENTAL HEALTH PHYSICAL EXAM component. The health summary objects",GMTSLINE=GMTSLINE+1
  1. S GMTSREP(GMTSLINE)="listed below each type contain a reference to that type.",GMTSLINE=GMTSLINE+1
  1. S GMTSREP(GMTSLINE)="",GMTSLINE=GMTSLINE+1,GMTSREP(GMTSLINE)="TYPE",GMTSLINE=GMTSLINE+1
  1. S GMTSREP(GMTSLINE)=$$REPEAT^XLFSTR(" ",12)_"OBJECTS CONTAINING THAT TYPE",GMTSLINE=GMTSLINE+1
  1. S GMTSREP(GMTSLINE)=$$REPEAT^XLFSTR("-",72),GMTSLINE=GMTSLINE+1
  1. S GMTSTIEN=0
  1. F S GMTSTIEN=$O(^GMT(142,"AE",GMTSIEN,GMTSTIEN)) Q:+$G(GMTSTIEN)=0 D
  1. .S GMTSREP(GMTSLINE)=$P($G(^GMT(142,GMTSTIEN,0)),U,1)
  1. .I $D(^GMT(142.5,"AC",GMTSTIEN))>9 D
  1. ..S GMTSOIEN=0
  1. ..F S GMTSOIEN=$O(^GMT(142.5,"AC",GMTSTIEN,GMTSOIEN)) Q:+$G(GMTSOIEN)=0 D
  1. ...S GMTSLINE=GMTSLINE+1
  1. ...S GMTSREP(GMTSLINE)=$$REPEAT^XLFSTR(" ",12)_$P($G(^GMT(142.5,GMTSOIEN,0)),U,1)
  1. .S GMTSLINE=GMTSLINE+1
  1. S GMTSREP(GMTSLINE)="",GMTSLINE=GMTSLINE+1
  1. S GMTSREP(GMTSLINE)=$$REPEAT^XLFSTR(" ",32)_"[END OF REPORT]"
  1. S XMSUB="PATCH GMTS*2.7*102 REPORT"
  1. S XMTEXT="GMTSREP("
  1. I $D(ZTQUEUED)>0 D
  1. .S XMY(DUZ)=""
  1. E D
  1. .S GMTSMSG(1)=" "
  1. .S GMTSMSG(2)="Select the recipient(s) of the report below."
  1. .D MES^XPDUTL(.GMTSMSG)
  1. D ^XMD
  1. I $D(XMMG)>0 D Q
  1. .K GMTSMSG
  1. .S GMTSMSG(1)=" "
  1. .S GMTSMSG(2)="Unable to email the report:"
  1. .S GMTSMSG(3)=XMMG
  1. .D MES^XPDUTL(.GMTSMSG)
  1. K GMTSMSG
  1. S GMTSMSG(1)=" "
  1. S GMTSMSG(2)="Finished assembling the usage report."
  1. D MES^XPDUTL(.GMTSMSG)
  1. D UPDATE^XPDID(1)
  1. Q
  1. GETIEN() ;FIND THE COMPONENT'S IEN
  1. N IEN
  1. S IEN=+$O(^GMT(142.1,"B","MENTAL HEALTH PHYSICAL EXAM",0))
  1. D:IEN=0 BMES^XPDUTL("MENTAL HEALTH PHYSICAL EXAM component was not found.")
  1. Q IEN