Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ONC2PS01

ONC2PS01.m

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