[613] | 1 | GMVSC0 ;HOIFO/MD,YH,FT-CUMULATIVE VITALS/MEASUREMENTS FOR PATIENT OVER GIVEN DATE RANGE ;10/25/02 10:29
|
---|
| 2 | ;;5.0;GEN. MED. REC. - VITALS;;Oct 31, 2002
|
---|
| 3 | ;
|
---|
| 4 | ; This routine uses the following IAs:
|
---|
| 5 | ; #10039 - FILE 42 references (supported)
|
---|
| 6 | ; #10061 - ^VADPT calls (supported)
|
---|
| 7 | ; #10103 - ^XLFDT calls (supported)
|
---|
| 8 | ;
|
---|
| 9 | EN1(RESULT,GMVDATA) ; GMV CUMULATIVE REPORT [RPC entry point]
|
---|
| 10 | ; Cumulative Vitals Report
|
---|
| 11 | ; DFN - patient internal entry number (FILE 2)
|
---|
| 12 | ; GMRVSDT - start date/time of report range
|
---|
| 13 | ; GMRVFDT - end date/time of report range
|
---|
| 14 | ; GMVDEV - device name
|
---|
| 15 | ; GMVIEN - device internal entry name (FILE 3.5)
|
---|
| 16 | ; GMVPDT - date/time to print the report
|
---|
| 17 | ; GMVWARD - ward internal entry number (FILE 42)
|
---|
| 18 | ; GMVHLOC - hospital location internal entry number (FILE 44)
|
---|
| 19 | ; GMVRMLST - list of room numbers separated by commas (e.g., 200,210)
|
---|
| 20 | ;
|
---|
| 21 | N DFN,GMRVSDT,GMRVFDT,GMVDEV,GMVIEN,GMVPDT,GMVWARD,GMVHLOC,GMVRMLST
|
---|
| 22 | S DFN=$P(GMVDATA,U,1),GMRVSDT=$P(GMVDATA,U,2),GMRVFDT=$P(GMVDATA,U,3),GMVDEV=$P(GMVDATA,U,5),GMVIEN=+$P(GMVDATA,U,6),GMVPDT=$P(GMVDATA,U,7),GMVWARD=$P(GMVDATA,U,8),GMVHLOC=$P(GMVDATA,U,9),GMVRMLST=$P(GMVDATA,U,10)
|
---|
| 23 | S ZTIO=GMVDEV ;device
|
---|
| 24 | S ZTDTH=$S($G(GMVPDT)>0:GMVPDT,1:$$NOW^XLFDT()) ;date/time to print
|
---|
| 25 | S (ZTSAVE("DFN"),ZTSAVE("GMRVSDT"),ZTSAVE("GMRVFDT"))=""
|
---|
| 26 | S (ZTSAVE("GMVWARD"),ZTSAVE("GMVHLOC"),ZTSAVE("GMVRMLST"))=""
|
---|
| 27 | S ZTDESC="Cumulative vital/measurement report"
|
---|
| 28 | S ZTRTN="START^GMVSC0"
|
---|
| 29 | D ^%ZTLOAD
|
---|
| 30 | S RESULT=$S($G(ZTSK)>0:"Report sent to device. Task #: "_ZTSK,1:"Unable to task the report.")
|
---|
| 31 | K ZTSK,ZTIO,ZTDTH,ZTSAVE,ZTDESC,ZTRTN
|
---|
| 32 | Q
|
---|
| 33 | START ; Start the report output
|
---|
| 34 | S:$D(ZTQUEUED) ZTREQ="@"
|
---|
| 35 | ; if selected roombeds, then set up GMVROOM array
|
---|
| 36 | I $L(GMVRMLST)>0 D
|
---|
| 37 | .F GMVLOOP=1:1 Q:$P(GMVRMLST,",",GMVLOOP)="" D
|
---|
| 38 | ..S GMVROOM($P(GMVRMLST,",",GMVLOOP))=""
|
---|
| 39 | ..Q
|
---|
| 40 | .Q
|
---|
| 41 | S GMVEDB=$S(DFN>0:"P",GMVRMLST]"":"S",1:"A") ;P is one patient, A is whole ward, S is selected rooms
|
---|
| 42 | S GMVWARD(1)=$S(GMVWARD>0:$P($G(^DIC(42,GMVWARD,0)),U,1),1:"") ;ward name
|
---|
| 43 | I $G(GMVEDB)="P" D
|
---|
| 44 | .D DEM^VADPT,INP^VADPT
|
---|
| 45 | .S GMRRMBD=$S(VAIN(5)'="":VAIN(5),1:" BLANK") ;roombed
|
---|
| 46 | .S GMVNAME=$S(VADM(1)'="":VADM(1),1:" BLANK") ;patient name
|
---|
| 47 | .S GMVWARD=$P(VAIN(4),"^") ;ward ien
|
---|
| 48 | .S GMVWARD(1)=$P(VAIN(4),"^",2) ;ward name
|
---|
| 49 | .D KVAR^VADPT K VA ;kill VADPT variables
|
---|
| 50 | .S ^TMP($J,GMRRMBD,GMVNAME,DFN)=""
|
---|
| 51 | E D WARD^GMVDS1 ;returns TMP global with list of patients
|
---|
| 52 | S (GMROUT,GMRPG)=0
|
---|
| 53 | S GMVRANGE=$$FMTE^XLFDT(GMRVSDT)_"-"_$$FMTE^XLFDT(GMRVFDT)
|
---|
| 54 | D NOW^%DTC S Y=% D D^DIQ
|
---|
| 55 | S GMRPDT=$P(Y,"@")_" ("_$P($P(Y,"@",2),":",1,2)_")"
|
---|
| 56 | S $P(GMRDSH,"-",80)=""
|
---|
| 57 | U IO
|
---|
| 58 | S GMRRMBD=""
|
---|
| 59 | N GPEDIS S GPEDIS=$O(^GMRD(120.52,"B","DORSALIS PEDIS",0)) Q:GPEDIS'>0
|
---|
| 60 | F S GMRRMBD=$O(^TMP($J,GMRRMBD)) Q:GMRRMBD=""!GMROUT S GMRNAM="" F S GMRNAM=$O(^TMP($J,GMRRMBD,GMRNAM)) Q:GMRNAM=""!GMROUT S DFN=0 F S DFN=$O(^TMP($J,GMRRMBD,GMRNAM,DFN)) Q:DFN'>0!GMROUT S GMRPG=0 D WRT Q:GMROUT D EN1^GMVSC1
|
---|
| 61 | Q ; kill variables and quit
|
---|
| 62 | D Q^GMVSC1
|
---|
| 63 | K ^TMP($J)
|
---|
| 64 | K GMRBMI,GMRVHT,GMRINF,GMRPG,GMREDB,GMRNAM,GMRRMBD,GMRVWLOC,GMRWARD,GMRMSL,GMRROOM,GMRRMST,GMRVHLOC,GMRLEN,GMRI,GMROUT,GMRVSDT,GMRVFDT,GPRT,GMVLOOP
|
---|
| 65 | K GMVRMLST,GMVRANGE
|
---|
| 66 | D ^%ZISC
|
---|
| 67 | Q
|
---|
| 68 | FOOTER ;REPORT FOOTER {called from GMVSC1, GMVSC2}
|
---|
| 69 | W !!,"*** (E) - Error entry",!! W:VADM(1)'="" ?$X-3,$E(VADM(1),1,15) W:VADM(2)'="" ?17,$P(VADM(2),"^",2) W:VADM(3)'="" ?30,$P(VADM(3),"^",2) W:VADM(4)'="" ?43,$P(VADM(4),"^")_" YRS"
|
---|
| 70 | W:VADM(5)'="" ?51,$P(VADM(5),"^",2)
|
---|
| 71 | W ?65,"VAF 10-7987j" W !,"Unit: "_$S($P(VAIN(4),"^",2)'="":$P(VAIN(4),"^",2),1:" "),?32,"Room: "_$S($P(VAIN(5),"^")'="":$P(VAIN(5),"^"),1:" "),!
|
---|
| 72 | I '$D(GMRVHLOC) S GMRVHLOC=$$HOSPLOC^GMVUTL1(+$G(VAIN(4)))
|
---|
| 73 | W "Division: "_$$DIVISION^GMVUTL1(+GMRVHLOC),!
|
---|
| 74 | Q
|
---|
| 75 | WRT ;
|
---|
| 76 | S GMR1ST=1
|
---|
| 77 | K GMRSITE
|
---|
| 78 | D DEM^VADPT,INP^VADPT
|
---|
| 79 | S GWARD=$S($P(VAIN(4),"^",2)'="":$P(VAIN(4),"^",2),1:" ")
|
---|
| 80 | S GBED=$S(VAIN(5)'="":$P(VAIN(5),"^"),1:" ")
|
---|
| 81 | D HDR^GMVSC2
|
---|
| 82 | Q
|
---|