| 1 | TIUSUPN ;;SLC/TT - TIU SIGNED/UNSIGNED List Manager ; 04-FEB-2005
 | 
|---|
| 2 |  ;;1.0;TEXT INTEGRATION UTILITIES;**180**;Jun 20, 1997
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  Q
 | 
|---|
| 5 | EN ; -- main entry point for TIU SIGNED/UNSIGNED PN
 | 
|---|
| 6 |  N TIUSDT,TIUEDT
 | 
|---|
| 7 |  W @IOF
 | 
|---|
| 8 |  K ^TMP("TIUPS180",$J),^TMP("TIUSEL",$J),^TMP("VALMAR",$J),^TMP("TIU180",$J)
 | 
|---|
| 9 |  I '$$ASKRNG(.TIUSDT,.TIUEDT) Q
 | 
|---|
| 10 |  D EN^VALM("TIU SIGNED/UNSIGNED")
 | 
|---|
| 11 |  Q
 | 
|---|
| 12 |  ;
 | 
|---|
| 13 | HDR ; -- header code
 | 
|---|
| 14 |  N HDR1,HDR2
 | 
|---|
| 15 |  S HDR1="From "_$$FMTE^XLFDT(TIUSDT)_" to "_$$FMTE^XLFDT(TIUEDT,"D")
 | 
|---|
| 16 |  S HDR2=$P(^TMP("TIU180",$J,"TOTAL"),U)_" "_$S($P(^TMP("TIU180",$J,"TOTAL"),U)=0:"Document",$P(^TMP("TIU180",$J,"TOTAL"),U)=1:"Document",1:"Documents")
 | 
|---|
| 17 |  S VALMHDR(1)=$$SETSTR^VALM1(HDR1,"",(IOM-$L(HDR1))/2,$L(HDR1))
 | 
|---|
| 18 |  S VALMHDR(2)=$$SETSTR^VALM1(HDR2,"",(IOM-$L(HDR2))/2,$L(HDR2))
 | 
|---|
| 19 |  D XQORM
 | 
|---|
| 20 |  Q
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 | INIT ; Create list
 | 
|---|
| 23 |  N TIUDATE,TIUDA,TIUIEN,TIUTM,TIUCNT,TIUDP,TIUNO,TIUTOTAL
 | 
|---|
| 24 |  I '$G(TIUSDT)!'($G(TIUEDT)) Q
 | 
|---|
| 25 |  S TIUDATE=TIUSDT,(TIUCNT,VALMCNT,TIUTOTAL)=0
 | 
|---|
| 26 |  W !!,"Searching for the documents."
 | 
|---|
| 27 |  S TIUTM("STR")=$$NOW^XLFDT
 | 
|---|
| 28 |  F  S TIUDATE=$O(^TIU(8925,"F",TIUDATE)) Q:'TIUDATE!(TIUDATE>TIUEDT)  D
 | 
|---|
| 29 |  .S TIUIEN=$O(^TIU(8925,"F",TIUDATE,0)),TIUCNT=TIUCNT+1 D GETINFO(TIUIEN)
 | 
|---|
| 30 |  .W:TIUCNT#1000'>0 "."
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 |  S TIUDA="" F  S TIUDA=$O(^TMP("TIUPS180",$J,TIUDA)) Q:TIUDA=""  D
 | 
|---|
| 33 |  .S TIUTOTAL=+$G(TIUTOTAL)+1
 | 
|---|
| 34 |  .S TIUDP=$$SETSTR^VALM1(TIUTOTAL,"",1,5)
 | 
|---|
| 35 |  .S TIUDP=$$SETSTR^VALM1($P($$GET1^DIQ(8925,TIUDA,.02),",")_","_$E($P($$GET1^DIQ(8925,TIUDA,.02),",",2),1),TIUDP,6,18)
 | 
|---|
| 36 |  .S TIUDP=$$SETSTR^VALM1("("_$$PATFMAT($P(^TIU(8925,TIUDA,0),U,2))_")",TIUDP,19,26)
 | 
|---|
| 37 |  .S TIUDP=$$SETSTR^VALM1(TIUDA,TIUDP,28,36)
 | 
|---|
| 38 |  .S TIUDP=$$SETSTR^VALM1($E($$GET1^DIQ(8925,TIUDA,1502),1,19),TIUDP,38,56)
 | 
|---|
| 39 |  .S TIUDP=$$SETSTR^VALM1($P($$FMTE^XLFDT($P(^TIU(8925,TIUDA,12),U),2),"@"),TIUDP,58,68)
 | 
|---|
| 40 |  .S TIUDP=$$SETSTR^VALM1($$GET1^DIQ(8925,TIUDA,.05),TIUDP,70,100)
 | 
|---|
| 41 |  .D SET^VALM10(TIUTOTAL,TIUDP,TIUDA)
 | 
