[628] | 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
|
---|