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

BEHORXEI.m

Go to the documentation of this file.
  1. BEHORXEI ;MSC/IND/PLS - PharmED Component KIDS Support ;25-Jun-2014 12:28;PLS
  1. ;;1.1;BEH COMPONENTS;**044002,044003,044005**;Mar 20, 2007
  1. ;=========================================================
  1. PREINIT ;EP - Preinitialization
  1. N ERR
  1. ;D FIXNAR
  1. ;D FIXTOPIC
  1. D LOCK("BEHORXED POV SNOMED LIST",0)
  1. D NDEL^XPAR("SYS","BEHORXED POV SNOMED LIST",.ERR) ;Purge existing values
  1. Q
  1. POSTINIT ;EP - Postinitialization
  1. N OPT
  1. F OPT="BEHORXED DEFAULT POV","BEHORXED POV LIST","BEHORXED POV NARR TEXT" D OUT^XPDMENU(OPT,"Not currently used."),UPDPAR("SYS",OPT)
  1. D REGMENU^BEHUTIL("BEHORXED POV SNOMED LIST",,"SNM","BEHORXED MAIN")
  1. D REGMENU^BEHUTIL("BEHORXED POV MAP ICD",,"PMI","BEHORXED MAIN")
  1. D LOCK("BEHORXED POV SNOMED LIST",1)
  1. Q
  1. ; old logic below
  1. N LST,ITM,INST,LP
  1. S INST=0
  1. F LP="V65.49 ","V65.19 " D
  1. .S ITM=$$FIND1^DIC(80,,,LP,"BA")
  1. .I ITM D
  1. ..S INST=INST+1
  1. ..S LST(INST)="`"_ITM
  1. D:$D(LST) SETPAR("BEHORXED POV LIST",.LST)
  1. D REGNMSP^CIAURPC("BEHORXED","CIAV VUECENTRIC")
  1. D REGMENU^BEHUTIL("BEHORXED MAIN",,"MEC","BEHORX MAIN")
  1. D EDITPAR^XPAREDIT("BEHORXED DEF HOSP LOCATION")
  1. Q
  1. ; Fix bad narrative entries
  1. FIXNAR N NAR,POV,LP,DAT,VIEN,VPOV,CNT
  1. F LP="DIV","SYS" D
  1. .N TMP,IEN,IEN2,I
  1. .D GETLST^XPAR(.TMP,LP,"BEHORXED POV LIST","I")
  1. .F I=0:0 S I=$O(TMP(I)) Q:'I S POV(+TMP(I))=""
  1. .K TMP
  1. .D GETLST^XPAR(.TMP,LP,"BEHORXED POV NARR TEXT","I")
  1. .F I=0:0 S I=$O(TMP(I)) Q:'I D
  1. ..S NAR=TMP(I),IEN=0
  1. ..Q:'$L(NAR)
  1. ..F S IEN=$$FNDNAR(NAR,IEN) Q:'IEN D
  1. ...S IEN2=$$FNDNAR(IEN,0)
  1. ...S:IEN2 NAR(IEN2)=IEN
  1. Q:$D(NAR)<10
  1. D BMES^XPDUTL("Searching for bad med counseling VPOV entries...")
  1. S DAT=3070600,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. ...Q:'$D(POV(+X))
  1. ...S NAR=+$P(X,U,4)
  1. ...Q:'$D(NAR(NAR))
  1. ...S $P(^AUPNVPOV(VPOV,0),U,4)=NAR(NAR),CNT=CNT+1
  1. ...D MES("Repaired VPOV record #"_VPOV)
  1. D MES("Bad entries detected and repaired: "_CNT)
  1. Q
  1. ; Find next narrative entry
  1. FNDNAR(NAR,IEN) ;
  1. N TRC
  1. S TRC=$E(NAR,1,30)
  1. F S IEN=$O(^AUTNPOV("B",TRC,IEN)) Q:'IEN Q:$P($G(^AUTNPOV(IEN,0)),U)=NAR
  1. Q IEN
  1. ; Build parameter values
  1. SETPAR(PARAM,ARY) ;EP
  1. N ENT,VAL,INST
  1. D MES("Setting up default site parameters...")
  1. S INST=0 F S INST=$O(ARY(INST)) Q:'INST S VAL=ARY(INST) D
  1. .S ENT=$$ENT^CIAVMRPC(PARAM),ENT=$P(ENT,U,$L(ENT,U))
  1. .D:$L(ENT) ADD^XPAR(ENT,PARAM,INST,.VAL)
  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. ; Fix bad Education Topic entries
  1. FIXTOPIC ; EP -
  1. N VIEN,DAT,CNT,VPED,TOP
  1. D BMES^XPDUTL("Searching for bad med counselling VPOV entries...")
  1. S DAT=3070600,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 VPED=0:0 S VPED=$O(^AUPNVPED("AD",VIEN,VPED)) Q:'VPED D
  1. ...N X
  1. ...S X=$G(^AUPNVPED(VPED,0))
  1. ...Q:$P(X,U,12)'="MEDICATIONS"
  1. ...S $P(^AUPNVPED(VPED,0),U,12)=$$PEDTOPIC^BEHOENPC("MEDICATIONS"),CNT=CNT+1
  1. ...D MES("Repaired VPED record #"_VPED)
  1. D MES("Bad entries detected and repaired: "_CNT)
  1. Q
  1. UPDPAR(ENT,PARAM,VAL) ;EP-
  1. N IEN
  1. S IEN=$O(^XTV(8989.51,"B",PARAM,0))
  1. Q:'IEN
  1. S $P(^XTV(8989.51,IEN,0),U,6)=0
  1. D:$G(VAL)'="" EN^XPAR(ENT,PARAM,,VAL)
  1. S $P(^XTV(8989.51,IEN,0),U,6)=1
  1. Q
  1. ;Set prohibit editing field of parameter
  1. LOCK(PARAM,VAL) ;EP-
  1. N IEN
  1. S IEN=$O(^XTV(8989.51,"B",PARAM,0))
  1. Q:'IEN
  1. S $P(^XTV(8989.51,IEN,0),U,6)=VAL
  1. Q