Index: WorldVistAEHR/trunk/r/ORDER_ENTRY_RESULTS_REPORTING-OR-OCX--ORRC--ORRJ/ORCHANG2.m
===================================================================
--- WorldVistAEHR/trunk/r/ORDER_ENTRY_RESULTS_REPORTING-OR-OCX--ORRC--ORRJ/ORCHANG2.m	(revision 613)
+++ WorldVistAEHR/trunk/r/ORDER_ENTRY_RESULTS_REPORTING-OR-OCX--ORRC--ORRJ/ORCHANG2.m	(revision 623)
@@ -1,142 +1,133 @@
-ORCHANG2	;SLC/MKB-Change View status ; 08 May 2002  2:12 PM
-	;;3.0;ORDER ENTRY/RESULTS REPORTING;**27,72,68,141,215,243**;Dec 17, 1997;Build 242
-ORDERS	; -- Select new order status
-	N X,Y,HDR,I,DOMAIN,DEFAULT,PROMPT,HELP,STS
-	S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3),DEFAULT=""
-	F I=1:1 S X=$T(ORDSTS+I) Q:$P(X,";",4)="ZZZZ"  D SET
-	S DOMAIN(0)=I-1,PROMPT="Select Order Status: "
-	S HELP="Enter the status of orders you wish to see listed here."
-	D EN Q:Y="^"  S STS=+$G(DOMAIN(Y))
-	I "^8^9^10^20^"[(U_STS_U) D  Q:Y="^"
-	. N STRT,STOP,Z
-	. S STRT=$$START^ORCHANGE("NOW-24H") I STRT="^" S Y="^" Q
-	. S STOP=$$STOP^ORCHANGE("NOW") I STOP="^" S Y="^" Q
-	. I STOP<STRT S Z=STRT,STRT=STOP,STOP=Z
-	. S $P(HDR,";",1,2)=$P(STRT,U,2)_";"_$P(STOP,U,2)
-	S $P(HDR,";",3)=STS,$P(HDR,";",8)=""
-	I (STS=2)!(STS=5) D
-	. I $P(HDR,";")'="" D
-	. . N THISTS,DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
-	. . S THISTS=" only active "
-	. . S:STS=5 THISTS=" expiring "
-	. . W !,"Date range can not be selected when viewing"_THISTS_"orders"
-	. . W !,"and will be cleared."
-	. . S DIR(0)="E" D ^DIR
-	. S $P(HDR,";",1,2)=";"
-	I STS=6,$P(HDR,";")="" S $P(HDR,";",1,2)="T;T@23:59"
-	S $P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
-	Q
-	;
-STSLST(ORY)	    ; -- Returns array of order views as 
-	;            ORY(n) = id ^ name ^ parent id [^+ if has members]
-	N I,X,CNT S CNT=0
-	F I=1:1 S X=$T(ORDSTS+I) Q:$P(X,";",4)="ZZZZ"  S CNT=CNT+1,ORY(CNT)=$TR($P(X,";",3,6),";","^")
-	; include specific patient events??
-	Q
-	;
-ORDSTS	;;#;Name of Order Context
-	;;1;All;0;+
-	;;2;Active (includes pending, recent activity);1
-	;;23;Current (Active & Pending status only);1
-	;;3;Discontinued;1
-	;;28;Discontinued/Entered in Error;1
-	;;4;Completed/Expired;1
-	;;5;Expiring;1
-	;;7;Pending;1
-	;;18;On Hold;1
-	;;19;New Orders;1
-	;;11;Unsigned;1
-	;;8;Unverified by anyone;1;+
-	;;9;Unverified by Nursing;8
-	;;10;Unverified by Clerk;8
-	;;20;Unverified/Chart Review;8
-	;;13;Verbal/Phoned;1;+
-	;;14;Verbal/Phoned unsigned;13
-	;;12;Flagged;1
-	;;6;Recent Activity (defaults to today's orders);1
-	;;24;Delayed (all events);1;+
-	;;15;Delayed Admission;24
-	;;17;Delayed Transfer;24
-	;;16;Delayed Discharge;24
-	;;25;Delayed Return from O.R.;24
-	;;26;Delayed for Manual Release;24
-	;;22;Lapsed (never processed);1
-	;;;ZZZZ
-	;
-STS	; -- Select new [order or consult] status
-	N HDR,DEFAULT,DOMAIN,PROMPT,HELP,X,Y,I
-	S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3),DEFAULT=""
-	S (I,Y)=0 F  S I=$O(^ORD(100.01,I)) Q:I'>0  Q:I=99  S X=$G(^(I,0)) D
-	. Q:"^1^2^5^6^8^9^13^"'[(U_I_U)  S Y=Y+1
-	. S DOMAIN(Y)=I_U_$$LOWER^VALM1($P(X,U)),DOMAIN("B",$P(X,U))=Y
-	. S:I=$P(HDR,";",3) DEFAULT=$P(DOMAIN(Y),U,2)
-	S Y=Y+1,DOMAIN(Y)="^All Statuses",DOMAIN("B","ALL STATUSES")=Y
-	S DOMAIN(0)=Y,PROMPT="Select Consult Status: "
-	S HELP="Enter the status of consults you wish to see listed here."
-	D EN Q:Y="^"
-	S $P(HDR,";",3)=$P(DOMAIN(Y),U),$P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
-	Q
-	;
-TIU	; -- Select new document status
-	N X,Y,ORY,I,CNT,HDR,DOMAIN,DEFAULT,PROMPT,HELP
-	S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3),DEFAULT=$P(HDR,";",3)
-	D STATUS^TIUSRVL(.ORY)
-	S (I,CNT)=0 F  S I=$O(ORY(I)) Q:I'>0  S CNT=CNT+1,DOMAIN(CNT)=ORY(I),DOMAIN("B",$$UP^XLFSTR($P(ORY(I),U,2)))=CNT
-	S DOMAIN(0)=CNT,PROMPT="Select Signature Status: "
-	S HELP="Enter the signature status you would like to screen on"
-	D EN Q:Y="^"
-	S $P(HDR,";",3)=$P(DOMAIN(Y),U,2),$P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
-	Q
-	;
-PLIST	; -- Select problem status
-	N X,Y,HDR,I,ID,NAME,DOMAIN,DEFAULT,PROMPT,HELP
-	S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3)
-	F I=1:1 S X=$T(PLSTS+I) Q:$P(X,";",4)="ZZZZ"  D SET
-	S DOMAIN(0)=I-1,PROMPT="Select Problem Status: "
-	S HELP="Enter the status of the problems you wish to see listed here."
-	D EN Q:Y="^"
-	S $P(HDR,";",3)=$P(DOMAIN(Y),U),$P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
-	Q
-	;
-PLSTS	;;I;name
-	;;A;active
-	;;I;inactive
-	;;B;both active & inactive
-	;;;ZZZZ
-	;
-SET	; -- set DOMAIN(I)=ID^NAME, DEFAULT from X=";;ID;NAME"
-	N ID,NAME
-	S ID=$P(X,";",3),NAME=$P(X,";",4)
-	S DOMAIN(I)=ID_U_NAME,DOMAIN("B",$$UP^XLFSTR(NAME))=I
-	S:ID=$P(HDR,";",3) DEFAULT=NAME
-	Q
-	;
-EN	; -- Select new status via DOMAIN(), PROMPT, DEFAULT, HELP
-	N DONE S DONE=0,Y="" F  D  Q:DONE
-	. W !,PROMPT_$S($L(DEFAULT):DEFAULT_"//",1:"")
-	. R X:DTIME S:'$T X="^" I X["^" S Y="^",DONE=1 Q
-	. S:X="" X=DEFAULT I X="" S Y="^",DONE=1 Q
-	. I X["?" W !!,HELP D LIST Q
-	. D  I 'Y W $C(7),!,HELP Q
-	. . N XP,XY,CNT,MATCH,DIR,I
-	. . S X=$$UP^XLFSTR(X),Y=+$G(DOMAIN("B",X)) Q:Y  ; done
-	. . S CNT=0,XP=X F  S XP=$O(DOMAIN("B",XP)) Q:XP=""  Q:$E(XP,1,$L(X))'=X  S CNT=CNT+1,XY=+DOMAIN("B",XP),MATCH(CNT)=XY_U_$P(DOMAIN(XY),U,2)
-	. . Q:'CNT
-	. . I CNT=1 S Y=+MATCH(1),XP=$P(MATCH(1),U,2) W $E(XP,$L(X)+1,$L(XP)) Q
-	. . S DIR(0)="NAO^1:"_CNT,DIR("A")="Select 1-"_CNT_": "
-	. . F I=1:1:CNT S DIR("A",I)=$J(I,3)_" "_$P(MATCH(I),U,2)
-	. . S DIR("?")="Select the desired value, by number"
-	. . I CNT>3 D FULL^VALM1 S VALMBCK="R" ;need to scroll
-	. . D ^DIR I $D(DIRUT) S Y="" Q
-	. . S Y=+MATCH(Y) W "  "_$P(DOMAIN(Y),U,2)
-	. S DONE=1
-	Q
-	;
-LIST	; -- List order statuses in DOMAIN
-	N I,Z,CNT,DONE D FULL^VALM1 S VALMBCK="R"
-	S CNT=0 W !,"Choose from:"
-	F I=1:1:DOMAIN(0) D  Q:$G(DONE)
-	. S CNT=CNT+1 W ! I CNT>(IOSL-3) D  Q:$G(DONE)
-	.. W ?3,"'^' TO STOP: " R Z:DTIME S:'$T!(Z["^") DONE=1 S CNT=1
-	. W $C(13),"  "_$P(DOMAIN(I),U,2)
-	Q
+ORCHANG2 ;SLC/MKB-Change View status ; 08 May 2002  2:12 PM
+ ;;3.0;ORDER ENTRY/RESULTS REPORTING;**27,72,68,141,215**;Dec 17, 1997
+ORDERS ; -- Select new order status
+ N X,Y,HDR,I,DOMAIN,DEFAULT,PROMPT,HELP,STS
+ S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3),DEFAULT=""
+ F I=1:1 S X=$T(ORDSTS+I) Q:$P(X,";",4)="ZZZZ"  D SET
+ S DOMAIN(0)=I-1,PROMPT="Select Order Status: "
+ S HELP="Enter the status of orders you wish to see listed here."
+ D EN Q:Y="^"  S STS=+$G(DOMAIN(Y))
+ I "^8^9^10^20^"[(U_STS_U) D  Q:Y="^"
+ . N STRT,STOP,Z
+ . S STRT=$$START^ORCHANGE("NOW-24H") I STRT="^" S Y="^" Q
+ . S STOP=$$STOP^ORCHANGE("NOW") I STOP="^" S Y="^" Q
+ . I STOP<STRT S Z=STRT,STRT=STOP,STOP=Z
+ . S $P(HDR,";",1,2)=$P(STRT,U,2)_";"_$P(STOP,U,2)
+ S $P(HDR,";",3)=STS,$P(HDR,";",8)="" S:STS=2 $P(HDR,";",1,2)=";"
+ I STS=6,$P(HDR,";")="" S $P(HDR,";",1,2)="T;T@23:59"
+ S $P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
+ Q
+ ;
+STSLST(ORY)     ; -- Returns array of order views as 
+ ;            ORY(n) = id ^ name ^ parent id [^+ if has members]
+ N I,X,CNT S CNT=0
+ F I=1:1 S X=$T(ORDSTS+I) Q:$P(X,";",4)="ZZZZ"  S CNT=CNT+1,ORY(CNT)=$TR($P(X,";",3,6),";","^")
+ ; include specific patient events??
+ Q
+ ;
+ORDSTS ;;#;Name of Order Context
+ ;;1;All;0;+
+ ;;2;Active (includes pending, recent activity);1
+ ;;23;Current (Active & Pending status only);1
+ ;;3;Discontinued;1
+ ;;28;Discontinued/Entered in Error;1
+ ;;4;Completed/Expired;1
+ ;;5;Expiring;1
+ ;;7;Pending;1
+ ;;18;On Hold;1
+ ;;19;New Orders;1
+ ;;11;Unsigned;1
+ ;;8;Unverified by anyone;1;+
+ ;;9;Unverified by Nursing;8
+ ;;10;Unverified by Clerk;8
+ ;;20;Unverified/Chart Review;8
+ ;;13;Verbal/Phoned;1;+
+ ;;14;Verbal/Phoned unsigned;13
+ ;;12;Flagged;1
+ ;;6;Recent Activity (defaults to today's orders);1
+ ;;24;Delayed (all events);1;+
+ ;;15;Delayed Admission;24
+ ;;17;Delayed Transfer;24
+ ;;16;Delayed Discharge;24
+ ;;25;Delayed Return from O.R.;24
+ ;;26;Delayed for Manual Release;24
+ ;;22;Lapsed (never processed);1
+ ;;;ZZZZ
+ ;
+STS ; -- Select new [order or consult] status
+ N HDR,DEFAULT,DOMAIN,PROMPT,HELP,X,Y,I
+ S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3),DEFAULT=""
+ S (I,Y)=0 F  S I=$O(^ORD(100.01,I)) Q:I'>0  Q:I=99  S X=$G(^(I,0)) D
+ . Q:"^1^2^5^6^8^9^13^"'[(U_I_U)  S Y=Y+1
+ . S DOMAIN(Y)=I_U_$$LOWER^VALM1($P(X,U)),DOMAIN("B",$P(X,U))=Y
+ . S:I=$P(HDR,";",3) DEFAULT=$P(DOMAIN(Y),U,2)
+ S Y=Y+1,DOMAIN(Y)="^All Statuses",DOMAIN("B","ALL STATUSES")=Y
+ S DOMAIN(0)=Y,PROMPT="Select Consult Status: "
+ S HELP="Enter the status of consults you wish to see listed here."
+ D EN Q:Y="^"
+ S $P(HDR,";",3)=$P(DOMAIN(Y),U),$P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
+ Q
+ ;
+TIU ; -- Select new document status
+ N X,Y,ORY,I,CNT,HDR,DOMAIN,DEFAULT,PROMPT,HELP
+ S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3),DEFAULT=$P(HDR,";",3)
+ D STATUS^TIUSRVL(.ORY)
+ S (I,CNT)=0 F  S I=$O(ORY(I)) Q:I'>0  S CNT=CNT+1,DOMAIN(CNT)=ORY(I),DOMAIN("B",$$UP^XLFSTR($P(ORY(I),U,2)))=CNT
+ S DOMAIN(0)=CNT,PROMPT="Select Signature Status: "
+ S HELP="Enter the signature status you would like to screen on"
+ D EN Q:Y="^"
+ S $P(HDR,";",3)=$P(DOMAIN(Y),U,2),$P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
+ Q
+ ;
+PLIST ; -- Select problem status
+ N X,Y,HDR,I,ID,NAME,DOMAIN,DEFAULT,PROMPT,HELP
+ S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3)
+ F I=1:1 S X=$T(PLSTS+I) Q:$P(X,";",4)="ZZZZ"  D SET
+ S DOMAIN(0)=I-1,PROMPT="Select Problem Status: "
+ S HELP="Enter the status of the problems you wish to see listed here."
+ D EN Q:Y="^"
+ S $P(HDR,";",3)=$P(DOMAIN(Y),U),$P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
+ Q
+ ;
+PLSTS ;;I;name
+ ;;A;active
+ ;;I;inactive
+ ;;B;both active & inactive
+ ;;;ZZZZ
+ ;
+SET ; -- set DOMAIN(I)=ID^NAME, DEFAULT from X=";;ID;NAME"
+ N ID,NAME
+ S ID=$P(X,";",3),NAME=$P(X,";",4)
+ S DOMAIN(I)=ID_U_NAME,DOMAIN("B",$$UP^XLFSTR(NAME))=I
+ S:ID=$P(HDR,";",3) DEFAULT=NAME
+ Q
+ ;
+EN ; -- Select new status via DOMAIN(), PROMPT, DEFAULT, HELP
+ N DONE S DONE=0,Y="" F  D  Q:DONE
+ . W !,PROMPT_$S($L(DEFAULT):DEFAULT_"//",1:"")
+ . R X:DTIME S:'$T X="^" I X["^" S Y="^",DONE=1 Q
+ . S:X="" X=DEFAULT I X="" S Y="^",DONE=1 Q
+ . I X["?" W !!,HELP D LIST Q
+ . D  I 'Y W $C(7),!,HELP Q
+ . . N XP,XY,CNT,MATCH,DIR,I
+ . . S X=$$UP^XLFSTR(X),Y=+$G(DOMAIN("B",X)) Q:Y  ; done
+ . . S CNT=0,XP=X F  S XP=$O(DOMAIN("B",XP)) Q:XP=""  Q:$E(XP,1,$L(X))'=X  S CNT=CNT+1,XY=+DOMAIN("B",XP),MATCH(CNT)=XY_U_$P(DOMAIN(XY),U,2)
+ . . Q:'CNT
+ . . I CNT=1 S Y=+MATCH(1),XP=$P(MATCH(1),U,2) W $E(XP,$L(X)+1,$L(XP)) Q
+ . . S DIR(0)="NAO^1:"_CNT,DIR("A")="Select 1-"_CNT_": "
+ . . F I=1:1:CNT S DIR("A",I)=$J(I,3)_" "_$P(MATCH(I),U,2)
+ . . S DIR("?")="Select the desired value, by number"
+ . . I CNT>3 D FULL^VALM1 S VALMBCK="R" ;need to scroll
+ . . D ^DIR I $D(DIRUT) S Y="" Q
+ . . S Y=+MATCH(Y) W "  "_$P(DOMAIN(Y),U,2)
+ . S DONE=1
+ Q
+ ;
+LIST ; -- List order statuses in DOMAIN
+ N I,Z,CNT,DONE D FULL^VALM1 S VALMBCK="R"
+ S CNT=0 W !,"Choose from:"
+ F I=1:1:DOMAIN(0) D  Q:$G(DONE)
+ . S CNT=CNT+1 W ! I CNT>(IOSL-3) D  Q:$G(DONE)
+ .. W ?3,"'^' TO STOP: " R Z:DTIME S:'$T!(Z["^") DONE=1 S CNT=1
+ . W $C(13),"  "_$P(DOMAIN(I),U,2)
+ Q
