ONCCS ;Hines OIFO/GWB - Collaborative Staging ;06/23/10
;;2.2;ONCOLOGY;**1,4,5,10**;Jul 31, 2013;Build 20
;
N DIR,IEN,LV,PS,RC,X
W !
S DIR("A")=" Compute Collaborative Staging"
S DIR(0)="Y",DIR("B")="Yes" D ^DIR
I (Y=0)!(Y="")!(Y[U) S Y=$S(ONCOANS="A":"@4",1:"@0") Q
;
;re-initialize if 96703
I ($P($G(^ONCO(165.5,D0,2.2)),U,3)=96703),($P($G(^ONCO(165.5,D0,0)),U,16)>3120000) D Q
.D CLNCS
.W !!,"96703 is obsolete for primaries starting 2012!!!"
;
S IEN=D0
S $P(^ONCO(165.5,IEN,"CS1"),U,1,9)=U_U_U_U_U_U_U_U
S $P(^ONCO(165.5,IEN,"CS1"),U,11)=""
;
K INPUT,STORE,DISPLAY,STATUS,ONCSAPI
D CLEAR^ONCSAPIE(1)
;
S PS=$$GET1^DIQ(165.5,IEN,20,"I")
S:PS'="" PS=$TR($$GET1^DIQ(164,PS,1,"I"),".","")
S INPUT("SITE")=PS
;
S INPUT("HIST")=$E($$GET1^DIQ(165.5,IEN,22.3,"I"),1,4)
;
S INPUT("DIAGNOSIS_YEAR")=$E($$DATE^ONCACDU1($$GET1^DIQ(165.5,IEN,3,"I")),1,4)
;
;S INPUT("CSVER_ORIGINAL")=$P($$VERSION^ONCSAPIV,U,2)
S INPUT("CSVER_ORIGINAL")=$$GET1^DIQ(165.5,IEN,169.1,"I")
S:INPUT("CSVER_ORIGINAL")="" INPUT("CSVER_ORIGINAL")=$P($$VERSION^ONCSAPIV,U,2)
;
S INPUT("BEHAV")=$E($$GET1^DIQ(165.5,IEN,22.3,"I"),5)
;
S INPUT("GRADE")=$$GET1^DIQ(165.5,IEN,24,"I")
;
S INPUT("AGE")=$$AGEDX^ONCACDU1(IEN)
S:$L(INPUT("AGE"))=1 INPUT("AGE")="00"_INPUT("AGE")
S:$L(INPUT("AGE"))=2 INPUT("AGE")=0_INPUT("AGE")
;
S LV=$$GET1^DIQ(165.5,IEN,149,"I")_$$GET1^DIQ(165.5,IEN,151,"I")
S INPUT("LVI")=$S(LV[1:1,LV[2:1,LV[0:0,LV["X":9,1:8)
;
S INPUT("SIZE")=$$GET1^DIQ(165.5,IEN,29.2,"I")
;
S INPUT("EXT")=$$GET1^DIQ(165.5,IEN,30.2,"I")
;
S INPUT("EXTEVAL")=$$GET1^DIQ(165.5,IEN,29.1,"I")
;
S INPUT("NODES")=$$GET1^DIQ(165.5,IEN,31.1,"I")
;
S INPUT("LNPOS")=$$GET1^DIQ(165.5,IEN,32,"I")
S:$L(INPUT("LNPOS"))=1 INPUT("LNPOS")=0_INPUT("LNPOS")
;
S INPUT("LNEXAM")=$$GET1^DIQ(165.5,IEN,33,"I")
S:$L(INPUT("LNEXAM"))=1 INPUT("LNEXAM")=0_INPUT("LNEXAM")
;
S INPUT("NODESEVAL")=$$GET1^DIQ(165.5,IEN,32.1,"I")
;
S INPUT("METS")=$$GET1^DIQ(165.5,IEN,34.3,"I")
;
S INPUT("METSEVAL")=$$GET1^DIQ(165.5,IEN,34.4,"I")
;
S INPUT("SSF1")=$$GET1^DIQ(165.5,IEN,44.1,"I")
S INPUT("SSF2")=$$GET1^DIQ(165.5,IEN,44.2,"I")
S INPUT("SSF3")=$$GET1^DIQ(165.5,IEN,44.3,"I")
S INPUT("SSF4")=$$GET1^DIQ(165.5,IEN,44.4,"I")
S INPUT("SSF5")=$$GET1^DIQ(165.5,IEN,44.5,"I")
S INPUT("SSF6")=$$GET1^DIQ(165.5,IEN,44.6,"I")
S INPUT("SSF7")=$$GET1^DIQ(165.5,IEN,44.7,"I")
S INPUT("SSF8")=$$GET1^DIQ(165.5,IEN,44.8,"I")
S INPUT("SSF9")=$$GET1^DIQ(165.5,IEN,44.9,"I")
S INPUT("SSF10")=$$GET1^DIQ(165.5,IEN,44.101,"I")
S INPUT("SSF11")=$$GET1^DIQ(165.5,IEN,44.11,"I")
S INPUT("SSF12")=$$GET1^DIQ(165.5,IEN,44.12,"I")
S INPUT("SSF13")=$$GET1^DIQ(165.5,IEN,44.13,"I")
S INPUT("SSF14")=$$GET1^DIQ(165.5,IEN,44.14,"I")
S INPUT("SSF15")=$$GET1^DIQ(165.5,IEN,44.15,"I")
S INPUT("SSF16")=$$GET1^DIQ(165.5,IEN,44.16,"I")
S INPUT("SSF17")=$$GET1^DIQ(165.5,IEN,44.17,"I")
S INPUT("SSF18")=$$GET1^DIQ(165.5,IEN,44.18,"I")
S INPUT("SSF19")=$$GET1^DIQ(165.5,IEN,44.19,"I")
S INPUT("SSF20")=$$GET1^DIQ(165.5,IEN,44.201,"I")
S INPUT("SSF21")=$$GET1^DIQ(165.5,IEN,44.21,"I")
S INPUT("SSF22")=$$GET1^DIQ(165.5,IEN,44.22,"I")
S INPUT("SSF23")=$$GET1^DIQ(165.5,IEN,44.23,"I")
S INPUT("SSF24")=$$GET1^DIQ(165.5,IEN,44.24,"I")
I $P($G(^ONCO(165.5,IEN,"CS3")),U,1)'="" D
.S $P(^ONCO(165.5,IEN,"CS2"),U,19)=$P($G(^ONCO(165.5,IEN,"CS3")),U,1)
S INPUT("SSF25")=$$GET1^DIQ(165.5,IEN,44.25,"I")
S:INPUT("SSF25")="" INPUT("SSF25")=" "
;
S RC=$$CALC^ONCSAPI3(.ONCSAPI,.INPUT,.STORE,.DISPLAY,.STATUS)
I RC D PRTERRS^ONCSAPIE() R "Press return to continue",X:DTIME
;
S $P(^ONCO(165.5,IEN,"CS1"),U,1)=STORE("T")
S $P(^ONCO(165.5,IEN,"CS1"),U,2)=STORE("TDESCR")
S $P(^ONCO(165.5,IEN,"CS1"),U,3)=STORE("N")
S $P(^ONCO(165.5,IEN,"CS1"),U,4)=STORE("NDESCR")
S $P(^ONCO(165.5,IEN,"CS1"),U,5)=STORE("M")
S $P(^ONCO(165.5,IEN,"CS1"),U,6)=STORE("MDESCR")
S $P(^ONCO(165.5,IEN,"CS1"),U,7)=STORE("AJCC")
S $P(^ONCO(165.5,IEN,"CS1"),U,13)=STORE("AJCC7-T")
S $P(^ONCO(165.5,IEN,"CS1"),U,14)=STORE("AJCC7-TDESCR")
S $P(^ONCO(165.5,IEN,"CS1"),U,15)=STORE("AJCC7-N")
S $P(^ONCO(165.5,IEN,"CS1"),U,16)=STORE("AJCC7-NDESCR")
S $P(^ONCO(165.5,IEN,"CS1"),U,17)=STORE("AJCC7-M")
S $P(^ONCO(165.5,IEN,"CS1"),U,18)=STORE("AJCC7-MDESCR")
S $P(^ONCO(165.5,IEN,"CS1"),U,19)=STORE("AJCC7-STAGE")
S $P(^ONCO(165.5,IEN,"CS1"),U,8)=STORE("SS1977")
S $P(^ONCO(165.5,IEN,"CS1"),U,9)=STORE("SS2000")
S $P(^ONCO(165.5,IEN,"CS1"),U,11)=$G(STATUS("APIVER"))
S:$P(^ONCO(165.5,IEN,"CS1"),U,12)="" $P(^ONCO(165.5,IEN,"CS1"),U,12)=$G(STATUS("APIVER"))
D ^ONCPCS
I $P(RC,U,1)=0 W !," Collaborative Staging was successful" Q
I $P(RC,U,1)=-10 W !," CS server unavailable. Contact IRM." Q
I $P(RC,U,1)=-22 W !," Invalid COLLABORATIVE STAGING URL value in ONCOLOGY SITE PARAMETERS" Q
I $P(RC,U,1)<0 W !," You have encountered a CS error" G CSERR
I $P(RC,U,1)>0 W !," You have encountered a CS warning" G CSERR
;
CSERR N DIR,X
S DIR("A")="Do you wish to re-enter the CS input values"
S DIR(0)="Y",DIR("B")="Yes" D ^DIR
I Y=1 S Y="@292" Q
I Y[U S Y="@0" Q
S Y=$S(ONCOANS="A":"@4",1:"@0")
Q
;
INIT ;Initialize CS fields when HISTOLOGY (ICD-O-3) (165.5,22.3) changes
N FND,HISTNAM,HSTFLD,HSTI,LNS,LSC,MEL,OLDHST,SITEGRP,TEXT,Z,ZZHSTLST
;
I ($P($G(^ONCO(165.5,D0,0)),U,16)>3010000),(X=94211) D Q
.W !!,"94211 is obsolete for primaries starting 2001!!!"
.K X
I ($P($G(^ONCO(165.5,D0,0)),U,16)>3120000),(X=96703) D Q
.W !!,"96703 is obsolete for primaries starting 2012!!!"
.K X
I $P($G(^ONCO(165.5,D0,0)),U,16)>3100000 D I FND=1 Q
.S FND=0
.S ZZHSTLST="96543^96613^96623^96643^96653^96673^96703^96753^96843^97283^97293^97333^97503^97511^97521^97531^97543^97603^97643^98053^98353^98363^99603^99843^99873"
.F Z=1:1:27 I $P(ZZHSTLST,U,Z)=X S FND=1
.I FND=1 W !!,X," is obsolete for primaries starting 2010!!!" K X
S LNS=$O(^ONCO(164.2,"B","LUNG NOS",0))
S LSC=$O(^ONCO(164.2,"B","LUNG SMALL CELL",0))
S MEL=$O(^ONCO(164.2,"B","MELANOMA",0))
S SITEGRP=$P($G(^ONCO(165.5,D0,0)),U,1)
S OLDHST=$P($G(^ONCO(165.5,D0,2.2)),U,3)
I (OLDHST=96703),($P($G(^ONCO(165.5,D0,0)),U,16)>3120000) D CLNCS ;re-initialized if 96703, obsolete histology.
I X=OLDHST Q
I SITEGRP=LNS D
.I ($E(X,1,4)=8041)!($E(X,1,4)=8042)!($E(X,1,4)=8043)!($E(X,1,4)=8044)!($E(X,1,4)=8045)!($E(X,1,4)=8246) D W !!," SITE/GP changed to LUNG SMALL CELL",!
..S $P(^ONCO(165.5,D0,0),U,1)=LSC
..K ^ONCO(165.5,"B",LNS,D0)
..S ^ONCO(165.5,"B",LSC,D0)=""
I SITEGRP=LSC D
.I ($E(X,1,4)'=8041)&($E(X,1,4)'=8042)&($E(X,1,4)'=8043)&($E(X,1,4)'=8044)&($E(X,1,4)'=8045)&($E(X,1,4)'=8246) D W !!," SITE/GP changed to LUNG NOS",!
..S $P(^ONCO(165.5,D0,0),U,1)=LNS
..K ^ONCO(165.5,"B",LSC,D0)
..S ^ONCO(165.5,"B",LNS,D0)=""
I SITEGRP'=MEL D
.I (X'<87200)&(X<87910) D W !!," SITE/GP changed to MELANOMA",!
..S $P(^ONCO(165.5,D0,0),U,1)=MEL
..K ^ONCO(165.5,"B",SITEGRP,D0)
..S ^ONCO(165.5,"B",MEL,D0)=""
I SITEGRP=MEL D
.I (X<87200)!(X>87900) D
..W !
..W !," WARNING: SITE/GP and HISTOLOGY discrepancy"
..W !," SITE/GP = MELANOMA"
..W !," HISTOLOGY = ",$P(Y,U,1)," ",$P(Y,U,2)
..W !
I OLDHST="" Q
S HSTI=$$HIST^ONCFUNC(D0,.HSTFLD,.HISTNAM)
S TEXT=HISTNAM
S $P(^ONCO(165.5,D0,8),U,2)=$E(TEXT,1,40)
I $P($G(^ONCO(165.5,D0,0)),U,16)<3040000 Q
I $P($G(^ONCO(165.5,D0,0)),U,16)>3171231 D CL2018 Q
W !
W !?3,"You have changed the HISTOLOGY (ICD-O-3). This change may"
W !?3,"affect the validity of the COLLABORATIVE STAGING data."
W !?3,"Therefore, the CS fields have been initialized and need to"
W !?3,"be re-entered."
W !
CLNCS ;re-initialize if Histology 96703
F PIECE=1:1:12 S $P(^ONCO(165.5,D0,"CS"),U,PIECE)=""
F PIECE=1:1:19 S $P(^ONCO(165.5,D0,"CS1"),U,PIECE)=""
F PIECE=1:1:19 S $P(^ONCO(165.5,D0,"CS2"),U,PIECE)=""
S $P(^ONCO(165.5,D0,"CS3"),U,1)=""
K PIECE
Q
;
CL2018 ;
W !
W !?3,"You have changed the HISTOLOGY (ICD-O-3). This change may"
W !?3,"affect the validity of the SITE-SPECIFIC DATA ITEMS."
W !?3,"Therefore, the SSDi fields have been initialized and need to"
W !?3,"be re-entered."
W !
F PIECE=12:1:14 S $P(^ONCO(165.5,D0,2.3),U,PIECE)=""
F PIECE=1:1:35 S $P(^ONCO(165.5,D0,"SSD1"),U,PIECE)=""
F PIECE=1:1:36 S $P(^ONCO(165.5,D0,"SSD2"),U,PIECE)=""
F PIECE=1:1:34 S $P(^ONCO(165.5,D0,"SSD3"),U,PIECE)=""
F PIECE=1:1:33 S $P(^ONCO(165.5,D0,"SSD4"),U,PIECE)=""
K PIECE
D CLNCS
Q
CLEANUP ;Cleanup
K D0,ONCOANS,Y
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HONCCS 8554 printed Mar 13, 2024@23:33:30 Page 2
ONCCS ;Hines OIFO/GWB - Collaborative Staging ;06/23/10
+1 ;;2.2;ONCOLOGY;**1,4,5,10**;Jul 31, 2013;Build 20
+2 ;
+3 NEW DIR,IEN,LV,PS,RC,X
+4 WRITE !
+5 SET DIR("A")=" Compute Collaborative Staging"
+6 SET DIR(0)="Y"
SET DIR("B")="Yes"
DO ^DIR
+7 IF (Y=0)!(Y="")!(Y[U)
SET Y=$SELECT(ONCOANS="A":"@4",1:"@0")
QUIT
+8 ;
+9 ;re-initialize if 96703
+10 IF ($PIECE($GET(^ONCO(165.5,D0,2.2)),U,3)=96703)
IF ($PIECE($GET(^ONCO(165.5,D0,0)),U,16)>3120000)
Begin DoDot:1
+11 DO CLNCS
+12 WRITE !!,"96703 is obsolete for primaries starting 2012!!!"
End DoDot:1
QUIT
+13 ;
+14 SET IEN=D0
+15 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,1,9)=U_U_U_U_U_U_U_U
+16 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,11)=""
+17 ;
+18 KILL INPUT,STORE,DISPLAY,STATUS,ONCSAPI
+19 DO CLEAR^ONCSAPIE(1)
+20 ;
+21 SET PS=$$GET1^DIQ(165.5,IEN,20,"I")
+22 if PS'=""
SET PS=$TRANSLATE($$GET1^DIQ(164,PS,1,"I"),".","")
+23 SET INPUT("SITE")=PS
+24 ;
+25 SET INPUT("HIST")=$EXTRACT($$GET1^DIQ(165.5,IEN,22.3,"I"),1,4)
+26 ;
+27 SET INPUT("DIAGNOSIS_YEAR")=$EXTRACT($$DATE^ONCACDU1($$GET1^DIQ(165.5,IEN,3,"I")),1,4)
+28 ;
+29 ;S INPUT("CSVER_ORIGINAL")=$P($$VERSION^ONCSAPIV,U,2)
+30 SET INPUT("CSVER_ORIGINAL")=$$GET1^DIQ(165.5,IEN,169.1,"I")
+31 if INPUT("CSVER_ORIGINAL")=""
SET INPUT("CSVER_ORIGINAL")=$PIECE($$VERSION^ONCSAPIV,U,2)
+32 ;
+33 SET INPUT("BEHAV")=$EXTRACT($$GET1^DIQ(165.5,IEN,22.3,"I"),5)
+34 ;
+35 SET INPUT("GRADE")=$$GET1^DIQ(165.5,IEN,24,"I")
+36 ;
+37 SET INPUT("AGE")=$$AGEDX^ONCACDU1(IEN)
+38 if $LENGTH(INPUT("AGE"))=1
SET INPUT("AGE")="00"_INPUT("AGE")
+39 if $LENGTH(INPUT("AGE"))=2
SET INPUT("AGE")=0_INPUT("AGE")
+40 ;
+41 SET LV=$$GET1^DIQ(165.5,IEN,149,"I")_$$GET1^DIQ(165.5,IEN,151,"I")
+42 SET INPUT("LVI")=$SELECT(LV[1:1,LV[2:1,LV[0:0,LV["X":9,1:8)
+43 ;
+44 SET INPUT("SIZE")=$$GET1^DIQ(165.5,IEN,29.2,"I")
+45 ;
+46 SET INPUT("EXT")=$$GET1^DIQ(165.5,IEN,30.2,"I")
+47 ;
+48 SET INPUT("EXTEVAL")=$$GET1^DIQ(165.5,IEN,29.1,"I")
+49 ;
+50 SET INPUT("NODES")=$$GET1^DIQ(165.5,IEN,31.1,"I")
+51 ;
+52 SET INPUT("LNPOS")=$$GET1^DIQ(165.5,IEN,32,"I")
+53 if $LENGTH(INPUT("LNPOS"))=1
SET INPUT("LNPOS")=0_INPUT("LNPOS")
+54 ;
+55 SET INPUT("LNEXAM")=$$GET1^DIQ(165.5,IEN,33,"I")
+56 if $LENGTH(INPUT("LNEXAM"))=1
SET INPUT("LNEXAM")=0_INPUT("LNEXAM")
+57 ;
+58 SET INPUT("NODESEVAL")=$$GET1^DIQ(165.5,IEN,32.1,"I")
+59 ;
+60 SET INPUT("METS")=$$GET1^DIQ(165.5,IEN,34.3,"I")
+61 ;
+62 SET INPUT("METSEVAL")=$$GET1^DIQ(165.5,IEN,34.4,"I")
+63 ;
+64 SET INPUT("SSF1")=$$GET1^DIQ(165.5,IEN,44.1,"I")
+65 SET INPUT("SSF2")=$$GET1^DIQ(165.5,IEN,44.2,"I")
+66 SET INPUT("SSF3")=$$GET1^DIQ(165.5,IEN,44.3,"I")
+67 SET INPUT("SSF4")=$$GET1^DIQ(165.5,IEN,44.4,"I")
+68 SET INPUT("SSF5")=$$GET1^DIQ(165.5,IEN,44.5,"I")
+69 SET INPUT("SSF6")=$$GET1^DIQ(165.5,IEN,44.6,"I")
+70 SET INPUT("SSF7")=$$GET1^DIQ(165.5,IEN,44.7,"I")
+71 SET INPUT("SSF8")=$$GET1^DIQ(165.5,IEN,44.8,"I")
+72 SET INPUT("SSF9")=$$GET1^DIQ(165.5,IEN,44.9,"I")
+73 SET INPUT("SSF10")=$$GET1^DIQ(165.5,IEN,44.101,"I")
+74 SET INPUT("SSF11")=$$GET1^DIQ(165.5,IEN,44.11,"I")
+75 SET INPUT("SSF12")=$$GET1^DIQ(165.5,IEN,44.12,"I")
+76 SET INPUT("SSF13")=$$GET1^DIQ(165.5,IEN,44.13,"I")
+77 SET INPUT("SSF14")=$$GET1^DIQ(165.5,IEN,44.14,"I")
+78 SET INPUT("SSF15")=$$GET1^DIQ(165.5,IEN,44.15,"I")
+79 SET INPUT("SSF16")=$$GET1^DIQ(165.5,IEN,44.16,"I")
+80 SET INPUT("SSF17")=$$GET1^DIQ(165.5,IEN,44.17,"I")
+81 SET INPUT("SSF18")=$$GET1^DIQ(165.5,IEN,44.18,"I")
+82 SET INPUT("SSF19")=$$GET1^DIQ(165.5,IEN,44.19,"I")
+83 SET INPUT("SSF20")=$$GET1^DIQ(165.5,IEN,44.201,"I")
+84 SET INPUT("SSF21")=$$GET1^DIQ(165.5,IEN,44.21,"I")
+85 SET INPUT("SSF22")=$$GET1^DIQ(165.5,IEN,44.22,"I")
+86 SET INPUT("SSF23")=$$GET1^DIQ(165.5,IEN,44.23,"I")
+87 SET INPUT("SSF24")=$$GET1^DIQ(165.5,IEN,44.24,"I")
+88 IF $PIECE($GET(^ONCO(165.5,IEN,"CS3")),U,1)'=""
Begin DoDot:1
+89 SET $PIECE(^ONCO(165.5,IEN,"CS2"),U,19)=$PIECE($GET(^ONCO(165.5,IEN,"CS3")),U,1)
End DoDot:1
+90 SET INPUT("SSF25")=$$GET1^DIQ(165.5,IEN,44.25,"I")
+91 if INPUT("SSF25")=""
SET INPUT("SSF25")=" "
+92 ;
+93 SET RC=$$CALC^ONCSAPI3(.ONCSAPI,.INPUT,.STORE,.DISPLAY,.STATUS)
+94 IF RC
DO PRTERRS^ONCSAPIE()
READ "Press return to continue",X:DTIME
+95 ;
+96 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,1)=STORE("T")
+97 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,2)=STORE("TDESCR")
+98 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,3)=STORE("N")
+99 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,4)=STORE("NDESCR")
+100 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,5)=STORE("M")
+101 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,6)=STORE("MDESCR")
+102 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,7)=STORE("AJCC")
+103 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,13)=STORE("AJCC7-T")
+104 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,14)=STORE("AJCC7-TDESCR")
+105 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,15)=STORE("AJCC7-N")
+106 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,16)=STORE("AJCC7-NDESCR")
+107 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,17)=STORE("AJCC7-M")
+108 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,18)=STORE("AJCC7-MDESCR")
+109 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,19)=STORE("AJCC7-STAGE")
+110 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,8)=STORE("SS1977")
+111 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,9)=STORE("SS2000")
+112 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,11)=$GET(STATUS("APIVER"))
+113 if $PIECE(^ONCO(165.5,IEN,"CS1"),U,12)=""
SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,12)=$GET(STATUS("APIVER"))
+114 DO ^ONCPCS
+115 IF $PIECE(RC,U,1)=0
WRITE !," Collaborative Staging was successful"
QUIT
+116 IF $PIECE(RC,U,1)=-10
WRITE !," CS server unavailable. Contact IRM."
QUIT
+117 IF $PIECE(RC,U,1)=-22
WRITE !," Invalid COLLABORATIVE STAGING URL value in ONCOLOGY SITE PARAMETERS"
QUIT
+118 IF $PIECE(RC,U,1)<0
WRITE !," You have encountered a CS error"
GOTO CSERR
+119 IF $PIECE(RC,U,1)>0
WRITE !," You have encountered a CS warning"
GOTO CSERR
+120 ;
CSERR NEW DIR,X
+1 SET DIR("A")="Do you wish to re-enter the CS input values"
+2 SET DIR(0)="Y"
SET DIR("B")="Yes"
DO ^DIR
+3 IF Y=1
SET Y="@292"
QUIT
+4 IF Y[U
SET Y="@0"
QUIT
+5 SET Y=$SELECT(ONCOANS="A":"@4",1:"@0")
+6 QUIT
+7 ;
INIT ;Initialize CS fields when HISTOLOGY (ICD-O-3) (165.5,22.3) changes
+1 NEW FND,HISTNAM,HSTFLD,HSTI,LNS,LSC,MEL,OLDHST,SITEGRP,TEXT,Z,ZZHSTLST
+2 ;
+3 IF ($PIECE($GET(^ONCO(165.5,D0,0)),U,16)>3010000)
IF (X=94211)
Begin DoDot:1
+4 WRITE !!,"94211 is obsolete for primaries starting 2001!!!"
+5 KILL X
End DoDot:1
QUIT
+6 IF ($PIECE($GET(^ONCO(165.5,D0,0)),U,16)>3120000)
IF (X=96703)
Begin DoDot:1
+7 WRITE !!,"96703 is obsolete for primaries starting 2012!!!"
+8 KILL X
End DoDot:1
QUIT
+9 IF $PIECE($GET(^ONCO(165.5,D0,0)),U,16)>3100000
Begin DoDot:1
+10 SET FND=0
+11 SET ZZHSTLST="96543^96613^96623^96643^96653^96673^96703^96753^96843^97283^97293^97333^97503^97511^97521^97531^97543^97603^97643^98053^98353^98363^99603^99843^99873"
+12 FOR Z=1:1:27
IF $PIECE(ZZHSTLST,U,Z)=X
SET FND=1
+13 IF FND=1
WRITE !!,X," is obsolete for primaries starting 2010!!!"
KILL X
End DoDot:1
IF FND=1
QUIT
+14 SET LNS=$ORDER(^ONCO(164.2,"B","LUNG NOS",0))
+15 SET LSC=$ORDER(^ONCO(164.2,"B","LUNG SMALL CELL",0))
+16 SET MEL=$ORDER(^ONCO(164.2,"B","MELANOMA",0))
+17 SET SITEGRP=$PIECE($GET(^ONCO(165.5,D0,0)),U,1)
+18 SET OLDHST=$PIECE($GET(^ONCO(165.5,D0,2.2)),U,3)
+19 ;re-initialized if 96703, obsolete histology.
IF (OLDHST=96703)
IF ($PIECE($GET(^ONCO(165.5,D0,0)),U,16)>3120000)
DO CLNCS
+20 IF X=OLDHST
QUIT
+21 IF SITEGRP=LNS
Begin DoDot:1
+22 IF ($EXTRACT(X,1,4)=8041)!($EXTRACT(X,1,4)=8042)!($EXTRACT(X,1,4)=8043)!($EXTRACT(X,1,4)=8044)!($EXTRACT(X,1,4)=8045)!($EXTRACT(X,1,4)=8246)
Begin DoDot:2
+23 SET $PIECE(^ONCO(165.5,D0,0),U,1)=LSC
+24 KILL ^ONCO(165.5,"B",LNS,D0)
+25 SET ^ONCO(165.5,"B",LSC,D0)=""
End DoDot:2
WRITE !!," SITE/GP changed to LUNG SMALL CELL",!
End DoDot:1
+26 IF SITEGRP=LSC
Begin DoDot:1
+27 IF ($EXTRACT(X,1,4)'=8041)&($EXTRACT(X,1,4)'=8042)&($EXTRACT(X,1,4)'=8043)&($EXTRACT(X,1,4)'=8044)&($EXTRACT(X,1,4)'=8045)&($EXTRACT(X,1,4)'=8246)
Begin DoDot:2
+28 SET $PIECE(^ONCO(165.5,D0,0),U,1)=LNS
+29 KILL ^ONCO(165.5,"B",LSC,D0)
+30 SET ^ONCO(165.5,"B",LNS,D0)=""
End DoDot:2
WRITE !!," SITE/GP changed to LUNG NOS",!
End DoDot:1
+31 IF SITEGRP'=MEL
Begin DoDot:1
+32 IF (X'<87200)&(X<87910)
Begin DoDot:2
+33 SET $PIECE(^ONCO(165.5,D0,0),U,1)=MEL
+34 KILL ^ONCO(165.5,"B",SITEGRP,D0)
+35 SET ^ONCO(165.5,"B",MEL,D0)=""
End DoDot:2
WRITE !!," SITE/GP changed to MELANOMA",!
End DoDot:1
+36 IF SITEGRP=MEL
Begin DoDot:1
+37 IF (X<87200)!(X>87900)
Begin DoDot:2
+38 WRITE !
+39 WRITE !," WARNING: SITE/GP and HISTOLOGY discrepancy"
+40 WRITE !," SITE/GP = MELANOMA"
+41 WRITE !," HISTOLOGY = ",$PIECE(Y,U,1)," ",$PIECE(Y,U,2)
+42 WRITE !
End DoDot:2
End DoDot:1
+43 IF OLDHST=""
QUIT
+44 SET HSTI=$$HIST^ONCFUNC(D0,.HSTFLD,.HISTNAM)
+45 SET TEXT=HISTNAM
+46 SET $PIECE(^ONCO(165.5,D0,8),U,2)=$EXTRACT(TEXT,1,40)
+47 IF $PIECE($GET(^ONCO(165.5,D0,0)),U,16)<3040000
QUIT
+48 IF $PIECE($GET(^ONCO(165.5,D0,0)),U,16)>3171231
DO CL2018
QUIT
+49 WRITE !
+50 WRITE !?3,"You have changed the HISTOLOGY (ICD-O-3). This change may"
+51 WRITE !?3,"affect the validity of the COLLABORATIVE STAGING data."
+52 WRITE !?3,"Therefore, the CS fields have been initialized and need to"
+53 WRITE !?3,"be re-entered."
+54 WRITE !
CLNCS ;re-initialize if Histology 96703
+1 FOR PIECE=1:1:12
SET $PIECE(^ONCO(165.5,D0,"CS"),U,PIECE)=""
+2 FOR PIECE=1:1:19
SET $PIECE(^ONCO(165.5,D0,"CS1"),U,PIECE)=""
+3 FOR PIECE=1:1:19
SET $PIECE(^ONCO(165.5,D0,"CS2"),U,PIECE)=""
+4 SET $PIECE(^ONCO(165.5,D0,"CS3"),U,1)=""
+5 KILL PIECE
+6 QUIT
+7 ;
CL2018 ;
+1 WRITE !
+2 WRITE !?3,"You have changed the HISTOLOGY (ICD-O-3). This change may"
+3 WRITE !?3,"affect the validity of the SITE-SPECIFIC DATA ITEMS."
+4 WRITE !?3,"Therefore, the SSDi fields have been initialized and need to"
+5 WRITE !?3,"be re-entered."
+6 WRITE !
+7 FOR PIECE=12:1:14
SET $PIECE(^ONCO(165.5,D0,2.3),U,PIECE)=""
+8 FOR PIECE=1:1:35
SET $PIECE(^ONCO(165.5,D0,"SSD1"),U,PIECE)=""
+9 FOR PIECE=1:1:36
SET $PIECE(^ONCO(165.5,D0,"SSD2"),U,PIECE)=""
+10 FOR PIECE=1:1:34
SET $PIECE(^ONCO(165.5,D0,"SSD3"),U,PIECE)=""
+11 FOR PIECE=1:1:33
SET $PIECE(^ONCO(165.5,D0,"SSD4"),U,PIECE)=""
+12 KILL PIECE
+13 DO CLNCS
+14 QUIT
CLEANUP ;Cleanup
+1 KILL D0,ONCOANS,Y