1 | DVBAB68 ;ALB/SPH - CAPRI C&P EXAM DETAIL REPORT ;09/11/00
|
---|
2 | ;;2.7;AMIE;**35**;Apr 10, 1995
|
---|
3 | ;
|
---|
4 | EN ;only need DFN to return data
|
---|
5 | I '$D(^DVB(396.4,"APE",DFN)) S ZMSG(DVBABCNT)="No Requests are currently on file.",DVBABCNT=DVBABCNT+1 Q
|
---|
6 | ;;;I '$D(^DVB(396.4,"APE",DFN)) W !!,"Press [RETURN] to continue"
|
---|
7 | ;;;I '$D(^DVB(396.4,"APE",DFN)) R DVBCIN:DTIME K DVBCIN Q
|
---|
8 | S ZMSG(DVBABCNT)="Requested exams currently on file:",DVBABCNT=DVBABCNT+1
|
---|
9 | D SORT
|
---|
10 | S ZMSG(DVBABCNT)="--------------------------------------------------------------------------------",DVBABCNT=DVBABCNT+1
|
---|
11 | K DVBAEXM,DVBAEXST,DVBADA,DVBADONE,DVBAPDT,DVBAST,DVBARO,JX,DVBCX
|
---|
12 | Q
|
---|
13 | ;
|
---|
14 | STAT S DVBAST=$P(^DVB(396.4,DVBADA,0),U,4)
|
---|
15 | S:$D(^DVB(396.4,DVBADA,"TRAN")) DVBCX=$P(^("TRAN"),U,3)
|
---|
16 | S DVBAST=$S(DVBAST="C":"Completed",DVBAST="RX":"Cancelled by RO",DVBAST="X":"Cancelled by MAS",DVBAST="F":"Cancelled, failed to report",DVBAST="O":"Open",DVBAST="T":"Transferred",1:"Unknown status")
|
---|
17 | Q
|
---|
18 | ;
|
---|
19 | CON I $Y>12,IOST?1"C-".E W !
|
---|
20 | ;!,"Press [RETURN] to continue or ""^"" to end display of existing exams" R ANS:DTIME W ! I '$T!(ANS=U) S DVBADONE=1
|
---|
21 | I $Y>12,IOST?1"C-".E ;W:(DVBADONE'=1) @IOF,"Exams currently on file, continued --",!!!
|
---|
22 | I ($Y>45),(IOST?1"P-".E) D HDR
|
---|
23 | Q
|
---|
24 | ;
|
---|
25 | HDR S PG=PG+1
|
---|
26 | W @IOF,!,"Date: ",FDT(0),?(80-$L(PGHD)\2),PGHD,?71,"Page: ",PG,!,?(80-$L($$SITE^DVBCUTL4)\2),$$SITE^DVBCUTL4 I PG>1 W !!,"Name: ",PNAM,?44,"SSN: ",SSN,?63,"C-NUM: ",CNUM
|
---|
27 | W ! F XLINE=1:1:80 W "="
|
---|
28 | W !!,"Requested exams currently on file:",!
|
---|
29 | W ! Q
|
---|
30 | ;
|
---|
31 | SORT ; ** Explore 396.4 file; display exams already requested **
|
---|
32 | N DVBAEXM,DVBADA,DVBADONE,DVBAPDT,DVBAST,DVBARO,DVBARQDT
|
---|
33 | S (DVBAEXM,DVBADA,DVBADONE,DVBAPDT,DVBAST,DVBARO,DVBARQDT)=""
|
---|
34 | F S DVBAEXM=$O(^DVB(396.4,"APE",DFN,DVBAEXM)) Q:DVBAEXM=""!(DVBADONE=1) F S DVBARQDT=$O(^DVB(396.4,"APE",DFN,DVBAEXM,DVBARQDT)) Q:DVBARQDT="" D FLOOP Q:DVBADONE=1
|
---|
35 | Q
|
---|
36 | ;
|
---|
37 | FLOOP ; ** Final loop of "APE" index **
|
---|
38 | F S DVBADA=$O(^DVB(396.4,"APE",DFN,DVBAEXM,DVBARQDT,DVBADA)) Q:DVBADA="" D BLD,CON Q:DVBADONE=1 D PRINT
|
---|
39 | Q
|
---|
40 | ;
|
---|
41 | BLD ; ** Set variables to be printed to screen **
|
---|
42 | N DA,DIK,DATA,DVBAREQ,DVBASTAT,DVBATYPE
|
---|
43 | ;don't continue if record doesn't exist in file #396.4
|
---|
44 | I '$D(^DVB(396.4,DVBADA,0)) D Q
|
---|
45 | .;kill xref if record doesn't exist
|
---|
46 | .K ^DVB(396.4,"APE",DFN,DVBAEXM,DVBARQDT,DVBADA)
|
---|
47 | ;don't continue if record doesn't exist in file #396.3
|
---|
48 | S DVBAREQ=$P(^DVB(396.4,DVBADA,0),U,2) D Q:'DVBAREQ
|
---|
49 | .I '$D(^DVB(396.3,DVBAREQ)) D
|
---|
50 | ..;delete record in file #396.4 if its 'parent' in file #396.3 doesn't exist
|
---|
51 | ..;remove reference to file #396.3 so call to ^dik won't error out
|
---|
52 | ..S DATA=^DVB(396.4,DVBADA,0),$P(^(0),U,2)=""
|
---|
53 | ..;delete "c" xref and mumps xrefs manually because reference to file #396.3 was removed
|
---|
54 | ..S DVBATYPE=$P(DATA,U,3),DVBASTAT=$P(DATA,U,4)
|
---|
55 | ..K ^DVB(396.4,"C",DVBAREQ,DVBADA)
|
---|
56 | ..K ^DVB(396.4,"APE",DFN,DVBAEXM,DVBARQDT,DVBADA)
|
---|
57 | ..K ^DVB(396.4,"APS",DFN,DVBATYPE,DVBASTAT,DVBADA)
|
---|
58 | ..K ^DVB(396.4,"ARQ"_DVBAREQ,DVBATYPE,DVBADA)
|
---|
59 | ..;proceed with fm delete
|
---|
60 | ..S DIK="^DVB(396.4,",DA=DVBADA D ^DIK
|
---|
61 | ..S DVBAREQ=0
|
---|
62 | S Y=DVBARQDT X ^DD("DD") S DVBAPDT=Y
|
---|
63 | S DVBARO=$P(^DVB(396.3,DVBAREQ,0),U,3)
|
---|
64 | S DVBARO=$S($D(^DIC(4,+DVBARO,0)):$P(^(0),U,1),1:"Unknown RO")
|
---|
65 | D STAT
|
---|
66 | Q
|
---|
67 | ;
|
---|
68 | PRINT ; ** Print an entry from list of requested exams **
|
---|
69 | S ZMSG(DVBABCNT)=DVBAEXM,DVBABCNT=DVBABCNT+1
|
---|
70 | S ZMSG(DVBABCNT)="Requested on "_DVBAPDT_" by "_DVBARO_" - "_DVBAST,DVBABCNT=DVBABCNT+1
|
---|
71 | S ZMSG(DVBABCNT)="",DVBABCNT=DVBABCNT+1
|
---|
72 | Q
|
---|