| 1 | GMTSCNB ; SLC/KER - Consults Components Brief          ; 01/06/2003
 | 
|---|
| 2 |  ;;2.7;Health Summary;**46,47,58**;Oct 20, 1995
 | 
|---|
| 3 |  ; 
 | 
|---|
| 4 |  ; External References
 | 
|---|
| 5 |  ;   DBIA  3358  ^GMR(123,
 | 
|---|
| 6 |  ;   DBIA 10040  ^SC(
 | 
|---|
| 7 |  ;   DBIA 10104  $$UP^XLFSTR
 | 
|---|
| 8 |  ;   DBIA  2056  $$GET1^DIQ     (file 123.1, 44)
 | 
|---|
| 9 |  ;   DBIA  2056  GETS^DIQ       (file 123)
 | 
|---|
| 10 |  ;   DBIA  2051  LIST^DIC       (file 123.02)
 | 
|---|
| 11 |  ;                     
 | 
|---|
| 12 |  Q
 | 
|---|
| 13 | MAIN ; Consults - Brief
 | 
|---|
| 14 |  K ^TMP("GMTSCN")
 | 
|---|
| 15 |  N GMTSMAX,GMTSNMC,GMTSI,GMTSDFN S GMTSDFN=+($G(DFN))
 | 
|---|
| 16 |  S:'$L($G(GMTS1)) GMTS1=6666666 S:'$L($G(GMTS2)) GMTS2=9999999
 | 
|---|
| 17 |  S GMTS1=+($G(GMTS1)),GMTS2=+($G(GMTS2)),GMTSMAX=+($G(GMTSNDM)) S:GMTSMAX'>0 GMTSMAX=999999999
 | 
|---|
| 18 |  S GMTSDFN=+($G(GMTSDFN)) Q:GMTSDFN=0  Q:'$D(^GMR(123,"AD",GMTSDFN))
 | 
|---|
| 19 |  S:GMTS2>GMTS1 GMTSI=GMTS1,GMTS1=GMTS2,GMTS2=GMTSI S GMTSI=GMTS2-.00000001
 | 
|---|
| 20 |  F  S GMTSI=$O(^GMR(123,"AD",GMTSDFN,GMTSI)) Q:+GMTSI=0!(GMTSI>GMTS1)  D  Q:$D(GMTSQIT)
 | 
|---|
| 21 |  . S GMTSIEN=0 F  S GMTSIEN=$O(^GMR(123,"AD",GMTSDFN,GMTSI,GMTSIEN)) Q:+GMTSIEN=0  D  Q:$D(GMTSQIT)
 | 
|---|
| 22 |  . . Q:+($G(GMTSNMC))>+($G(GMTSMAX))  K ^TMP("GMTSCN",$J)
 | 
|---|
| 23 |  . . D EXT(GMTSIEN,GMTSI) Q:$D(GMTSQIT)  D BCD Q:$D(GMTSQIT)
 | 
|---|
| 24 |  Q
 | 
|---|
| 25 | BCD ;   Brief Consults Display
 | 
|---|
| 26 |  Q:'$D(^TMP("GMTSCN",$J))  S GMTSNMC=+($G(GMTSNMC))+1
 | 
|---|
| 27 |  D:GMTSNMC=1 BHDR Q:$D(GMTSQIT)
 | 
|---|
| 28 |  N GMTSID,GMTSFI,GMTSIE S GMTSID=0
 | 
|---|
| 29 |  F  S GMTSID=$O(^TMP("GMTSCN",$J,GMTSID)) Q:+GMTSID=0  D  Q:$D(GMTSQIT)
 | 
|---|
| 30 |  . S GMTSFI=123,GMTSIE="" F  S GMTSIE=$O(^TMP("GMTSCN",$J,GMTSID,GMTSFI,GMTSIE)) Q:GMTSIE=""  D  Q:$D(GMTSQIT)
 | 
|---|
| 31 |  . . N GMTSNB,GMTSRD,GMTSTO,GMTSVC,GMTSFM,GMTSLA,GMTSAD
 | 
|---|
| 32 |  . . S GMTSNB=+($G(GMTSIE)) S:+GMTSNB=0 GMTSNB="?"
 | 
|---|
| 33 |  . . S GMTSRD=$G(^TMP("GMTSCN",$J,GMTSID,GMTSFI,GMTSIE,3,"I"))
 | 
|---|
| 34 |  . . S GMTSRD=$$UP^XLFSTR($S(+GMTSRD>0:$$ED^GMTSU(+GMTSRD),1:"UNKNOWN"))
 | 
|---|
| 35 |  . . S GMTSFM=$$UP^XLFSTR($G(^TMP("GMTSCN",$J,GMTSID,GMTSFI,GMTSIE,2,"E")))
 | 
|---|
| 36 |  . . S GMTSTO=$$UP^XLFSTR($G(^TMP("GMTSCN",$J,GMTSID,GMTSFI,GMTSIE,1,"E")))
 | 
|---|
| 37 |  . . S GMTSLA=$$UP^XLFSTR($G(^TMP("GMTSCN",$J,GMTSID,GMTSFI,GMTSIE,40,1,1,"E")))
 | 
|---|
| 38 |  . . S GMTSLD=$G(^TMP("GMTSCN",$J,GMTSID,GMTSFI,GMTSIE,40,1,2,"I"))
 | 
|---|
| 39 |  . . S GMTSLD=$$UP^XLFSTR($S(+GMTSLD>0:$$ED^GMTSU(+GMTSLD),1:"UNKNOWN"))
 | 
|---|
| 40 |  . . D WRT
 | 
|---|
| 41 |  Q
 | 
|---|
| 42 | BHDR ;   Brief Header
 | 
|---|
| 43 |  N GMTSL S $P(GMTSL,"-",79)=""
 | 
|---|
| 44 |  D CKP^GMTSUP Q:$D(GMTSQIT)  W !,"Request Date/",?15,"Request From"
 | 
|---|
| 45 |  D CKP^GMTSUP Q:$D(GMTSQIT)  W !,"Number",?15,"Request To",?52,"Last Action",?67,"Action Date"
 | 
|---|
| 46 |  D CKP^GMTSUP Q:$D(GMTSQIT)  W !,GMTSL
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 | WRT ;   Write Brief Consult
 | 
|---|
| 49 |  D CKP^GMTSUP Q:$D(GMTSQIT)  W !,$E(GMTSRD,1,10),?15,GMTSFM,?52,GMTSLA,?67,GMTSLD
 | 
|---|
| 50 |  D CKP^GMTSUP Q:$D(GMTSQIT)  W !,GMTSNB,?15,GMTSTO
 | 
|---|
| 51 |  D CKP^GMTSUP Q:$D(GMTSQIT)  W !
 | 
|---|
| 52 |  Q
 | 
|---|
| 53 | EXT(X,Y) ; Extract Consults
 | 
|---|
| 54 |  K ^TMP("GMTSCN",$J),^UTILITY("DIQ1",$J) N DIC,DIQ,DR,GMTSFM,GMTSI
 | 
|---|
| 55 |  N GMTSIEN,GMTSIENS,GMTSLA,GMTSRT,GMTSTY,GMTSVC
 | 
|---|
| 56 |  S GMTSIEN=+($G(X)) Q:GMTSIEN=0  S GMTSI=+($G(Y))
 | 
|---|
| 57 |  S DIC=123,GMTSIENS=+($G(GMTSIEN))_","
 | 
|---|
| 58 |  S GMTSRT="^TMP(""GMTSCN"","_$J_","_GMTSI_")"
 | 
|---|
| 59 |  S DIQ(0)="IE",DR=".01;1;2;3;9" D GETS^DIQ(123,GMTSIENS,DR,"EI",GMTSRT,"MSG")
 | 
|---|
| 60 |  S GMTSFM=+($G(^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,2,"I"))) S:+GMTSFM=0 GMTSFM=""
 | 
|---|
| 61 |  S GMTSVC="" S:+GMTSFM>0 GMTSVC=$$GET1^DIQ(44,GMTSFM,9,"E") S:$G(GMTSVC)="NONE" GMTSVC=""
 | 
|---|
| 62 |  S:$L(GMTSVC) ^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,2,"SVC")=GMTSVC
 | 
