- ONC2PS01 ;Hines OIFO/RVD - Pre&Post-Install Routine for Patch ONC*2.2*1 ;07/1/13
- ;;2.2;ONCOLOGY;**1**;Jul 31, 2013;Build 8
- ;
- N RC
- ;DC production server.
- S RC=$$UPDCSURL^ONCSAPIU("http://127.0.0.1:1757/cgi_bin/oncsrv.exe")
- ;DC test server, comment out for final release.
- ;S RC=$$UPDCSURL^ONCSAPIU("http://127.0.0.1:1755/cgi_bin/oncsrv.exe")
- ;
- D C3E,CS,COC,LYM,METS,PR6,PR3,EXTCODE,CHEM,OSG,AJSGHLP,HIST,CONN,USS
- Q
- ;
- CS ;check if the server is up. If down, instruct IRM to re-run CS conversion.
- S RC=$$CHKVER^ONCSAPIV() I RC'=0 D Q ;quit if server is down.
- .D BMES^XPDUTL("OncoTrax server is down...re-run the conversion in programmer mode, type D CS^ONC2PS01")
- ;
- W !!," Converting CS 0204 cases to 0205..."
- S IEN=0 F CNT=1:1 S IEN=$O(^ONCO(165.5,IEN)) Q:IEN'>0 W:CNT#100=0 "." D
- .S DATEDX=$P($G(^ONCO(165.5,IEN,0)),U,16)
- .S CSDERIVED=$P($G(^ONCO(165.5,IEN,"CS1")),U,11)
- .I DATEDX>3031231 D
- ..I CSDERIVED="" S $P(^ONCO(165.5,IEN,"CS3"),U,2)="" Q
- ..I $P($G(^ONCO(165.5,IEN,"CS3")),U,2)=0 Q
- ..I $E(CSDERIVED,4)<5 D ^ONC2PS1A S $P(^ONCO(165.5,IEN,"EDITS"),U,2)=14
- K CNT,CSDERIVED,DATEDX,HIST,HIST14,IEN,SITE
- Q
- COC ;add 'or persistence'
- N ONCDF
- S ONCDF=$P($G(^ONCO(165.3,12,0)),U,2)
- S:(ONCDF["w recurrence")&($L(ONCDF)<70) $P(^ONCO(165.3,12,0),U,2)=ONCDF_" or persistence"
- Q
- ;
- LYM ;convert X to 8 or 9 for Lymphatic vessel invasion
- W !!," Converting Lymphatic Vessel Invasion 'BLANK' or 'X' to 8 or 9..."
- N IEN,ONCH,ONCHIST,ONCX
- F IEN=0:0 S IEN=$O(^ONCO(165.5,IEN)) Q:IEN'>0 D
- .S ONCH=$$HIST^ONCFUNC(IEN),ONCHIST=$E(ONCH,1,4)
- .S ONCX=$P($G(^ONCO(165.5,IEN,2)),U,19)
- .I (ONCX="X")!(ONCX="") D
- ..I (ONCHIST>9589)&(ONCHIST<9993) S $P(^ONCO(165.5,IEN,2),U,19)=8
- ..E S $P(^ONCO(165.5,IEN,2),U,19)=9
- Q
- ;
- METS ;If METS AT DX (CS) (#165.5,34.3) equals "98" then the following
- ;four fields must be set to "8":
- ; METS AT DX-BONE (#165.5,34.31), METS AT DX-BRAIN (#165.5,34.32)
- ; METS AT DX-LIVER (#165.5,34.33) METS AT DX-LUNG (#165.5,34.34)
- D BMES^XPDUTL(" Converting METS AT DX-fields...")
- N IEN,ONCMDX
- F IEN=0:0 S IEN=$O(^ONCO(165.5,IEN)) Q:IEN'>0 D
- .S ONCMDX=$P($G(^ONCO(165.5,IEN,"CS")),U,3) I ONCMDX'=98 Q
- .S $P(^ONCO(165.5,IEN,"CS1"),U,20)=8,$P(^ONCO(165.5,IEN,"CS1"),U,21)=8
- .S $P(^ONCO(165.5,IEN,"CS1"),U,22)=8,$P(^ONCO(165.5,IEN,"CS1"),U,23)=8
- Q
- ;
- PRE1 ;environment check code, entry point of pre-init
- N ONCVER
- S ONCVER=$$VERSION^XPDUTL("ONC")
- I ONCVER<2.11 D BMES^XPDUTL("Your system must have Oncology v2.11 in order to continue with this installation!!!") S XPDABORT=1 Q
- ;clean-up file 160.16
- N ONCI
- K ^ONCO(160.16) ;delete old entries of file #160.16, to be replaced in p1.
- D BMES^XPDUTL("Done removing old entries in file #160.16")
- VER ;update version number to 2.2 from 2.11
- S ONCI=159.999
- F S ONCI=$O(^DD(ONCI)) Q:(ONCI>160.666)!(ONCI="") S:$D(^DD(ONCI,0,"VR")) ^DD(ONCI,0,"VR")=2.2
- S ONCI=163.999
- F S ONCI=$O(^DD(ONCI)) Q:(ONCI>169.999)!(ONCI="") S:$D(^DD(ONCI,0,"VR")) ^DD(ONCI,0,"VR")=2.2
- S:$D(^DD(5.1,0,"VR")) ^DD(5.1,0,"VR")=2.2
- S:$D(^DD(5.11,0,"VR")) ^DD(5.11,0,"VR")=2.2
- VER1 ;update oncology version status and Current Version
- N ONCII,ONCVRNM,ONCVRNO,ONCCVR,DA,DIE,DR
- I '$D(^ONCO(169.99,"B","ONCOLOGY V2.2")) D
- .S ONCII=$O(^ONCO(169.99,999999999),-1)
- .S ONCVRNO=$P($G(^ONCO(169.9,ONCII,0)),U,2)
- .S DIE="^ONCO(169.99,",DA=ONCII+1,ONCVRNM="ONCOLOGY V2.2"
- .S DR=".01///^S X=ONCVRNM;.02///2.2;1///2.11" D ^DIE
- D BMES^XPDUTL("Done setting version # to 2.2 in Oncology files!!!")
- ;update Current Version of the package file
- N ONCPAC,DA
- S DIE="^DIC(9.4,",DA=$O(^DIC(9.4,"B","ONCOLOGY",0)),DR="13///^S X=2.2" D ^DIE
- Q
- ;
- PR6 ;process form for FOLLOWUP RATE REPORT
- N ONCIEN,VAL
- S ONCIEN=$O(^ONCO(160.2,"B","FOLLOWUP RATE REPORT",0))
- D BMES^XPDUTL("Updating file #160.2 for followup rate form...")
- I '$G(ONCIEN) D BMES^XPDUTL("No FOLLOWUP RATE REPORT form in your system, please inform your ONCOLOGY Dept...") Q
- F NNN=1:1 S VAL=$P($T(DAT6+NNN),";;",2) Q:VAL="" S ^ONCO(160.2,ONCIEN,1,NNN,0)=VAL
- D BMES^XPDUTL("Done updating file #160.2 for FOLLOWUP RATE REPORT form!!!")
- Q
- PR3 ;process form FOLLOWUP RATE REPORT 1
- N ONCIEN3,VAL
- S ONCIEN3=$O(^ONCO(160.2,"B","FOLLOWUP RATE REPORT 1",0))
- D BMES^XPDUTL("Updating file #160.2 for followup rate report 1 form...")
- I '$G(ONCIEN3) D BMES^XPDUTL("No FOLLOWUP RATE REPORT 1 form in your system, please inform your ONCOLOGY Dept...") Q
- F NNN=1:1 S VAL=$P($T(DAT3+NNN),";;",2) Q:VAL="" S ^ONCO(160.2,ONCIEN3,1,NNN,0)=VAL
- D BMES^XPDUTL("Done updating file #160.2 for FOLLOWUP RATE REPORT 1 form!!!")
- Q
- ;
- EXTCODE ;Correct the extension text for C69.5 in SEER CODE SET (#164.5) file
- ;Code 80 was set to "Adjacent Bone", should be "Further Contiguous Ext"
- S DA=81,DA(1)=173,DIE="^ONCO(164.5,"_DA(1)_",1,"
- S ONCNWTXT="Further contiguous extension",DR=".01///^S X=ONCNWTXT"
- D ^DIE
- K ONCNWTXT
- Q
- ;
- CHEM ;Add 4 new & update 2 existing entries for CHEMO DRUGS (#164.18) file
- ; Add these 4 entries: AXITINIB,PRALATREXATE,RUXOLITINIB,PAZOPANIB
- ; Modify these 2 entries: RAD001, IMATINIB MESYLATE
- N ONCCMIEN,D0,DA,DD,DIC,X,Y K DD,DO
- D AXIN,PRAL,RUXO,PAZO,AFIN,DESA Q
- K ONCCMIEN Q
- AXIN Q:$D(^ONCO(164.18,"B","AXITINIB"))
- S DIC="^ONCO(164.18,",DIC(0)="L",X="AXITINIB",DIC("DR")="1///013736"
- D FILE^DICN I Y=-1 Q
- S ONCCMIEN=+Y,DA(1)=ONCCMIEN,DIC="^ONCO(164.18,"_DA(1)_",1,",DIC(0)="L"
- F X="AG013736","INLYTA" D FILE^DICN
- Q
- PRAL Q:$D(^ONCO(164.18,"B","PRALATREXATE"))
- S DIC="^ONCO(164.18,",DIC(0)="L",X="PRALATREXATE",DIC("DR")="1///488180"
- D FILE^DICN I Y=-1 Q
- S ONCCMIEN=+Y,DA(1)=ONCCMIEN,DIC="^ONCO(164.18,"_DA(1)_",1,",DIC(0)="L"
- F X="FOLOTYN" D FILE^DICN
- Q
- RUXO Q:$D(^ONCO(164.18,"B","RUXOLITINIB"))
- S DIC="^ONCO(164.18,",DIC(0)="L",X="RUXOLITINIB",DIC("DR")="1///018424"
- D FILE^DICN
- Q
- PAZO Q:$D(^ONCO(164.18,"B","PAZOPANIB"))
- S DIC="^ONCO(164.18,",DIC(0)="L",X="PAZOPANIB",DIC("DR")="1///444731"
- D FILE^DICN I Y=-1 Q
- S ONCCMIEN=+Y,DA(1)=ONCCMIEN,DIC="^ONCO(164.18,"_DA(1)_",1,",DIC(0)="L"
- F X="VOTRIENT" D FILE^DICN
- Q
- AFIN S ONCCMIEN=$O(^ONCO(164.18,"B","RAD001","")) I ONCCMIEN="" Q
- S DA(1)=ONCCMIEN,DIC="^ONCO(164.18,"_DA(1)_",1,",DIC(0)="L"
- F X="AFINITOR","CERTICAN","EVEROLIMUS" D
- .Q:$D(^ONCO(164.18,ONCCMIEN,1,"B",X))
- .D FILE^DICN
- Q
- DESA S ONCCMIEN=$O(^ONCO(164.18,"B","IMATINIB MESYLATE","")) I ONCCMIEN="" Q
- Q:$D(^ONCO(164.18,ONCCMIEN,1,"B","DESATINIB"))
- S DA(1)=ONCCMIEN,DIC="^ONCO(164.18,"_DA(1)_",1,",DIC(0)="L"
- F X="DESATINIB" D FILE^DICN
- Q
- ;
- OSG ;Add 2 new entries for OTHER STAGING GROUPS FOR ONCOLOGY (#164.3) file
- N ONCOSIEN,D0,DA,DD,DIC,X,Y K DD,DO
- D BCLC,MELD
- K ONCOSIEN Q
- BCLC Q:$D(^ONCO(164.3,"B","BCLC"))
- S DIC="^ONCO(164.3,",DIC(0)="L",X="BCLC" D FILE^DICN I Y=-1 Q
- S ONCOSIEN=+Y,DA(1)=ONCOSIEN,DIC="^ONCO(164.3,"_DA(1)_",1,",DIC(0)="L"
- F X=20 D FILE^DICN
- Q
- MELD Q:$D(^ONCO(164.3,"B","MELD"))
- S DIC="^ONCO(164.3,",DIC(0)="L",X="MELD" D FILE^DICN I Y=-1 Q
- S ONCOSIEN=+Y,DA(1)=ONCOSIEN,DIC="^ONCO(164.3,"_DA(1)_",1,",DIC(0)="L"
- F X=20 D FILE^DICN
- Q
- ;
- AJSGHLP ;Correct typos in AJCC STAGING GROUPS (#164.33) 6TH EDITION (N) CODE
- ; HELP (5 node) for BREAST (entry #23): O's should be 0's (zeroes)
- S ^ONCO(164.33,23,5,8,0)="N0(i+) No regional lymph node metastasis histologically, positive IHC,"
- S ^ONCO(164.33,23,5,12,0)="N0(mol+) No regional lymph node metastasis histologically, positive"
- Q
- HIST ;Edit names and synonyms of two Histology entries in Histology ICD-O-3
- ;file (169.3), entries 97511 and 97513
- S DIC="^ONCO(169.3,",X=97511 D ^DIC
- I Y'=-1 S DIE="^ONCO(169.3,",DA=+Y,DR=".01///LANGERHANS CELL HISTIOCYTOSIS, NOS (<2010 CASES)" D ^DIE
- S DIC="^ONCO(169.3,",X=97513 D ^DIC
- I Y'=-1 S ONCH3IEN=+Y,DIE="^ONCO(169.3,",DA=+Y,DR=".01///LANGERHANS CELL HISTIOCYTOSIS, NOS" D ^DIE
- I $D(^ONCO(169.3,ONCH3IEN,1,1,0)) K DA,DIC,DIE,DR,ONCH3IEN,Y Q
- S DA(1)=ONCH3IEN,DIC="^ONCO(169.3,"_DA(1)_",1,",DIC(0)="L"
- F X="LANGERHANS CELL GRANULOMATOSIS","HISTIOCYTOSIS X, NOS" D FILE^DICN
- K DA,DIC,DIE,DR,ONCH3IEN,Y
- Q
- ;
- CONN ;Change West Haven to Connecticut HCS
- ;Change NAME (160.19,.02) for WEST HAVEN VA MEDICAL CENTER to CONNECTICUT HCS
- S DIC="^ONCO(160.19,",X=6160765 D ^DIC
- I Y'=-1 S DIE="^ONCO(160.19,",DA=+Y,DR=".02///CONNECTICUT HCS" D ^DIE
- K DA,DIC,DIE,DR,Y
- Q
- ;
- USS ;Add valid user for server updates
- S IEN=0
- N ONCMAIL,ONCJ,DA,DR,DIC,DIE
- S ONCMAIL("DORN")="rayeanne.dorn@domain.ext"
- S ONCMAIL("DAYON")="rufino.dayon@domain.ext"
- S ONCMAIL("KNOEPFLE")="rich.knoepfle@domain.ext"
- S ONCMAIL("WALLER")="kathleen.waller@domain.ext"
- S DIC(0)="L"
- F S IEN=$O(^ONCO(160.1,IEN)) Q:IEN'>0 F ONCJ="DORN","DAYON","KNOEPFLE","WALLER" D
- .S DA(1)=IEN,(DIE,DIC)="^ONCO(160.1,DA(1),""SEU"","
- .I '$D(^ONCO(160.1,IEN,"SEU","B",ONCJ)) D
- ..S DIC("DR")="2///^S X=ONCMAIL(ONCJ)",X=ONCJ D FILE^DICN
- .I $D(^ONCO(160.1,IEN,"SEU","B",ONCJ)) D
- ..S DA=$O(^ONCO(160.1,IEN,"SEU","B",ONCJ,0))
- ..S DR="2///^S X=ONCMAIL(ONCJ)" D ^DIE
- Q
- ;
- C3E ;3e SS1977
- N I55
- F I55=0:0 S I55=$O(^ONCO(165.5,I55)) Q:I55'>0 D
- .I ($P($G(^ONCO(165.5,I55,"CS3")),U,3)["3e SS1977")!($P($G(^ONCO(165.5,I55,"CS3")),U,3)["3d SS1977") D
- ..S $P(^ONCO(165.5,I55,"CS3"),U,2)=""
- ..S $P(^ONCO(165.5,I55,"CS3"),U,3)=""
- Q
- ;
- DAT3 ;data for FOLLOWUP RATE REPORT
- ;;|SETTAB(68)|
- ;;|NOW|
- ;; FOLLOW-UP RATE FOR ALL PATIENTS (LIVING AND DEAD) NUMBER PERCENT
- ;;
- ;; Total patients from registry reference date |TOTAL#||TAB|100%
- ;;
- ;; 1. Less benign/borderline cases - |BENIGN|
- ;; 2. Less Carcinoma in situ cervix cases - |CERVIX|
- ;; 3. Less in situ/localized basal and squamous - |LOCAL BASAL|
- ;; cell carcinoma of skin cases "
- ;; 4. Less foreign residents - |FOREIGN|
- ;; 5. Less non-analytic cases - |NONANALYTIC|
- ;; 6. Less (ALL) Class of Case 00 case - |CC|
- ;; 7. Less (ALL) Patient Age 100+ case - |P100|
- ;;
- ;; SUBTOTAL CASES = ANALYTIC CASES (A) |ANALYTIC||TAB|100%
- ;; Class of Case 10-22
- ;;
- ;; 1. Less number dead (B) |DEAD||TAB||%DEAD|%
- ;;
- ;; SUBTOTAL CASES (NUMBER LIVING) (C) |LIVING||TAB||%LIVING|%
- ;;
- ;; 1. Less number current (known to be alive
- ;; in the last 15 months) (D) |CURRENT||TAB||%CURRENT-TOTAL|%
- ;;
- ;; TOTAL (LOST TO FOLLOW UP OR NOT CURRENT) (E) |LTF| *|TAB||%LTF-TOTAL|%
- ;; (* should be less than 20%)
- ;;
- ;; Successful follow-up currency (all patients) (F) |SFC| **|TAB||%SFC|
- ;; (** should be 80%)
- ;;========================================================================
- ;;
- ;; FOLLOW UP RATE FOR LIVING PATIENTS ONLY NUMBER PERCENT
- ;;
- ;; Enter the total number from Line C |LIVING||TAB|100%
- ;; Subtract the total number from Line D - |CURRENT||TAB||%CURRENT-ALIVE|%
- ;; Total lost/not current of living patients - |LTF||TAB||%LTF-ALIVE|%
- DAT6 ;data for FOLLOWUP RATE REPORT 1
- ;;|SETTAB(68)|
- ;;|NOW|
- ;; FOLLOW-UP RATE FOR ALL PATIENTS (LIVING AND DEAD) NUMBER PERCENT
- ;;
- ;; Total patients diagnosed within last 5 years
- ;; or from registry reference date, whichever is
- ;; shorter |TOTAL#||TAB|100%
- ;;
- ;; 1. Less benign/borderline cases - |BENIGN|
- ;; 2. Less carcinoma in situ cervix cases - |CERVIX|
- ;; 3. Less in situ/localized basal and squamous - |LOCAL BASAL|
- ;; cell carcinoma of skin cases
- ;; 4. Less foreign residents - |FOREIGN|
- ;; 5. Less non-analytic - |NONANALYTIC|
- ;; 6. Less (ALL) Class of Case 00 case - |CC|
- ;; 7. Less (ALL) Patient Age 100+ case - |P100|
- ;;
- ;; SUBTOTAL CASES = ANALYTIC CASES (A) |ANALYTIC||TAB|100%
- ;; Class of Case 10-22
- ;;
- ;; 1. Less number dead (B) |DEAD||TAB||%DEAD|%
- ;;
- ;; SUBTOTAL CASES (NUMBER LIVING) (C) |LIVING||TAB||%LIVING|%
- ;;
- ;; 1. Less number current (known to be alive
- ;; in the last 15 months) (D) |CURRENT||TAB||%CURRENT-TOTAL|%
- ;;
- ;; TOTAL (LOST TO FOLLOW UP OR NOT CURRENT) (E) |LTF| *|TAB||%LTF-TOTAL|%
- ;;
- ;; (* should be less than 10%)
- ;;
- ;; Successful follow-up currency (all patients) (F) |SFC| **|TAB||%SFC|%
- ;; (** should be 90%)
- ;;=========================================================================
- ;;
- ;; FOLLOW UP RATE FOR LIVING PATIENTS ONLY NUMBER PERCENT
- ;;
- ;; Enter the total number from Line C |LIVING||TAB|100%
- ;; Subtract the total number from Line D - |CURRENT||TAB||%CURRENT-ALIVE|%
- ;; Total lost/not current of living patients - |LTF||TAB||%LTF-ALIVE|%
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HONC2PS01 13170 printed Mar 13, 2025@21:26:31 Page 2
- ONC2PS01 ;Hines OIFO/RVD - Pre&Post-Install Routine for Patch ONC*2.2*1 ;07/1/13
- +1 ;;2.2;ONCOLOGY;**1**;Jul 31, 2013;Build 8
- +2 ;
- +3 NEW RC
- +4 ;DC production server.
- +5 SET RC=$$UPDCSURL^ONCSAPIU("http://127.0.0.1:1757/cgi_bin/oncsrv.exe")
- +6 ;DC test server, comment out for final release.
- +7 ;S RC=$$UPDCSURL^ONCSAPIU("http://127.0.0.1:1755/cgi_bin/oncsrv.exe")
- +8 ;
- +9 DO C3E
- DO CS
- DO COC
- DO LYM
- DO METS
- DO PR6
- DO PR3
- DO EXTCODE
- DO CHEM
- DO OSG
- DO AJSGHLP
- DO HIST
- DO CONN
- DO USS
- +10 QUIT
- +11 ;
- CS ;check if the server is up. If down, instruct IRM to re-run CS conversion.
- +1 ;quit if server is down.
- SET RC=$$CHKVER^ONCSAPIV()
- IF RC'=0
- Begin DoDot:1
- +2 DO BMES^XPDUTL("OncoTrax server is down...re-run the conversion in programmer mode, type D CS^ONC2PS01")
- End DoDot:1
- QUIT
- +3 ;
- +4 WRITE !!," Converting CS 0204 cases to 0205..."
- +5 SET IEN=0
- FOR CNT=1:1
- SET IEN=$ORDER(^ONCO(165.5,IEN))
- if IEN'>0
- QUIT
- if CNT#100=0
- WRITE "."
- Begin DoDot:1
- +6 SET DATEDX=$PIECE($GET(^ONCO(165.5,IEN,0)),U,16)
- +7 SET CSDERIVED=$PIECE($GET(^ONCO(165.5,IEN,"CS1")),U,11)
- +8 IF DATEDX>3031231
- Begin DoDot:2
- +9 IF CSDERIVED=""
- SET $PIECE(^ONCO(165.5,IEN,"CS3"),U,2)=""
- QUIT
- +10 IF $PIECE($GET(^ONCO(165.5,IEN,"CS3")),U,2)=0
- QUIT
- +11 IF $EXTRACT(CSDERIVED,4)<5
- DO ^ONC2PS1A
- SET $PIECE(^ONCO(165.5,IEN,"EDITS"),U,2)=14
- End DoDot:2
- End DoDot:1
- +12 KILL CNT,CSDERIVED,DATEDX,HIST,HIST14,IEN,SITE
- +13 QUIT
- COC ;add 'or persistence'
- +1 NEW ONCDF
- +2 SET ONCDF=$PIECE($GET(^ONCO(165.3,12,0)),U,2)
- +3 if (ONCDF["w recurrence")&($LENGTH(ONCDF)<70)
- SET $PIECE(^ONCO(165.3,12,0),U,2)=ONCDF_" or persistence"
- +4 QUIT
- +5 ;
- LYM ;convert X to 8 or 9 for Lymphatic vessel invasion
- +1 WRITE !!," Converting Lymphatic Vessel Invasion 'BLANK' or 'X' to 8 or 9..."
- +2 NEW IEN,ONCH,ONCHIST,ONCX
- +3 FOR IEN=0:0
- SET IEN=$ORDER(^ONCO(165.5,IEN))
- if IEN'>0
- QUIT
- Begin DoDot:1
- +4 SET ONCH=$$HIST^ONCFUNC(IEN)
- SET ONCHIST=$EXTRACT(ONCH,1,4)
- +5 SET ONCX=$PIECE($GET(^ONCO(165.5,IEN,2)),U,19)
- +6 IF (ONCX="X")!(ONCX="")
- Begin DoDot:2
- +7 IF (ONCHIST>9589)&(ONCHIST<9993)
- SET $PIECE(^ONCO(165.5,IEN,2),U,19)=8
- +8 IF '$TEST
- SET $PIECE(^ONCO(165.5,IEN,2),U,19)=9
- End DoDot:2
- End DoDot:1
- +9 QUIT
- +10 ;
- METS ;If METS AT DX (CS) (#165.5,34.3) equals "98" then the following
- +1 ;four fields must be set to "8":
- +2 ; METS AT DX-BONE (#165.5,34.31), METS AT DX-BRAIN (#165.5,34.32)
- +3 ; METS AT DX-LIVER (#165.5,34.33) METS AT DX-LUNG (#165.5,34.34)
- +4 DO BMES^XPDUTL(" Converting METS AT DX-fields...")
- +5 NEW IEN,ONCMDX
- +6 FOR IEN=0:0
- SET IEN=$ORDER(^ONCO(165.5,IEN))
- if IEN'>0
- QUIT
- Begin DoDot:1
- +7 SET ONCMDX=$PIECE($GET(^ONCO(165.5,IEN,"CS")),U,3)
- IF ONCMDX'=98
- QUIT
- +8 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,20)=8
- SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,21)=8
- +9 SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,22)=8
- SET $PIECE(^ONCO(165.5,IEN,"CS1"),U,23)=8
- End DoDot:1
- +10 QUIT
- +11 ;
- PRE1 ;environment check code, entry point of pre-init
- +1 NEW ONCVER
- +2 SET ONCVER=$$VERSION^XPDUTL("ONC")
- +3 IF ONCVER<2.11
- DO BMES^XPDUTL("Your system must have Oncology v2.11 in order to continue with this installation!!!")
- SET XPDABORT=1
- QUIT
- +4 ;clean-up file 160.16
- +5 NEW ONCI
- +6 ;delete old entries of file #160.16, to be replaced in p1.
- KILL ^ONCO(160.16)
- +7 DO BMES^XPDUTL("Done removing old entries in file #160.16")
- VER ;update version number to 2.2 from 2.11
- +1 SET ONCI=159.999
- +2 FOR
- SET ONCI=$ORDER(^DD(ONCI))
- if (ONCI>160.666)!(ONCI="")
- QUIT
- if $DATA(^DD(ONCI,0,"VR"))
- SET ^DD(ONCI,0,"VR")=2.2
- +3 SET ONCI=163.999
- +4 FOR
- SET ONCI=$ORDER(^DD(ONCI))
- if (ONCI>169.999)!(ONCI="")
- QUIT
- if $DATA(^DD(ONCI,0,"VR"))
- SET ^DD(ONCI,0,"VR")=2.2
- +5 if $DATA(^DD(5.1,0,"VR"))
- SET ^DD(5.1,0,"VR")=2.2
- +6 if $DATA(^DD(5.11,0,"VR"))
- SET ^DD(5.11,0,"VR")=2.2
- VER1 ;update oncology version status and Current Version
- +1 NEW ONCII,ONCVRNM,ONCVRNO,ONCCVR,DA,DIE,DR
- +2 IF '$DATA(^ONCO(169.99,"B","ONCOLOGY V2.2"))
- Begin DoDot:1
- +3 SET ONCII=$ORDER(^ONCO(169.99,999999999),-1)
- +4 SET ONCVRNO=$PIECE($GET(^ONCO(169.9,ONCII,0)),U,2)
- +5 SET DIE="^ONCO(169.99,"
- SET DA=ONCII+1
- SET ONCVRNM="ONCOLOGY V2.2"
- +6 SET DR=".01///^S X=ONCVRNM;.02///2.2;1///2.11"
- DO ^DIE
- End DoDot:1
- +7 DO BMES^XPDUTL("Done setting version # to 2.2 in Oncology files!!!")
- +8 ;update Current Version of the package file
- +9 NEW ONCPAC,DA
- +10 SET DIE="^DIC(9.4,"
- SET DA=$ORDER(^DIC(9.4,"B","ONCOLOGY",0))
- SET DR="13///^S X=2.2"
- DO ^DIE
- +11 QUIT
- +12 ;
- PR6 ;process form for FOLLOWUP RATE REPORT
- +1 NEW ONCIEN,VAL
- +2 SET ONCIEN=$ORDER(^ONCO(160.2,"B","FOLLOWUP RATE REPORT",0))
- +3 DO BMES^XPDUTL("Updating file #160.2 for followup rate form...")
- +4 IF '$GET(ONCIEN)
- DO BMES^XPDUTL("No FOLLOWUP RATE REPORT form in your system, please inform your ONCOLOGY Dept...")
- QUIT
- +5 FOR NNN=1:1
- SET VAL=$PIECE($TEXT(DAT6+NNN),";;",2)
- if VAL=""
- QUIT
- SET ^ONCO(160.2,ONCIEN,1,NNN,0)=VAL
- +6 DO BMES^XPDUTL("Done updating file #160.2 for FOLLOWUP RATE REPORT form!!!")
- +7 QUIT
- PR3 ;process form FOLLOWUP RATE REPORT 1
- +1 NEW ONCIEN3,VAL
- +2 SET ONCIEN3=$ORDER(^ONCO(160.2,"B","FOLLOWUP RATE REPORT 1",0))
- +3 DO BMES^XPDUTL("Updating file #160.2 for followup rate report 1 form...")
- +4 IF '$GET(ONCIEN3)
- DO BMES^XPDUTL("No FOLLOWUP RATE REPORT 1 form in your system, please inform your ONCOLOGY Dept...")
- QUIT
- +5 FOR NNN=1:1
- SET VAL=$PIECE($TEXT(DAT3+NNN),";;",2)
- if VAL=""
- QUIT
- SET ^ONCO(160.2,ONCIEN3,1,NNN,0)=VAL
- +6 DO BMES^XPDUTL("Done updating file #160.2 for FOLLOWUP RATE REPORT 1 form!!!")
- +7 QUIT
- +8 ;
- EXTCODE ;Correct the extension text for C69.5 in SEER CODE SET (#164.5) file
- +1 ;Code 80 was set to "Adjacent Bone", should be "Further Contiguous Ext"
- +2 SET DA=81
- SET DA(1)=173
- SET DIE="^ONCO(164.5,"_DA(1)_",1,"
- +3 SET ONCNWTXT="Further contiguous extension"
- SET DR=".01///^S X=ONCNWTXT"
- +4 DO ^DIE
- +5 KILL ONCNWTXT
- +6 QUIT
- +7 ;
- CHEM ;Add 4 new & update 2 existing entries for CHEMO DRUGS (#164.18) file
- +1 ; Add these 4 entries: AXITINIB,PRALATREXATE,RUXOLITINIB,PAZOPANIB
- +2 ; Modify these 2 entries: RAD001, IMATINIB MESYLATE
- +3 NEW ONCCMIEN,D0,DA,DD,DIC,X,Y
- KILL DD,DO
- +4 DO AXIN
- DO PRAL
- DO RUXO
- DO PAZO
- DO AFIN
- DO DESA
- QUIT
- +5 KILL ONCCMIEN
- QUIT
- AXIN if $DATA(^ONCO(164.18,"B","AXITINIB"))
- QUIT
- +1 SET DIC="^ONCO(164.18,"
- SET DIC(0)="L"
- SET X="AXITINIB"
- SET DIC("DR")="1///013736"
- +2 DO FILE^DICN
- IF Y=-1
- QUIT
- +3 SET ONCCMIEN=+Y
- SET DA(1)=ONCCMIEN
- SET DIC="^ONCO(164.18,"_DA(1)_",1,"
- SET DIC(0)="L"
- +4 FOR X="AG013736","INLYTA"
- DO FILE^DICN
- +5 QUIT
- PRAL if $DATA(^ONCO(164.18,"B","PRALATREXATE"))
- QUIT
- +1 SET DIC="^ONCO(164.18,"
- SET DIC(0)="L"
- SET X="PRALATREXATE"
- SET DIC("DR")="1///488180"
- +2 DO FILE^DICN
- IF Y=-1
- QUIT
- +3 SET ONCCMIEN=+Y
- SET DA(1)=ONCCMIEN
- SET DIC="^ONCO(164.18,"_DA(1)_",1,"
- SET DIC(0)="L"
- +4 FOR X="FOLOTYN"
- DO FILE^DICN
- +5 QUIT
- RUXO if $DATA(^ONCO(164.18,"B","RUXOLITINIB"))
- QUIT
- +1 SET DIC="^ONCO(164.18,"
- SET DIC(0)="L"
- SET X="RUXOLITINIB"
- SET DIC("DR")="1///018424"
- +2 DO FILE^DICN
- +3 QUIT
- PAZO if $DATA(^ONCO(164.18,"B","PAZOPANIB"))
- QUIT
- +1 SET DIC="^ONCO(164.18,"
- SET DIC(0)="L"
- SET X="PAZOPANIB"
- SET DIC("DR")="1///444731"
- +2 DO FILE^DICN
- IF Y=-1
- QUIT
- +3 SET ONCCMIEN=+Y
- SET DA(1)=ONCCMIEN
- SET DIC="^ONCO(164.18,"_DA(1)_",1,"
- SET DIC(0)="L"
- +4 FOR X="VOTRIENT"
- DO FILE^DICN
- +5 QUIT
- AFIN SET ONCCMIEN=$ORDER(^ONCO(164.18,"B","RAD001",""))
- IF ONCCMIEN=""
- QUIT
- +1 SET DA(1)=ONCCMIEN
- SET DIC="^ONCO(164.18,"_DA(1)_",1,"
- SET DIC(0)="L"
- +2 FOR X="AFINITOR","CERTICAN","EVEROLIMUS"
- Begin DoDot:1
- +3 if $DATA(^ONCO(164.18,ONCCMIEN,1,"B",X))
- QUIT
- +4 DO FILE^DICN
- End DoDot:1
- +5 QUIT
- DESA SET ONCCMIEN=$ORDER(^ONCO(164.18,"B","IMATINIB MESYLATE",""))
- IF ONCCMIEN=""
- QUIT
- +1 if $DATA(^ONCO(164.18,ONCCMIEN,1,"B","DESATINIB"))
- QUIT
- +2 SET DA(1)=ONCCMIEN
- SET DIC="^ONCO(164.18,"_DA(1)_",1,"
- SET DIC(0)="L"
- +3 FOR X="DESATINIB"
- DO FILE^DICN
- +4 QUIT
- +5 ;
- OSG ;Add 2 new entries for OTHER STAGING GROUPS FOR ONCOLOGY (#164.3) file
- +1 NEW ONCOSIEN,D0,DA,DD,DIC,X,Y
- KILL DD,DO
- +2 DO BCLC
- DO MELD
- +3 KILL ONCOSIEN
- QUIT
- BCLC if $DATA(^ONCO(164.3,"B","BCLC"))
- QUIT
- +1 SET DIC="^ONCO(164.3,"
- SET DIC(0)="L"
- SET X="BCLC"
- DO FILE^DICN
- IF Y=-1
- QUIT
- +2 SET ONCOSIEN=+Y
- SET DA(1)=ONCOSIEN
- SET DIC="^ONCO(164.3,"_DA(1)_",1,"
- SET DIC(0)="L"
- +3 FOR X=20
- DO FILE^DICN
- +4 QUIT
- MELD if $DATA(^ONCO(164.3,"B","MELD"))
- QUIT
- +1 SET DIC="^ONCO(164.3,"
- SET DIC(0)="L"
- SET X="MELD"
- DO FILE^DICN
- IF Y=-1
- QUIT
- +2 SET ONCOSIEN=+Y
- SET DA(1)=ONCOSIEN
- SET DIC="^ONCO(164.3,"_DA(1)_",1,"
- SET DIC(0)="L"
- +3 FOR X=20
- DO FILE^DICN
- +4 QUIT
- +5 ;
- AJSGHLP ;Correct typos in AJCC STAGING GROUPS (#164.33) 6TH EDITION (N) CODE
- +1 ; HELP (5 node) for BREAST (entry #23): O's should be 0's (zeroes)
- +2 SET ^ONCO(164.33,23,5,8,0)="N0(i+) No regional lymph node metastasis histologically, positive IHC,"
- +3 SET ^ONCO(164.33,23,5,12,0)="N0(mol+) No regional lymph node metastasis histologically, positive"
- +4 QUIT
- HIST ;Edit names and synonyms of two Histology entries in Histology ICD-O-3
- +1 ;file (169.3), entries 97511 and 97513
- +2 SET DIC="^ONCO(169.3,"
- SET X=97511
- DO ^DIC
- +3 IF Y'=-1
- SET DIE="^ONCO(169.3,"
- SET DA=+Y
- SET DR=".01///LANGERHANS CELL HISTIOCYTOSIS, NOS (<2010 CASES)"
- DO ^DIE
- +4 SET DIC="^ONCO(169.3,"
- SET X=97513
- DO ^DIC
- +5 IF Y'=-1
- SET ONCH3IEN=+Y
- SET DIE="^ONCO(169.3,"
- SET DA=+Y
- SET DR=".01///LANGERHANS CELL HISTIOCYTOSIS, NOS"
- DO ^DIE
- +6 IF $DATA(^ONCO(169.3,ONCH3IEN,1,1,0))
- KILL DA,DIC,DIE,DR,ONCH3IEN,Y
- QUIT
- +7 SET DA(1)=ONCH3IEN
- SET DIC="^ONCO(169.3,"_DA(1)_",1,"
- SET DIC(0)="L"
- +8 FOR X="LANGERHANS CELL GRANULOMATOSIS","HISTIOCYTOSIS X, NOS"
- DO FILE^DICN
- +9 KILL DA,DIC,DIE,DR,ONCH3IEN,Y
- +10 QUIT
- +11 ;
- CONN ;Change West Haven to Connecticut HCS
- +1 ;Change NAME (160.19,.02) for WEST HAVEN VA MEDICAL CENTER to CONNECTICUT HCS
- +2 SET DIC="^ONCO(160.19,"
- SET X=6160765
- DO ^DIC
- +3 IF Y'=-1
- SET DIE="^ONCO(160.19,"
- SET DA=+Y
- SET DR=".02///CONNECTICUT HCS"
- DO ^DIE
- +4 KILL DA,DIC,DIE,DR,Y
- +5 QUIT
- +6 ;
- USS ;Add valid user for server updates
- +1 SET IEN=0
- +2 NEW ONCMAIL,ONCJ,DA,DR,DIC,DIE
- +3 SET ONCMAIL("DORN")="rayeanne.dorn@domain.ext"
- +4 SET ONCMAIL("DAYON")="rufino.dayon@domain.ext"
- +5 SET ONCMAIL("KNOEPFLE")="rich.knoepfle@domain.ext"
- +6 SET ONCMAIL("WALLER")="kathleen.waller@domain.ext"
- +7 SET DIC(0)="L"
- +8 FOR
- SET IEN=$ORDER(^ONCO(160.1,IEN))
- if IEN'>0
- QUIT
- FOR ONCJ="DORN","DAYON","KNOEPFLE","WALLER"
- Begin DoDot:1
- +9 SET DA(1)=IEN
- SET (DIE,DIC)="^ONCO(160.1,DA(1),""SEU"","
- +10 IF '$DATA(^ONCO(160.1,IEN,"SEU","B",ONCJ))
- Begin DoDot:2
- +11 SET DIC("DR")="2///^S X=ONCMAIL(ONCJ)"
- SET X=ONCJ
- DO FILE^DICN
- End DoDot:2
- +12 IF $DATA(^ONCO(160.1,IEN,"SEU","B",ONCJ))
- Begin DoDot:2
- +13 SET DA=$ORDER(^ONCO(160.1,IEN,"SEU","B",ONCJ,0))
- +14 SET DR="2///^S X=ONCMAIL(ONCJ)"
- DO ^DIE
- End DoDot:2
- End DoDot:1
- +15 QUIT
- +16 ;
- C3E ;3e SS1977
- +1 NEW I55
- +2 FOR I55=0:0
- SET I55=$ORDER(^ONCO(165.5,I55))
- if I55'>0
- QUIT
- Begin DoDot:1
- +3 IF ($PIECE($GET(^ONCO(165.5,I55,"CS3")),U,3)["3e SS1977")!($PIECE($GET(^ONCO(165.5,I55,"CS3")),U,3)["3d SS1977")
- Begin DoDot:2
- +4 SET $PIECE(^ONCO(165.5,I55,"CS3"),U,2)=""
- +5 SET $PIECE(^ONCO(165.5,I55,"CS3"),U,3)=""
- End DoDot:2
- End DoDot:1
- +6 QUIT
- +7 ;
- DAT3 ;data for FOLLOWUP RATE REPORT
- +1 ;;|SETTAB(68)|
- +2 ;;|NOW|
- +3 ;; FOLLOW-UP RATE FOR ALL PATIENTS (LIVING AND DEAD) NUMBER PERCENT
- +4 ;;
- +5 ;; Total patients from registry reference date |TOTAL#||TAB|100%
- +6 ;;
- +7 ;; 1. Less benign/borderline cases - |BENIGN|
- +8 ;; 2. Less Carcinoma in situ cervix cases - |CERVIX|
- +9 ;; 3. Less in situ/localized basal and squamous - |LOCAL BASAL|
- +10 ;; cell carcinoma of skin cases "
- +11 ;; 4. Less foreign residents - |FOREIGN|
- +12 ;; 5. Less non-analytic cases - |NONANALYTIC|
- +13 ;; 6. Less (ALL) Class of Case 00 case - |CC|
- +14 ;; 7. Less (ALL) Patient Age 100+ case - |P100|
- +15 ;;
- +16 ;; SUBTOTAL CASES = ANALYTIC CASES (A) |ANALYTIC||TAB|100%
- +17 ;; Class of Case 10-22
- +18 ;;
- +19 ;; 1. Less number dead (B) |DEAD||TAB||%DEAD|%
- +20 ;;
- +21 ;; SUBTOTAL CASES (NUMBER LIVING) (C) |LIVING||TAB||%LIVING|%
- +22 ;;
- +23 ;; 1. Less number current (known to be alive
- +24 ;; in the last 15 months) (D) |CURRENT||TAB||%CURRENT-TOTAL|%
- +25 ;;
- +26 ;; TOTAL (LOST TO FOLLOW UP OR NOT CURRENT) (E) |LTF| *|TAB||%LTF-TOTAL|%
- +27 ;; (* should be less than 20%)
- +28 ;;
- +29 ;; Successful follow-up currency (all patients) (F) |SFC| **|TAB||%SFC|
- +30 ;; (** should be 80%)
- +31 ;;========================================================================
- +32 ;;
- +33 ;; FOLLOW UP RATE FOR LIVING PATIENTS ONLY NUMBER PERCENT
- +34 ;;
- +35 ;; Enter the total number from Line C |LIVING||TAB|100%
- +36 ;; Subtract the total number from Line D - |CURRENT||TAB||%CURRENT-ALIVE|%
- +37 ;; Total lost/not current of living patients - |LTF||TAB||%LTF-ALIVE|%
- DAT6 ;data for FOLLOWUP RATE REPORT 1
- +1 ;;|SETTAB(68)|
- +2 ;;|NOW|
- +3 ;; FOLLOW-UP RATE FOR ALL PATIENTS (LIVING AND DEAD) NUMBER PERCENT
- +4 ;;
- +5 ;; Total patients diagnosed within last 5 years
- +6 ;; or from registry reference date, whichever is
- +7 ;; shorter |TOTAL#||TAB|100%
- +8 ;;
- +9 ;; 1. Less benign/borderline cases - |BENIGN|
- +10 ;; 2. Less carcinoma in situ cervix cases - |CERVIX|
- +11 ;; 3. Less in situ/localized basal and squamous - |LOCAL BASAL|
- +12 ;; cell carcinoma of skin cases
- +13 ;; 4. Less foreign residents - |FOREIGN|
- +14 ;; 5. Less non-analytic - |NONANALYTIC|
- +15 ;; 6. Less (ALL) Class of Case 00 case - |CC|
- +16 ;; 7. Less (ALL) Patient Age 100+ case - |P100|
- +17 ;;
- +18 ;; SUBTOTAL CASES = ANALYTIC CASES (A) |ANALYTIC||TAB|100%
- +19 ;; Class of Case 10-22
- +20 ;;
- +21 ;; 1. Less number dead (B) |DEAD||TAB||%DEAD|%
- +22 ;;
- +23 ;; SUBTOTAL CASES (NUMBER LIVING) (C) |LIVING||TAB||%LIVING|%
- +24 ;;
- +25 ;; 1. Less number current (known to be alive
- +26 ;; in the last 15 months) (D) |CURRENT||TAB||%CURRENT-TOTAL|%
- +27 ;;
- +28 ;; TOTAL (LOST TO FOLLOW UP OR NOT CURRENT) (E) |LTF| *|TAB||%LTF-TOTAL|%
- +29 ;;
- +30 ;; (* should be less than 10%)
- +31 ;;
- +32 ;; Successful follow-up currency (all patients) (F) |SFC| **|TAB||%SFC|%
- +33 ;; (** should be 90%)
- +34 ;;=========================================================================
- +35 ;;
- +36 ;; FOLLOW UP RATE FOR LIVING PATIENTS ONLY NUMBER PERCENT
- +37 ;;
- +38 ;; Enter the total number from Line C |LIVING||TAB|100%
- +39 ;; Subtract the total number from Line D - |CURRENT||TAB||%CURRENT-ALIVE|%
- +40 ;; Total lost/not current of living patients - |LTF||TAB||%LTF-ALIVE|%