1 | ONCOCFR ;Hines OIFO/GWB - RADIOLOGY CASEFINDING; 7/21/93
|
---|
2 | ;;2.11;ONCOLOGY;**13,24,25,26,27,34,37,39,46**;Mar 07, 1995;Build 39
|
---|
3 | ;
|
---|
4 | ST ;Start RAD/NUC MED PATIENT (70) file search
|
---|
5 | W @IOF
|
---|
6 | W !!!?10,"******** RADIOLOGY: SUSPICIOUS MALIGNANCY SEARCH ********",!!
|
---|
7 | W ?10,"This option searches the RAD/NUC MED PATIENT file and will",!
|
---|
8 | W ?10,"add to your 'suspense list' in the ONCOLOGY PATIENT file.",!
|
---|
9 | MG S MG=0,D0=0 F S D0=$O(^RA(78.3,"B",D0)) Q:D0="" S XX=$TR(D0,"malig","MALIG") I XX["MALIG" S MG=$O(^(D0,0)) Q
|
---|
10 | G T:MG W !!?15,"MALIGNACY diagnostic code is not defined in the"
|
---|
11 | W !?15,"Radiology Diagnostic Codes File (#78.3). Please"
|
---|
12 | W !?15,"REQUEST Radiology to code suspicious MALIGNANCIES"
|
---|
13 | W !!!?10,"MUST terminate Radiology Search - no meaningful search code" G EX
|
---|
14 | ;
|
---|
15 | T ;Start Date/End Date
|
---|
16 | S OSP=$O(^ONCO(160.1,"C",DUZ(2),0))
|
---|
17 | K DIR
|
---|
18 | S Y=$P(^ONCO(160.1,OSP,0),U,6)
|
---|
19 | I Y="" S Y=DT
|
---|
20 | S Y=$E(Y,4,5)_"-"_$E(Y,6,7)_"-"_($E(Y,1,3)+1700)
|
---|
21 | S DIR("B")=Y
|
---|
22 | W !
|
---|
23 | S DIR("A")=" Start Date",DIR(0)="D" D ^DIR
|
---|
24 | G EX:Y<1!(Y[U)
|
---|
25 | S (SD,X)=Y D DD^%DT W " ",Y S WSD=Y
|
---|
26 | K DIR
|
---|
27 | S DIR("A")=" End Date",DIR(0)="D" D ^DIR
|
---|
28 | G EX:Y=""!(Y[U)
|
---|
29 | I Y<SD!(Y>DT) W *7,?40,"Invalid date sequence!!",! G T
|
---|
30 | S $P(^ONCO(160.1,OSP,0),U,6)=Y
|
---|
31 | S (ED,X)=Y D DD^%DT W " ",Y,!
|
---|
32 | S WED=Y
|
---|
33 | S DIR("A")=" Dates OK",DIR("B")="Y",DIR(0)="Y" D ^DIR
|
---|
34 | G T:'Y,EX:Y[U!(Y="")
|
---|
35 | W !!?15,"We will find suspicious malignancies"
|
---|
36 | W !?15,"From: ",WSD_" To: "_WED,!
|
---|
37 | W ! S ONCO("SD")=SD,ONCO("ED")=ED,ONCO("MG")=MG
|
---|
38 | ;
|
---|
39 | TSK ;Create task
|
---|
40 | K IO("Q") S %ZIS="Q" D ^%ZIS I POP S ONCOUT="" G EX
|
---|
41 | I '$D(IO("Q")) D SER^ONCOCFR G EX
|
---|
42 | S ZTRTN="SER^ONCOCFR",ZTSAVE("ONCO*")="",ZTDESC="ONCOLOGY RADIOLOGY SEARCH" D ^%ZTLOAD G EX
|
---|
43 | ;
|
---|
44 | SER ;Search RAD/NUC MED PATIENT (70) file/Set multidivisional variables
|
---|
45 | S AFFDIV=$G(DUZ(2)),ONCDIVSP=$O(^ONCO(160.1,"C",AFFDIV,""))
|
---|
46 | I ONCDIVSP="" W !!,"User does not have an associated DIVISION!",!! G EX
|
---|
47 | F Z=0:0 S Z=$O(^ONCO(160.1,ONCDIVSP,6,Z)) Q:Z'>0 S AFFDIV=AFFDIV_U_$G(^ONCO(160.1,ONCDIVSP,6,Z,0))
|
---|
48 | K ^TMP("ONCO",$J) S (XSD,XDT)=ONCO("SD")-.1111111,XED=ONCO("ED")+.9999999,MG=ONCO("MG") F J=0,1,2 S ^TMP("ONCO",$J,J)=0
|
---|
49 | F S XDT=$O(^RADPT("AR",XDT)) Q:XDT=""!(XDT>XED) S D0=0 F S D0=$O(^RADPT("AR",XDT,D0)) Q:D0'>0 S D1=$O(^RADPT("AR",XDT,D0,0)) D
|
---|
50 | .S D2=0 F S D2=$O(^RADPT(D0,"DT",D1,"P",D2)) Q:D2'>0 D
|
---|
51 | ..S RA0=$G(^(D2,0)) I RA0="" Q
|
---|
52 | ..S PC13=$P(RA0,U,13) I PC13="" Q
|
---|
53 | ..S MG=$P($G(^RA(78.3,PC13,0)),U,1),MG=$TR(MG,"malig","MALIG")
|
---|
54 | ..I MG["MALIG" S RA($P(^RADPT(D0,0),U))=$P(XDT,".")_U_$P(RA0,U,2)_U_D1
|
---|
55 | ..S D3=0 F S D3=$O(^RADPT(D0,"DT",D1,"P",D2,"DX",D3)) Q:D3'>0 D
|
---|
56 | ...S RASDC0=$G(^(D3,0)) I RASDC0="" Q
|
---|
57 | ...S PC1=$P(RASDC0,U,1) I PC1="" Q
|
---|
58 | ...S MG=$P($G(^RA(78.3,PC1,0)),U,1),MG=$TR(MG,"malig","MALIG")
|
---|
59 | ...I MG["MALIG" S RA($P(^RADPT(D0,0),U))=$P(XDT,".")_U_$P(RA0,U,2)_U_D1
|
---|
60 | ;
|
---|
61 | CK ;Check ONCOLOGY PATIENT (160) file
|
---|
62 | GT S XX=0 F S XX=$O(RA(XX)) Q:XX="" D
|
---|
63 | .D DIV Q:DVMTCH=0
|
---|
64 | .S ^TMP("ONCO",$J,0)=^TMP("ONCO",$J,0)+1
|
---|
65 | .S HT=0,X=XX_";DPT("
|
---|
66 | .S XDT=$P(RA(XX),U),XD0=$O(^ONCO(160,"B",X,0)),ONCIEN=XD0
|
---|
67 | .I XD0="" D MR Q
|
---|
68 | .I XD0'="" S ONCDIVS="",ONCS="" F S ONCS=$O(^ONCO(160,XD0,"SUS","C",ONCS)) Q:ONCS'>0 S ONCDIVS=ONCDIVS_U_ONCS
|
---|
69 | .I ONCDIVS'[DUZ(2) D
|
---|
70 | ..S (D0,DA)=XD0 I '$D(^ONCO(165.5,"C",XD0)) D N2 Q
|
---|
71 | ..I $D(^ONCO(165.5,"C",XD0)) D CKP I 'HT D N2 Q
|
---|
72 | .Q
|
---|
73 | ;
|
---|
74 | RPT ; Generate report
|
---|
75 | I $G(^TMP("ONCO",$J,2))=0 S DIC="^ONCO(160.1,",BY="[ONCO NEG-REPORT]"
|
---|
76 | E D
|
---|
77 | .S DIC="^ONCO(160,"
|
---|
78 | .S BY="@75,INTERNAL(#3),75,.01"
|
---|
79 | .S FR=DUZ(2)_","_ONCO("SD"),TO=DUZ(2)_","_ONCO("ED")
|
---|
80 | .S FLDS="[ONCO RAD-CASEFINDING RPT]"
|
---|
81 | .Q
|
---|
82 | ;
|
---|
83 | PRT ; Call print routine
|
---|
84 | S L=0,IOP=ION,DIOEND="D WP^ONCOCFR"
|
---|
85 | D EN1^DIP G EX
|
---|
86 | ;
|
---|
87 | WP ; Wrap-up report
|
---|
88 | W !!!?30,"RADIOLOGY CASEFINDING RESULTS"
|
---|
89 | W !!?30,^TMP("ONCO",$J,0)_" Cases found",!?30,^TMP("ONCO",$J,1)_" New Patients added",!?30,^TMP("ONCO",$J,2)_" New cases added",!!
|
---|
90 | Q
|
---|
91 | ;
|
---|
92 | CKP ;CHECK Primary File
|
---|
93 | S XD1=0 F S XD1=$O(^ONCO(165.5,"C",XD0,XD1)) Q:XD1'>0 I $$DIV^ONCFUNC(XD1)=DUZ(2) D
|
---|
94 | .S XDX=$P($G(^ONCO(165.5,XD1,0)),U,16) I XDX=XDT S HT=1 Q
|
---|
95 | .S XDX=$P($G(^ONCO(165.5,XD1,1)),U,10) I XDX=XDT S HT=1 Q
|
---|
96 | .Q
|
---|
97 | Q
|
---|
98 | ;
|
---|
99 | MR ;Create new ONCOLOGY PATIENT (160) record
|
---|
100 | S DIC="^ONCO(160,",DIC(0)="Z" D FILE^DICN S (ONCIEN,D0,DA)=+Y,^TMP("ONCO",$J,1)=^TMP("ONCO",$J,1)+1
|
---|
101 | N2 ;Create new SUSPENSE (160,75) record
|
---|
102 | K DD,DO
|
---|
103 | S DA(1)=ONCIEN,DIC="^ONCO(160,"_DA(1)_",""SUS"","
|
---|
104 | S DIC(0)="L",DIC("P")=$P(^DD(160,75,0),U,2),X=XDT
|
---|
105 | D FILE^DICN
|
---|
106 | K DIE S DA(1)=ONCIEN,DIE="^ONCO(160,"_DA(1)_",""SUS"","
|
---|
107 | S (ONCSUB,DA)=+Y,RDP=$P(RA(XX),U,2)
|
---|
108 | S DR="1///^S X=DT;2///^S X=""RA"";3////^S X=DUZ(2);6////^S X=RDP" D ^DIE
|
---|
109 | S ^TMP("ONCO",$J,2)=^TMP("ONCO",$J,2)+1
|
---|
110 | Q
|
---|
111 | ;
|
---|
112 | EX ;EXIT
|
---|
113 | K ONCO,ED,HT,MG,OSP,RA,RA0,RASDC0,RAO,SD,WED,WSD,XX,DIJ,DP,D,D0
|
---|
114 | K %T,%ZISOS
|
---|
115 | K AFFDIV,DVMTCH,INST,ONCDIVSP,RE1,Z,^TMP("ONCO",$J) D ^%ZISC
|
---|
116 | Q
|
---|
117 | ;
|
---|
118 | DIV ;Division match
|
---|
119 | S DVMTCH=1,INST="",RE1=$P(RA(XX),U,3) I RE1="" Q
|
---|
120 | S INST=$P($G(^RADPT(XX,"DT",RE1,0)),U,3) I INST="" Q
|
---|
121 | I AFFDIV'[INST S DVMTCH=0 Q
|
---|
122 | Q
|
---|