| 1 | TIURL ; SLC/JER - List Management Library ;2/21/01
 | 
|---|
| 2 |  ;;1.0;TEXT INTEGRATION UTILITIES;**88,100,224**;Jun 20, 1997;Build 7
 | 
|---|
| 3 |  ; 11/14/00 Moved UPDATEID, etc to TIURL1
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | UPRBLD(TIUCHNG,ITEMS) ; Refreshes, updates, or rebuilds the list
 | 
|---|
| 6 |  ;after various actions. Also restores video.
 | 
|---|
| 7 |  ; Receives optional arrays TIUCHNG, ITEMS by ref.
 | 
|---|
| 8 |  ; Checks TIUCHNG("RBLD"),TIUCHNG("UPDATE"), & TIUCHNG("REFRESH");
 | 
|---|
| 9 |  ;does nothing if none of these is defined.
 | 
|---|
| 10 |  ; Items in ITEMS list are updated (depending on TIUCHNG), and
 | 
|---|
| 11 |  ;their video attributes are restored.
 | 
|---|
| 12 |  N TIUI,TIUREC,TIUJ,RTN
 | 
|---|
| 13 |  S RTN=$G(^TMP("TIUR",$J,"RTN"))
 | 
|---|
| 14 |  ; -- Restore video attributes for selected items:
 | 
|---|
| 15 |  ;    (Rebuild code, except for TIUROR, does its own video restore)
 | 
|---|
| 16 |  I '$G(TIUCHNG("RBLD"))!(RTN="TIUROR") D
 | 
|---|
| 17 |  . S TIUJ=0
 | 
|---|
| 18 |  . F  S TIUJ=$O(ITEMS(TIUJ)) Q:'TIUJ  D
 | 
|---|
| 19 |  . . Q:TIUJ=$P($G(TIUGLINK),U,2)  ; Don't restore midattach ID child
 | 
|---|
| 20 |  . . D RESTORE^VALM10(TIUJ)
 | 
|---|
| 21 |  ; -- If TIUROR screen needs changes, it is always
 | 
|---|
| 22 |  ;    rebuilt, not updated:
 | 
|---|
| 23 |  I RTN="TIUROR",$G(TIUCHNG("UPDATE")) S TIUCHNG("RBLD")=1
 | 
|---|
| 24 |  ;VMP/ELR ADDED THE FOLLOWING 2 LINES IN PATCH 224
 | 
|---|
| 25 |  I RTN="TIUR",$G(TIUCHNG("UPDATE")) S TIUCHNG("RBLD")=1
 | 
|---|
| 26 |  I RTN="TIURM",$G(TIUCHNG("UPDATE")) S TIUCHNG("RBLD")=1
 | 
|---|
| 27 |  ; -- Rebuild, Update, or Refresh list:
 | 
|---|
| 28 |  ;    (In cases (e.g.browse) where more than one action
 | 
|---|
| 29 |  ;    was performed, TIUCHNG("RBLD") may coexist w TIUCHNG("UPDATE"),
 | 
|---|
| 30 |  ;    etc., so order is important.)
 | 
|---|
| 31 |  I $G(TIUCHNG("RBLD")) D  Q
 | 
|---|
| 32 |  . W !,"Rebuilding the list..."
 | 
|---|
| 33 |  . I RTN="TIUROR" D RBLD^TIUROR Q
 | 
|---|
| 34 |  . ; -- If not in 2b, pause for feedback ("Rebuilding",
 | 
|---|
| 35 |  . ;    "Entry deleted", etc):
 | 
|---|
| 36 |  . H 2
 | 
|---|
| 37 |  . I RTN="TIURM" D RBLD^TIURM Q
 | 
|---|
| 38 |  . I RTN="TIURPTTL" D RBLD^TIURPTTL Q
 | 
|---|
| 39 |  . I RTN="TIURTITL" D RBLD^TIURTITL Q
 | 
|---|
| 40 |  . I RTN="TIUR" D RBLD^TIUR
 | 
|---|
| 41 |  I $G(TIUCHNG("UPDATE")),$D(ITEMS) D  Q
 | 
|---|
| 42 |  . S TIUI=""
 | 
|---|
| 43 |  . W !,"Updating the list..."
 | 
|---|
| 44 |  . F  S TIUI=$O(ITEMS(TIUI)) Q:'TIUI  D
 | 
|---|
| 45 |  . . D SETREC(TIUI,.TIUREC)
 | 
|---|
| 46 |  . . ;VMP/ELR ADDED THE FOLLOWING LINE IN PATCH 224
 | 
|---|
| 47 |  . . I $G(TIUREC)="" Q
 | 
|---|
| 48 |  . . S ^TMP("TIUR",$J,TIUI,0)=TIUREC
 | 
|---|
| 49 |  I $G(TIUCHNG("REFRESH")) D  Q
 | 
|---|
| 50 |  . W !,"Refreshing the list..."
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 |  ;
 | 
|---|
| 53 | SETREC(LINENO,TIUREC,PFIXFLAG) ; Update line LINENO with [new prefix], new flds
 | 
|---|
| 54 |  ; Combined fields so that SETREC works for MIS as well as
 | 
|---|
| 55 |  ;CLINICIAN LM templates
 | 
|---|
| 56 |  ; PFIXFLAG=1: update prefix (as well as other flds).
 | 
|---|
| 57 |  ; New prefix is for unexpanded state of line.
 | 
|---|
| 58 |  N DIC,DIQ,DA,DR,TIUR,ADT,DDT,LCT,AUT,AMD,EDT,SDT,TIULST4
 | 
