VistA-FOIAVistA/r/TEXT_INTEGRATION_UTILITIES-.../TIULAPIC.m

50 lines
2.8 KiB
Mathematica

TIULAPIC ; SLC/JER,KER - Extract selected classes from TIU ; 4/19/06 1:51pm
;;1.0;TEXT INTEGRATION UTILITIES;**83,100,121,211**;Jun 20, 1997;Build 26
MAIN(DFN,TIUDOC,TIME1,TIME2,OCCLIM,TEXT) ; Control branching
; Notes for Health Summaries, by Reference Date
; For comments, see rtn TIULAPIS
N TIUDA,TIUDT,TIUPRM0,TIUPRM1,TIUPRM3,COUNT,TIUSI,TIUS,TIUTI,TYPES
N CANDO,CKCANVW,ORIGCHLD
K ^TMP("TIUREPLACE",$J)
D SETPARM^TIULE S:+$G(OCCLIM)'>0 OCCLIM=999 S:+$G(TIME1)'>0 TIME1=6666666 S:+$G(TIME2)'>0 TIME2=9999999 K ^TMP("TIU",$J) I '$D(TIUPRM0) D SETPARM^TIULE
S TIUDT=TIME1 F S TIUDT=$O(^TIU(8925,"APTCL",DFN,TIUDOC,TIUDT)) Q:+TIUDT'>0!(TIUDT>TIME2)!(+$G(COUNT)'<OCCLIM) D
. S TIUDA=0 F S TIUDA=$O(^TIU(8925,"APTCL",DFN,TIUDOC,TIUDT,TIUDA)) Q:+TIUDA'>0 D
. . I +$$ISADDNDM^TIULC1(TIUDA),+TEXT Q
. . S CKCANVW=$S($E(IOST,1)="C":1,1:0)
. . I $E(IOST,1)'="C" S CANDO=+$$CANDO^TIULP(TIUDA,"PRINT RECORD") Q:'CANDO ;TIU*1*91
. . D REPLACE^TIUPRPN3(TIUDA,TIUDT,1301,CKCANVW)
. . S COUNT=^TMP("TIUREPLACE",$J)
S TIUDA=0
F S TIUDA=$O(^TMP("TIUREPLACE",$J,TIUDA)) Q:'TIUDA D
. Q:^TMP("TIUREPLACE",$J,TIUDA)=0 ;not viewable
. S TIUDT=^TMP("TIUREPLACE",$J,TIUDA,"DT")
. S ORIGCHLD=+$P(^TMP("TIUREPLACE",$J,TIUDA),U,2)
. D EXTRACT^TIULQ(TIUDA,"^TMP(""TIU"",$J,"_TIUDT_")",.TIUERR,".01;.05;.07;.08;1202;1203;1205;1208;1209;1301;1307;1402;1501:1505;1507:1513;1701;89261","",1,"IE",CKCANVW,ORIGCHLD)
K ^TMP("TIUREPLACE",$J)
Q
;
VISIT(DFN,TIUDOC,TIME1,TIME2,OCCLIM,TEXT) ; Control branching
; Visit Date
N TIUDA,TIUDT,TIUPRM0,TIUPRM1,TIUPRM3,COUNT,TIUSI,TIUS,TIUTI,TIUVD,TYPES
N CANDO,CKCANVW,ORIGCHLD
K ^TMP("TIUREPLACE",$J)
D SETPARM^TIULE S:+$G(OCCLIM)'>0 OCCLIM=999 S:+$G(TIME1)'>0 TIME1=6666666 S:+$G(TIME2)'>0 TIME2=9999999 K ^TMP("TIU",$J) I '$D(TIUPRM0) D SETPARM^TIULE
S TIUDT=TIME1 F S TIUDT=$O(^TIU(8925,"AE",DFN,TIUDT)) Q:+TIUDT'>0!(TIUDT>TIME2)!(+$G(COUNT)'<OCCLIM) D
. S TIUVD=0 F S TIUVD=$O(^TIU(8925,"AE",DFN,TIUDT,TIUVD)) Q:+TIUVD'>0 D
. . S TIUDA=0 F S TIUDA=$O(^TIU(8925,"AE",DFN,TIUDT,TIUVD,TIUDA)) Q:+TIUDA'>0 D
. . . N TIUIVD,TIUIRD S TIUIVD=(9999999-TIUDT),TIUIRD=+($P($G(^TIU(8925,+TIUDA,13)),"^",1))
. . . Q:'$D(^TIU(8925,"APTCL",DFN,TIUDOC,(9999999-TIUIRD)))
. . . I +$$ISADDNDM^TIULC1(TIUDA),+TEXT Q
. . . S CKCANVW=$S($E(IOST,1)="C":1,1:0)
. . . I $E(IOST,1)'="C" S CANDO=+$$CANDO^TIULP(TIUDA,"PRINT RECORD") Q:'CANDO ;TIU*1*91
. . . D REPLACE^TIUPRPN3(TIUDA,TIUDT,1301,CKCANVW)
. . . S COUNT=^TMP("TIUREPLACE",$J)
S TIUDA=0
F S TIUDA=$O(^TMP("TIUREPLACE",$J,TIUDA)) Q:'TIUDA D
. Q:^TMP("TIUREPLACE",$J,TIUDA)=0
. S TIUDT=^TMP("TIUREPLACE",$J,TIUDA,"DT")
. S ORIGCHLD=+$P(^TMP("TIUREPLACE",$J,TIUDA),U,2)
. D EXTRACT^TIULQ(TIUDA,"^TMP(""TIU"",$J,"_(TIUDT)_")",.TIUERR,".01;.05;.07;.08;1202;1203;1205;1208;1209;1301;1307;1402;1501:1505;1507:1513;1701;89261","",1,"IE",CKCANVW,ORIGCHLD)
K ^TMP("TIUREPLACE",$J)
Q