1 | PXQMAIN2 ;ISL/JVS - MAIN MENU ROUTINE #3 ;8/29/96 10:33
|
---|
2 | ;;1.0;PCE PATIENT CARE ENCOUNTER;**4**;Aug 12, 1996
|
---|
3 | ;
|
---|
4 | MENU ;--MENU FOR WHAT TO DISPLAY FOR VISIT
|
---|
5 | ;--OPTION 9
|
---|
6 | N LOC9,NAME,PAT9,POP,Y
|
---|
7 | S DIR("A")="Select a Display"
|
---|
8 | S DIR(0)="SOM^P:Patient files;L:Location files"
|
---|
9 | D ^DIR I Y=""!(Y["^") G CLOSE
|
---|
10 | I Y="P" D PAT G MENU
|
---|
11 | I Y="L" D LOC G MENU
|
---|
12 | K DIR("A"),DIR(0)
|
---|
13 | G CLOSE
|
---|
14 | ;
|
---|
15 | PAT ;--PATIENT FILES
|
---|
16 | ;--GENERAL ERRORS IN THE DATA BASE
|
---|
17 | ;--OPEN DEVICE
|
---|
18 | S OPTION="9P"
|
---|
19 | D ZIS^PXQZIS G:POP EXIT
|
---|
20 | ;--RESET $X,$Y
|
---|
21 | N DX,DY S (DX,DY)=0 X ^%ZOSF("XY")
|
---|
22 | PAT9P ;--BODY
|
---|
23 | N PAT,I,PXQRECI,SSN,SSN1,FLAG1,FLAG2,FLAG3,PAT2,LOC
|
---|
24 | N PAT2,LOC4,FLAG4,FLAG5
|
---|
25 | S PXQRECI=0
|
---|
26 | I '$D(^DD(2,.09,1,800)) W $$RE^PXQUTL(" ERROR ")
|
---|
27 | I '$D(^DD(2,.09,1,800)) W $$RE^PXQUTL("** NO CROSS-REFERENCE IN FILE#2 ON SSN FIELD FOR UPDATING FILE#9000001**")
|
---|
28 | I '$D(^DD(2,.09,1,800)) W $$RE^PXQUTL("** CROSS-REFERENCE COMES WITH PATIENT/IHS SUBSET PACKAGE**"),$$RE^PXQUTL(" ")
|
---|
29 | W $$RE^PXQUTL("Compare of #2 and # 9000001 Patient files"),$$RE^PXQUTL(" ")
|
---|
30 | S PAT=$$PTFLE^PXQUTL
|
---|
31 | S PAT2="^DPT(0) = "_$G(^DPT(0)),PAT9="^AUPNPAT(0) = "_$G(^AUPNPAT(0))
|
---|
32 | W $$RE^PXQUTL(" "_PAT2),$$RE^PXQUTL(" "_PAT9)
|
---|
33 | I $P(PAT,"^",1)=$P(PAT,"^",2) W $$RE^PXQUTL(" Zero Nodes MATCH")
|
---|
34 | I $P(PAT,"^",1)'=$P(PAT,"^",2) W $$RE^PXQUTL(" Zero Nodes DO NOT Match")
|
---|
35 | W $$RE^PXQUTL(" ")
|
---|
36 | ;
|
---|
37 | ;
|
---|
38 | I IOST["C-" D WAIT^DICD
|
---|
39 | N PXQCNT,PXQLIMIT
|
---|
40 | S PXQCNT=0,PXQLIMIT=100
|
---|
41 | S I=0 F S I=$O(^DPT(I)) Q:I'>0 Q:PXQCNT>PXQLIMIT I '$D(^AUPNPAT(I)) D
|
---|
42 | .S PXQCNT=PXQCNT+1
|
---|
43 | .I '$G(FLAG1) W $$RE^PXQUTL("Patients in file #2 but not in #9000001"),$$RE^PXQUTL(" DFN NAME SSN") S FLAG1=1
|
---|
44 | .S NAME=$P($G(^DPT(I,0)),"^",1),SSN=$P($G(^DPT(I,0)),"^",9)
|
---|
45 | .W $$RE^PXQUTL(""""_I_""",?10,"""_$E(NAME,1,20)_""",?32,"""_SSN_"""")
|
---|
46 | W $$RE^PXQUTL(" ")
|
---|
47 | I PXQCNT>PXQLIMIT W $$RE^PXQUTL("**There are more that 100 of these so I'll quit with 100**")
|
---|
48 | W $$RE^PXQUTL(" ")
|
---|
49 | ;
|
---|
50 | S I=0 F S I=$O(^AUPNPAT(I)) Q:I'>0 I '$D(^DPT(I)) D
|
---|
51 | .I '$G(FLAG2) W $$RE^PXQUTL("Patients in file #9000001 but not in #2"),$$RE^PXQUTL(" DFN NAME SSN") S FLAG2=1
|
---|
52 | .S NAME="**UNKNOWN**",SSN1=$P($G(^AUPNPAT(I,41,+$$SITE^VASITE,0)),"^",2)
|
---|
53 | .W $$RE^PXQUTL(""""_I_""",?10,"""_NAME_""",?32,"""_SSN1_"""")
|
---|
54 | W $$RE^PXQUTL(" ")
|
---|
55 | ;
|
---|
56 | S I=0 F S I=$O(^DPT(I)) Q:I'>0 I $D(^AUPNPAT(I)) D
|
---|
57 | .S NAME=$P($G(^DPT(I,0)),"^",1),SSN=$P($G(^DPT(I,0)),"^",9),SSN1=$P($G(^AUPNPAT(I,41,+$$SITE^VASITE,0)),"^",2)
|
---|
58 | .I SSN'=SSN1 D
|
---|
59 | ..I '$G(FLAG3) W $$RE^PXQUTL("SSN'S in #2 not equal to #9000001"),$$RE^PXQUTL(" DFN NAME #2 #9000001") S FLAG3=1
|
---|
60 | ..W $$RE^PXQUTL(""""_I_""",?10,"""_$E(NAME,1,20)_""",?32,"""_SSN_""",?45,"""_SSN1_"""")
|
---|
61 | W $$RE^PXQUTL(" ")
|
---|
62 | ;
|
---|
63 | ;
|
---|
64 | I $P(PAT,"^",1)=$P(PAT,"^",2) D
|
---|
65 | .I '$G(FLAG1) W $$RE^PXQUTL("PATIENT file #2 and PATIENT/IHS file #9000001 are in sync.")
|
---|
66 | D READ^PXQUTL
|
---|
67 | ;--CLOSE DEVICE
|
---|
68 | D ^%ZISC
|
---|
69 | I $D(ZTSK) G CLOSE
|
---|
70 | E Q
|
---|
71 | ;
|
---|
72 | LOC ;--LOCATION FILES
|
---|
73 | ;--GENERAL ERRORS IN THE DATA BASE
|
---|
74 | ;--OPEN DEVICE
|
---|
75 | S OPTION="9L"
|
---|
76 | D ZIS^PXQZIS G:POP EXIT
|
---|
77 | ;--RESET $X,$Y
|
---|
78 | N DX,DY S (DX,DY)=0 X ^%ZOSF("XY")
|
---|
79 | LOC9L ;--BODY
|
---|
80 | N PAT,I,PXQRECI,SSN,SSN1,FLAG1,FLAG2,FLAG3,PAT2,LOC
|
---|
81 | N PAT2,LOC4,FLAG4,FLAG5
|
---|
82 | S PXQRECI=0
|
---|
83 | ;--location files
|
---|
84 | W $$RE^PXQUTL("Compare of #4 and # 9999999.06 location files"),$$RE^PXQUTL(" ")
|
---|
85 | S LOC=$$LCFLE^PXQUTL
|
---|
86 | S LOC4="^DIC(4,0) = "_$G(^DIC(4,0)),LOC9="^AUTTLOC(0) = "_$G(^AUTTLOC(0))
|
---|
87 | W $$RE^PXQUTL(" "_LOC4),$$RE^PXQUTL(" "_LOC9)
|
---|
88 | I $P(LOC,"^",1)=$P(LOC,"^",2) W $$RE^PXQUTL(" Zero Nodes MATCH")
|
---|
89 | I $P(LOC,"^",1)'=$P(LOC,"^",2) W $$RE^PXQUTL(" Zero Nodes DO NOT Match")
|
---|
90 | W $$RE^PXQUTL(" ")
|
---|
91 | ;
|
---|
92 | ;
|
---|
93 | I IOST["C-" D WAIT^DICD
|
---|
94 | ;
|
---|
95 | S I=0 F S I=$O(^DIC(4,I)) Q:I'>0 I '$D(^AUTTLOC(I)) D
|
---|
96 | .I '$G(FLAG4) W $$RE^PXQUTL("Locations in file #4 but not in #9999999.06"),$$RE^PXQUTL(" IEN NAME") S FLAG4=1
|
---|
97 | .S NAME=$P($G(^DIC(4,I,0)),"^",1)
|
---|
98 | .W $$RE^PXQUTL(""""_I_""",?10,"""_NAME_"""")
|
---|
99 | W $$RE^PXQUTL(" ")
|
---|
100 | ;
|
---|
101 | S I=0 F S I=$O(^AUTTLOC(I)) Q:I'>0 I '$D(^DIC(4,I)) D
|
---|
102 | .I '$G(FLAG5) W $$RE^PXQUTL("Locations in file #9999999.06 but not in #4"),$$RE^PXQUTL(" IEN NAME") S FLAG5=1
|
---|
103 | .S NAME="**UNKNOWN**"
|
---|
104 | .W $$RE^PXQUTL(""""_I_""",?10,"""_NAME_"""")
|
---|
105 | W $$RE^PXQUTL(" ")
|
---|
106 | ;
|
---|
107 | I $P(LOC,"^",1)=$P(LOC,"^",2) D
|
---|
108 | .I '$G(FLAG4) W $$RE^PXQUTL("INSTITUTION file #4 and LOCATION file #9999999.06 are in sync.")
|
---|
109 | D READ^PXQUTL
|
---|
110 | ;--CLOSE DEVICE
|
---|
111 | D ^%ZISC
|
---|
112 | I $D(ZTSK) G CLOSE
|
---|
113 | E Q
|
---|
114 | ;
|
---|
115 | CLOSE ;--CLOSE DEVICE
|
---|
116 | D ^%ZISC
|
---|
117 | K OPTION
|
---|
118 | ;--RETURN TO MENU
|
---|
119 | ;R !,"Press any key to return to the menu",ANS:DTIME
|
---|
120 | Q
|
---|
121 | ;
|
---|
122 | EXIT ;--EXIT
|
---|
123 | K OPTION
|
---|
124 | Q
|
---|