|---|
| 59 |  N MOM,DOC,MISEDT,ITEMNODE
 | 
|---|
| 60 |  S ITEMNODE=^TMP("TIURIDX",$J,LINENO)
 | 
|---|
| 61 |  S DA=+$P(ITEMNODE,U,2)
 | 
|---|
| 62 |  S DIQ="TIUR",DIC=8925,DIQ(0)="IE"
 | 
|---|
| 63 |  S DR=".01;.02;.05;.07;.08;.1;1202;1204;1208;1209;1301;1307;1501;1507"
 | 
|---|
| 64 |  D EN^DIQ1 Q:$D(TIUR)'>9
 | 
|---|
| 65 |  S DOC=$$PNAME^TIULC1(+TIUR(8925,DA,.01,"I"))
 | 
|---|
| 66 |  I DOC="Addendum" D
 | 
|---|
| 67 |  . S MOM=+$P(^TIU(8925,DA,0),U,6)
 | 
|---|
| 68 |  . S DOC=DOC_" to "_$$PNAME^TIULC1(+$G(^TIU(8925,MOM,0)))
 | 
|---|
| 69 |  S TIULST4=$E($P($G(^DPT(TIUR(8925,DA,.02,"I"),0)),U,9),6,9)
 | 
|---|
| 70 |  S TIULST4="("_$E(TIUR(8925,DA,.02,"E"))_TIULST4_")"
 | 
|---|
| 71 |  S ADT=$$DATE^TIULS(TIUR(8925,DA,.07,"I"),"MM/DD/YY")
 | 
|---|
| 72 |  S DDT=$$DATE^TIULS(TIUR(8925,DA,.08,"I"),"MM/DD/YY")
 | 
|---|
| 73 |  S AMD=$$NAME^TIULS(TIUR(8925,DA,1208,"E"),"LAST, FI MI")
 | 
|---|
| 74 |  S AUT=$$NAME^TIULS(TIUR(8925,DA,1202,"E"),"LAST, FI MI")
 | 
|---|
| 75 |  S EDT=$$DATE^TIULS(TIUR(8925,DA,1301,"I"),"MM/DD/YY")
 | 
|---|
| 76 |  S MISEDT=$$DATE^TIULS(TIUR(8925,DA,1307,"I"),"MM/DD/YY")
 | 
|---|
| 77 |  S SDT=$S(+TIUR(8925,DA,1507,"I"):TIUR(8925,DA,1507,"I"),TIUR(8925,DA,.05,"I")'<7:+TIUR(8925,DA,1501,"I"),1:"")
 | 
|---|
| 78 |  S SDT=$$DATE^TIULS(SDT,"MM/DD/YY")
 | 
|---|
| 79 |  S LCT=$G(TIUR(8925,DA,.1,"E"))
 | 
|---|
| 80 |  ; -- Set prefix_patient/title into ^TMP("TIUR",$J,LINENO,0),
 | 
|---|
| 81 |  ;    then into TIUREC: --
 | 
|---|
| 82 |  I $G(PFIXFLAG) D SETPT^TIURL1(LINENO)
 | 
|---|
| 83 |  S TIUREC=^TMP("TIUR",$J,LINENO,0)
 | 
|---|
| 84 |  ; -- Set other fields into TIUREC: --
 | 
|---|
| 85 |  S TIUREC=$$SETFLD^VALM1(LINENO,TIUREC,"NUMBER")
 | 
|---|
| 86 |  S TIUREC=$$SETFLD^VALM1($$LOWER^TIULS(TIUR(8925,DA,.05,"E")),TIUREC,"STATUS")
 | 
|---|
| 87 |  S TIUREC=$$SETFLD^VALM1(TIULST4,TIUREC,"LAST I/LAST 4")
 | 
|---|
| 88 |  S TIUREC=$$SETFLD^VALM1(DOC,TIUREC,"DOCUMENT TYPE")
 | 
|---|
| 89 |  S:$D(VALMDDF("ADMISSION DATE")) TIUREC=$$SETFLD^VALM1(ADT,TIUREC,"ADMISSION DATE")
 | 
|---|
| 90 |  S:$D(VALMDDF("DISCH DATE")) TIUREC=$$SETFLD^VALM1(AMD,TIUREC,"DISCH DATE")
 | 
|---|
| 91 |  S:$D(VALMDDF("DICT DATE")) TIUREC=$$SETFLD^VALM1(MISEDT,TIUREC,"DICT DATE")
 | 
|---|
| 92 |  S:$D(VALMDDF("LINE COUNT")) TIUREC=$$SETFLD^VALM1(LCT,TIUREC,"LINE COUNT")
 | 
|---|
| 93 |  S:$D(VALMDDF("REF DATE")) TIUREC=$$SETFLD^VALM1(EDT,TIUREC,"REF DATE")
 | 
|---|
| 94 |  S:$D(VALMDDF("SIG DATE")) TIUREC=$$SETFLD^VALM1(SDT,TIUREC,"SIG DATE")
 | 
|---|
| 95 |  S TIUREC=$$SETFLD^VALM1(AUT,TIUREC,"AUTHOR")
 | 
|---|
| 96 |  S:$D(VALMDDF("COSIGNER")) TIUREC=$$SETFLD^VALM1(AMD,TIUREC,"COSIGNER")
 | 
|---|
| 97 |  S:$D(VALMDDF("ATTENDING")) TIUREC=$$SETFLD^VALM1(AMD,TIUREC,"ATTENDING")
 | 
|---|
| 98 |  S ^TMP("TIUR",$J,LINENO,0)=TIUREC
 | 
|---|
| 99 |  Q
 | 
|---|