Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

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
     1ORDV04 ; 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 ;
     8ORC(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
     31ORCVA ;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
     37PLAILALL(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
     44PLALL ;Jump here for All Problems
     45 D GETLIST^GMPLHS(DFN,"ALL")
     46 Q
     47PLAILI(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
     54PLI ;Jump here for Inactive Problems
     55 D GETLIST^GMPLHS(DFN,"I")
     56 Q
     57PLAILA(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
     64PLA ;Jump here for Active Problems
     65 D GETLIST^GMPLHS(DFN,"A")
     66 Q
     67PLAIL ;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
     100SR(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
     108VS(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
     134TIUPRG(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
     167TPRG ;Jump here for Tiu Progress Notes
     168 D CONTEXT^TIUSRVLO(.ORGLOB,3,5,DFN,ORDBEG,ORDEND,,ORMAX)
     169 Q
     170TIUDCS(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
     204TDCS ;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.