PXRMP6I	; SLC/PKR - Inits for PXRM*2.0*6 ;11/25/2007
	;;2.0;CLINICAL REMINDERS;**6**;Feb 04, 2005;Build 123
	Q
	;====================================================
DELDD	;Delete the old data dictionaries.
	N DIU,TEXT
	D EN^DDIOL("Removing old data dictionaries.")
	S DIU(0)=""
	F DIU=800,801.41,810.1,810.2,810.4,810.5,810.8,811.5,811.8,811.9 D
	. S TEXT=" Deleting data dictionary for file # "_DIU
	. D EN^DDIOL(TEXT)
	. D EN^DIU2
	Q
	;
	;====================================================
LISTRULE(IEN)	;List of list rules to include in the build.
	N NAME,OK
	S OK=0
	S NAME=$P(^PXRM(810.4,IEN,0),U,1)
	I NAME="VA-*IHD QUERI 412 DIAGNOSIS" S OK=1
	I NAME="VA-*IHD QUERI ANCHOR VISIT" S OK=1
	I NAME="VA-*IHD QUERI LIPID LOWERING MEDS" S OK=1
	I NAME="VA-*IHD QUERI PTS WITH QUALIFY VISIT" S OK=1
	I NAME="VA-*MH QUERI QUALIFY MH VISIT" S OK=1
	I NAME="VA-*MH QUERI QUALIFY PC VISIT" S OK=1
	I OK D RMEHIST^PXRMUTIL(810.4,IEN)
	Q OK
	;
	;====================================================
OPTION(ACTION)	;Disable/enable options.
	N ACT,IND,OPT,LIST,RESULT
	S ACT=$S(ACTION=2:"DISABLE",ACTION=1:"ENABLE",1:"?")
	D BMES^XPDUTL(ACT_" options.")
	;
	D FIND^DIC(19,"","@;.01","","GMTS","*","B","","","LIST")
	F IND=1:1:+LIST("DILIST",0) D
	. S OPT=LIST("DILIST","ID",IND,.01)
	 S RESULT=$$OPTDE^XPDUTL(OPT,ACTION)
	 I RESULT=0 D MES^XPDUTL("Could not "_ACT_" option "_OPT)
	;
	K LIST
	D FIND^DIC(19,"","@;.01","","IBDF PRINT","*","B","","","LIST")
	F IND=1:1:+LIST("DILIST",0) D
	. S OPT=LIST("DILIST","ID",IND,.01)
	. S RESULT=$$OPTDE^XPDUTL(OPT,ACTION)
	. I RESULT=0 D MES^XPDUTL("Could not "_ACT_" option "_OPT)
	;
	S OPT="OR CPRS GUI CHART"
	S RESULT=$$OPTDE^XPDUTL(OPT,ACTION)
	I RESULT=0 D MES^XPDUTL("Could not "_ACT_" option "_OPT)
	;
	S OPT="ORS HEALTH SUMMARY"
	S RESULT=$$OPTDE^XPDUTL(OPT,ACTION)
	I RESULT=0 D MES^XPDUTL("Could not "_ACT_" option "_OPT)
	;
	K LIST
	D FIND^DIC(19,"","@;.01","","PXRM","*","B","","","LIST")
	F IND=1:1:+LIST("DILIST",0) D
	. S OPT=LIST("DILIST","ID",IND,.01)
	. S RESULT=$$OPTDE^XPDUTL(OPT,ACTION)
	. I RESULT=0 W !,"Could not ",ACTION," option ",OPT
	Q
	;
	;====================================================
PRE	;These are the pre-installation actions
	D ENVCHK^PXRMP6IM I $G(XPDABORT)=1 Q
	;Disable options and protocols
	D OPTION(2)
	D PROTOCOL(2)
	;Delete existing exchange file entries.
	D DELEXI^PXRMP6IE
	;Rename entries that need it.
	D RENAME
	;Initialize list template.
	D INILT^PXRMP6IL
	;Delete the old DDs.
	D DELDD
	;Repoint dialog with BDI as a finding item to BDI2
	D BDICONV^PXRMP6ID
	D CHECKRG^PXRMP6ID
	D STORERG^PXRMP6ID
	Q
	;
	;====================================================
