VistA-WorldVistAEHR/r/ONCOLOGY-ONC/ONCOAIS.m

67 lines
2.3 KiB
Mathematica

ONCOAIS ;Hines OIFO/GWB - POST FOLLOW-UP UPDATE PRIMARY CANCER STATUS ;07/12/00
;;2.11;ONCOLOGY;**25,26,44,45**;Mar 07, 1995
;
PRI ;TUMOR STATUS - from template [ONCO FOLLOWUP]
I $D(^ONCO(165.5,"C",DA(1))) D
.N XDA1,XY,K S XDA1=DA(1)
.D FINDEM,EDITEM
.S DA(1)=XDA1
E W !,"Patient has no primary registered",!!
Q
;
FINDEM ;Setup/fetch the tumor status subentries from the primary file
N FOLDAT,PRIMIEN
S K=0,PRIMIEN=0,FOLDAT=$P($G(^ONCO(160,DA(1),"F",DA,0)),U,1)
F S PRIMIEN=$O(^ONCO(165.5,"C",DA(1),PRIMIEN)) Q:PRIMIEN="" D
.N DATEDX,TOPOG,TSIEN
.S TOPOG=$P($G(^ONCO(165.5,PRIMIEN,0)),U)
.S DATEDX=$P($G(^ONCO(165.5,PRIMIEN,0)),U,16)
.I TOPOG,DATEDX,DATEDX'>FOLDAT D FINDSET
Q
;
FINDSET ;Find/setup tumor status corresponding to this follow-up
N TSIEN S TSIEN=$O(^ONCO(165.5,PRIMIEN,"TS","B",FOLDAT,0))
I TSIEN,$D(^ONCO(165.5,PRIMIEN,"TS",TSIEN,0))
E S TSIEN=$$SETTS^ONCOU55(PRIMIEN,FOLDAT)
S K=K+1,XY(K)=PRIMIEN_U_TSIEN
Q
;
EDITEM ;Edit Tumor Status for each primary during a follow-up
N Q,XD0,DIE,DR,KK
S Q=0,XD0=DA(1)
S DIE("NO^")=1
S DR=.02
F KK=1:1:K D EDITONE
Q
;
EDITONE ;CANCER STATUS (165.573,.02)
S DR=.02
N DA
S DA(1)=$P(XY(KK),U),DA=$P(XY(KK),U,2)
I DUZ(2)'=$P($G(^ONCO(165.5,DA(1),"DIV")),U,1) Q
S DIE="^ONCO(165.5,"_DA(1)_",""TS"","
W !!,"Updating CANCER STATUS for "_$P($G(^ONCO(164,+$P($G(^ONCO(165.5,DA(1),2)),U),0)),U)_"..."
N DG,DIC,DI,%,DP,DM,DK,DH,DQ,DIEL,DL,DC,X,Y
L +^ONCO(165.5,DA(1)):0 I $T D ^DIE L -^ONCO(165.5,DA(1)) D Q
.S TOFRE=$$GET1^DIQ(165.5,DA(1),71,"E")
.S TOFR=$$GET1^DIQ(165.5,DA(1),71,"I")
.I TOFR'="" S TOFR=$P($G(^ONCO(160.12,TOFR,0)),U,1)
.S LTS=$$GET1^DIQ(165.5,DA(1),95,"I")
.I TOFR="00",LTS'=1 D W ! D ERRMSG^ONCEDIT
..S MSG(1)="TYPE OF FIRST RECURRENCE = 00 ("_TOFRE_")"
..S MSG(2)="CANCER STATUS must be 1 (No evidence of this tumor)"
.I TOFR=70,LTS'=2 D W ! D ERRMSG^ONCEDIT
..S MSG(1)="TYPE OF FIRST RECURRENCE = 70 ("_TOFRE_")"
..S MSG(2)="CANCER STATUS must be 2 (Evidence of this tumor)"
.I TOFR=99,LTS'=9 D W ! D ERRMSG^ONCEDIT
..S MSG(1)="TYPE OF FIRST RECURRENCE = 99 ("_TOFRE_")"
..S MSG(2)="CANCER STATUS must be 9 (Unknown if recurred or disease-free"
W !,"This primary is being edited by another user."
Q
;
TEMP451 ;Point of entry from input template [ONCO FOLLOWUP]
S (ONCOVS,VS)=X
D PRI
S Y="@1001"
Q