|---|
| 63 |  S GMTSTY="" S:+GMTSFM>0 GMTSTY=$$GET1^DIQ(44,GMTSFM,2,"E")
 | 
|---|
| 64 |  S GMTSFM=$$FM(($G(^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,2,"E"))_"^"_GMTSTY_"^"_GMTSVC))
 | 
|---|
| 65 |  S ^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,2,"E")=GMTSFM
 | 
|---|
| 66 |  S GMTSLA=+($G(^TMP("GMTSCN",$J,GMTSI,DIC,GMTSIENS,9,"I")))
 | 
|---|
| 67 |  S:+GMTSLA'>9 ^TMP("GMTSCN",$J,GMTSI,DIC,GMTSIENS,9,"E")=""
 | 
|---|
| 68 |  I +GMTSLA>0 D
 | 
|---|
| 69 |  . S GMTSLA=$$GET1^DIQ(123.1,GMTSLA,7,"E")
 | 
|---|
| 70 |  . S ^TMP("GMTSCN",$J,GMTSI,DIC,GMTSIENS,9,"E")=GMTSLA
 | 
|---|
| 71 |  S ^TMP("GMTSCN",$J,GMTSI,DIC,GMTSIENS,0)=(9999999-GMTSI)_"^"_$S(GMTSI>0:$$EDT^GMTSU((9999999-GMTSI)),1:"")
 | 