|---|
| 42 |  S (VALMCNT,^TMP("TIU180",$J,"TOTAL"))=+$G(TIUTOTAL)
 | 
|---|
| 43 |  I +$G(TIUTOTAL)'>0 D
 | 
|---|
| 44 |  .S VALMCNT=1
 | 
|---|
| 45 |  .D SET^VALM10(1," ",0)
 | 
|---|
| 46 |  .S TIUNO="No records found to satisfy search criteria."
 | 
|---|
| 47 |  .S TIUNO=$$SETSTR^VALM1(TIUNO,"",(IOM-$L(TIUNO))/2,$L(TIUNO))
 | 
|---|
| 48 |  .D SET^VALM10(2,TIUNO,0)
 | 
|---|
| 49 |  S TIUTM("END")=$$NOW^XLFDT
 | 
|---|
| 50 |  W !!,"Report started:   ",$P($$FMTE^XLFDT(TIUTM("STR")),"@",2)
 | 
|---|
| 51 |  W !,"Report finished:  ",$P($$FMTE^XLFDT(TIUTM("END")),"@",2)
 | 
|---|
| 52 |  W !,"Total searched:   ",TIUCNT
 | 
|---|
| 53 |  Q
 | 
|---|
| 54 |  ;
 | 
|---|
| 55 | GETINFO(TIUDA1) ;GET SIGNED DOCUMENT BUT UNSIGNED STATUS 
 | 
|---|
| 56 |  ; Input  -- TIUDA1 TIU Document file (#8925) IEN
 | 
|---|
| 57 |  ;
 | 
|---|
| 58 |  N TIUD0,TIUD15
 | 
|---|
| 59 |  I TIUDA1'>0 Q
 | 
|---|
| 60 |  I '$D(^TIU(8925,TIUDA1,0))!('$D(^TIU(8925,TIUDA1,15))) Q
 | 
|---|
| 61 |  S TIUD0=$G(^TIU(8925,TIUDA1,0)),TIUD15=$G(^TIU(8925,TIUDA1,15))
 | 
|---|
| 62 |  I $P(TIUD0,U,5)=5,$P(TIUD15,U,1)>0 D
 | 
|---|
| 63 |  .S ^TMP("TIUPS180",$J,TIUDA1)=""
 | 
|---|
| 64 |  Q
 | 
|---|
| 65 |  ;
 | 
|---|
| 66 | HELP ; -- help code
 | 
|---|
| 67 |  N DIR
 | 
|---|
| 68 |  I X="?" S DIR("A")="Enter RETURN to continue or '^' to exit",DIR(0)="E"
 | 
|---|
| 69 |  D FULL^VALM1
 | 
|---|
| 70 |  W !!,"The following actions are available:"
 | 
|---|
| 71 |  W !,"Browse Document  - View selected documents (if authorized)"
 | 
|---|
| 72 |  W !,"Detailed Display   - View detailed display of selected documents (if authorized)"
 | 
|---|
| 73 |  W !,"Update Document  - Update the status of selected documents"
 | 
|---|
| 74 |  I $D(DIR("A")) D ^DIR
 | 
|---|
| 75 |  S VALMBCK="R"
 | 
|---|
| 76 |  Q
 | 
|---|
| 77 |  ;
 | 
|---|
| 78 | ASKRNG(TIUBEGDT,TIUENDT) ;Prompt for date range
 | 
|---|
| 79 |  ; Input  -- None
 | 
|---|
| 80 |  ; Output -- 1=Successful and 0=Failure
 | 
|---|
| 81 |  ;           BEGDT Begin Date
 | 
|---|
| 82 |  ;           ENDT  End Date
 | 
|---|
| 83 |  N DIRUT,DTOUT,DUOUT,Y
 | 
|---|
| 84 |  W !,"Please specify a date range:",!
 | 
|---|
| 85 |  S TIUBEGDT=+$$READ^TIUU("DA^:DT:E","   Start Reference Date: ")
 | 
