| 1 | TIUROR ;SLC/JER - New PATIENT Review screen ; 9/5/01 | 
|---|
| 2 | ;;1.0;TEXT INTEGRATION UTILITIES;**10,86,88,100,123,143**;Jun 20, 1997 | 
|---|
| 3 | ; Split rtn into TIUROR & TIUROR1 11/27/00 | 
|---|
| 4 | EN ; -- main entry point for TIU OE/RR REVIEW PN | 
|---|
| 5 | D EN^VALM("TIU OE/RR REVIEW PN") | 
|---|
| 6 | Q | 
|---|
| 7 | ; | 
|---|
| 8 | HDR ; -- header code | 
|---|
| 9 | N TIUCTXT,TIUPNM,TIUSSN,TIULOC,TIUDOB,TIUHDR,TIUCWAD,TIUDCNT,VADM,VA | 
|---|
| 10 | N TIUDFN I +$D(@VALMAR@(0))'>0 S VALMQUIT=1 Q | 
|---|
| 11 | S TIUDFN=+$G(@VALMAR@("DFN")) | 
|---|
| 12 | S TIUCWAD=$$CWAD^GMRPNOR1(TIUDFN) S:TIUCWAD]"" TIUCWAD="<"_TIUCWAD_">" | 
|---|
| 13 | S TIUDCNT=$J($S($G(@VALMAR@("CTXT"))="INIT":"Last ",1:"")_+@VALMAR@(0)_" note(s)",16) | 
|---|
| 14 | S TIUCTXT=$$UP^XLFSTR($$PNAME^TIULC1(@VALMAR@("CLASS"))) | 
|---|
| 15 | S TIUCTXT=$$TITLE^TIUU(TIUCTXT) | 
|---|
| 16 | S TIUHDR=$$SETSTR^VALM1(TIUCWAD,$G(TIUHDR),1,20) | 
|---|
| 17 | S TIUHDR=$$SETSTR^VALM1(TIUCTXT,$G(TIUHDR),27,28) | 
|---|
| 18 | S TIUHDR=$$SETSTR^VALM1(TIUDCNT,$G(TIUHDR),64,16) | 
|---|
| 19 | S VALMHDR(1)=TIUHDR,TIUHDR="" | 
|---|
| 20 | S TIUPNM=$$NAME^TIULO(TIUDFN),TIUSSN=$$SSN^TIULO(TIUDFN) | 
|---|
| 21 | S TIUDOB=$$DOB^TIULO(TIUDFN)_" ("_$$AGE^TIULO(TIUDFN)_")" | 
|---|
| 22 | S TIULOC=$G(^DPT(+TIUDFN,.1)) | 
|---|
| 23 | S:TIULOC]"" TIULOC=TIULOC_"/"_$G(^DPT(+TIUDFN,.101)) | 
|---|
| 24 | S TIUHDR=$$SETSTR^VALM1(TIUPNM,$G(TIUHDR),1,20) | 
|---|
| 25 | S TIUHDR=$$SETSTR^VALM1(TIUSSN,$G(TIUHDR),22,11) | 
|---|
| 26 | S TIUHDR=$$SETSTR^VALM1(TIULOC,$G(TIUHDR),35,20) | 
|---|
| 27 | S TIUHDR=$$SETSTR^VALM1(TIUDOB,$G(TIUHDR),64,16) | 
|---|
| 28 | S VALMHDR(2)=TIUHDR | 
|---|
| 29 | Q | 
|---|
| 30 | ; | 
|---|
| 31 | INIT(CLASS,CONTEXT,DFN,TIUOCC) ; -- init variables and list array | 
|---|
| 32 | N TIUR,TIUI,TIUY,TIUPICK,TIUQUIT,TIUCCTXT,TIUDUZ,TIUERLY,TIULATE | 
|---|
| 33 | N TIUPREF,TIUOCTXT,TIURCTXT,TIUSEQ,TIUDPRM | 
|---|
| 34 | N DUOUT,DTOUT,DIROUT ;1/8/01 | 
|---|
| 35 | I $G(@VALMAR@("SEQ"))]"" S TIUSEQ=$G(@VALMAR@("SEQ")) | 
|---|
| 36 | I +$G(@VALMAR@("CTXT")) S TIURCTXT=$G(@VALMAR@("CTXT")) | 
|---|
| 37 | K @VALMAR,VALMCNT,^TMP("TIURIDX",$J) | 
|---|
| 38 | K ^TMP("TIUYARRAY",$J) ; TIU*1.0*143 | 
|---|
| 39 | S TIUPREF=$$PERSPRF^TIULE(DUZ) | 
|---|
| 40 | S TIUSEQ=$G(TIUSEQ,$S($P(TIUPREF,U,4)="A":"A",1:"D")) | 
|---|
| 41 | S TIUPICK=+$O(^ORD(101,"B","TIU ACTION SELECT LIST ELEMENT",0)) | 
|---|
| 42 | S DFN=$S(+$G(DFN):+$G(DFN),+$G(ORVP):+$G(ORVP),1:+$$PATIENT^TIULA) | 
|---|
| 43 | I $S($D(DUOUT):1,$D(DTOUT):1,$D(DIROUT):1,+$G(DFN)'>0:1,1:0) S VALMQUIT=1 Q | 
|---|
| 44 | I +$G(CONTEXT)'=9999,'+$G(TIUOCC) S TIUOCC=$S(+$P(TIUPREF,U,10):+$P(TIUPREF,U,10),1:100) | 
|---|
| 45 | S ^TMP("TIUR",$J,"RTN")="TIUROR" | 
|---|
| 46 | I '$O(^TIU(8925,"ACLPT",CLASS,DFN,0)),'$O(^TIU(8925,"ACLAU",CLASS,DUZ,DFN,0)),'$O(^TIU(8925,"ACLEC",CLASS,DUZ,DFN,0)) D  Q:$G(CONTEXT)'=9999 | 
|---|
| 47 | . N TIUST | 
|---|
| 48 | . S TIUST=$S(CONTEXT=2:"UNSIGNED ",CONTEXT=3:"UNCOSIGNED ",1:"SIGNED ") | 
|---|
| 49 | . S VALMCNT=2,^TMP("TIUR",$J,0)=0 | 
|---|
| 50 | . S ^TMP("TIUR",$J,1,0)="" | 
|---|
| 51 | . S ^TMP("TIUR",$J,2,0)="No "_TIUST_$$UP^XLFSTR($$PNAME^TIULC1(CLASS))_" Available for "_$$PTNAME^TIULC1(DFN) | 
|---|
| 52 | . S TIUOCTXT=CONTEXT | 
|---|
| 53 | . I CONTEXT=4 S TIUOCTXT=TIUOCTXT_U_TIUDUZ | 
|---|
| 54 | . I CONTEXT=5 S TIUOCTXT=TIUOCTXT_U_+TIUERLY_U_+TIULATE | 
|---|
| 55 | . S ^TMP("TIUR",$J,"SEQ")=$G(TIUSEQ) | 
|---|
| 56 | . S ^TMP("TIUR",$J,"CLASS")=CLASS,^("DFN")=DFN,^("CTXT")=TIUOCTXT D HDR | 
|---|
| 57 | I $G(CONTEXT)=9999 S TIUCCTXT=1,TIUOCC=9999999 | 
|---|
| 58 | ; -- Set vars needed for RBLD if user ^s: | 
|---|
| 59 | S ^TMP("TIUR",$J,"CLASS")=CLASS,^("DFN")=DFN,^("OCC")=TIUOCC,^("CTXT")=+$G(TIURCTXT) | 
|---|
| 60 | S CONTEXT=$S($G(CONTEXT)=9999:$$ASKCTXT^TIUROR1,+$G(CONTEXT):+$G(CONTEXT),1:1) | 
|---|
| 61 | ; -- 1=Signed 2=Unsigned 3=Uncosigned 4=Signed/Author 5=Signed/Date -- | 
|---|
| 62 | I $S($D(DIROUT):1,$D(DUOUT):1,$D(DTOUT):1,1:0) D RBLD Q | 
|---|
| 63 | I $S(CONTEXT=1:1,CONTEXT=2:1,CONTEXT=3:1,1:0) S TIUERLY="",TIULATE="",TIUDUZ=DUZ | 
|---|
| 64 | I CONTEXT=4 D  Q:+$G(TIUQUIT)>0 | 
|---|
| 65 | . S TIUERLY="",TIULATE="" | 
|---|
| 66 | . S TIUDUZ=$S(+$G(TIURCTXT)'=4:+$$AUTHOR^TIULA2(1),+$P(TIURCTXT,U,2)'>0:+$$AUTHOR^TIULA2(1),+$G(TIUCCTXT):+$$AUTHOR^TIULA2(1),1:+$P(TIURCTXT,U,2)) | 
|---|
| 67 | . I $S($D(DUOUT):1,$D(DTOUT):1,$D(DIROUT):1,+$G(TIUDUZ)'>0:1,1:0) S TIUQUIT=1 D RBLD Q  ; changed DIRUT to DTOUT. 10/20/00 | 
|---|
| 68 | . S TIUSEQ=$S(+$G(TIUCCTXT):$P($$ASKSEQ^TIULA3(TIUSEQ),U),$G(TIUSEQ)']"":$P($$ASKSEQ^TIULA3(TIUSEQ),U),1:$G(TIUSEQ)) | 
|---|
| 69 | . I $S($D(DIROUT):1,$D(DUOUT):1,$D(DTOUT):1,1:0) S TIUQUIT=1 D RBLD | 
|---|
| 70 | I CONTEXT=5 D  Q:+$G(TIUQUIT)>0 | 
|---|
| 71 | . S TIUDUZ=+$G(DUZ) | 
|---|
| 72 | . S TIUERLY=$S(+$G(TIURCTXT)'=5:$$EDATE^TIULA("",7,""),+$P(TIURCTXT,U,2)'>0:$$EDATE^TIULA("",7,""),+$G(TIUCCTXT):$$EDATE^TIULA("",7,""),1:+$P(TIURCTXT,U,2)) | 
|---|
| 73 | . I $S($D(DIROUT):1,$D(DUOUT):1,$D(DTOUT):1,1:0) S TIUQUIT=1 D RBLD Q | 
|---|
| 74 | . S TIUERLY=$P(TIUERLY,U) | 
|---|
| 75 | . S TIULATE=$S(+$G(TIURCTXT)'=5:$$LDATE^TIULA("",7,""),+$P(TIURCTXT,U,3)'>0:$$LDATE^TIULA("",7,""),+$G(TIUCCTXT):$$LDATE^TIULA("",7,""),1:+$P(TIURCTXT,U,3)) | 
|---|
| 76 | . I $S($D(DIROUT):1,$D(DUOUT):1,$D(DTOUT):1,1:0) S TIUQUIT=1 D RBLD Q | 
|---|
| 77 | . S TIULATE=$P(TIULATE,U) | 
|---|
| 78 | . I TIUERLY>TIULATE D SWAP^TIUR(.TIUERLY,.TIULATE) | 
|---|
| 79 | . I $L(TIULATE,".")=1 D EXPRANGE^TIUR(.TIUERLY,.TIULATE) | 
|---|
| 80 | . S TIUSEQ=$S(+$G(TIUCCTXT):$P($$ASKSEQ^TIULA3(TIUSEQ),U),$G(TIUSEQ)']"":$P($$ASKSEQ^TIULA3(TIUSEQ),U),1:$G(TIUSEQ)) | 
|---|
| 81 | . I $S($D(DIROUT):1,$D(DUOUT):1,$D(DTOUT):1,1:0) S TIUQUIT=1 D RBLD | 
|---|
| 82 | I '$G(TIURBLD) W !,"Searching for the progress notes" | 
|---|
| 83 | N TIUEXPKD | 
|---|
| 84 | D CONTEXT^TIUSRVLL(.TIUY,CLASS,CONTEXT,DFN,TIUERLY,TIULATE,TIUDUZ,TIUOCC,TIUSEQ,.TIUEXPKD) W "." | 
|---|
| 85 | ; I $D(TIUY)'>9 D  Q  ; original code | 
|---|
| 86 | I $D(^TMP("TIUYARRAY",$J))'>9 D  Q  ; TIU*1.0*143 | 
|---|
| 87 | . N TIUST | 
|---|
| 88 | . S TIUST=$S(CONTEXT=2:"UNSIGNED ",CONTEXT=3:"UNCOSIGNED ",1:"SIGNED ") | 
|---|
| 89 | . S VALMCNT=2,^TMP("TIUR",$J,0)=0 | 
|---|
| 90 | . S ^TMP("TIUR",$J,1,0)="" | 
|---|
| 91 | . S ^TMP("TIUR",$J,2,0)="No "_TIUST_$$UP^XLFSTR($$PNAME^TIULC1(CLASS))_" Available for "_$$PTNAME^TIULC1(DFN) | 
|---|
| 92 | . S ^TMP("TIUR",$J,"CLASS")=CLASS,^("DFN")=DFN | 
|---|
| 93 | . S TIUOCTXT=CONTEXT | 
|---|
| 94 | . I CONTEXT=4 S TIUOCTXT=TIUOCTXT_U_TIUDUZ | 
|---|
| 95 | . I CONTEXT=5 S TIUOCTXT=TIUOCTXT_U_+TIUERLY_U_+TIULATE | 
|---|
| 96 | . S ^TMP("TIUR",$J,"SEQ")=$G(TIUSEQ) | 
|---|
| 97 | . S ^TMP("TIUR",$J,"CTXT")=$S('+$G(TIUCCTXT):"INIT",1:TIUOCTXT) D HDR | 
|---|
| 98 | S TIUI="" | 
|---|
| 99 | ; F  S TIUI=$O(TIUY(TIUI)) Q:TIUI=""  D  ; original code | 
|---|
| 100 | F  S TIUI=$O(^TMP("TIUYARRAY",$J,TIUI)) Q:TIUI=""  D  ; TIU*1.0*143 | 
|---|
| 101 | . N AUT,RDT,STAT,TITL,TIUD0,TIUD12,TIUD13,PREFIX | 
|---|
| 102 | . N TIUGDATA | 
|---|
| 103 | . S TIUD0=$G(^TIU(8925,+^TMP("TIUYARRAY",$J,TIUI),0)),TIUD12=$G(^(12)),TIUD13=$G(^(13)) ; ** | 
|---|
| 104 | . ; S TIUD0=$G(^TIU(8925,+TIUY(TIUI),0)),TIUD12=$G(^(12)),TIUD13=$G(^(13)) ; original | 
|---|
| 105 | . S VALMCNT=+$G(VALMCNT)+1 W:(VALMCNT#100'>0) "." | 
|---|
| 106 | . S TITL=$$PNAME^TIULC1(+TIUD0) | 
|---|
| 107 | . I TITL="Addendum" S TITL=TITL_" to "_$$PNAME^TIULC1(+$G(^TIU(8925,+$P(TIUD0,U,6),0))) | 
|---|
| 108 | . ; -- Mark ID note '<' and/or has addendum '+', | 
|---|
| 109 | . S PREFIX=$$PREFIX^TIULA2(+^TMP("TIUYARRAY",$J,TIUI),0) ; TIU*1.0*143 | 
|---|
| 110 | . ; S PREFIX=$$PREFIX^TIULA2(+TIUY(TIUI),0) ; original | 
|---|
| 111 | . S TITL=PREFIX_TITL | 
|---|
| 112 | . S AUT=$$NAME^TIULS($$PERSNAME^TIULC1(+$P(TIUD12,U,2)),"LAST,FI") | 
|---|
| 113 | . S RDT=$$DATE^TIULS(+TIUD13,"MM/DD/YY HR:MIN") | 
|---|
| 114 | . S STAT=$$LOW^XLFSTR($P($G(^TIU(8925.6,+$P(TIUD0,U,5),0)),U)) | 
|---|
| 115 | . S TIUR=$$SETFLD^VALM1(VALMCNT,$G(TIUR),"NUMBER") | 
|---|
| 116 | . S TIUR=$$SETFLD^VALM1(TITL,$G(TIUR),"TITLE") | 
|---|
| 117 | . S TIUR=$$SETFLD^VALM1(AUT,$G(TIUR),"AUTHOR") | 
|---|
| 118 | . S TIUR=$$SETFLD^VALM1(RDT,$G(TIUR),"REF DATE") | 
|---|
| 119 | . S TIUR=$$SETFLD^VALM1(STAT,$G(TIUR),"STATUS") | 
|---|
| 120 | . S ^TMP("TIUR",$J,VALMCNT,0)=TIUR | 
|---|
| 121 | . S ^TMP("TIUR",$J,0)=VALMCNT | 
|---|
| 122 | . S ^TMP("TIURIDX",$J,VALMCNT)=VALMCNT_U_+^TMP("TIUYARRAY",$J,TIUI)_U_PREFIX ; TIU*1.0*143 | 
|---|
| 123 | . ; S ^TMP("TIURIDX",$J,VALMCNT)=VALMCNT_U_+TIUY(TIUI)_U_PREFIX ; original | 
|---|
| 124 | . S ^TMP("TIUR",$J,"IEN",+^TMP("TIUYARRAY",$J,TIUI),VALMCNT)="" ; TIU*1.0*143 | 
|---|
| 125 | . ; S ^TMP("TIUR",$J,"IEN",+TIUY(TIUI),VALMCNT)="" ;original | 
|---|
| 126 | . S ^TMP("TIUR",$J,"IDX",VALMCNT,VALMCNT)="" | 
|---|
| 127 | . ;    TIUGDATA = 0 or DA^haskid^IDparent^prmsort: | 
|---|
| 128 | . S TIUGDATA=$$IDDATA^TIURECL1(+^TMP("TIUYARRAY",$J,TIUI),TIUD0) ; TIU*1.0*143 | 
|---|
| 129 | . ; S TIUGDATA=$$IDDATA^TIURECL1(+TIUY(TIUI),TIUD0) ; original | 
|---|
| 130 | . I $G(TIUGDATA) S ^TMP("TIUR",$J,"IDDATA",+^TMP("TIUYARRAY",$J,TIUI))=TIUGDATA ; TIU*1.0*143 | 
|---|
| 131 | . ; I $G(TIUGDATA) S ^TMP("TIUR",$J,"IDDATA",+TIUY(TIUI))=TIUGDATA ; original | 
|---|
| 132 | S ^TMP("TIUR",$J,"#")=TIUPICK_"^1:"_+VALMCNT | 
|---|
| 133 | S ^TMP("TIUR",$J,"CLASS")=CLASS | 
|---|
| 134 | S ^TMP("TIUR",$J,"DFN")=DFN | 
|---|
| 135 | S ^TMP("TIUR",$J,"OCC")=+$G(TIUOCC) | 
|---|
| 136 | S TIUOCTXT=CONTEXT | 
|---|
| 137 | I CONTEXT=4 S TIUOCTXT=TIUOCTXT_U_TIUDUZ | 
|---|
| 138 | I CONTEXT=5 S TIUOCTXT=TIUOCTXT_U_+TIUERLY_U_+TIULATE | 
|---|
| 139 | S ^TMP("TIUR",$J,"SEQ")=$G(TIUSEQ) | 
|---|
| 140 | S ^TMP("TIUR",$J,"CTXT")=$S('+$G(TIUCCTXT)&(VALMCNT'<TIUOCC):"INIT",1:TIUOCTXT) | 
|---|
| 141 | I CONTEXT=1,(+$G(TIUOCC)=9999999) D SAVE^TIUROR1 | 
|---|
| 142 | I +$G(TIUCCTXT),$D(^TMP("TIUR",$J,0)) D HDR | 
|---|
| 143 | ; If first build (not rebuild), expand parents to show kids that | 
|---|
| 144 | ;meet criteria: | 
|---|
| 145 | I '$G(TIURBLD),$D(TIUEXPKD) D | 
|---|
| 146 | . D EXPANDKD^TIUR2(.TIUEXPKD,"",CONTEXT) | 
|---|
| 147 | ; K ^TMP("TIUYARRAY",$J) ; TIU*1.0*143 | 
|---|
| 148 | Q | 
|---|
| 149 | ; | 
|---|
| 150 | EXIT ; -- exit code | 
|---|
| 151 | D CLEAN^VALM10 | 
|---|
| 152 | K DFN,VALMY,VALMCNT,VALMKEY,^TMP("TIURSAVE",$J) | 
|---|
| 153 | K ^TMP("TIURIDX",$J) | 
|---|
| 154 | K TIUGLINK ;**100** | 
|---|
| 155 | Q | 
|---|
| 156 | ; | 
|---|
| 157 | RBLD ; -- rebuild list after actions | 
|---|
| 158 | N TIUEXP,TIURBLD | 
|---|
| 159 | S TIURBLD=1 | 
|---|
| 160 | I +$O(^TMP("TIUR",$J,"EXPAND",0)) D  G RBLDX | 
|---|
| 161 | . M TIUEXP=^TMP("TIUR",$J,"EXPAND") | 
|---|
| 162 | . D INIT(+$G(^TMP("TIUR",$J,"CLASS")),+$G(^("CTXT")),+$G(^("DFN")),+$G(^("OCC"))) | 
|---|
| 163 | . D RELOAD^TIUROR1(.TIUEXP) | 
|---|
| 164 | . D BREATHE^TIUROR1(1) | 
|---|
| 165 | D INIT(+$G(^TMP("TIUR",$J,"CLASS")),+$G(^("CTXT")),+$G(^("DFN")),+$G(^("OCC"))) | 
|---|
| 166 | ;D HDR S VALMBCK="R",VALMBG=1,VALMCNT=+$G(^TMP("TIUR",$J,0)) | 
|---|
| 167 | D HDR S VALMBCK="R",VALMCNT=+$G(^TMP("TIUR",$J,0)) | 
|---|
| 168 | RBLDX I $G(VALMBG)>$G(VALMCNT) S VALMBG=$G(VALMCNT) | 
|---|
| 169 | Q | 
|---|