| 1 | NURCEVP0 ;HIRMFO/RTK,RM,MD-Nursing Care Plans Print Report ;8/29/96 | 
|---|
| 2 | ;;4.0;NURSING SERVICE;;Apr 25, 1997 | 
|---|
| 3 | ENT1 ; | 
|---|
| 4 | S GMRGRT=$O(^GMRD(124.2,"AA","NURSC",2,"Nursing Care Plan","")) I GMRGRT'>0 W !,$C(7),"THERE IS A PROBLEM IN THE ""AA"" XREF.",! G END | 
|---|
| 5 | S GMRGRT=GMRGRT_"^Nursing Care Plan" | 
|---|
| 6 | S NACT=0 D WARDPAT^NURCUT0 G:NURQUIT END | 
|---|
| 7 | DEV ;  SELECT DEVICE TO SEND OUTPUT TO. | 
|---|
| 8 | ;  IF REPORT IS QUEUED, SET UP TASK USING %ZTLOAD AND GET OUT OF ROUTINE | 
|---|
| 9 | S ZTRTN="PRINT^NURCEVP0",ZTDESC="Nursing Care Plan Print Report" D EN7^NURSUT0 K ZTDESC,NURQUEUE I POP!$D(ZTSK) K POP,ZTSK G END | 
|---|
| 10 | ; | 
|---|
| 11 | PRINT ; ENTRY FROM TASKMAN TO PRINT THIS REPORT | 
|---|
| 12 | S (PAGE,NURSW1,NUROUT)=0 K ^TMP($J) F X="NURCHC","NURPROB" K ^TMP(X,$J) | 
|---|
| 13 | D ^NURCAS2 ; BUILDS ^TMP($J,"NURCEN",ROOM,BED,PATNAME) ARRAY | 
|---|
| 14 | S ROOM="" F  S ROOM=$O(^TMP($J,"NURCEN",ROOM)) Q:ROOM=""  S BED="" F  S BED=$O(^TMP($J,"NURCEN",ROOM,BED)) Q:BED=""  S PATNAME="" F  S PATNAME=$O(^TMP($J,"NURCEN",ROOM,BED,PATNAME)) Q:PATNAME=""  D | 
|---|
| 15 | .   S DFN=+$G(^TMP($J,"NURCEN",ROOM,BED,PATNAME)) | 
|---|
| 16 | .   F REVDT=0:0 S REVDT=$O(^GMR(124.3,"AA",DFN,+GMRGRT,REVDT)) Q:REVDT'>0  F GMRGPDA=0:0 S GMRGPDA=$O(^GMR(124.3,"AA",DFN,+GMRGRT,REVDT,GMRGPDA)) Q:GMRGPDA'>0  D:'+$G(^GMR(124.3,GMRGPDA,5)) | 
|---|
| 17 | .   .   S NURSCPE=$O(^NURSC(216.8,"B",GMRGPDA,0)) Q:NURSCPE'>0 | 
|---|
| 18 | .   .   S Y=$P($G(^GMR(124.3,GMRGPDA,0)),U,3),DEVDT=9999999.9999-Y D D^DIQ S NURCPDT(GMRGPDA)=DEVDT_"^"_$E(Y,1,18) | 
|---|
| 19 | .   .   S NUREVDT=$$GETPROB^NURCEVE1(NURSCPE,DT) Q:NUREVDT'>0 | 
|---|
| 20 | .   .   F NURCHC=0:0 S NURCHC=$O(^TMP("NURCHC",$J,NURCHC)) Q:NURCHC'>0  S X=$G(^TMP("NURCHC",$J,NURCHC)) I X'="",$P(X,U,2)'="",+X>0 S ^TMP("NURPROB",$J,DFN,$P(NURCPDT(GMRGPDA),U),+X,GMRGPDA)=X_"^"_$P(NURCPDT(GMRGPDA),U) | 
|---|
| 21 | .   .   Q | 
|---|
| 22 | .   Q | 
|---|
| 23 | U IO | 
|---|
| 24 | S NURX=0,ROOM="" F  S ROOM=$O(^TMP($J,"NURCEN",ROOM)) Q:ROOM=""!NUROUT  S BED="" F  S BED=$O(^TMP($J,"NURCEN",ROOM,BED)) Q:BED=""!NUROUT  S PATNAME="" F  S PATNAME=$O(^TMP($J,"NURCEN",ROOM,BED,PATNAME)) Q:PATNAME=""  D  Q:NUROUT | 
|---|
| 25 | .   S X=$G(^TMP($J,"NURCEN",ROOM,BED,PATNAME)),DFN=+X | 
|---|
| 26 | .   I IOSL-4<$Y!'(NURSW1) D HEADER Q:NUROUT | 
|---|
| 27 | .   W !!,$$PRTRMBD(ROOM,BED),?17,PATNAME," ",$S($P(X,U,2)'="":"("_$P(X,U,2)_")",1:"") | 
|---|
| 28 | .   I $O(^TMP("NURPROB",$J,DFN,""))="" W !?3,"THIS PATIENT HAS NO PROBLEMS TO BE EVALUATED." Q | 
|---|
| 29 | .   S REVDTDV="" F  S REVDTDV=$O(^TMP("NURPROB",$J,DFN,REVDTDV)) Q:REVDTDV=""!NUROUT  F NURPRB=0:0 S NURPRB=$O(^TMP("NURPROB",$J,DFN,REVDTDV,NURPRB)) Q:NURPRB'>0  D  Q:NUROUT | 
|---|
| 30 | .   .   F GMRGPDA=0:0 S GMRGPDA=$O(^TMP("NURPROB",$J,DFN,REVDTDV,NURPRB,GMRGPDA)) Q:GMRGPDA'>0  D  Q:NUROUT | 
|---|
| 31 | .   .   .   I IOSL-4<$Y D HEADER Q:NUROUT | 
|---|
| 32 | .   .   .   S NURX=NURX+1,X1=$G(^TMP("NURPROB",$J,DFN,REVDTDV,NURPRB,GMRGPDA)),GMRGXPRT=$P(X1,U,2),GMRGXPRT(0)=$$SELDAT^NURCEVE2(+X1,GMRGPDA),GMRGXPRT(1)="^^1^^1" D EN1^GMRGRUT2 | 
|---|
| 33 | .   .   .   W !?3,$E(GMRGXPRT,1,43),?48,$P($G(NURCPDT($P(X1,U,4))),U,2),?68,$P(X1,U,3) | 
|---|
| 34 | .   .   .   Q | 
|---|
| 35 | .   .   Q | 
|---|
| 36 | .   Q | 
|---|
| 37 | W !! | 
|---|
| 38 | END ; CLEAN UP VARIABLES | 
|---|
| 39 | K ^TMP($J) F X="NURCHC","NURPROB" K ^TMP(X,$J) | 
|---|
| 40 | D CLOSE^NURSUT1,^NURCKILL | 
|---|
| 41 | Q | 
|---|
| 42 | HEADER ; PRINT HEADER FOR REPORT | 
|---|
| 43 | I NURSW1,$E(IOST)="C" D ENDPG^NURSUT1 S NUROUT=$G(NUROUT) Q:NUROUT | 
|---|
| 44 | W:$E(IOST)="C"!(PAGE>1) @IOF | 
|---|
| 45 | S PAGE=PAGE+1,NURSW1=1 | 
|---|
| 46 | W ! S Y=DT D DT^DIQ W ?23,"Nursing Problems to be Evaluated",?70,"Page ",PAGE | 
|---|
| 47 | W !!,"ROOM/BED",?17,"PATIENT (PID)",!,?48,"DATE/TIME",?68,"EVALUATION",!?3,"PROBLEM TO BE EVALUATED",?48,"DEVELOPED",?68,"DATE" | 
|---|
| 48 | W !,"==============================================================================" | 
|---|
| 49 | Q | 
|---|
| 50 | PRTRMBD(ROOM,BED) ; THIS FUNTION RETURNS THE PRINTABLE FORM OF ROOM/BED | 
|---|
| 51 | N RMBD | 
|---|
| 52 | I ROOM'="  BLANK",BED'="  BLANK" S RMBD=ROOM_"-"_BED | 
|---|
| 53 | E  I ROOM="  BLANK",BED="  BLANK" S RMBD="" | 
|---|
| 54 | E  I ROOM="  BLANK" S RMBD="-"_BED | 
|---|
| 55 | E  S RMBD=ROOM_"-" | 
|---|
| 56 | Q RMBD | 
|---|