|---|
| 72 |  D ACT
 | 
|---|
| 73 |  Q
 | 
|---|
| 74 | FM(X) ; From Service/Ward
 | 
|---|
| 75 |  S X=$G(X) N GMTSTY,GMTSV S GMTSTY=$P(X,"^",2),GMTSV=$P(X,"^",3),X=$P(X,"^",1)
 | 
|---|
| 76 |  I $L(X) S:+X>0&(GMTSTY="WARD")&(X'["WARD") X="WARD "_X S:+X'>0&(GMTSTY="WARD")&(X'["WARD") X=X_" WARD"
 | 
|---|
| 77 |  S:($L(X)+$L(GMTSV)+3)'>30&($L(GMTSV))&(X'[GMTSV) X=X_" ("_GMTSV_")"
 | 
|---|
| 78 |  S X=$$UP^XLFSTR(X)
 | 
|---|
| 79 |  Q X
 | 
|---|
| 80 | ACT ; Activity
 | 
|---|
| 81 |  N GMTSL,GMTSFL,GMTSFLA,GMTSFLD,GMTSLA,GMTSLD,GMTSLR,GMTSAM,GMTSLM,GMTSC,GMTSDI,Y,DR,GMTSIENL,GMTSIENS,GMTSMSG K ^TMP("DILIST",$J)
 | 
|---|
| 82 |  S GMTSIENS=+GMTSIEN_",",GMTSIENL=","_GMTSIENS,DR="1I;2I;9;10"
 | 
|---|
| 83 |  D LIST^DIC(123.02,GMTSIENL,DR,,"*",,,,,,.GMTSDI,"GMTSMSG")
 | 
|---|
| 84 |  K:+($G(^TMP("DILIST",$J,0)))=0 ^TMP("DILIST",$J) Q:+($G(^TMP("DILIST",$J,0)))=0
 | 
|---|
| 85 |  S GMTSLA="",GMTSLD=0,GMTSLR="",GMTSAM="",GMTSC=0
 | 
|---|
| 86 |  S GMTSL=0
 | 
|---|
| 87 |  F  S GMTSL=$O(^TMP("DILIST",$J,"ID",GMTSL)) Q:+GMTSL=0  D
 | 
|---|
| 88 |  . I +($G(^TMP("DILIST",$J,"ID",GMTSL,2)))'<GMTSLD,+($G(^TMP("DILIST",$J,"ID",GMTSL,2)))>0 D
 | 
|---|
| 89 |  . . S GMTSLA=+($G(^TMP("DILIST",$J,"ID",GMTSL,1)))
 | 
|---|
| 90 |  . . S GMTSLD=+($G(^TMP("DILIST",$J,"ID",GMTSL,2)))
 | 
|---|
| 91 |  . . S GMTSLR=$G(^TMP("DILIST",$J,"ID",GMTSL,9))
 | 
|---|
| 92 |  . . S GMTSLM=$G(^TMP("DILIST",$J,"ID",GMTSL,10))
 | 
|---|
| 93 |  I +($G(GMTSFLA))>0,+($G(GMTSFLD))>0,+($G(GMTSFL))>0,+($G(GMTSR))'>0 S GMTSC=0,GMTSLA=GMTSFLA,GMTSLD=GMTSFLA D AAC
 | 
|---|
| 94 |  I GMTSLA>0,GMTSLD>0 S GMTSC=1 D AAC
 | 
|---|
| 95 |  K ^TMP("DILIST",$J)
 | 
|---|
| 96 |  Q
 | 
|---|
| 97 | AAC ;   Add Activity
 | 
|---|
| 98 |  N GMTSEA,GMTSEP,GMTSEL,GMTSOR,GMTSW,I S GMTSC=+($G(GMTSC))
 | 
|---|
| 99 |  S GMTSOR=$$UP^XLFSTR($$GET1^DIQ(123.1,GMTSLA,1,"I"))
 | 
|---|
| 100 |  S GMTSEP=$$UP^XLFSTR($$GET1^DIQ(123.1,GMTSLA,7,"E"))
 | 
|---|
| 101 |  S GMTSEA=$$UP^XLFSTR($$GET1^DIQ(123.1,GMTSLA,.01,"E"))
 | 
|---|
| 102 |  S GMTSEL=$$AL(GMTSEA,GMTSEP) Q:'$L(GMTSEL)
 | 
|---|
| 103 |  S GMTSEA=$$AN(GMTSEA,GMTSEP) Q:'$L(GMTSEA)
 | 
|---|
| 104 |  I GMTSC>0 D
 | 
|---|
| 105 |  . S ^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,40,GMTSC,1,"I")=GMTSLA,^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,40,GMTSC,1,"E")=GMTSEA,^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,40,GMTSC,1,"L")=GMTSEL
 | 