|---|
| 86 |  I +$D(DIRUT)!(TIUBEGDT'>0) G ASKRNGQ
 | 
|---|
| 87 |  S TIUENDT=+$$READ^TIUU("DA^"_TIUBEGDT_":DT:E","  Ending Reference Date: ")_"."_235959
 | 
|---|
| 88 |  I +$D(DIRUT)!(TIUENDT'>0) G ASKRNGQ
 | 
|---|
| 89 |  S Y=1
 | 
|---|
| 90 | ASKRNGQ Q +$G(Y)
 | 
|---|
| 91 |  ;
 | 
|---|
| 92 | PATFMAT(TIUPAT) ; format patient as first letter of last name and last 4 SSN
 | 
|---|
| 93 |  N TIUPATN,TIULAST4,TIUINIT
 | 
|---|
| 94 |  I 'TIUPAT Q ""
 | 
|---|
| 95 |  S TIUPATN=$$EXTERNAL^DILFD(8925,.02,"",TIUPAT)
 | 
|---|
| 96 |  S TIULAST4=$E($$GET1^DIQ(2,$G(TIUPAT),.09),6,9)
 | 
|---|
| 97 |  S TIUINIT=$E($P(TIUPATN,","))
 | 
|---|
| 98 |  Q TIUINIT_TIULAST4
 | 
|---|
| 99 |  ;
 | 
|---|
| 100 | EXIT ; -- exit code
 | 
|---|
| 101 |  D XQORM
 | 
|---|
| 102 |  Q
 | 
|---|
| 103 |  ;
 | 
|---|
| 104 | XQORM ; default action for list manager
 | 
|---|
| 105 |  S XQORM("#")=$O(^ORD(101,"B","TIU SIGNED/UNSIGNED SELECT",0))_U_"1:"_VALMCNT
 | 
|---|
| 106 |  Q
 | 
|---|
| 107 |  ;
 | 
|---|
| 108 | ACTIONS ; user selectable actions
 | 
|---|
| 109 |  N ACTION
 | 
|---|
| 110 |  D
 | 
|---|
| 111 |  . N DIR,DIRUT,POP,X,Y
 | 
|---|
| 112 |  . S DIR(0)="SA^1:Browse Document;2:Detailed Display;3:Status Update"
 | 
|---|
| 113 |  . S DIR("A")="Select Action: "
 | 
|---|
| 114 |  . S DIR("B")="Status Update"
 | 
|---|
| 115 |  . S DIR("L",1)="1.   Browse Document"
 | 
|---|
| 116 |  . S DIR("L",2)="2.   Detailed Display"
 | 
|---|
| 117 |  . S DIR("L",3)="3.   Status Update"
 | 
|---|
| 118 |  . S DIR("L",4)=""
 | 
|---|
| 119 |  . S DIR("L")="Enter selection by typing the name, number, or abbreviation"
 | 
|---|
| 120 |  . S DIR("?",1)="The following actions are available:"
 | 
|---|
| 121 |  . S DIR("?",2)=""
 | 
|---|
| 122 |  . S DIR("?",3)="Browse Document  - View selected documents (if authorized)"
 | 
|---|
| 123 |  . S DIR("?",4)="Detailed Display   - Detailed View of selected documents (if authorized)"
 | 
|---|
| 124 |  . S DIR("?",5)="Status Update  - Update the status of selected documents"
 | 
|---|
| 125 |  . D ^DIR Q:$D(DIRUT) 
 | 
|---|
| 126 |  . S ACTION=$S(+Y=1:"BROWSE^TIUSUPN1",+Y=2:"DISP^TIUSUPN1",+Y=3:"UPDTDOC^TIUSUPN1",Y=U:-1,1:-1)
 | 
|---|
| 127 |  . Q:ACTION=-1
 | 
|---|
| 128 |  . D @ACTION
 | 
|---|
| 129 |  . S VALMBCK="R"
 | 
|---|
| 130 |  Q
 | 
|---|
| 131 |  ;
 | 
|---|
| 132 | SELECT(ACTION) ; selects document(s) and calls ACTION
 | 
|---|
| 133 |  N TIUDOCS,TIUSEL,TIUQUIT,TIUCNT,TIUDA
 | 
|---|
| 134 |  D FULL^VALM1
 | 
|---|
| 135 |  I $P(^TMP("TIU180",$J,"TOTAL"),U)=0 W !,"No documents to select." H 3 Q
 | 
|---|
| 136 |  S TIUSEL=$P(XQORNOD(0),"=",2),TIUCNT=0
 | 
|---|
| 137 |  I TIUSEL="" D  Q:$D(TIUQUIT)
 | 
|---|
| 138 |  . N DIR,X,Y
 | 
|---|
| 139 |  . S DIR("A")="Select Document(s)"
 | 
|---|
| 140 |  . S DIR(0)="L^"_VALMBG_":"_VALMLST
 | 
|---|
| 141 |  . D ^DIR I $D(DIRUT)!(Y=U) S TIUQUIT=1 Q
 | 
|---|
| 142 |  . S TIUSEL=Y(0)
 | 
|---|
| 143 |  F X=1:1  Q:$P(TIUSEL,",",X)=""  D
 | 
|---|
| 144 |  . S TIUCNT=TIUCNT+1
 | 
|---|
| 145 |  . S TIUDOCS($P(TIUSEL,",",X))=$O(@VALMAR@("IDX",$P(TIUSEL,",",X),""))
 | 
|---|
| 146 |  . S ^TMP("TIUSEL",$J,TIUCNT)=$P(TIUSEL,",",X)
 | 
|---|
| 147 |  I $D(TIUDOCS)'>1 S VALMBCK="R" Q
 | 
|---|
| 148 |  D @ACTION
 | 
|---|
| 149 |  Q
 | 
|---|