Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BTIUPRT1

BTIUPRT1.m

Go to the documentation of this file.
  1. BTIUPRT1 ;IHS/MSC/MGH - Print special header and foot notes;18-Mar-2015 12:30;MGH
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**1008,1013**;Jun 20, 1997;Build 33
  1. ;Copy of TIUPRPN1 Print SF 509-Progress Notes ;26-Feb-2010 11:59;MGH
  1. ;IHS/ITSC/LJF 02/26/2003 added code to check for clinc not defined for visit
  1. PRINT(TIUTYPE,TIUFLAG,TIUSPG) ; Print Document
  1. ; ^TMP("TIUPR",$J) is array of records to be printed
  1. ; TIUFLAG=1 --> Chart Copy TIUSPG=1 --> Contiguous
  1. ; TIUFLAG=0 --> Work Copy TIUSPG=0 --> Fresh Page- each note
  1. ; TIUCONT=1 --> Continue printing
  1. ; TIUCONT1=1 --> Write "Continue to next/from previous-page" msgs
  1. ; TIUPFNBR ---> Print Form # like vice 509
  1. ; TIUMISC=TIUFLAG_U_TIUPFNBR_U_TIUDA
  1. N TIUI,TIUJ,TIUPAGE,TIUFOOT,TIUK,TIUDA,TIUCONT,TIUPGRP,TIUTYP
  1. N TIUPFHDR,TIUPFNBR,TIUMISC,TIUCONT1,TIUIDONE,TMP,HEADER,FOOTER
  1. S TIUFLAG=+$G(TIUFLAG),TIUSPG=+$G(TIUSPG)
  1. S TIUCONT=1,TIUCONT1=0
  1. S TIUI=0 F S TIUI=$O(^TMP("TIUPR",$J,TIUI)) Q:TIUI="" D Q:'TIUCONT
  1. . N DFN,TIU
  1. . I TIUI["$" S TIUPGRP=$P(TIUI,"$"),TIUPFHDR=$P($P(TIUI,";"),"$",2)
  1. . E S TIUPFHDR="Progress Notes"
  1. . I $G(TIUPGRP)>2 S TIUSPG=0
  1. . S DFN=$P(TIUI,";",2)
  1. . D PATPN^TIULV(.TIUFOOT,DFN)
  1. . ;IHS/MSC/MGH check for header
  1. .S HEADER=$$CHECK(TIUTYPE,2)
  1. .I +HEADER D
  1. ..I $G(TIUSPG) D HEADER^BTIUPRT2(TIUFLAG,TIUCONT1,HEADER,TIUK,DFN)
  1. .E D
  1. ..I +$G(TIUSPG) D HEADER^TIUPRPN2(.TIUFOOT,TIUFLAG,.TIUPFHDR,TIUCONT1)
  1. . ; Use TIUJ="" (not TIUJ=0), to print "complete" notes w/o sigdt:
  1. . S TIUJ="" F S TIUJ=$O(^TMP("TIUPR",$J,TIUI,TIUJ)) Q:TIUJ="" D Q:'TIUCONT
  1. . . S TIUK=0 F S TIUK=$O(^TMP("TIUPR",$J,TIUI,TIUJ,TIUK)) Q:'TIUK D Q:'TIUCONT
  1. . . . S TIUCONT1=0 S TIUPFNBR=^TMP("TIUPR",$J,TIUI,TIUJ,TIUK)
  1. . . . ; If the document has been deleted, QUIT
  1. . . . I '$D(^TIU(8925,+TIUK,0)) S TIUCONT=1 Q
  1. . . . N TIUROOT
  1. . . . S HEADER=$$CHECK(TIUTYPE,2)
  1. . . . I +HEADER D
  1. . . . . I '+$G(TIUSPG) D HEADER^BTIUPRT2(TIUFLAG,TIUCONT1,HEADER,TIUK,DFN)
  1. . . . E D
  1. . . . . I '+$G(TIUSPG) D HEADER^TIUPRPN2(.TIUFOOT,TIUFLAG,.TIUPFHDR,TIUCONT1)
  1. . . . S TIUDA=TIUK
  1. . . . S TIUMISC=TIUFLAG_U_TIUPFNBR_U_TIUDA
  1. . . . K ^TMP("TIULQ",$J)
  1. . . . D EXTRACT^TIULQ(+TIUDA,"^TMP(""TIULQ"",$J)",.TIUERR,"","",1)
  1. . . . I +$G(TIUERR) W !,$P(TIUERR,U,2) Q
  1. . . . Q:'$D(^TMP("TIULQ",$J))
  1. . . . S TIUROOT="^TMP(""TIULQ"",$J,"_TIUDA_")"
  1. . . . D REPORT(TIUROOT,.TIUFOOT,TIUMISC,.TIUCONT) Q:'TIUCONT
  1. . . . D IDKIDS(TIUROOT,.TIUFOOT,TIUMISC,TIUCONT1,.TIUCONT) Q:'TIUCONT
  1. . . . I '+$G(TIUSPG) S TIUCONT1=0 S TIUCONT=$$SETCONT(.TIUFOOT,TIUMISC,TIUCONT1,1,$G(TIUROOT),TIUTYPE)
  1. . Q:'TIUCONT
  1. . I $E(IOST)="C" S TIUCONT=$$STOP^TIUPRPN2() Q:'TIUCONT
  1. . I +$G(TIUSPG),$E(IOST)'="C" S TIUCONT1=0 S TIUCONT=$$SETCONT(.TIUFOOT,TIUMISC,TIUCONT1,1,$G(TIUROOT),TIUTYPE)
  1. Q
  1. ;
  1. REPORT(TIUROOT,TIUFOOT,TIUMISC,TIUCONT,TIUIDEND) ; Report Text
  1. ; Requires array TIUFOOT, vars TIUMISC, TIUCONT
  1. ; Requires TIUROOT =
  1. ; ^TMP("TIULQ",$J,NOTEIFN) for parent/stand-alone note, or
  1. ; ^TMP("TIULQ",$J,NOTEIFN,"ZADD",ADDMIFN) for addendum, or
  1. ; ^TMP("TIULQ",$J,NOTEIFN,"ZZID",KIDSEQ#,IDKIDIFN) for ID kid, or
  1. ; ^TMP("TIULQ",$J,NOTEIFN,"ZZID",KIDSEQ#,IDKIDIFN,"ZADD",KIDADDMIFN)
  1. ; for ID kid addm.
  1. N DIW,DIWF,DIWL,DIWR,DIWT,TIUERR,TIU,TIUI,X,Z,LOC
  1. N REFDT,TITLE,ADT,HLOC,SUBJ
  1. N TIUDA,TIUCONT1,HASIDKID,HASIDDAD
  1. S TIUDA=$P(TIUMISC,U,3),TIUCONT1=0
  1. S TIUCONT=$$SETCONT(.TIUFOOT,TIUMISC,TIUCONT1,0,$G(TIUROOT),TIUTYPE) Q:'TIUCONT
  1. S HASIDKID=$G(^TMP("TIULQ",$J,TIUDA,"ZZID",0)) ;how many ID kids
  1. S HASIDDAD=$S(TIUROOT["ZZID":1,1:0)
  1. I HASIDKID W "<< Interdisciplinary Note - Begin >>",!
  1. I HASIDDAD W "<< Interdisciplinary Note - Cont. >>",!
  1. W $S('HASIDKID&'HASIDDAD:"NOTE DATED: ",1:"ENTRY DATED: ")
  1. S REFDT=@TIUROOT@(1301,"I")
  1. W $$DATE^TIULS(REFDT,"MM/DD/CCYY HR:MIN")
  1. S TITLE=@TIUROOT@(.01,"E")
  1. W ?30,$$UP^XLFSTR(TITLE),!
  1. S LOC=$G(@TIUROOT@(1205,"I"))
  1. I +LOC D
  1. . ;W $S($P(^SC(LOC,0),U,3)="W":"ADMITTED: ",1:"VISIT: ") ;IHS/ITSC/LJF 02/26/2003
  1. . W $S($P($G(^SC(LOC,0)),U,3)="W":"ADMITTED: ",1:"VISIT: ") ;IHS/ITSC/LJF 02/26/2003 check for null clinic
  1. . S ADT=$G(@TIUROOT@(.07,"I"))
  1. . W $$DATE^TIULS(ADT,"MM/DD/CCYY HR:MIN")
  1. . S HLOC=$G(@TIUROOT@(1205,"E"))
  1. . W " ",HLOC
  1. S SUBJ=$G(@TIUROOT@(1701,"E"))
  1. I SUBJ]"" W !,"SUBJECT: ",^("E"),!
  1. S TIUCONT1=1
  1. I $D(@TIUROOT@("PROBLEM")) D Q:'TIUCONT
  1. . S TIUCONT=$$SETCONT(.TIUFOOT,TIUMISC,TIUCONT1,0,$G(TIUROOT),TIUTYPE) Q:'TIUCONT
  1. . W !,"ASSOCIATED PROBLEMS:"
  1. . N TIUI S TIUI=0
  1. . F S TIUI=$O(@TIUROOT@("PROBLEM",TIUI)) Q:'TIUI D Q:'TIUCONT
  1. ..W !,^(TIUI,0)
  1. ..S TIUCONT=$$SETCONT(.TIUFOOT,TIUMISC,TIUCONT1,0,$G(TIUROOT),TIUTYPE) Q:'TIUCONT
  1. W !
  1. S TIUI=0,DIWF="WN",DIWL=1,DIWR=79 K ^UTILITY($J,"W")
  1. F S TIUI=$O(@TIUROOT@("TEXT",TIUI)) Q:TIUI'>0 D Q:'TIUCONT ; D ^DIWW
  1. . S TIUCONT=$$SETCONT(.TIUFOOT,TIUMISC,TIUCONT1,0,$G(TIUROOT),TIUTYPE) Q:'TIUCONT
  1. . S X=@TIUROOT@("TEXT",TIUI,0) S:X="" X=" " D ^DIWP
  1. D ^DIWW K ^UTILITY($J,"W")
  1. Q:'TIUCONT
  1. D GETSIG(TIUROOT,.TIUSIG)
  1. S TIUCONT=$$SETCONT(.TIUFOOT,TIUMISC,TIUCONT1,0,$G(TIUROOT),TIUTYPE) Q:'TIUCONT
  1. W !
  1. D SIGBLK^TIUPRPN8(.TIUFOOT,TIUMISC,TIUCONT1,.TIUCONT,.TIUSIG,TIUROOT)
  1. Q:'TIUCONT
  1. ADDENDA ; Fall through and do Addenda of docmt TIUDA
  1. N DIW,DIWF,DIWL,DIWR,DIWT,X,Z,TIUI,TIUADD,ADDMRDT
  1. S TIUADD=0,DIWF="WN",DIWL=1,DIWR=79 K ^UTILITY($J,"W")
  1. F S TIUADD=$O(@TIUROOT@("ZADD",TIUADD)) Q:TIUADD'>0 D Q:'TIUCONT
  1. . S TIUCONT=$$SETCONT(.TIUFOOT,TIUMISC,TIUCONT1,0,$G(TIUROOT),TIUTYPE) Q:'TIUCONT
  1. . S ADDMRDT=@TIUROOT@("ZADD",TIUADD,1301,"I")
  1. . W !!,$$DATE^TIULS(ADDMRDT,"MM/DD/CCYY HR:MIN"),?21,"ADDENDUM"
  1. . W ?39,"STATUS: ",@TIUROOT@("ZADD",TIUADD,.05,"E") ;P162
  1. . S TIUI=0
  1. . F S TIUI=$O(@TIUROOT@("ZADD",TIUADD,"TEXT",TIUI)) Q:TIUI'>0 D Q:'TIUCONT
  1. . . S TIUCONT=$$SETCONT(.TIUFOOT,TIUMISC,TIUCONT1,0,$G(TIUROOT),TIUTYPE) Q:'TIUCONT
  1. . . S X=@TIUROOT@("ZADD",TIUADD,"TEXT",TIUI,0) S:X="" X=" " D ^DIWP
  1. . D ^DIWW
  1. . Q:'TIUCONT
  1. . N TIUADRT
  1. . S TIUADRT=$P(TIUROOT,")")_",""ZADD"","_TIUADD_")"
  1. . D GETSIG(TIUADRT,.TIUSIG)
  1. . D SIGBLK^TIUPRPN8(.TIUFOOT,TIUMISC,TIUCONT1,.TIUCONT,.TIUSIG,TIUADRT)
  1. ; Need ! in front for amended notes:
  1. I $G(TIUIDEND) W !,"<< Interdisciplinary Note - End >>",!
  1. K ^UTILITY($J,"W")
  1. ; Write 2 linefeeds between records
  1. W:TIUCONT !!
  1. Q
  1. ;
  1. IDKIDS(TIUROOT,TIUFOOT,TIUMISC,TIUCONT1,TIUCONT) ; Print ID kids
  1. ;of docmt TIUDA (each kid does its own addenda)
  1. N TIUL,KIDDA,TIUDA,TIUSORT,TIUIDRT,TIUIDEND
  1. S TIUDA=$P(TIUMISC,U,3),TIUIDEND=0
  1. S TIUL=0
  1. F S TIUL=$O(^TMP("TIULQ",$J,TIUDA,"ZZID",TIUL)) Q:'TIUL D Q:'TIUCONT
  1. . S KIDDA=$O(^TMP("TIULQ",$J,TIUDA,"ZZID",TIUL,0))
  1. . S TIUMISC=TIUFLAG_U_TIUPFNBR_U_KIDDA
  1. . S TIUIDRT="^TMP(""TIULQ"",$J,"_TIUDA_",""ZZID"","_TIUL_","_KIDDA_")"
  1. . I '$O(^TMP("TIULQ",$J,TIUDA,"ZZID",TIUL)) S TIUIDEND=1
  1. . D REPORT(TIUIDRT,.TIUFOOT,TIUMISC,.TIUCONT,TIUIDEND)
  1. Q
  1. ;
  1. GETSIG(TIUROOT,TIUSIG) ; Get signature info from TIULQ global;
  1. ; Set info into TIUSIG array **100**
  1. ; Requires array name TIUROOT; passes back array TIUSIG
  1. ; TIUROOT = ^TMP("TIULQ",$J,NOTEIFN) for parent note, or
  1. ; ^TMP("TIULQ",$J,NOTEIFN,"ZADD",ADDMIFN) for addendum, or
  1. ; ^TMP("TIULQ",$J,NOTEIFN,"ZZID",IDKIDIFN) for ID kid.
  1. ; Signature should be on bottom of form, Addenda on Subsequent pages
  1. N TIULINE S $P(TIULINE,"-",81)=""
  1. S TIUSIG("AUTHOR")=$G(@TIUROOT@(1202,"I"))_";"_$G(^("E"))
  1. S TIUSIG("EXPSIGNR")=$G(@TIUROOT@(1204,"I"))_";"_$G(^("E"))
  1. S TIUSIG("EXPCOSNR")=$G(@TIUROOT@(1208,"I"))_";"_$G(^("E"))
  1. S TIUSIG("SIGNDATE")=$G(@TIUROOT@(1501,"I"))
  1. S TIUSIG("SIGNEDBY")=$G(@TIUROOT@(1502,"I"))_";"_$G(^("E"))
  1. S TIUSIG("SIGNNAME")=$G(@TIUROOT@(1503,"E"))
  1. S TIUSIG("SIGTITL")=$G(@TIUROOT@(1504,"E"))
  1. S TIUSIG("SIGNMODE")=$G(@TIUROOT@(1505,"I"))_";"_$G(^("E"))
  1. S TIUSIG("COSGDATE")=$G(@TIUROOT@(1507,"I"))
  1. S TIUSIG("COSGEDBY")=$G(@TIUROOT@(1508,"I"))_";"_$G(^("E"))
  1. S TIUSIG("COSGNAME")=$G(@TIUROOT@(1509,"E"))
  1. S TIUSIG("COSGTITL")=$G(@TIUROOT@(1510,"E"))
  1. S TIUSIG("COSGMODE")=$G(@TIUROOT@(1511,"I"))_";"_$G(^("E"))
  1. S TIUSIG("SIGCHRT")=$G(@TIUROOT@(1512,"I"))_";"_$G(^("E"))
  1. S TIUSIG("COSCHRT")=$G(@TIUROOT@(1513,"I"))_";"_$G(^("E"))
  1. ; -- P182 Set Admin Clos Date:
  1. ;IHS/MSC/MGH added in 1013
  1. S TIUSIG("ADMINCDT")=$G(@TIUROOT@(1606,"I"))_";"_$G(^("E"))
  1. Q
  1. CHECK(TIUTITLE,TEMPLATE) ;See if there is a header for this note title
  1. N IEN,TIEN,DIV,TITLE
  1. S TIEN=""
  1. S DIV="" S DIV=$O(^DG(40.8,"AD",DUZ(2),DIV)) Q:DIV="" D
  1. .S TITLE=TIUTITLE,IEN=""
  1. .S IEN=$O(^TIU(8925.94,DIV,9999999.11,"B",TITLE,IEN)) Q:IEN="" D
  1. ..S TIEN=$P($G(^TIU(8925.94,DIV,9999999.11,IEN,0)),U,TEMPLATE)
  1. Q TIEN
  1. ;
  1. SETCONT(TIUFOOT,TIUMISC,TIUCONT1,TIUHEAD,TIUROOT,TIUTYPE) ;Does footer
  1. ;and returns TIUCONT
  1. ; Requires array TIUFOOT, vars TIUMISC,TIUCONT1; optional TIUHEAD
  1. ; Optional TIUROOT
  1. ;Check for special footer
  1. N X
  1. S FOOTER=$$CHECK(TIUTYPE,3)
  1. I +FOOTER S X=$$FOOTER^BTIUPRT2(TIUMISC,TIUCONT1,TIUHEAD,$G(TIUROOT),FOOTER,TIUK,DFN)
  1. E S X=$$FOOTER^TIUPRPN2(.TIUFOOT,TIUMISC,TIUCONT1,TIUHEAD,$G(TIUROOT))
  1. Q X