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

HLP109.m

Go to the documentation of this file.
  1. HLP109 ;ALB/CJM - Post-Install for patch 109 ;06/03/99
  1. ;;1.6;HEALTH LEVEL SEVEN;**109**;Oct 13, 1995
  1. ;
  1. SETAC ;Used to undo the changes to the "AC" xref, used only if the patch
  1. ;HL*1.6*109 needs to be backed out.
  1. S ^DD(773,7,1,1,1)="S %=$P(^HLMA(DA,0),U,3) S:%]"""" ^HLMA(""AC"",%,X,DA)="""" I %=""O"",'$D(HLTCPO) D LLCNT^HLCSTCP(X,3)"
  1. S ^DD(773,7,1,1,2)="S %=$P(^HLMA(DA,0),U,3) K:%]"""" ^HLMA(""AC"",%,X,DA)"
  1. ;S ^DD(773,100,1,1,1)="S ^HLMA(""AD"",X,DA)="""" N %,%1 S %=$G(^HLMA(DA,0)),%1=$P(%,U,3),%=$P(%,U,7) K:%1]""""&% ^HLMA(""AC"",%1,%,DA)"
  1. Q
  1. ;
  1. PRE ; Called by KIDS pre-init...
  1. S ^HLCS(869.3,1,772)=($O(^HL(772,":"),-1)\1)
  1. S ^HLCS(869.3,1,773)=($O(^HLMA(":"),-1)\1)
  1. D UNQUEUE^HLEVUTIL
  1. D LOADMON
  1. D ETHL7 ; Make sure every official HL7 entry has PACKAGE NAME...
  1. Q
  1. ;
  1. LOADMON ; Create a list of monitors in ^XTMP(XTMP,"O")...
  1. N NOW,XTMP
  1. S NOW=$$NOW^XLFDT
  1. S XTMP="HLEV INSTALL "_NOW
  1. S ^XTMP(XTMP,0)=$$FMADD^XLFDT(NOW,2)_U_NOW_U_"HLEV INSTALLATION MONITOR LIST"
  1. S IEN=0
  1. F S IEN=$O(^HLEV(776.1,IEN)) Q:'IEN D
  1. . S ^XTMP(XTMP,"O",IEN)=$P($G(^HLEV(776.1,IEN,0)),U)_U_$$IENSUM(IEN)
  1. Q
  1. ;
  1. ;
  1. ;
  1. ;
  1. POST ; Called by KIDS post-init...
  1. N NO,TEXT,XMDUZ,XMSUB,XMTEXT,XMZ
  1. N %KMPRJT,%XX,%ZH0,%ZHFN,C,D0,DA,DG,DICR,DIFRFRV1,DIFROM,DIU,I,IEN
  1. N J,X,XG255,XGATRSET,XGCURATR,XGEMPATR,XGPAD,XGRT,XGSCRN
  1. N XQCH,ZQJMP,XQSV,XWT,XQUSER,XQZ,Y
  1. N XPD,XPD0,XPDA,XPDBLD,XPDCHECK,XPDCP,XPDD,XPDGREF,XPDIDCNT
  1. N XPDIDMOD,XPDIDTOT,XPDIDVT,XPDIT,XPDNM,XPDPKG,XPDRTN,XPDSET
  1. N XPDSET1,XPDST,XPDT
  1. ;
  1. ; Load 776.999 file entry if needed...
  1. D LOADPAR
  1. ;
  1. ; Update list of monitors...
  1. D COMPMON
  1. ;
  1. ; Send email message to DUZ...
  1. KILL ^TMP($J,"HLMAIL")
  1. D ADD("The installation of the Event Monitoring software held in patch")
  1. D ADD("HL*1.6*109 is complete. ")
  1. S XTMP=$O(^XTMP("HLEV INSTALL 9999999.99999"),-1)
  1. I XTMP]"",$D(^XTMP(XTMP)) D MAILMON
  1. ;
  1. ; Send Mailman message.
  1. S XMDUZ=.5,XMSUB="HL*1.6*109 Installation - Site# "_$P($$SITE^VASITE,U,3)
  1. S XMTEXT="^TMP("_$J_",""HLMAIL"","
  1. S XMY("HL7SystemMonitoring@med.va.gov")=""
  1. ;
  1. D ^XMD
  1. ;
  1. I '$D(ZTQUEUED) W !!,"Setup instructions message #",$G(XMZ)," sent..."
  1. KILL ^TMP($J,"HLMAIL")
  1. ;
  1. D DELMON ; Delete monitor(2)...
  1. D DELMGRP ; Delete mail group(s) from monitor(s)...
  1. ;
  1. ; Start a new master job...
  1. D STARTJOB^HLEVMST
  1. ;
  1. Q
  1. ;
  1. DELMON ; Delete renamed, or now unwanted official monitors...
  1. N DA,DIE,DR
  1. D DELONE("STUB 870 SEARCH")
  1. D DELONE("XREF CHECK - FILE 772 & 773")
  1. Q
  1. ;
  1. DELONE(NAME) ; Delete a monitor...
  1. N DA
  1. QUIT:$G(NAME)']"" ;->
  1. F S DA=+$O(^HLEV(776.1,"B",NAME,0)) Q:'DA D
  1. . N DIK,DR
  1. . S DIK="^HLEV(776.1,"
  1. . D ^DIK
  1. Q
  1. ;
  1. LOADPAR ; Load 776.999 file...
  1. QUIT:$G(^HLEV(776.999,1,0))]"" ;->
  1. S $P(^HLEV(776.999,0),U,3)=1,$P(^HLEV(776.999,0),U,4)=1
  1. S ^HLEV(776.999,1,0)="SYSTEM^A^120^96^^A"
  1. S ^HLEV(776.999,"B","SYSTEM",1)=""
  1. Q
  1. ;
  1. COMPMON ; Create list of monitors that have been changed...
  1. N DATA,IEN,NM,XTMP
  1. ;
  1. S XTMP=$O(^XTMP("HLEV INSTALL 9999999.999999999"),-1)
  1. QUIT:XTMP'["HLEV INSTALL" ;->
  1. ;
  1. S IEN=0
  1. F S IEN=$O(^HLEV(776.1,IEN)) Q:IEN'>0 D
  1. . S $P(^XTMP(XTMP,"O",IEN),U,3)=$P($G(^HLEV(776.1,+IEN,0)),U)
  1. . S $P(^XTMP(XTMP,"O",IEN),U,4)=$$IENSUM(IEN)
  1. . S DATA=^XTMP(XTMP,"O",IEN)
  1. . QUIT:$P(DATA,U)'=$P(DATA,U,3) ;-> Names don't match
  1. . QUIT:$P(DATA,U,2)'=$P(DATA,U,4) ;-> Checksums don't match
  1. . KILL ^XTMP(XTMP,"O",IEN)
  1. ;
  1. ; Rearrange into new and "used" (pre-existing) monitors...
  1. KILL ^XTMP(XTMP,"NEW"),^XTMP(XTMP,"OLD")
  1. S IEN=0
  1. F S IEN=$O(^XTMP(XTMP,"O",IEN)) Q:'IEN D
  1. . S DATA=^XTMP(XTMP,"O",IEN) QUIT:DATA']"" ;->
  1. . S NM=$P(DATA,U,3)
  1. . S:$P(DATA,U)']"" ^XTMP(XTMP,"NEW",NM,IEN)=DATA
  1. . S:$P(DATA,U)]"" ^XTMP(XTMP,"OLD",NM,IEN)=DATA
  1. ;
  1. KILL ^XTMP(XTMP,"O")
  1. ;
  1. Q
  1. ;
  1. ETHL7 ; Check/reset PACKAGE NAME in HL7 Monitor Event Type file (#776.3)...
  1. N DA,DIE,DR,IEN,IENS,PCE
  1. ;
  1. S IENS="1^2^3^4^5^6^7^8^9^10^11^12^13^14^15^16^17^18^100^101^102^103^104^105^106^107^108^109^200^201^202^203^204^205^206^207^208^209^210^211^213^214^215^216"
  1. ;
  1. F PCE=1:1:$L(IENS,U) D
  1. . S IEN=$P(IENS,U,+PCE) QUIT:$G(^HLEV(776.3,IEN,0))']"" ;->
  1. . S DA=IEN,DIE=776.3,DR=".08///HEALTH LEVEL SEVEN"
  1. . D ^DIE
  1. ;
  1. Q
  1. ;
  1. MAILMON ; Add to new or changed monitors to mail text...
  1. N HDR,NM,TXT,TYP
  1. ;
  1. D ADD(" - New and changed monitors.")
  1. ;
  1. S TYPE=""
  1. F S TYPE=$O(^XTMP(XTMP,TYPE)) Q:TYPE']"" D
  1. . D ADD("")
  1. . S HDR=$S(TYPE="OLD":"Monitors changed during installation",TYPE="NEW":"New monitors",1:"") QUIT:HDR']"" ;->
  1. . D ADD(HDR),ADD($$REPEAT^XLFSTR("-",$L(HDR)))
  1. . S NM="",TXT=""
  1. . F S NM=$O(^XTMP(XTMP,TYPE,NM)) Q:NM']"" D
  1. . . S TXT(1)=$E(NM_$$REPEAT^XLFSTR(" ",40),1,35)
  1. . . S TXT=TXT_TXT(1)
  1. . . I $L(TXT)>35 D ADD(TXT) S TXT=""
  1. . I $L(TXT)>0 D ADD(TXT)
  1. ;
  1. Q
  1. ;
  1. ADD(TXT) ; Add text to ^TMP($J,"HLMAIL")
  1. N NO
  1. S NO=$O(^TMP($J,"HLMAIL",":"),-1)+1
  1. S ^TMP($J,"HLMAIL",+NO)=TXT
  1. Q
  1. ;
  1. IENSUM(IEN) ; Checksum of entry...
  1. N ASC,CHAR,LP,POS,ST,SUM,TXT,VAL
  1. S SUM=0
  1. S LP="^HLEV(776.1,"_IEN,ST=LP_",",LP=LP_")"
  1. F S LP=$Q(@LP) Q:LP'[ST D
  1. . S TXT=LP_"="_@LP
  1. . F POS=1:1:$L(TXT) D
  1. . . S CHAR=$E(TXT,POS),ASC=$A(CHAR)
  1. . . S SUM=SUM+(ASC*POS)
  1. Q SUM
  1. ;
  1. DELMGRP ; Delete mailgroup in monitor...
  1. N IEN,MIEN
  1. ;
  1. ; CHECK 773 AC XREF --- @ --- HL7DevelopmentTeam@med.va.gov
  1. S IEN=$O(^HLEV(776.1,"B","CHECK 773 AC XREF",0))
  1. S MIEN=$O(^HLEV(776.1,+IEN,62,"B","HL7DevelopmentTeam@med.va.gov",0))
  1. D DELGRP1(IEN,MIEN)
  1. ;
  1. ; LINK (870) CHECKS
  1. S IEN=$O(^HLEV(776.1,"B","LINK (870) CHECKS",0))
  1. S MIEN=$O(^HLEV(776.1,+IEN,62,"B","HL7DevelopmentTeam@med.va.gov",0))
  1. D DELGRP1(IEN,MIEN)
  1. ;
  1. Q
  1. ;
  1. ;
  1. DELGRP1(IEN,MIEN) ; Delete one remote mail group...
  1. N DIE,DIE,DR
  1. QUIT:'$D(^HLEV(776.1,+IEN,62,+MIEN,0)) ;->
  1. S DIE="^HLEV(776.1,"_IEN_",62,",DA(1)=IEN,DA=MIEN
  1. S DR=".01///@"
  1. D ^DIE
  1. Q
  1. ;
  1. EOR ;HLEVINIT - Event Monitor PRE&POST-INITS ;5/16/03 14:42