1 | PXRMP6ID ; SLC/AGP - Inits for PXRM*2.0*6 ;11/25/2007
|
---|
2 | ;;2.0;CLINICAL REMINDERS;**6**;Feb 04, 2005;Build 123
|
---|
3 | ;
|
---|
4 | Q
|
---|
5 | ;====================================================
|
---|
6 | BDICONV ;
|
---|
7 | N BDI,BDI2,DA,DIE,DR,ITEM,NAME,NLINES,RGBDI,RGBDI2,TEXT
|
---|
8 | K ^TMP("PXRMXMZ",$J)
|
---|
9 | S TEXT(1)="Converting Dialog Elements from BDI to BDI2."
|
---|
10 | S TEXT(2)="See Mailman message for more details."
|
---|
11 | D MES^XPDUTL(.TEXT)
|
---|
12 | S NLINES=1,TEXT="Dialog Elements names that were converted."
|
---|
13 | S ^TMP("PXRMXMZ",$J,NLINES,0)=TEXT
|
---|
14 | S DIE="^PXRMD(801.41,"
|
---|
15 | S BDI=$O(^YTT(601,"B","BDI","")) Q:BDI'>0
|
---|
16 | S BDI2=$O(^YTT(601,"B","BDI2","")) Q:BDI2'>0
|
---|
17 | S BDI=BDI_";YTT(601,",BDI2=BDI2_";YTT(601,"
|
---|
18 | S RGBDI=$O(^PXRMD(801.41,"B","PXRM BDI RESULT GROUP","")) Q:RGBDI'>0
|
---|
19 | S RGBDI2=$O(^PXRMD(801.41,"B","PXRM BDI II RESULT GROUP","")) Q:RGBDI2'>0
|
---|
20 | S DA=0 F S DA=$O(^PXRMD(801.41,DA)) Q:DA'>0 D
|
---|
21 | .S ITEM=$P($G(^PXRMD(801.41,DA,1)),U,5) Q:ITEM'>0
|
---|
22 | .I BDI=ITEM D
|
---|
23 | ..S NAME=$P($G(^PXRMD(801.41,DA,0)),U)
|
---|
24 | ..S DR="15////^S X=BDI2"
|
---|
25 | ..I $P($G(^PXRMD(801.41,DA,0)),U,15)=RGBDI D
|
---|
26 | ...S DR=DR_";55////^S X=RGBDI2" D ^DIE
|
---|
27 | ..D ^DIE
|
---|
28 | ..S NLINES=NLINES+1,^TMP("PXRMXMZ",$J,NLINES,0)=NAME
|
---|
29 | I NLINES=1 D
|
---|
30 | .S NLINES=NLINES+1
|
---|
31 | .S ^TMP("PXRMXMZ",$J,NLINES,0)="No dialog elements were converted."
|
---|
32 | D SEND^PXRMMSG("Dialog elements converted from BDI to BDI2")
|
---|
33 | K ^TMP("PXRMXMZ",$J)
|
---|
34 | Q
|
---|
35 | CHECKRG ;
|
---|
36 | ;list non-National Result Groups that need to be mapped to a MH finding
|
---|
37 | N DIEN,NLINES,NODE,TEXT
|
---|
38 | K ^TMP("PXRMXMZ",$J)
|
---|
39 | S NLINES=0
|
---|
40 | S DIEN=0 F S DIEN=$O(^PXRMD(801.41,DIEN)) Q:DIEN'>0 D
|
---|
41 | .S NODE=$G(^PXRMD(801.41,DIEN,0))
|
---|
42 | .I $P(NODE,U,4)'="S" Q
|
---|
43 | .I $P($G(^PXRMD(801.41,DIEN,100)),U)="N" Q
|
---|
44 | .S TEXT="Result Group: "_$P(NODE,U)_" needs to be mapped to an MH test and scale."
|
---|
45 | .S NLINES=NLINES+1,^TMP("PXRMXMZ",$J,NLINES,0)=TEXT
|
---|
46 | .S NLINES=NLINES+1,^TMP("PXRMXMZ",$J,NLINES,0)=""
|
---|
47 | S TEXT="Dialog Results Groups that need to be mapped to a MH Test."
|
---|
48 | I NLINES>0 D SEND^PXRMMSG(TEXT)
|
---|
49 | K ^TMP("PXRMXMZ",$J)
|
---|
50 | Q
|
---|
51 | ;
|
---|
52 | DCLEAN ;
|
---|
53 | N CNT,DA,DIEN,DIK,EARRAY,EIEN,RIEN,TEXT
|
---|
54 | S RIEN=$O(^PXD(811.9,"B","PXRM RESULT GROUP UPDATE REMINDER",""))
|
---|
55 | Q:RIEN'>0
|
---|
56 | S DIEN=$P($G(^PXD(811.9,RIEN,51)),U) Q:DIEN'>0
|
---|
57 | S TEXT="Removing transport reminder and dialog for Result Groups."
|
---|
58 | D MES^XPDUTL(.TEXT)
|
---|
59 | S CNT=0 F S CNT=$O(^PXRMD(801.41,DIEN,10,CNT)) Q:CNT'>0 D
|
---|
60 | .S EIEN=$P($G(^PXRMD(801.41,DIEN,10,CNT,0)),U,2)
|
---|
61 | .I $P($P($G(^PXRMD(801.41,EIEN,0)),U)," ")'="PXRM" Q
|
---|
62 | .S EARRAY(EIEN)=""
|
---|
63 | S DIK="^PXRMD(801.41,"
|
---|
64 | S DA="" F S DA=$O(EARRAY(DA)) Q:DA'>0 D ^DIK
|
---|
65 | S DA=DIEN D ^DIK
|
---|
66 | S DIK="^PXD(811.9,",DA=RIEN D ^DIK
|
---|
67 | Q
|
---|
68 | ;
|
---|
69 | REINDEX ;
|
---|
70 | S DIK="^PXRMD(801.41,",DIK(1)=4 D ENALL^DIK
|
---|
71 | Q
|
---|
72 | STORERG ;
|
---|
73 | ;store result groups for an element in XTMP
|
---|
74 | N CNT,DIEN,RGIEN,PXRMXTMP,TYPE
|
---|
75 | ;S PXRMXTMP="PXRM"_$$NOW^XLFDT
|
---|
76 | S PXRMXTMP="PXRM PATCH 6"
|
---|
77 | K ^XTMP(PXRMXTMP)
|
---|
78 | S ^XTMP(PXRMXTMP,0)=$$FMADD^XLFDT(DT,30)_U_DT_U_"PXRM PATCH 6 DIALOG CONVERSION"
|
---|
79 | S DIEN=0,CNT=0 F S DIEN=$O(^PXRMD(801.41,DIEN)) Q:DIEN'>0 D
|
---|
80 | .S TYPE=$P($G(^PXRMD(801.41,DIEN,0)),U,4)
|
---|
81 | .I TYPE'="E",TYPE'="G" Q
|
---|
82 | .I $P($G(^PXRMD(801.41,DIEN,0)),U,15)="" Q
|
---|
83 | .S CNT=CNT+1
|
---|
84 | .S ^XTMP(PXRMXTMP,"PXRM DCONV",CNT)=DIEN_U_+$P($G(^PXRMD(801.41,DIEN,0)),U,15)
|
---|
85 | .S $P(^PXRMD(801.41,DIEN,0),U,15)=""
|
---|
86 | Q
|
---|
87 | ;
|
---|
88 | TESTMTCH(DIEN,RIEN,NLINES) ;
|
---|
89 | ;validate if finding item and Result Group finding item match
|
---|
90 | N DNAME,DTEST,RNAME,RTEST,RESULT,TEXT
|
---|
91 | S DTEST=+$P($G(^PXRMD(801.41,DIEN,1)),U,5)
|
---|
92 | S RTEST=+$P($G(^PXRMD(801.41,RIEN,50)),U)
|
---|
93 | S RESULT=$S(DTEST=0:0,RTEST=0:0,DTEST'=RTEST:0,1:1)
|
---|
94 | I RESULT=1 Q RESULT
|
---|
95 | S DNAME=$P($G(^PXRMD(801.41,DIEN,0)),U)
|
---|
96 | ;Release with Exchange no reason to print error, entry already updated
|
---|
97 | I DNAME="VA-MH DOMG" Q 0
|
---|
98 | S RNAME=$P($G(^PXRMD(801.41,RIEN,0)),U)
|
---|
99 | S TEXT="Result Group: "_RNAME_" could not be moved for the following"
|
---|
100 | S NLINES=NLINES+1,^TMP("PXRMXMZ",$J,NLINES,0)=TEXT
|
---|
101 | S TEXT="element "_DNAME_"."
|
---|
102 | S NLINES=NLINES+1,^TMP("PXRMXMZ",$J,NLINES,0)=TEXT
|
---|
103 | S TEXT="Manual Correction is needed."
|
---|
104 | S NLINES=NLINES+1,^TMP("PXRMXMZ",$J,NLINES,0)=TEXT
|
---|
105 | S NLINES=NLINES+1,^TMP("PXRMXMZ",$J,NLINES,0)=""
|
---|
106 | ;D BMES^XPDUTL(.TEXT)
|
---|
107 | Q RESULT
|
---|
108 | ;
|
---|
109 | WRITERG ;
|
---|
110 | ;write RG from XTMP back to file 801.41
|
---|
111 | N CNT,DA,DIE,DR,FDA,NLINES,PXRMXTMP,RGIEN,TEXT
|
---|
112 | S NLINES=0
|
---|
113 | K ^TMP("PXRMXMZ",$J)
|
---|
114 | S TEXT(1)="Moving Result Group to new multiple location."
|
---|
115 | S TEXT(2)="See MailMan message for any error."
|
---|
116 | D BMES^XPDUTL(.TEXT)
|
---|
117 | S PXRMXTMP="PXRM PATCH 6"
|
---|
118 | I $D(^XTMP(PXRMXTMP,"PXRM DCONV"))=0 Q
|
---|
119 | S CNT=0 F S CNT=$O(^XTMP(PXRMXTMP,"PXRM DCONV",CNT)) Q:CNT'>0 D
|
---|
120 | .S DA=$P($G(^XTMP(PXRMXTMP,"PXRM DCONV",CNT)),U)
|
---|
121 | .S RGIEN=$P($G(^XTMP(PXRMXTMP,"PXRM DCONV",CNT)),U,2)
|
---|
122 | .I $$TESTMTCH(DA,RGIEN,.NLINES)=0 Q
|
---|
123 | .S DA(1)=DA
|
---|
124 | .S FDA(801.41121,"+1,"_DA(1)_",",.01)=RGIEN
|
---|
125 | .D UPDATE^DIE("","FDA","","MSG")
|
---|
126 | .I $D(MSG)>0 D AWRITE^PXRMUTIL("MSG") H 1
|
---|
127 | S TEXT="Result Groups that could not be moved."
|
---|
128 | I NLINES>0 D SEND^PXRMMSG(TEXT)
|
---|
129 | K ^XTMP(PXRMXTMP)
|
---|
130 | K ^TMP("PXRMXMZ",$J)
|
---|
131 | Q
|
---|