|---|
| 106 |  . S ^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,40,GMTSC,2,"I")=GMTSLD,^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,40,GMTSC,2,"E")=$$EDT^GMTSU(GMTSLD)
 | 
|---|
| 107 |  I GMTSC'>0 D
 | 
|---|
| 108 |  . S ^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,40,"LA","I")=GMTSLA,^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,40,"LA","E")=GMTSEA,^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,40,"LA","L")=GMTSEL
 | 
|---|
| 109 |  . S ^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,40,"LD","I")=GMTSLD,^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,40,"LD","E")=$$EDT^GMTSU(GMTSLD)
 | 
|---|
| 110 |  . S ^TMP("GMTSCN",$J,GMTSI,123,GMTSIENS,40,"WR","E")=$G(^TMP("DILIST",$J,"ID",GMTSFL,3))
 | 
|---|
| 111 |  Q
 | 
|---|
| 112 | AN(X,Y) ;   Activity Name
 | 
|---|
| 113 |  N GMTSW,GMTSP,GMTSA S GMTSA=$G(X),GMTSP=$G(Y) S X=$$SN((GMTSA_" "_GMTSP)) S X=$E(X,1,11) Q X
 | 
|---|
| 114 | AL(X,Y) ;   Activity Name
 | 
|---|
| 115 |  N GMTSP,GMTSA S GMTSA=$G(X),GMTSP=$G(Y) S:GMTSA["RECEIVE" (GMTSA,GMTSP)="RECEIVED"
 | 
|---|
| 116 |  S:GMTSA="ENTERED IN CPRS"!(GMTSA["CPRS RELEASED") (GMTSA,GMTSP)="DATA ENTRY" S:GMTSA="EDIT BEFORE RELEASE" (GMTSA,GMTSP)="EDITED"
 | 
|---|
| 117 |  S X="" S:$L(GMTSA)&($L(GMTSP)) X=$S($L(GMTSP)>$L(GMTSA):GMTSP,1:GMTSA) S:'$L(GMTSA)!('$L(GMTSP)) X=$S('$L(GMTSP)&($L(GMTSA)):GMTSA,$L(GMTSP)&('$L(GMTSA)):GMTSP,1:"")
 | 
|---|
| 118 |  Q X
 | 
|---|
| 119 | SN(X) ;
 | 
|---|
| 120 |  S X=$G(X) Q:X="" "UNKNOWN" Q:X["ENTERED"!(X["RELEASED") "ENTERED" Q:X["STATUS" "STAT CHG"
 | 
|---|
| 121 |  Q:X["SIGNIF" "SIG FIND" Q:X["DISCONT" "DISCONT'D" Q:X["SCHEDUL" "SCHEDULED" Q:X["INCOMPL" "INCOMPLETE" Q:X["COMPLET" "COMPLETE"
 | 
|---|
| 122 |  Q:X["EDIT" "EDITED" Q:X["DISASSO" "DISASSOC'D" Q:X["ADDENDUM" "ADDENDUM" Q:X["NEW NOTE" "NEW NOTE"
 | 
|---|
| 123 |  Q:X["SERVICE" "SVC ENTER" Q:X["FORWARD" "FORWARDED" Q:X["CANCELLED" "CANCELLED" Q:X["COMMENT" "COMMENT" Q:X["RECEIVED" "RECEIVED" Q:X["PRINTED" "PRINTED"
 | 
|---|
| 124 |  Q "UNKNOWN"
 | 
|---|