Index: /qrda/C0Q/trunk/p/C0QKIDS.m
===================================================================
--- /qrda/C0Q/trunk/p/C0QKIDS.m	(revision 1464)
+++ /qrda/C0Q/trunk/p/C0QKIDS.m	(revision 1465)
@@ -1,8 +1,11 @@
-C0QKIDS	; VEN/SMH - Kids Utilities for transporting C0Q data ; 5/24/12 3:53pm
-	;;1.0;C0Q;;May 21, 2012;Build 43
+C0QKIDS	; VEN/SMH - Kids Utilities for transporting C0Q data ; 7/3/12 8:38am
+	;;1.0;C0Q;;May 21, 2012;Build 47
 	; Licensed under package license. See Documentation.
 	;
-	; PEPs: TRAN, POST
+	; PEPs: PRE, TRAN, POST
 	;
+PRE ; Unified Pre; PEP
+	D PREREM
+	QUIT
 TRAN	; Unified Transport; PEP
 	; D TRAN301  ; looks like I won't send that file over
@@ -13,4 +16,5 @@
 	D POST101
 	D POST201
+	D POSTREM
 	QUIT
 	;
@@ -101,2 +105,78 @@
 	. F  S C0QERR=$Q(@C0QERR) Q:C0QERR=""  D MES^XPDUTL(C0QERR_": "_@C0QERR)
 	QUIT
+	;
+	; Code below taken from PXRMP15I
+	;===============================================================
+ARRAY(MODE,ARRAY)	;List of exchange entries used by delete and install
+	;
+	S ARRAY(1,1)="MU NQF0024 BMI_MK"
+	I MODE S ARRAY(1,2)="07/06/2011@15:11:46"
+	Q
+	;
+	;===============================================================
+DELEI	;If the Exchange File entry already exists delete it.
+	N ARRAY,IC,IND,LIST,LUVALUE,NUM
+	D ARRAY(1,.ARRAY)
+	S IC=0
+	F  S IC=$O(ARRAY(IC)) Q:'IC  D
+	.S LUVALUE(1)=ARRAY(IC,1)
+	.D FIND^DIC(811.8,"","","U",.LUVALUE,"","","","","LIST")
+	.I '$D(LIST) Q
+	.S NUM=$P(LIST("DILIST",0),U,1)
+	.I NUM'=0 D
+	..F IND=1:1:NUM D
+	... N DA,DIK
+	... S DIK="^PXD(811.8,"
+	... S DA=LIST("DILIST",2,IND)
+	... D ^DIK
+	Q
+	;
+	;===============================================================
+EXFINC(Y)	;Return a 1 if the Exchange file entry is in the list to
+	;include in the build. This is used in the build to determine which
+	;entries to include.
+	N ARRAY,FOUND,IEN,IC,LUVALUE
+	D ARRAY(1,.ARRAY)
+	S FOUND=0
+	S IC=0
+	F  S IC=+$O(ARRAY(IC)) Q:(IC=0)!(FOUND)  D
+	. M LUVALUE=ARRAY(IC)
+	. S IEN=+$$FIND1^DIC(811.8,"","KU",.LUVALUE)
+	. I IEN=Y S FOUND=1 Q
+	Q FOUND
+	;
+PREREM	;
+	D DELEI
+	Q
+POSTREM	;
+	D SMEXINS
+	Q
+	;===============================================================
+SMEXINS	;Silent mode install.
+	N ARRAY,IC,IEN,LUVALUE,PXRMINST
+	S PXRMINST=1
+	D ARRAY(1,.ARRAY)
+	S IC=0
+	F  S IC=$O(ARRAY(IC)) Q:'IC  D
+	.M LUVALUE=ARRAY(IC)
+	.S IEN=+$$FIND1^DIC(811.8,"","KU",.LUVALUE)
+	.I IEN'=0 D
+	.. N TEXT
+	.. I LUVALUE(1)["PARAMETER" S TEXT="Installing entry "_LUVALUE(1)
+	.. E  S TEXT="Installing reminder "_LUVALUE(1)
+	.. D BMES^XPDUTL(TEXT)
+	.. D INSTALL^PXRMEXSI(IEN,"I",1)
+	Q
+	;
+CRPL(PLNAME,C0QERR) ; Private ; $$ ; Create Patient List
+ ; Input: PLNAME: By Value: Patient List Name
+ ;        C0QERR: By Ref:   Error Array
+ ; Output: IEN of Patient List, or -1 for error
+ N C0QFDA,C0QIENS ; FDA, return IEN
+ S C0QFDA(810.5,"?+1,",.01)=PLNAME ; Patient List Name
+ S C0QFDA(810.5,"?+1,",.07)="`"_DUZ    ; Creator
+ S C0QFDA(810.5,"?+1,",.08)="PUB"  ; Type: Public
+ S C0QFDA(810.5,"?+1,",100)="L"    ; Class: Local
+ D UPDATE^DIE("E",$NA(C0QFDA),$NA(C0QIENS),$NA(C0QERR)) ; External Flag
+ I $G(C0QIENS(1)) QUIT C0QIENS(1)
+ E  QUIT -1
