| 1 | ONCOANC0 ;Hines OIFO/GWB - BUILDS DATA ARRAY FOR NCDB CALL FOR DATA ;8/21/93
 | 
|---|
| 2 |  ;;2.11;ONCOLOGY;**1,5,6,25,26**;Mar 07, 1995
 | 
|---|
| 3 | AASMAIN S X=0 X ^%ZOSF("RM") ;disable autowrap
 | 
|---|
| 4 |  N AAS160,AAS165,AAS1655,AASACYR,AASAVD0,AASBLNK,AASCASE,AASD0160,AASD1,AASD1A,AASDPT,AASDTCV,AASRI,AASTAT,AASZERO,ONCOIEN
 | 
|---|
| 5 |  K ^TMP($J)
 | 
|---|
| 6 |  S AASBLNK=$J("",255),AASZERO="0000000000",MLHIX=0,AASDT=""
 | 
|---|
| 7 |  S AASDTCV="S:AASX'="""" AASDT=$E(AASX,4,5)_$E(AASX,6,7)_(1700+$E(AASX,1,3)) S AASX=AASDT S:AASX="""" AASX=$E(AASBLNK,1,8) S:$E(AASDT,1,2)=""00"" AASDT=99_$E(AASDT,3,8) S:$E(AASDT,3,4)=""00"" AASDT=$E(AASDT,1,2)_99_$E(AASDT,5,8) S AASX=AASDT"
 | 
|---|
| 8 |  S (D0,AASAVD0)=0
 | 
|---|
| 9 |  I '$D(AASDXH) S AASDXH=$$ASKNUM^ONCOU("Enter DAM 6-digit hospital registry ID","0:999999:0") G AASQUIT:$D(DIRUT)
 | 
|---|
| 10 |  S:$L(AASDXH)<6 AASDXH=$E(AASZERO,1,6-$L(AASDXH))_AASDXH
 | 
|---|
| 11 |  S AASRI=6_AASDXH_0
 | 
|---|
| 12 |  I $G(ONCOREP)!$G(ONCOREQ) G DEVQUE
 | 
|---|
| 13 |  D HANG^ONCOANC3
 | 
|---|
| 14 |  I $D(DUOUT) G AASQUIT^ONCOANC0 ;    check for bailout
 | 
|---|
| 15 |  G AASRETN
 | 
|---|
| 16 | DEVQUE ;Device/Queuing Ctrl
 | 
|---|
| 17 |  K IO("Q") S %ZIS="MQ" D ^%ZIS I POP S ONCOUT="" G AASQUIT
 | 
