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

BEHOENIN.m

Go to the documentation of this file.
  1. BEHOENIN ;MSC/IND/DKM - Installation Support ;06-Sep-2011 14:33;PLS
  1. ;;1.1;BEH COMPONENTS;**005001,005004,005005,005008**;Mar 20, 2007
  1. ;=================================================================
  1. PREINIT ;EP - Preinitialization
  1. Q
  1. POSTINIT ;EP - Postinitialization
  1. Q
  1. ; Add a report to the ORRPW ADT VISITS report header.
  1. ADDCHILD(RPT) ;
  1. N X,Y
  1. S X=$$FIND1^DIC(101.24,,"X","ORRPW ADT VISITS")
  1. S Y=$$FIND1^DIC(101.24,,"X",RPT)
  1. I X,Y D:'$O(^ORD(101.24,X,10,"B",Y,0))
  1. .N FDA
  1. .S FDA(101.241,"+1,"_X_",",.01)="`"_Y
  1. .D UPDATE^DIE("E","FDA")
  1. Q
  1. GETUNLK ;
  1. N DATA,DAYS
  1. S GBL=$NA(^TMP("BEHOENCX"))
  1. S DAYS=$$GET^XPAR("SYS","BEHOENCX VISIT LOCKED")
  1. D:'DAYS ADD^XPAR("SYS","BEHOENCX VISIT LOCKED",,3)
  1. D ENVAL^XPAR(GBL,"BEHOENCX VISIT LOCK OVERRIDE",,,1)
  1. D REMUNLK
  1. Q
  1. ;
  1. REMUNLK ;
  1. N ENT
  1. S ENT=""
  1. F S ENT=$O(^TMP("BEHOENCX",ENT)) Q:ENT="" D
  1. .D NDEL^XPAR(ENT,"BEHOENCX VISIT LOCK OVERRIDE")
  1. Q
  1. SETUNLK ;
  1. N ENT,INT,VAL
  1. S ENT=""
  1. F S ENT=$O(^TMP("BEHOENCX",ENT)) Q:ENT="" D
  1. .S INT=0 F S INT=$O(^TMP("BEHOENCX",ENT,INT)) Q:'INT D
  1. ..S VAL=$$GET^XPAR("SYS","BEHOENCX VISIT LOCKED")
  1. ..S VAL=$S(VAL:VAL,1:2)
  1. ..S VAL=$$FMADD^XLFDT($$DT^XLFDT(),VAL)
  1. ..D ADD^XPAR(ENT,"BEHOENCX VISIT LOCK OVERRIDE","`"_INT,VAL)
  1. K ^TMP("BEHOENCX")
  1. Q
  1. VPOV ;Repoint any text provider narratives
  1. ;First,find the date this patch was first installed
  1. N P6
  1. S P6="" S P6=$O(^XPD(9.7,"B","EHR*1.1*6",P6)) Q:P6="" D
  1. .S IDATE=$P(^XPD(9.7,P6,0),U,3)
  1. .Q:IDATE=""
  1. .D FIXNAR
  1. Q
  1. FIXNAR ;Loop through and find all POVs since patch 6 was installed
  1. ;check for text in the .o4 field and fix
  1. N DAT,CNT,VIEN,VPOV,NAR,NIEN
  1. S DAT=IDATE,CNT=0
  1. F S DAT=$O(^AUPNVSIT("B",DAT)) Q:'DAT D
  1. .F VIEN=0:0 S VIEN=$O(^AUPNVSIT("B",DAT,VIEN)) Q:'VIEN D
  1. ..F VPOV=0:0 S VPOV=$O(^AUPNVPOV("AD",VIEN,VPOV)) Q:'VPOV D
  1. ...N X
  1. ...S X=$G(^AUPNVPOV(VPOV,0))
  1. ...S NAR=$P(X,U,4)
  1. ...I +NAR=0 D
  1. ....S NIEN=$$FNDNARR(NAR,1)
  1. ....S $P(^AUPNVPOV(VPOV,0),U,4)=NIEN,CNT=CNT+1
  1. ....D MES("Repaired VPOV record #"_VPOV)
  1. D MES("Bad entries detected and repaired: "_CNT)
  1. Q
  1. ; Display message in MSG and optionally set quit flag to QUIT
  1. MES(MSG,QUIT) ; EP
  1. D BMES^XPDUTL(" "_$G(MSG))
  1. S:$G(QUIT) XPDQUIT=QUIT
  1. Q
  1. ; Find/create narrative text in narrative file, returning IEN
  1. FNDNARR(NARR,CREATE) ;EP
  1. N IEN,FDA,TRC,RET
  1. Q:'$L(NARR) ""
  1. S NARR=$$STRPNAR^BEHOENPC(NARR) ;P7
  1. S IEN=0,TRC=$E(NARR,1,30),NARR=$E(NARR,1,160),CREATE=$G(CREATE,1)
  1. F S IEN=$O(^AUTNPOV("B",TRC,IEN)) Q:'IEN Q:$P($G(^AUTNPOV(IEN,0)),U)=NARR
  1. Q:IEN!'CREATE IEN
  1. S FDA(9999999.27,"+1,",.01)=NARR
  1. D UPDATE^DIE("E","FDA","IEN")
  1. Q +$G(IEN(1))