source: WorldVistAEHR/trunk/r/CLINICAL_REMINDERS-PXRM/PXRMXTE.m@ 1582

Last change on this file since 1582 was 623, checked in by George Lilly, 15 years ago

revised back to 6/30/08 version

File size: 3.2 KB
Line 
1PXRMXTE ; SLC/PJH - Reminder Reports Template Edit ;08/03/2006
2 ;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21
3 ;
4 ; Called from PXRMYD,PXRMXD
5 ;
6 ;Option to Edit
7 ;--------------
8EDIT ;
9 N DIDEL,DIE,DR K DTOUT,DUOUT
10 ;Edit report name, title and PXRMSEL (patient sample)
11 S DIE=810.1,DA=$P(PXRMTMP,U),DR=".01T;1.9;1.2",DIDEL=810.1
12 D ^DIE I $D(Y) S DUOUT=1 Q
13 ;Check if template has been deleted
14 I '$D(DA) Q
15 ;Get updated value of PXRMXSEL
16 N PXRMSEL,PXRMFUT S PXRMSEL=X
17 ;Needed for 1.6 validation - Prior/Future or Current/Admissions
18 ;N PXRMINP
19 ;Further fields depend on value in PXRMXSEL
20 I PXRMSEL="I" S DR="6T~R",PXRMINP=0
21 I PXRMSEL="R" S DR="14T",PXRMINP=0
22 I PXRMSEL="L" D Q:$D(DUOUT)
23 .;Get location report type
24 .S DR="3T;1.5R" D ^DIE I $D(Y) S DUOUT=1 Q
25 .N PXRMLCSC S PXRMLCSC=X,DR="",PXRMINP=0
26 .;All location reports - prompt for prior/future/current/admissions
27 .I PXRMLCSC="HAI" S PXRMINP=1,DR="1.6" Q
28 .I PXRMLCSC="HA" S PXRMINP=0,DR="1.6"
29 .I PXRMLCSC="CA" S PXRMINP=0,DR="1.6"
30 .D ^DIE I $D(Y) S DUOUT=1 Q
31 .S PXRMFUT=X,DR=""
32 .;Selected Location/Stop Code/Clinic Group fields
33 .I PXRMLCSC="HS" D Q:$D(DUOUT)
34 ..S DR="10T~R"
35 ..D ^DIE I $D(Y) S DUOUT=1 Q
36 ..;Determine if locations input are all wards
37 ..S PXRMINP=$$INP^PXRMXAP(PXRMLCSC,.PXRMLOCN)
38 ..;Select Prior/Future or Current Inpatient/Admissions
39 ..S DR="1.6"
40 ..D ^DIE I $D(Y) S DUOUT=1 Q
41 ..S PXRMFUT=X,DR=""
42 .;Clinic Stop input and prior/future
43 .I PXRMLCSC="CS" S PXRMINP=0,DR="11T~R;1.6" D I $G(DUOUT)=1 Q
44 ..D ^DIE I $D(Y) S DUOUT=1 Q
45 ..S PXRMFUT=X,DR=""
46 .;Clinic Group input and prior/future
47 .I PXRMLCSC="GS" S PXRMINP=0,DR="12T~R;1.6" D I $G(DUOUT)=1 Q
48 ..D ^DIE I $D(Y) S DUOUT=1 Q
49 ..S PXRMFUT=X,DR=""
50 .;Service categories (except for inpatient reports)
51 .I PXRMINP=0,PXRMFUT'="F",PXRMFUT'="C" S DR=DR_";9T~R"
52 ;OE/RR teams
53 I PXRMSEL="O" S DR="7T~R"
54 ;PCMM Provider and Primary care/All
55 I PXRMSEL="P" S DR="4T~R;1.3"
56 ;PCMM teams
57 I PXRMSEL="T" S DR="3T~R;8T~R"
58 ;Report type (detail or summary)
59 S DR=DR_";1.4"
60 ;Reminder Categories
61 I $D(^PXRMPT(810.1,DA,12,0))>0 D
62 .N IEN,CNT,NODE
63 .S CNT=0,IEN=0 F S IEN=$O(^PXRMPT(810.1,DA,12,IEN)) Q:IEN'>0 D
64 ..S CNT=CNT+1,NODE=$G(^PXRMPT(810.1,DA,12,IEN,0))
65 ..S PXRMTCAT(DA,CNT)=$P(NODE,U)_U_$P($G(^PXRMD(811.7,$P(NODE,U),0)),U)_U_$P(NODE,U,2)
66 S DR=DR_";13T"
67 ;Reminders
68 I $D(^PXRMPT(810.1,DA,1,0))>0 D
69 .N IEN,CNT,NODE,REMNODE
70 .S CNT=0,IEN=0 F S IEN=$O(^PXRMPT(810.1,DA,1,IEN)) Q:IEN'>0 D
71 ..S CNT=CNT+1,NODE=$G(^PXRMPT(810.1,DA,1,IEN,0))
72 ..S REMNODE=$G(^PXD(811.9,$P(NODE,U),0))
73 ..S PXRMTREM(DA,CNT)=$P(NODE,U)_U_$P(REMNODE,U)_U_$P(NODE,U,2)_U_$P($G(REMNODE),U,3)
74 S DR=DR_";2T"
75 ;
76 ;Strip of any leading semi-colons
77 I $E(DR)=";" S DR=$P(DR,";",2,99)
78 ;
79 D ^DIE I $D(Y) S DUOUT=1 Q
80 ;
81 ;If all reminders have been deleted from the template disallow save
82 I +$P($G(^PXRMPT(810.1,DA,1,0)),U,4)=0 D
83 .;Check categories also
84 .I +$P($G(^PXRMPT(810.1,DA,12,0)),U,4)>0 D Q
85 .. N CAT,CATIEN
86 .. S CAT=0 F S CAT=$O(^PXRMPT(810.1,DA,12,CAT)) Q:+CAT'>0 D
87 ... S CATIEN=$P($G(^PXRMPT(810.1,DA,12,CAT,0)),U)
88 ... I +$P($G(^PXRMD(811.7,CATIEN,2,0)),U,4)<1 W !!,"** WARNING **",!,"Reminder Category "_$P($G(^PXRMD(811.7,CATIEN,0)),U)_" does not have any reminders assigned to it"
89 .S DUOUT=1
90 .W !!,"No reminders defined"
91 Q
92 ;
Note: See TracBrowser for help on using the repository browser.