1 | ONCOU0A ;WISC/MLH - ONCOLOGY PATIENT FILE UTILITIES - Fix follow ups for expired patients ;6/21/93 09:18
|
---|
2 | ;;2.11;ONCOLOGY;;Mar 07, 1995
|
---|
3 | ;
|
---|
4 | FIXFOR(ONCOWRT) ; correct erroneous 'foreign resident' status for exp pats
|
---|
5 | ; ONCOWRT defined if output desired
|
---|
6 | N ONCOLVL S ONCOLVL="^TMP(""ONCOFIXFOR"","_$$INITSYA_")" ; level of ^TMP for SYA
|
---|
7 | N ONCOKP,ONCOKF,ONCOKC S (ONCOKP,ONCOKF,ONCOKC)=0 ; counts
|
---|
8 | N ONCOPI S ONCOPI=0 ; patient file index
|
---|
9 | FOR ONCOKP=0:1 S ONCOPI=$O(^ONCO(160,ONCOPI)) Q:ONCOPI'=+ONCOPI D
|
---|
10 | . N ONCOFI S ONCOFI=0 ; follow-up sub-file index
|
---|
11 | . FOR S ONCOFI=$O(^ONCO(160,ONCOPI,"F",ONCOFI)) Q:ONCOFI'=+ONCOFI S ONCOKF=ONCOKF+1,ONCOKC=ONCOKC+$$CHKSTAT(ONCOPI,ONCOFI,ONCOLVL,ONCOWRT)
|
---|
12 | . Q
|
---|
13 | ;END FOR
|
---|
14 | ;
|
---|
15 | N ONCORES S ONCORES=ONCOKP_U_ONCOKF_U_ONCOKC ; results array
|
---|
16 | I $D(ONCOWRT) D WRT(ONCORES)
|
---|
17 | QUIT
|
---|
18 | ;
|
---|
19 | INITSYA() ; find level of ^TMP on which to put SYA and initialize
|
---|
20 | N ONCOI S ONCOI=$P($G(^TMP("ONCOFIXFOR",0)),U,3)+1,$P(^(0),U,3)=ONCOI
|
---|
21 | Q ONCOI
|
---|
22 | ;
|
---|
23 | CHKSTAT(ONCOP,ONCOF,ONCOLVL,ONCOWRT) ; look at follow-up record for patient ONCOP, follow-up ONCOF
|
---|
24 | ; if we need to change and ONCOLVL defined, back up on ^TMP("ONCOFIXFOR",ONCOLVL)
|
---|
25 | ; ONCOWRT is defined if we want dots for the user
|
---|
26 | N ONCOX S ONCOX=$G(^ONCO(160,ONCOP,"F",ONCOF,0)) ; onco pat rec
|
---|
27 | N ONCOCHG S ONCOCHG=0 ; change flag
|
---|
28 | IF $P(ONCOX,U,2)=0,$P(ONCOX,U,6)=8 D ; exp pat, foreign resident --> hit!
|
---|
29 | . S ONCOSYA=$P($G(@ONCOLVL@(0)),U,3)+1,$P(@ONCOLVL@(0),U,3)=ONCOSYA,@ONCOLVL@(ONCOSYA,0)=ONCOP_":"_ONCOF_":"_ONCOX ; save old data
|
---|
30 | . ;
|
---|
31 | . ; correct follow-up method
|
---|
32 | . N DIE,DA S DIE="^ONCO(160,"_ONCOP_",""F"",",DA(1)=ONCOP,DA=ONCOF,DR="6///9"
|
---|
33 | . D ^DIE
|
---|
34 | . ;
|
---|
35 | . I $D(ONCOWRT),$R(40)=0 W "."
|
---|
36 | . S ONCOCHG=1
|
---|
37 | . Q
|
---|
38 | ;END IF
|
---|
39 | ;
|
---|
40 | Q ONCOCHG
|
---|
41 | ;
|
---|
42 | WRT(ONCORES) ; output results array
|
---|
43 | N ONCOI F ONCOI=1:1:3 S ONCORES(ONCOI)=$P(ONCORES,U,ONCOI)
|
---|
44 | W !!,"Oncology patients processed: ",?35,$J(ONCORES(1),6),!,"Follow-ups processed: ",?35,$J(ONCORES(2),6),!,"Follow-ups corrected: ",?35,$J(ONCORES(3),6),!!
|
---|
45 | Q
|
---|