POST	;These are the post-installation actions
	N NLINES
	D SETMAXMH
	;Convert the mental health pointers.
	D HMHPTRS^PXRMP6IM(.NLINES,1)
	;Convert Conditions for mental health findings.
	D MHCOND^PXRMP6IC
	I '$D(^PXRMINDX(601.84,"DATE BUILT")) S ^PXRMINDX(601.84,"DATE BUILT")=$$NOW^XLFDT
	;Convert the rule set sequences to numbers.
	D SEQCONV^PXRMP6IS
	;Enable options and protocols
	D OPTION(1)
	D PROTOCOL(1)
	D SMEXINS^PXRMP6IE
	D RTAXEXP
	D WRITERG^PXRMP6ID
	D DCLEAN^PXRMP6ID
	D REINDEX^PXRMP6ID
	D RESCIND
	Q
	;
	;====================================================
PROTOCOL(ACTION)	;Disable/enable protocols.
	N ACT,PROT,RESULT
	S ACT=$S(ACTION=2:"DISABLE",ACTION=1:"ENABLE",1:"?")
	D BMES^XPDUTL(ACT_" protocols.")
	;
	S PROT="ORS HEALTH SUMMARY"
	S RESULT=$$PRODE^XPDUTL(PROT,ACTION)
	I RESULT=0 D MES^XPDUTL("Could not "_ACT_" protocol "_PROT)
	;
	S PROT="ORS AD HOC HEALTH SUMMARY"
	S RESULT=$$PRODE^XPDUTL(PROT,ACTION)
	I RESULT=0 D MES^XPDUTL("Could not "_ACT_" protocol "_PROT)
	;
	S PROT="PXRM PATIENT DATA CHANGE"
	S RESULT=$$PRODE^XPDUTL(PROT,ACTION)
	I RESULT=0 D MES^XPDUTL("Could not "_ACT_" protocol "_PROT)
	Q
	;
	;====================================================
RESCIND	;
	N ARY,NAME,IEN,TEXT
	S TEXT(1)="Rescinding outdated National Reminder and disabling outdated"
	S TEXT(2)="National Reminder Dialog"
	S TEXT(3)=""
	D BMES^XPDUTL(.TEXT)
	S NAME="VA-POS DEPRESSION SCREEN FOLLOWUP"
	S IEN=$O(^PXD(811.9,"B",NAME,"")) Q:IEN'>0
	K ARY
	;S ARY(1,811.9,IEN_",",1.6)=1
	S ARY(1,811.9,IEN_",",69)=3071101
	D FILE^DIE("","ARY(1)")
	S TEXT(1)="Rescinding reminder: "_NAME
	S TEXT(2)=""
	D BMES^XPDUTL(.TEXT)
	S DIEN=$G(^PXD(811.9,IEN,51)) Q:DIEN'>0
	S NAME=$P($G(^PXRMD(801.41,DIEN,0)),U)
	K ARY
	S ARY(1,801.41,DIEN_",",3)="Disable with PXRM*2.0*6 on Nov 1, 2007"
	D FILE^DIE("","ARY(1)")
	S TEXT(1)="Disabling Dialog: "_NAME
	D BMES^XPDUTL(.TEXT)
	Q
	;====================================================
RENAME	;Rename entries
	N DA,DIE
	S DA=+$O(^PXRM(810.4,"B","VA-*MH QUERY QUALIFYING MH VISIT",""))
	I DA=0 Q
	S DIE=810.4,DR=".01///VA-*MH QUERI QUALIFYING MH VISIT"
	D ^DIE
	Q
	;
	;====================================================
RTAXEXP	;Rebuild taxonomy expansions.
	N IEN,IND,TEXT,TNAME
	S TNAME(1)="VA-TETANUS DIPHTHERIA"
	S TNAME(2)="VA-WH HYSTERECTOMY W/CERVIX REMOVED"
	D BMES^XPDUTL("Rebuilding taxonomy expansions.")
	F IND=1:1:2 D
	. S IEN=$O(^PXD(811.2,"B",TNAME(IND),""))
	. I IEN="" Q
	. S TEXT=" Working on taxonomy "_IEN
	. D BMES^XPDUTL(TEXT)
	. D DELEXTL^PXRMBXTL(IEN)
	. D EXPAND^PXRMBXTL(IEN,"")
	Q
	;
	;====================================================
SETMAXMH	;Set the maximum number of mental health questions that can be 
	;administered through a reminder dialog.
	N DA,DIE,DR
	I +$P($G(^PXRM(800,1,"MH")),U)>0 Q
	S DA=1,DR="17////35",DIE="^PXRM(800," D ^DIE
	Q
	;
