GMRAY38 ;SLC/DAN Post-install for patch 38 ;5/3/07 14:53 ;;4.0;Adverse Reaction Tracking;**38**;Mar 29, 1996;Build 2 ; POST ;Find varible pointers associated with IEN zero N TMP,IEN,FREE,REACTANT,FDA,COM S FREE=$O(^GMRD(120.82,"B","OTHER ALLERGY/ADVERSE REACTION",0)) Q:'FREE S:FREE FREE=FREE_";GMRD(120.82," S IEN=0 F S IEN=$O(^GMR(120.8,IEN)) Q:'+IEN D .I $E($P($G(^GMR(120.8,IEN,0)),U,3),1,2)="0;" D ..S $P(^GMR(120.8,IEN,0),U,3)=FREE ;Update pointer to free text entry ..S REACTANT=$P(^GMR(120.8,IEN,0),U,2)_" ( FREE TEXT )" ..S FDA(120.8,(IEN_","),.02)=REACTANT ..D FILE^DIE(,"FDA") ..S COM="Updated by patch GMRA*4*38 to free text due to bad pointer value." D ADCOM^GMRAFX(IEN,"O",COM) ;Add comment to record ..S TMP($P(^GMR(120.8,IEN,0),U),$P(^GMR(120.8,IEN,0),U,2))="" ; MAIL ;Send message indicating post install is finished N XMSUB,XMTEXT,XMDUZ,XMY,XMZ,GMRATXT,CNT,VADM,DFN,REACTANT,LOOP,DIFROM,NAME,REACT S XMDUZ="PATCH GMRA*4*38 POST-INSTALL",XMY(.5)="" S:$G(DUZ) XMY(DUZ)="" S GMRATXT(1)="The post-install routine for patch GMRA*4*38" S GMRATXT(2)="finished on "_$$FMTE^XLFDT($$NOW^XLFDT)_"." S GMRATXT(3)="" S CNT=4 I $D(TMP) D .S GMRATXT(CNT)="The following patients had reactants updated to free text entries",CNT=CNT+1,GMRATXT(CNT)="because of a problem with the pointer data.",CNT=CNT+1 .S GMRATXT(CNT)="",CNT=CNT+1,GMRATXT(CNT)="Please use the Allergy Update Utility to fix these entries.",CNT=CNT+1,GMRATXT(CNT)="",CNT=CNT+1 .S IEN=0 F S IEN=$O(TMP(IEN)) Q:'+IEN S NAME=$$GET1^DIQ(2,IEN,.01)_" ("_$E($$GET1^DIQ(2,IEN,.09),6,9)_")" S REACT="" F S REACT=$O(TMP(IEN,REACT)) Q:REACT="" D ..S GMRATXT(CNT)=NAME_$$REPEAT^XLFSTR(" ",(38-$L(NAME)))_REACT,CNT=CNT+1 S XMTEXT="GMRATXT(",XMSUB="PATCH GMRA*4*38 Post Install COMPLETED" D ^XMD Q