|---|
| 18 |  S ONCOFF="S DN=1,ONCOY="""" I $Y>(IOSL-5) R:IOST[""C-"" !!,""Press Return to Continue, '^' to escape: "",ONCOY:DTIME S:'$T ONCOY=U S:ONCOY=U ONCOUT=1,DN=0 Q:$D(ONCOUT)  D:DN HEAD^ONCOANC2 K ONCOY",(PG,ONCOECNT)=0
 | 
|---|
| 19 |  I $D(IO("Q")) S (ZTSAVE("DIC"),ZTSAVE("AAS*"),ZTSAVE("ONCO*"),ZTSAVE("MLHIX"),ZTSAVE("PG"))="",ZTRTN="AASRETN^ONCOANC0",ZTDESC="Oncology ACOS Report" D ^%ZTLOAD K ZTSK G AASQUIT
 | 
|---|
| 20 |  U IO
 | 
|---|
| 21 | AASRETN ;$O Thru "AY" Xref
 | 
|---|
| 22 |  S AASAY1=AASAY,AASAY=$E(AASAY,3,4)
 | 
|---|
| 23 |  S D0=0 F  S D0=$O(^ONCO(165.5,"AY",AASAY1,D0)) Q:D0=""  Q:$D(ONCOUT)  D GET
 | 
|---|
| 24 |  W:'($G(ONCOREP)!($G(ONCOREQ))) !!,"   <<  Total records created:  ",MLHIX,"  >>",!!
 | 
|---|
| 25 |  I ($G(ONCOREP)) W !!,"   <<  Total records reported on:  ",MLHIX,"  >>",!!
 | 
|---|
| 26 |  I ($G(ONCOREQ)) W !!,"   <<  Total records reviewed:  ",MLHIX,"  >>",!!,"  <<  Total incomplete records:  ",ONCOECNT,"  >>",!!
 | 
|---|
| 27 |  G AASQUIT
 | 
|---|
| 28 | GET ;main loop-proces primary
 | 
|---|
| 29 |  S AAS1655("N0")=$S($D(^ONCO(165.5,D0,0))#2:^(0),1:"")
 | 
|---|
| 30 |  S AASCASE=$P(AAS1655("N0"),U,4) I AASCASE=""!(AASCASE<0)!(AASCASE'?1N) Q
 | 
|---|
| 31 |  S AASACYR=$E($P(AAS1655("N0"),U,7),3,4) I AASACYR'=AASAY Q
 | 
|---|
| 32 |  S AAS1655("N1")=$S($D(^ONCO(165.5,D0,1))#2:^(1),1:""),AAS1655("N2")=$S($D(^ONCO(165.5,D0,2))#2:^(2),1:""),AAS1655("N3")=$S($D(^ONCO(165.5,D0,3))#2:^(3),1:"")
 | 
|---|
| 33 |  I $D(^ONCO(165.5,D0,4,0))#2 F AASX=0:0 S AASX=$O(^ONCO(165.5,D0,4,AASX)) Q:'AASX  S AAS165("D0")=AASX
 | 
|---|
| 34 |  S:'$D(AAS165("D0")) AAS165("D0")=0
 | 
|---|
| 35 |  S AAS1655("N4")=$S($D(^ONCO(165.5,D0,4,AAS165("D0"),0))#2:^(0),1:"")
 | 
|---|
| 36 |  S AAS1655("N5")=$S($D(^ONCO(165.5,D0,5))#2:^(5),1:""),AAS1655("N24")=$S($D(^ONCO(165.5,D0,24))#2:^(24),1:""),AAS1655("N7")=$S($D(^ONCO(165.5,D0,7))#2:^(7),1:"")
 | 
|---|
| 37 | STDIS ;Disqualifies incomplete data and data outside the abstract range for the State data Disk
 | 
|---|
| 38 |  S AASPP=1 I AASTYPNC="A" D  I AASPP="" K AASPP Q
 | 
|---|
| 39 |  .S BYR("B")=$G(BYR("B")),BYR("E")=$G(BYR("E"))
 | 
|---|
| 40 |  .S:$P(AAS1655("N7"),U,2)'=3 AASPP=""
 | 
|---|
| 41 |  .S BYR("A")=$P(AAS1655("N7"),U)
 | 
|---|
| 42 |  .S:BYR("A")<BYR("B")!(BYR("A")>BYR("E")) AASPP=""
 | 
|---|
| 43 |  K AASPP
 | 
|---|
| 44 |  S AASD0160=$P(AAS1655("N0"),U,2) S:AASD0160'?.6N AASD0160=0
 | 
|---|
| 45 |  S AAS160("N0")=$S($D(^ONCO(160,AASD0160,0))#2:^(0),1:"")
 | 
|---|
| 46 |  I $D(^ONCO(160,AASD0160,"F",0))#2 F AASD1=0:0 S AASD1=$O(^ONCO(160,AASD0160,"F",AASD1)) Q:'AASD1  S AASD1A=AASD1
 | 
|---|
| 47 |  S:'$D(AASD1A) AASD1A=0
 | 
|---|
| 48 |  S AAS160("NF")=$S($D(^ONCO(160,AASD0160,"F",AASD1A,0))#2:^(0),1:""),AAS160("N1")=$S($D(^ONCO(160,AASD0160,1))#2:^(1),1:"")
 | 
|---|
| 49 |  S:D0'=AASD0160 AASAVD0=D0,D0=AASD0160
 | 
|---|
| 50 |  D SETUP^ONCOES S AASDPT=@ONCOX1
 | 
|---|
| 51 |  ;D ST^ONCOES S AASTAT=$S(X="":"  ",1:X)
 | 
|---|
| 52 |  S:AASAVD0>0 D0=AASAVD0,AASAVD0=0
 | 
|---|
| 53 | AASRL ;NCDB REC LAYOUT
 | 
|---|
| 54 |  ; RECORD TYPE = I   REGISTRY TYPE = 3 
 | 
|---|
| 55 |  D PID^ONCOCOP ;     PATIENT ID = 1ST LETTER OF LAST NAME+4DIGITS OF SSN*
 | 
|---|
| 56 |  S:$L(X)<8 X=X_$E(AASZERO,1,8-$L(X)) S ^TMP($J,D0,76)=AASTYPNC_X_3_AASRI
 | 
|---|
| 57 |  D:AASTYPNC="A" NAME^ONCOANC4
 | 
|---|
| 58 | AASDXAD ;POSTAL CODE AT DIAGNOSIS, COUNTY AT DIAGNOSIS, STATE AT DIAGNOSIS,
 | 
|---|
| 59 |  ;CITY/TOWN AT DIAGNOSIS
 | 
|---|
| 60 |  S AASZIP=$P(AAS1655("N1"),U,2)
 | 
|---|
| 61 |  S:$L(AASZIP)<9 AASZIP=AASZIP_$E(AASBLNK,1,9-$L(AASZIP))
 | 
|---|
| 62 |  S AASCNTY=$G(^VIC(5.1,+$P(AAS1655("N1"),U,3),0))
 | 
|---|
| 63 |  S AASCNTY=+$P(AASCNTY,U,3)
 | 
|---|
| 64 |  S AASCNTY=$S((AASCNTY>0):AASCNTY,1:999)
 | 
|---|
| 65 |  S AASCNTY="T"_$E(AASZERO,1,3-$L(AASCNTY))_AASCNTY
 | 
|---|
| 66 |  S AASTAT=$P(AAS1655("N1"),U,4)
 | 
|---|
| 67 |  S AASTAT=$S(AASTAT="":"  ",1:$P(^ONCO(160.15,AASTAT,0),U,1))
 | 
|---|
| 68 |  S AASCITY=$P(AAS1655("N1"),U,12) S:AASCITY="" AASCITY="CITY UNKNOWN"
 | 
|---|
| 69 |  S:$L(AASCITY)<20 AASCITY=AASCITY_$E(AASBLNK,1,20-$L(AASCITY))
 | 
|---|
| 70 |  S AASCITY=$E(AASCITY,1,20)
 | 
|---|
| 71 |  S ^TMP($J,D0,76)=^TMP($J,D0,76)_AASCITY_AASTAT_$E(AASCNTY,2,4)_AASZIP_$E(AASBLNK,1,7)
 | 
|---|
| 72 |  S AASMS=$S(AAS1655("N1")'="":$P(AAS1655("N1"),U,5),1:"")
 | 
|---|
| 73 |  I AASMS=""!(AASMS<1)!(AASMS>9)!(AASMS>5&(AASMS<9)) S AASMS=" "
 | 
|---|
| 74 |  D RSAR^ONCOANC4 ;RACE,SEX,AGE,RELIGION
 | 
|---|
| 75 |  G AASTUM^ONCOANC2
 | 
|---|
| 76 | AASQUIT D ^%ZISC
 | 
|---|
| 77 |  D CLEANUP^ONCOANC9
 | 
|---|
| 78 |  Q
 | 
|---|
| 79 | NOCON S AASTYPNC="I" D LINE^ONCOANCQ Q
 | 
|---|