VistA-FOIAVistA/r/ONCOLOGY-ONC/ONCOAIF.m

179 lines
5.9 KiB
Mathematica

ONCOAIF ;Hines OIFO/GWB - POST FOLLOW-UP; 07/12/00
;;2.11;ONCOLOGY;**11,15,16,24,25,26,27,28,37,45,47**;Mar 07, 1995;Build 19
;
BEG W @IOF,!," Post/Edit Follow-up"
W !," -------------------",!
Q
;
PAT ;[PF Post/Edit Follow-up]
N ONCDUZ,ONCDT
S ONCDUZ=DUZ,ONCDT=DT
D BEG
S DIC("A")=" Post/Edit Follow-Up for patient: "
S DIC="^ONCO(160,",DIC(0)="AEMQZ" D ^DIC K DIC
G EX:Y<0
S (ONCOD0,DA,D0)=+Y,ONCONM=Y(0,0)
D SUM,LST^ONCODLF G DIE
;
LST ;Follow-Up
W @IOF,!!," **********FOLLOW-UP**********",!!
W " Patient: ",ONCONM
W:$D(XDD) !," Date of Inpatient Discharge: ",XDD
Q
;
EN ;FOLLOW-UP entry when patient has been pre-selected
K F,DIC,DO,ONCOD1,LC,VS,NF,XDT,XDD,XR
S ONCDUZ=DUZ,ONCDT=DT
S PRESEL=1
S XDT=$S('$D(ONCOD0P):"",1:$$GET1^DIQ(165.5,ONCOD0P,1.1,"I"))
I (XDT="")!(XDT="0000000")!(XDT="9999999") D LST G DIE
D DD S F=$P($G(^ONCO(160,ONCOD0,"F",0)),U,4)
I F<1 D DLC,LST S F=1 G DIE
RF S D0=ONCOD0 W !! K DXS,DIOT D BEG W ! D LST^ONCODLF G DIE
;
DIE K DXS S ONCOSTAT=1,DA=ONCOD0,DR="[ONCO FOLLOWUP]",DIE="^ONCO(160,",FG=0
W ! D ^DIE
I 'FG S ONCOVS="" D UPOUT,CHKCMP I $G(FOLINP)="YES" G DIE
I $O(^ONCO(160,ONCOD0,"F",0))="" Q
D CHKCHG
I 'FG Q
;
UPDAT S D0=ONCOD0 K DXS,DIOT W ! D LST^ONCODLF,UPD^ONCOCRF
N Y K DIQ,ONC S DIC="^ONCO(160,",DR=".01;16;15;15.2",DA=ONCOD0,DIQ="ONC"
D EN^DIQ1 W !
W !," Name..: ",ONC(160,ONCOD0,.01)
W ?35,"Date Last Contact: ",ONC(160,ONCOD0,16)
W !," Status: ",ONC(160,ONCOD0,15)
W ?35,"Follow-Up Status.: ",ONC(160,ONCOD0,15.2)
D SUM
C K DIR S DIR("A")="DATA OK",DIR("B")="Yes",DIR(0)="Y"
D ^DIR Q:(Y=U)!(Y="") G DIE:'Y
I ONCOVS G EX:$D(PRESEL) G PAT:'$D(REC),REC
W !! D DEAD^ONCOFDP
Q:$D(ONCOAI) G REC:$D(REC) D KIL K ONCONM S ONCOD=1 G PAT:'$D(QA) Q
;
UPOUT ;Uparrow out check before deleting
Q:'$D(ONCOD1)
Q:'$D(^ONCO(160,ONCOD0,"F",ONCOD1,0))
Q:$P(^(0),U,8)=1
D DEL
Q
;
DEL ;Delete FOLLOW-UP entry
S DA(1)=ONCOD0,DA=ONCOD1,DIK="^ONCO(160,"_DA(1)_",""F"","
D ^DIK S ONCOVS=""
W:$D(^ONCO(160,ONCOD0,"F",ONCOD1,0)) $P(^(0),U,8)
W !!," *********************ENTRY DELETED*************************"
W !!," You have not entered all of the required information."
W !!,"(Last Tumor Status(es) have been reset for this patient's primary site(s).)",!!
H 1
Q
;
CHKCMP ;Check for 'Complete" abstracts with no follow-up
K ASTAT,FOLINP
Q:$O(^ONCO(160,ONCOD0,"F",0))'=""
S PRIM=0 F S PRIM=$O(^ONCO(165.5,"C",ONCOD0,PRIM)) Q:PRIM'>0 D
.I $P($G(^ONCO(165.5,PRIM,7)),U,2)=3 S ASTAT(PRIM)=""
Q:'$D(ASTAT)
W !
W !," There is no follow-up information for this patient."
W !," This patient has a 'Complete' abstract."
W !," A 'Complete' abstract requires at least one follow-up."
W !
K DIR
S DIR("A")=" Do you wish to enter a follow-up at this time"
S DIR("B")="YES",DIR(0)="Y" D ^DIR
I Y=1 S FOLINP="YES" Q
S PRIM=0 F S PRIM=$O(ASTAT(PRIM)) Q:PRIM'>0 D
.S DIE="^ONCO(165.5,"
.S DA=PRIM
.S DR="90///@;91///0;92///@;197///@"
.D ^DIE
W !!," The ABSTRACT STATUS has been changed to 0 (Incomplete)"
W !," for the following abstracts:",!
S PRIM=0 F S PRIM=$O(ASTAT(PRIM)) Q:PRIM'>0 D
.S PN=$$GET1^DIQ(165.5,PRIM,.02)
.S AN=$$GET1^DIQ(165.5,PRIM,.05)
.S SEQ=$$GET1^DIQ(165.5,PRIM,.06)
.S PID=$$GET1^DIQ(165.5,PRIM,61)
.S PSCODE=$$GET1^DIQ(165.5,PRIM,20.1)
.W !?1,PID," ",PSCODE," ",AN,"/",SEQ
.W !
K DIR S DIR(0)="E" D ^DIR
Q
;
CHKCHG ;Check for checksum changes to 'Complete' abstracts
S CNT=0 W !!," Checking for changes to 'Complete' abstracts" S PRIM=0 F S PRIM=$O(^ONCO(165.5,"C",ONCOD0,PRIM)) Q:PRIM'>0 D
.W "."
.I $P($G(^ONCO(165.5,PRIM,7)),U,2)=3 D
..S EDITS="NO" S D0=PRIM D NAACCR^ONCGENED K EDITS
..S CHECKSUM=$$CRC32^ONCSNACR(.ONCDST)
..I CHECKSUM'=$P($G(^ONCO(165.5,PRIM,"EDITS")),U,1) D
...S $P(^ONCO(165.5,PRIM,"EDITS"),U,1)=CHECKSUM
...W !!," Re-computing checksum value for 'Complete' abstract ",$$GET1^DIQ(165.5,PRIM,.061)
...S CNT=CNT+1
W:CNT=0 " No changes found."
Q
;
REC ;[RF Recurrence/Sub Tx Follow-up]
K ^DISV(DUZ,"^ONCO(165.5,")
N ONCDUZ,ONCDT
S ONCDUZ=DUZ,ONCDT=DT
S XR=1,REC="" W @IOF,!," Recurrence/Sub Tx Follow-up"
W !," ---------------------------",!
S DIC("A")="Select Patient for Recurrence: "
S DIC="^ONCO(160,",DIC(0)="AEQMZ" D ^DIC K DIC
G EX:Y<0
S (D0,ONCOD0)=+Y,ONCONM=Y(0,0)
N Y
K DIQ,ONC S DIC="^ONCO(160,",DR=".01;2;3;8;10;15",DA=ONCOD0,DIQ="ONC"
D EN^DIQ1 W !
W !?2,"Name.........: ",ONC(160,ONCOD0,.01)
W ?35,"Race.........: ",ONC(160,ONCOD0,8)
W !?2,"SSN..........: ",ONC(160,ONCOD0,2)
W ?35,"Sex..........: ",ONC(160,ONCOD0,10)
W !?2,"Date of Birth: ",ONC(160,ONCOD0,3)
W ?35,"Status.......: ",ONC(160,ONCOD0,15)
D SUM
K DIC W !?1,"Select Primary for Recurrence: ",!
S D="C",DIC="^ONCO(165.5,",X=ONCOD0,DIC(0)="EFZ" D IX^DIC G:Y<0 REC
I Y'=" " S (ONCOD0P,DA)=+Y,DR="[ONCO RECURRENCE FOLLOWUP]",DIE="^ONCO(165.5,",DATEDX=$P(^ONCO(165.5,DA,0),U,16),TX=$P($G(^ONCO(165.5,DA,2)),U,1) D ^DIE D CHKCHG S AB=2,ONCOD0P=D0 G EN
;
RE ;Recurrence
W !!," Recurrence"
W !," ----------"
Q
;
STX ;Subsequent Course of Treatment
W !!," Subsequent Course of Treatment"
W !," ------------------------------"
Q
;
KIL ;Kill variables
K ONCOSTAT,XR,ED0,DA,DIC,DIE,DIK,DIOT,DIR,DO,DR,DQ,DXS,F,FDOC,FG,FS
K ONCOD1,ONCOLC,TM,TS,CS,K,I,XY,XX,XDA,XD1,XD0,LC,ONCONF,ONCOVS,REC
K AB,DATEDX,PRESEL
Q
;
EX ;Exit
D KIL Q
;
DD ;Date format
S XDD=$E(XDT,4,5)_"/"_$E(XDT,6,7)_"/"_($E(XDT,1,3)+1700) Q
;
DLC ;Create FOLLOW-UP
K DA
S DA(1)=ONCOD0,DIC="^ONCO(160,"_DA(1)_","_"""F"""_","
S DLAYGO=160,X=XDT,DIC(0)="ZL"
I '$D(^ONCO(160,DA(1),"F")) S ^ONCO(160,DA(1),"F",0)="^160.04DAI^^"
D FILE^DICN S ONCOLC=XDT,DIE=DIC,DR="1////1;2////2;" D ^DIE
K DA,DIC,DLAYGO,DIE
Q
;
SUM ;Primary summary
S XD0=D0
N J,XD1,LINE W !!
S LINE=" ------------- -------------------- ----------------- ---------- ---- -----"
S J=0,XD1=0 F S XD1=$O(^ONCO(165.5,"C",XD0,XD1)) Q:XD1'>0 I $D(^ONCO(165.5,XD1,0)) S J=J+1 W:J=1 " Acc/Sequence",?15,"Topography",?37,"Last Tumor Status",?56,"Date DX",?68,"Stat",?74,"Div",!,LINE,! D FU^ONCOCOML
Q