VistA-WorldVistAEHR/r/ONCOLOGY-ONC/ONCOCOF.m

141 lines
4.5 KiB
Mathematica

ONCOCOF ;Hines OIFO/GWB - COMPUTED FIELDS FOR FOLLOW-UP ;12/13/99
;;2.11;ONCOLOGY;**13,25,28,39,41,45**;Mar 07, 1995
NM ;HOSPITAL NAME (160.1,.01)
S XD0=$O(^ONCO(160.1,"C",DUZ(2),0))
I XD0="" S XD0=$O(^ONCO(160.1,0))
I XD0'="" S X=$P(^ONCO(160.1,XD0,0),U,1)
G EX
;
ADD ;STREET ADDRESS (160.1,.02)
S XD0=$O(^ONCO(160.1,"C",DUZ(2),0))
I XD0="" S XD0=$O(^ONCO(160.1,0))
I XD0'="" S X=$P(^ONCO(160.1,XD0,0),U,2)
G EX
;
ZIP ;ZIPCODE (160.1,.03) Compute city and state.
S XD0=$O(^ONCO(160.1,"C",DUZ(2),0))
I XD0="" S XD0=$O(^ONCO(160.1,0))
I XD0'="" S X=$P(^ONCO(160.1,XD0,0),U,3)
S X=$G(^VIC(5.11,+X,0)) G EX:X=""
S CTP=$P(X,U,3),STP=$P(^VIC(5.1,+CTP,0),U,2) G EX:STP=""
S ST=$P(^DIC(5,+STP,0),U,2) G EX:ST=""
S X=$P(X,U,2)_","_ST_" "_$P(X,U)
G EX
;
FR ;[RS Registry Summary Reports - Follow Up]
N SITECODE,SITENAME,AA,AB,AC,AD,AE,AF,CC,AS,PP,VV,SS,SFC,PSFC
F SITENAME="CERVIX","SKIN" D
.S DIC=164.2,DIC(0)="O",X=SITENAME
.D ^DIC K DIC,X
.S SITECODE(SITENAME)=+Y
K ^TMP($J)
S (T,AB,AC,AS,AF,AN,AA,CC)=0
D TOTCASE
S T=AA+AN
S X0=0 F S X0=$O(^TMP($J,X0)) Q:X0'>0 D
.S ST=$P($G(^ONCO(165.5,X0,0)),U)
.S MO=$$HIST^ONCFUNC(X0)
.S SUMSTG=$P($G(^ONCO(165.5,X0,2)),U,17)
.S BEH=$E(MO,5)
.D SUB
S AA=AA-AB-AC-AS-CC
S FR=T_U_AB_U_AC_U_AS
S (AB,AC,AD,AE,AF)=0
S X0=0 F S X0=$O(^TMP($J,X0)) Q:X0'>0 S PP=$P(^ONCO(165.5,X0,0),U,2),VV=$G(^ONCO(160,PP,1)),ONCODF=$P(VV,U,2),AS=$P(VV,U,7),VV=$P(VV,U) D F
S AC=AA-AB
I AA S PB=$J(AB/AA,0,2)*100,PC=$J(AC/AA,0,2)*100,PD=$J(AD/AA,0,2)*100,PE=$J(AE/AA,0,2)*100
E S (PB,PC,PD,PE)="N/A" ;avoid division by zero
I AC S PA=$J(AD/AC,0,2)*100,PL=$J(AE/AC,0,2)*100
E S (PA,PL)="N/A" ;avoid division by zero
S SFC=AA-AE
S PSFC=$J(SFC/AA,0,2)*100
S FR=FR_U_AF_U_AN_U_AA_U_AB_U_AC_U_PC_U_PB_U_AD_U_PD_U_AE_U_PE_U_PA_U_PL_U_SFC_U_PSFC_U_CC
S AS=$O(^ONCO(160.1,"C",DUZ(2),0))
I AS="" S AS=$O(^ONCO(160.1,0))
S ^ONCO(160.1,AS,"FR")=FR
;
TT ;RUN FOLLOWUP RATE FORM
I ONCOS("F")=1 S DIC=160.2,DIC(0)="",X="FOLLOWUP RATE REPORT 1" D ^DIC K DIC,X
I ONCOS("F")=2 S DIC=160.2,DIC(0)="",X="FOLLOWUP RATE REPORT" D ^DIC K DIC,X
S IOP=ION
S DIWF="^ONCO(160.2,"_(+Y)_",1,",DIWF(1)="160.1"
S BY="NUMBER"
S (FR,TO)=$O(^ONCO(160.1,"C",DUZ(2),0))
I FR="" S (FR,TO)=$O(^ONCO(160.1,0))
W !!
D EN2^DIWF K DIWF,BY,FR,TO S IOP=ION D ^%ZIS
Q
;
TOTCASE ;Total cases
N VASITE,ONCOPARS,REFDATE,XD0,EOF,XD1
S VASITE=$O(^ONCO(160.1,"C",DUZ(2),0))
I VASITE="" S VASITE=$O(^ONCO(160.1,0))
S ONCOPARS=$G(^ONCO(160.1,VASITE,0))
S REFDATE=$P(ONCOPARS,U,4)
S XD0=REFDATE,EOF=0
S MINUS5=DT-50000
I ONCOS("F")=2,MINUS5>REFDATE S XD0=MINUS5
F D Q:EOF
.S XD1=""
.F S XD1=$O(^ONCO(165.5,"ADX",XD0,XD1)) Q:'XD1 I $$DIV^ONCFUNC(XD1)=DUZ(2) D
..S DATEDX=$P($G(^ONCO(165.5,XD1,0)),U,16)
..S COC=$P($G(^ONCO(165.5,XD1,0)),U,4)
..I COC>2 S AN=AN+1
..;I (COC>2)!((COC=0)&(DATEDX>3051231)) S AN=AN+1
..E S AA=AA+1,^TMP($J,XD1)=""
.S XD0=$O(^ONCO(165.5,"ADX",XD0))
.I 'XD0 S EOF=1
Q
;
SUB ;Subtract non-reportables
I ST="" S AA=AA-1 D KIL Q ;No SITE/GP
I BEH=0!(BEH=1) S AB=AB+1 D KIL Q ;Less benign/borderline
I ST=SITECODE("CERVIX"),BEH=2 S AC=AC+1 D KIL Q ;Less carcinoma in situof CERVIX
I ST=SITECODE("SKIN"),MO>80699,MO<80944,(BEH=0)!(BEH=1)!(BEH=2)!(BEH=3),(SUMSTG=0)!(SUMSTG=1) S AS=AS+1 D KIL Q ;Less in situ/localized basal and squamous cell carcinoma of skin
S DATEDX=$P($G(^ONCO(165.5,X0,0)),U,16)
S COC=$P($G(^ONCO(165.5,X0,0)),U,4)
I (COC=0)&(DATEDX>3051231) S CC=CC+1 D KIL ;Less 2006+ CLASS OF CASE 0 cases
Q
;
F ;Foreign residents and LTF
I VV&'AS S X1=$O(^ONCO(160,PP,"F","AA",0)) I X1'="" S LC=$O(^(X1,0)),FS=$P(^ONCO(160,PP,"F",LC,0),U,6) I FS=8 S AF=AF+1,AA=AA-1 D KIL Q
I 'VV S AB=AB+1 D KIL Q
S X2=ONCODF,X1=DT D ^%DTC I X<91.25 S AD=AD+1 Q
S AE=AE+1
Q
;
KIL ;Remove entry
K ^TMP($J,X0)
Q
;
SS ;Suspense Status display
S XD0=D0 D DLC^ONCOCRF,DATEOT^ONCOES S LC=X
W:X'="" ?25,"Date Last Contact: ",LC
D SDD^ONCOCOM
Q
;
MTS ;Multiple Tumor Status at Death (last followup)
N D1
G EX:$P($G(^ONCO(160,D0,1)),U) ;quit if alive
S D1=$O(^ONCO(160,D0,"F","AA",0)) I D1'="" S D1=$O(^(D1,0)) D TS:D1'="" Q
;
TS ;Display SITE/GP (165.5,.01): LAST TUMOR STATUS (165.5,95)
N ONCOJ,ONCOK,XY
I '$D(^ONCO(165.5,"C",D0)) W ?30,"No primaries defined",! Q
S PD0=0,ONCOJ=0
F S PD0=$O(^ONCO(165.5,"C",D0,PD0)) Q:PD0'>0 I $$DIV^ONCFUNC(PD0)=DUZ(2) S ONCOJ=ONCOJ+1,XY(ONCOJ)=PD0
W !
F ONCOK=1:1:ONCOJ D
.N PD0,ST,TS
.S PD0=XY(ONCOK)
.S ST=$P(^ONCO(164.2,$P(^ONCO(165.5,PD0,0),U),0),U)
.S TS=+$P($G(^ONCO(165.5,PD0,7)),U,6)
.S TS=$P($G(^ONCO(164.42,TS,0)),U)
.W !,ST_": "_TS
.W:ONCOK=ONCOJ !
Q
;
EX ;EXIT
K PA,PB,PC,PD,PE,PL,X0
Q