- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/ORDER_ENTRY_RESULTS_REPORTING-OR-OCX--ORRC--ORRJ/ORDV04.m
r613 r623 1 ORDV04 ; SLC/DAN/dcm - OE/RR ;7/21/04 15:32 2 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**109,148,160,208,195,241,215,274,256,243**;Dec 17,1997;Build 242 3 ;OE/RR COMPONENT 4 ; 5 ; ^TMP("GMPLHS",$J) DBIA 1183 6 ; ^UTILITY & ^TMP("GMRVD") DBIA 10061 7 ; 8 ORC(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ; Current Orders 9 ;Calls EN^ORQ1, ^OR(100 10 N ORCNT,ORJ,ORSITE,SITE,ORX0,ORLIST,GO 11 Q:'$L(OREXT) 12 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2) 13 Q:'$L($T(@GO)) 14 S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3) 15 K ^TMP("ORR",$J),^TMP("ORDATA",$J) 16 D @GO 17 I '$D(^TMP("ORR",$J)) Q 18 S ORCNT=0,ORJ=0 19 F S ORJ=$O(^TMP("ORR",$J,ORLIST,ORJ)) Q:'+ORJ!(ORCNT'<ORMAX) S ORX0=^(ORJ) D 20 . S ORCNT=ORCNT+1,SITE=$S($L($G(^TMP("ORR",$J,ORLIST,ORJ,"facility"))):^("facility"),1:ORSITE) 21 . S ^TMP("ORDATA",$J,ORLIST,ORJ,"WP",1)="1^"_SITE ;Station ID 22 . D SPMRG^ORDVU("^TMP(""ORR"","_$J_","""_ORLIST_""","_ORJ_",""TX"")","^TMP(""ORDATA"","_$J_","""_ORLIST_""","_ORJ_",""WP"",2)",2) ;order text 23 . S ^TMP("ORDATA",$J,ORLIST,ORJ,"WP",3)="3^"_$P(ORX0,"^",6) ; status 24 . S ^TMP("ORDATA",$J,ORLIST,ORJ,"WP",4)="4^"_$$DATE^ORDVU($P(ORX0,"^",4)) ;start date 25 . S ^TMP("ORDATA",$J,ORLIST,ORJ,"WP",5)="5^"_$$DATE^ORDVU($P(ORX0,"^",5)) ;stop date 26 . S ^TMP("ORDATA",$J,ORLIST,ORJ,"WP",7)="7^"_$P(^TMP("ORR",$J,ORLIST,ORJ),U) ;Order Number 27 . I $O(^TMP("ORR",$J,ORLIST,ORJ,"TX",1)) S ^TMP("ORDATA",$J,ORLIST,ORJ,"WP",6)="6^[+]" ;flag for details 28 K ^TMP("ORR",$J) 29 S ROOT=$NA(^TMP("ORDATA",$J)) 30 Q 31 ORCVA ;Current Orders 32 N ORVP 33 S ORVP=DFN_";DPT(" 34 I '$D(^OR(100,"AC",ORVP)) Q 35 D EN^ORQ1(ORVP,,2,,ORDBEG,ORDEND,1) ;get current orders. ORLIST is set in ORQ1 36 Q 37 PLAILALL(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Problem list API returns ALL problems 38 N GO 39 Q:'$L(OREXT) 40 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2) 41 Q:'$L($T(@GO)) 42 D PLAIL 43 Q 44 PLALL ;All Problems 45 D GETLIST^GMPLHS(DFN,"ALL") 46 Q 47 PLAILI(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Problem list API returns INACTIVE problems 48 N GO 49 Q:'$L(OREXT) 50 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2) 51 Q:'$L($T(@GO)) 52 D PLAIL 53 Q 54 PLI ;Inactive Problems 55 D GETLIST^GMPLHS(DFN,"I") 56 Q 57 PLAILA(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Problem list API returns ACTIVE problems 58 N GO 59 Q:'$L(OREXT) 60 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2) 61 Q:'$L($T(@GO)) 62 D PLAIL 63 Q 64 PLA ;Active Problems 65 D GETLIST^GMPLHS(DFN,"A") 66 Q 67 PLAIL ;problems(active, inactive or all) 68 ;External calls to ^GMPLHS 69 ; input: 70 ; STATUS = "A" active problems 71 ; STATUS = "I" inactive problems 72 ; STATUS = "ALL" all problems 73 ; 74 I $L($T(GCPR^OMGCOAS1)) D Q ; Call if FHIE station 200 75 . S ORDBEG=0,ORDEND=9999999,ORMAX=99999 76 . D GCPR^OMGCOAS1(DFN,"PLL",ORDBEG,ORDEND,ORMAX) 77 . S ROOT=$NA(^TMP("ORDATA",$J)) 78 N ORPROBNO,ORXREC0,ORLOC,I,K,X,ORSITE,SITE,ORMORE 79 S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3) 80 K ^TMP("ORDATA",$J),^TMP("GMPLHS",$J) ;DBIA #1183 81 D @GO 82 I '$D(^TMP("GMPLHS",$J)) Q 83 S ORPROBNO=0 84 F I=1:1 S ORPROBNO=$O(^TMP("GMPLHS",$J,ORPROBNO)) Q:'ORPROBNO D 85 . S ORXREC0=$G(^TMP("GMPLHS",$J,ORPROBNO,0)),ORMORE=0 86 . S SITE=$S($L($G(^TMP("GMPLHS",$J,ORPROBNO,"facility"))):^("facility"),1:ORSITE) 87 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",1)="1^"_SITE ;Station ID 88 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",2)="2^"_$P(ORXREC0,U,5) ;status 89 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",3)="3^"_$G(^TMP("GMPLHS",$J,ORPROBNO,"N")) ;provider narrative 90 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",4)="4^"_$$DATE^ORDVU($P(ORXREC0,U,6)) ;onset date 91 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",5)="5^"_$$DATE^ORDVU($P(ORXREC0,U,2)) ;last modified date 92 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",6)="6^"_$P(ORXREC0,U,7) ;provider 93 . S ORLOC=0,K=0 94 . F S ORLOC=$O(^TMP("GMPLHS",$J,ORPROBNO,"C",ORLOC)) Q:'ORLOC D 95 .. S X=0 96 .. F S X=$O(^TMP("GMPLHS",$J,ORPROBNO,"C",ORLOC,X)) Q:'X D 97 ... S K=K+1,ORMORE=1 98 ... S ^TMP("ORDATA",$J,ORPROBNO,"WP",7,K)="7^"_$P($G(^TMP("GMPLHS",$J,ORPROBNO,"C",ORLOC,X,0)),U) ;note narrative 99 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",8)="8^"_$P(ORXREC0,U,14) ;exposures 100 . I ORMORE S ^TMP("ORDATA",$J,ORPROBNO,"WP",9)="9^[+]" ;flag for details 101 K ^TMP("GMPLHS",$J) 102 S ROOT=$NA(^TMP("ORDATA",$J)) 103 Q 104 SR(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Surgery Report 105 ;Call ^ORDV04A 106 N ORCNT 107 S ORCNT=0 108 K ^TMP("ORDATA",$J) 109 D ENSR^ORDV04A 110 S ROOT=$NA(^TMP("ORDATA",$J)) 111 Q 112 VS(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ; get vital Signs 113 D VS^ORDV04A 114 Q 115 TIUPRG(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ; TIU version of progress reports 116 ;Calls to TIUSRVLO,TIUSRVR1,VASITE 117 I $L($T(GCPR^OMGCOAS1)) D Q ; Call if FHIE station 200 118 . D GCPR^OMGCOAS1(DFN,"PN",ORDBEG,ORDEND,ORMAX) 119 . S ROOT=$NA(^TMP("ORDATA",$J)) 120 N ORDT,DATE,ORCI,ORGLOB,ORGLOBA,ORTEMP,ORSITE,SITE,I,ORNODE,GO,ORIMAG 121 Q:'$L(OREXT) 122 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2) 123 Q:'$L($T(@GO)) 124 S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3) 125 D @GO 126 I '$D(@ORGLOB) Q 127 S ORNODE=0,ORCI=0 128 K ^TMP("ORDATA",$J) 129 F S ORNODE=$O(@ORGLOB@(ORNODE)) Q:'ORNODE!(ORCI'<ORMAX) D 130 . S ORTEMP=@ORGLOB@(ORNODE) 131 . S ORIMAG=$P($$RESOLVE^TIUSRVLO($P(ORTEMP,U)),U,10) 132 . S DATE=$P(ORTEMP,U,3) ;date 133 . S SITE=$S($L($G(@ORGLOB@(ORNODE,"facility"))):^("facility"),1:ORSITE) 134 . S ^TMP("ORDATA",$J,ORNODE,"WP",1)="1^"_SITE ;Station ID 135 . S ^TMP("ORDATA",$J,ORNODE,"WP",2)="2^"_$P(ORTEMP,U) ;TIU ien 136 . S ^TMP("ORDATA",$J,ORNODE,"WP",3)="3^"_$$DATE^ORDVU(DATE) ;date 137 . S ^TMP("ORDATA",$J,ORNODE,"WP",4)="4^"_$P(ORTEMP,U,2) ;type 138 . S ^TMP("ORDATA",$J,ORNODE,"WP",5)="5^"_$P($P(ORTEMP,U,5),";",2) ;author 139 . S ORCI=ORCI+1 140 . D TGET^TIUSRVR1(.ORGLOBA,$P(ORTEMP,U)) ;Call back to get note text 141 . D SPMRG^ORDVU($NA(@ORGLOBA),$NA(^TMP("ORDATA",$J,ORNODE,"WP",6)),6) ;Notes Text 142 . I $O(@ORGLOBA@(0)) S ^TMP("ORDATA",$J,ORNODE,"WP",7)="7^[+]" 143 . S ^TMP("ORDATA",$J,ORNODE,"WP",8)="8^"_ORIMAG 144 . K @ORGLOBA 145 K @ORGLOB 146 S ROOT=$NA(^TMP("ORDATA",$J)) 147 Q 148 TPRG ;TIU Progress Notes 149 D CONTEXT^TIUSRVLO(.ORGLOB,3,5,DFN,ORDBEG,ORDEND,,ORMAX) 150 Q 151 TIUDCS(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ; Discharge Summaries 152 ;Calls VASITE, DIQ1, TIUSRVLO 153 I $L($T(GCPR^OMGCOAS1)) D Q ; Call if FHIE station 200 154 . D GCPR^OMGCOAS1(DFN,"DS",ORDBEG,ORDEND,ORMAX) 155 . S ROOT=$NA(^TMP("ORDATA",$J)) 156 N ORGLOB,ORGLOBA,ORI,ORNODE,ORICDIEN,ORARRAY,ORTEMP,ORSITE,SITE,DIC,DR,DIQ,DA,GO 157 Q:'$L(OREXT) 158 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2) 159 Q:'$L($T(@GO)) 160 S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3) 161 D @GO 162 I '$D(@ORGLOB) Q 163 K ^TMP("ORDATA",$J) 164 S ORNODE=0,ORI=0 165 F S ORNODE=$O(@ORGLOB@(ORNODE)) Q:'ORNODE!(ORI'<ORMAX) D 166 . S ORTEMP=@ORGLOB@(ORNODE) 167 . S SITE=$S($L($G(@ORGLOB@(ORNODE,"facility"))):^("facility"),1:ORSITE) 168 . S ^TMP("ORDATA",$J,ORNODE,"WP",1)="1^"_SITE ;Station ID 169 . K ORARRAY S DIC=8925,DA=$P(ORTEMP,U),DR=".05;.07;.08;1202;1502",DIQ="ORARRAY" 170 . D EN^DIQ1 171 . S DIQ="ORARRAY(8925,"_DA_")" 172 . S ^TMP("ORDATA",$J,ORNODE,"WP",2)="2^"_$$DATEMMM^ORDVU($G(@DIQ@(.07))) ;episode begin date/time 173 . S ^TMP("ORDATA",$J,ORNODE,"WP",3)="3^"_$$DATEMMM^ORDVU($G(@DIQ@(.08))) ;episode end date/time 174 . S ^TMP("ORDATA",$J,ORNODE,"WP",4)="4^"_$G(@DIQ@(1202)) ;author/dicator 175 . S ^TMP("ORDATA",$J,ORNODE,"WP",5)="5^"_$G(@DIQ@(1502)) ;signed by 176 . S ^TMP("ORDATA",$J,ORNODE,"WP",6)="6^"_$G(@DIQ@(.05)) ;status 177 . S ORI=ORI+1 178 . D TGET^TIUSRVR1(.ORGLOBA,$P(ORTEMP,U)) ;Call to get summary text 179 . D SPMRG^ORDVU($NA(@ORGLOBA),$NA(^TMP("ORDATA",$J,ORNODE,"WP",7)),7) ;summary Text 180 . I $O(@ORGLOBA@(0)) S ^TMP("ORDATA",$J,ORNODE,"WP",8)="8^[+]" ;detail flag 181 . K @ORGLOBA 182 K @ORGLOB 183 S ROOT=$NA(^TMP("ORDATA",$J)) 184 Q 185 TDCS ;TIU Discharge Summary 186 D CONTEXT^TIUSRVLO(.ORGLOB,244,5,DFN,ORDBEG,ORDEND,,ORMAX) 187 Q 1 ORDV04 ; SLC/DAN - OE/RR ;7/21/04 15:32 2 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**109,148,160,208,195,241,215,274**;Dec 17,1997;Build 20 3 ;OE/RR COMPONENT 4 ; 5 ; ^TMP("GMPLHS",$J) used per DBIA 1183 6 ; ^UTILITY and ^TMP("GMRVD") used per DBIA 10061 7 ; 8 ORC(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ; Current Orders 9 ;External calls to EN^ORQ1, ^OR(100 10 N ORCNT,ORJ,ORSITE,SITE,ORX0,ORLIST,GO 11 Q:'$L(OREXT) 12 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2) 13 Q:'$L($T(@GO)) 14 S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3) 15 K ^TMP("ORR",$J),^TMP("ORDATA",$J) 16 D @GO 17 I '$D(^TMP("ORR",$J)) Q 18 S ORCNT=0,ORJ=0 19 F S ORJ=$O(^TMP("ORR",$J,ORLIST,ORJ)) Q:'+ORJ!(ORCNT'<ORMAX) S ORX0=^(ORJ) D 20 . S ORCNT=ORCNT+1,SITE=$S($L($G(^TMP("ORR",$J,ORLIST,ORJ,"facility"))):^("facility"),1:ORSITE) 21 . S ^TMP("ORDATA",$J,ORLIST,ORJ,"WP",1)="1^"_SITE ;Station ID 22 . D SPMRG^ORDVU("^TMP(""ORR"","_$J_","""_ORLIST_""","_ORJ_",""TX"")","^TMP(""ORDATA"","_$J_","""_ORLIST_""","_ORJ_",""WP"",2)",2) ;order text 23 . S ^TMP("ORDATA",$J,ORLIST,ORJ,"WP",3)="3^"_$P(ORX0,"^",6) ; status 24 . S ^TMP("ORDATA",$J,ORLIST,ORJ,"WP",4)="4^"_$$DATE^ORDVU($P(ORX0,"^",4)) ;start date 25 . S ^TMP("ORDATA",$J,ORLIST,ORJ,"WP",5)="5^"_$$DATE^ORDVU($P(ORX0,"^",5)) ;stop date 26 . S ^TMP("ORDATA",$J,ORLIST,ORJ,"WP",7)="7^"_$P(^TMP("ORR",$J,ORLIST,ORJ),U) ;Order Number 27 . I $O(^TMP("ORR",$J,ORLIST,ORJ,"TX",1)) S ^TMP("ORDATA",$J,ORLIST,ORJ,"WP",6)="6^[+]" ;flag for details 28 K ^TMP("ORR",$J) 29 S ROOT=$NA(^TMP("ORDATA",$J)) 30 Q 31 ORCVA ;VA call to get Current Orders 32 N ORVP 33 S ORVP=DFN_";DPT(" 34 I '$D(^OR(100,"AC",ORVP)) Q 35 D EN^ORQ1(ORVP,,2,,ORDBEG,ORDEND,1) ;get current orders. ORLIST is set in ORQ1 36 Q 37 PLAILALL(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Problem list API returns ALL problems 38 N GO 39 Q:'$L(OREXT) 40 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2) 41 Q:'$L($T(@GO)) 42 D PLAIL 43 Q 44 PLALL ;Jump here for All Problems 45 D GETLIST^GMPLHS(DFN,"ALL") 46 Q 47 PLAILI(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Problem list API returns INACTIVE problems 48 N GO 49 Q:'$L(OREXT) 50 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2) 51 Q:'$L($T(@GO)) 52 D PLAIL 53 Q 54 PLI ;Jump here for Inactive Problems 55 D GETLIST^GMPLHS(DFN,"I") 56 Q 57 PLAILA(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Problem list API returns ACTIVE problems 58 N GO 59 Q:'$L(OREXT) 60 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2) 61 Q:'$L($T(@GO)) 62 D PLAIL 63 Q 64 PLA ;Jump here for Active Problems 65 D GETLIST^GMPLHS(DFN,"A") 66 Q 67 PLAIL ;problems(active, inactive or all) 68 ;External calls to ^GMPLHS 69 ; input: 70 ; STATUS = "A" to produce active problems 71 ; STATUS = "I" to produce inactive problems 72 ; STATUS = "ALL" to produce all problems 73 ; 74 N ORPROBNO,ORXREC0,ORLOC,I,K,X,ORSITE,SITE,ORMORE 75 S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3) 76 K ^TMP("ORDATA",$J),^TMP("GMPLHS",$J) ;DBIA #1183 77 D @GO 78 I '$D(^TMP("GMPLHS",$J)) Q 79 S ORPROBNO=0 80 F I=1:1:ORMAX S ORPROBNO=$O(^TMP("GMPLHS",$J,ORPROBNO)) Q:'ORPROBNO D 81 . S ORXREC0=$G(^TMP("GMPLHS",$J,ORPROBNO,0)),ORMORE=0 82 . S SITE=$S($L($G(^TMP("GMPLHS",$J,ORPROBNO,"facility"))):^("facility"),1:ORSITE) 83 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",1)="1^"_SITE ;Station ID 84 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",2)="2^"_$P(ORXREC0,U,5) ;status 85 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",3)="3^"_$G(^TMP("GMPLHS",$J,ORPROBNO,"N")) ;provider narrative 86 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",4)="4^"_$$DATE^ORDVU($P(ORXREC0,U,6)) ;onset date 87 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",5)="5^"_$$DATE^ORDVU($P(ORXREC0,U,2)) ;last modified date 88 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",6)="6^"_$P(ORXREC0,U,7) ;provider 89 . S ORLOC=0,K=0 90 . F S ORLOC=$O(^TMP("GMPLHS",$J,ORPROBNO,"C",ORLOC)) Q:'ORLOC D 91 .. S X=0 92 .. F S X=$O(^TMP("GMPLHS",$J,ORPROBNO,"C",ORLOC,X)) Q:'X D 93 ... S K=K+1,ORMORE=1 94 ... S ^TMP("ORDATA",$J,ORPROBNO,"WP",7,K)="7^"_$P($G(^TMP("GMPLHS",$J,ORPROBNO,"C",ORLOC,X,0)),U) ;note narrative 95 . S ^TMP("ORDATA",$J,ORPROBNO,"WP",8)="8^"_$P(ORXREC0,U,14) ;exposures 96 . I ORMORE S ^TMP("ORDATA",$J,ORPROBNO,"WP",9)="9^[+]" ;flag for details 97 K ^TMP("GMPLHS",$J) 98 S ROOT=$NA(^TMP("ORDATA",$J)) 99 Q 100 SR(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Surgery Report 101 ;External call to ^ORDV04A (external calls are noted in that routine) 102 N ORCNT 103 S ORCNT=0 104 K ^TMP("ORDATA",$J) 105 D ENSR^ORDV04A 106 S ROOT=$NA(^TMP("ORDATA",$J)) 107 Q 108 VS(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ; get vital Signs 109 ;External calls to GMRVUT0 110 I $L($T(GCPR^OMGCOAS1)) D Q ; OMGCOAS1 routine only on Station 200 111 . D GCPR^OMGCOAS1(DFN,"VIT",ORDBEG,ORDEND,ORMAX) 112 . S ROOT=$NA(^TMP("ORDATA",$J)) 113 N ORDT,I,TYPE,IEN,GMRVSTR,ORSITE,SITE,PLACE,GO 114 Q:'$L(OREXT) 115 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2) 116 Q:'$L($T(@GO)) 117 K ^UTILITY($J,"GMRVD"),^TMP("ORDATA",$J) 118 S GMRVSTR="T;P;R;BP;HT;WT;PN;PO2;CVP;CG",GMRVSTR(0)=ORDBEG_"^"_ORDEND_"^"_ORMAX_"^"_1 119 S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3) 120 D @GO 121 S ORDT=0 122 F I=1:1 S ORDT=$O(^UTILITY($J,"GMRVD",ORDT)) Q:'+ORDT!(I>ORMAX) D ;DBIA 10061 123 . S SITE=$S($L($G(^TMP("GMRVD",$J,ORDT,"facility"))):^("facility"),1:ORSITE) ;DBIA 10061 124 . S ^TMP("ORDATA",$J,"WP",ORDT,1)="1^"_SITE 125 . S ^TMP("ORDATA",$J,"WP",ORDT,2)="2^"_$$DATE^ORDVU(9999999-ORDT) ;date vitals taken 126 . S TYPE="" 127 . F S TYPE=$O(^UTILITY($J,"GMRVD",ORDT,TYPE)) Q:TYPE="" D 128 .. S IEN=$O(^UTILITY($J,"GMRVD",ORDT,TYPE,0)) Q:'IEN 129 .. S PLACE=$S(TYPE="T":3,TYPE="P":4,TYPE="R":5,TYPE="BP":6,TYPE="HT":7,TYPE="WT":8,TYPE="PN":9,TYPE="PO2":10,TYPE="CVP":11,TYPE="CG":12,1:13) 130 .. S ^TMP("ORDATA",$J,"WP",ORDT,PLACE)=PLACE_"^"_$P($G(^UTILITY($J,"GMRVD",ORDT,TYPE,IEN)),"^",8) ;Get value of vitals from global 131 K ^UTILITY($J,"GMRVD") 132 S ROOT=$NA(^TMP("ORDATA",$J)) 133 Q 134 TIUPRG(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ; TIU version of progress reports 135 ;External calls to TIUSRVLO,TIUSRVR1,VASITE 136 I $L($T(GCPR^OMGCOAS1)) D Q ; Call if FHIE station 200 137 . D GCPR^OMGCOAS1(DFN,"PN",ORDBEG,ORDEND,ORMAX) 138 . S ROOT=$NA(^TMP("ORDATA",$J)) 139 N ORDT,DATE,ORCI,ORGLOB,ORGLOBA,ORTEMP,ORSITE,SITE,I,ORNODE,GO,ORIMAG 140 Q:'$L(OREXT) 141 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2) 142 Q:'$L($T(@GO)) 143 S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3) 144 D @GO 145 I '$D(@ORGLOB) Q 146 S ORNODE=0,ORCI=0 147 K ^TMP("ORDATA",$J) 148 F S ORNODE=$O(@ORGLOB@(ORNODE)) Q:'ORNODE!(ORCI'<ORMAX) D 149 . S ORTEMP=@ORGLOB@(ORNODE) 150 . S ORIMAG=$P($$RESOLVE^TIUSRVLO($P(ORTEMP,U)),U,10) 151 . S DATE=$P(ORTEMP,U,3) ;date 152 . S SITE=$S($L($G(@ORGLOB@(ORNODE,"facility"))):^("facility"),1:ORSITE) 153 . S ^TMP("ORDATA",$J,ORNODE,"WP",1)="1^"_SITE ;Station ID 154 . S ^TMP("ORDATA",$J,ORNODE,"WP",2)="2^"_$P(ORTEMP,U) ;TIU ien 155 . S ^TMP("ORDATA",$J,ORNODE,"WP",3)="3^"_$$DATE^ORDVU(DATE) ;date 156 . S ^TMP("ORDATA",$J,ORNODE,"WP",4)="4^"_$P(ORTEMP,U,2) ;type 157 . S ^TMP("ORDATA",$J,ORNODE,"WP",5)="5^"_$P($P(ORTEMP,U,5),";",2) ;author 158 . S ORCI=ORCI+1 159 . D TGET^TIUSRVR1(.ORGLOBA,$P(ORTEMP,U)) ;Call back to get note text 160 . D SPMRG^ORDVU($NA(@ORGLOBA),$NA(^TMP("ORDATA",$J,ORNODE,"WP",6)),6) ;Notes Text 161 . I $O(@ORGLOBA@(0)) S ^TMP("ORDATA",$J,ORNODE,"WP",7)="7^[+]" 162 . S ^TMP("ORDATA",$J,ORNODE,"WP",8)="8^"_ORIMAG 163 . K @ORGLOBA 164 K @ORGLOB 165 S ROOT=$NA(^TMP("ORDATA",$J)) 166 Q 167 TPRG ;Jump here for Tiu Progress Notes 168 D CONTEXT^TIUSRVLO(.ORGLOB,3,5,DFN,ORDBEG,ORDEND,,ORMAX) 169 Q 170 TIUDCS(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ; Discharge Summaries 171 ;External calls to VASITE, DIQ1, TIUSRVLO 172 I $L($T(GCPR^OMGCOAS1)) D Q ; Call if FHIE station 200 173 . D GCPR^OMGCOAS1(DFN,"DS",ORDBEG,ORDEND,ORMAX) 174 . S ROOT=$NA(^TMP("ORDATA",$J)) 175 N ORGLOB,ORGLOBA,ORI,ORNODE,ORICDIEN,ORARRAY,ORTEMP,ORSITE,SITE,DIC,DR,DIQ,DA,GO 176 Q:'$L(OREXT) 177 S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2) 178 Q:'$L($T(@GO)) 179 S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3) 180 D @GO 181 I '$D(@ORGLOB) Q 182 K ^TMP("ORDATA",$J) 183 S ORNODE=0,ORI=0 184 F S ORNODE=$O(@ORGLOB@(ORNODE)) Q:'ORNODE!(ORI'<ORMAX) D 185 . S ORTEMP=@ORGLOB@(ORNODE) 186 . S SITE=$S($L($G(@ORGLOB@(ORNODE,"facility"))):^("facility"),1:ORSITE) 187 . S ^TMP("ORDATA",$J,ORNODE,"WP",1)="1^"_SITE ;Station ID 188 . K ORARRAY S DIC=8925,DA=$P(ORTEMP,U),DR=".05;.07;.08;1202;1502",DIQ="ORARRAY" 189 . D EN^DIQ1 190 . S DIQ="ORARRAY(8925,"_DA_")" 191 . S ^TMP("ORDATA",$J,ORNODE,"WP",2)="2^"_$$DATEMMM^ORDVU($G(@DIQ@(.07))) ;episode begin date/time 192 . S ^TMP("ORDATA",$J,ORNODE,"WP",3)="3^"_$$DATEMMM^ORDVU($G(@DIQ@(.08))) ;episode end date/time 193 . S ^TMP("ORDATA",$J,ORNODE,"WP",4)="4^"_$G(@DIQ@(1202)) ;author/dicator 194 . S ^TMP("ORDATA",$J,ORNODE,"WP",5)="5^"_$G(@DIQ@(1502)) ;signed by 195 . S ^TMP("ORDATA",$J,ORNODE,"WP",6)="6^"_$G(@DIQ@(.05)) ;status 196 . S ORI=ORI+1 197 . D TGET^TIUSRVR1(.ORGLOBA,$P(ORTEMP,U)) ;Call back to get summary text 198 . D SPMRG^ORDVU($NA(@ORGLOBA),$NA(^TMP("ORDATA",$J,ORNODE,"WP",7)),7) ;summary Text 199 . I $O(@ORGLOBA@(0)) S ^TMP("ORDATA",$J,ORNODE,"WP",8)="8^[+]" ;detail flag 200 . K @ORGLOBA 201 K @ORGLOB 202 S ROOT=$NA(^TMP("ORDATA",$J)) 203 Q 204 TDCS ;Jump here for TIU Discharge Summary 205 D CONTEXT^TIUSRVLO(.ORGLOB,244,5,DFN,ORDBEG,ORDEND,,ORMAX) 206 Q
Note:
See TracChangeset
for help on using the changeset viewer.