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/ORCHANG2.m

    r613 r623  
    1 ORCHANG2        ;SLC/MKB-Change View status ; 08 May 2002  2:12 PM
    2         ;;3.0;ORDER ENTRY/RESULTS REPORTING;**27,72,68,141,215,243**;Dec 17, 1997;Build 242
    3 ORDERS  ; -- Select new order status
    4         N X,Y,HDR,I,DOMAIN,DEFAULT,PROMPT,HELP,STS
    5         S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3),DEFAULT=""
    6         F I=1:1 S X=$T(ORDSTS+I) Q:$P(X,";",4)="ZZZZ"  D SET
    7         S DOMAIN(0)=I-1,PROMPT="Select Order Status: "
    8         S HELP="Enter the status of orders you wish to see listed here."
    9         D EN Q:Y="^"  S STS=+$G(DOMAIN(Y))
    10         I "^8^9^10^20^"[(U_STS_U) D  Q:Y="^"
    11         . N STRT,STOP,Z
    12         . S STRT=$$START^ORCHANGE("NOW-24H") I STRT="^" S Y="^" Q
    13         . S STOP=$$STOP^ORCHANGE("NOW") I STOP="^" S Y="^" Q
    14         . I STOP<STRT S Z=STRT,STRT=STOP,STOP=Z
    15         . S $P(HDR,";",1,2)=$P(STRT,U,2)_";"_$P(STOP,U,2)
    16         S $P(HDR,";",3)=STS,$P(HDR,";",8)=""
    17         I (STS=2)!(STS=5) D
    18         . I $P(HDR,";")'="" D
    19         . . N THISTS,DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
    20         . . S THISTS=" only active "
    21         . . S:STS=5 THISTS=" expiring "
    22         . . W !,"Date range can not be selected when viewing"_THISTS_"orders"
    23         . . W !,"and will be cleared."
    24         . . S DIR(0)="E" D ^DIR
    25         . S $P(HDR,";",1,2)=";"
    26         I STS=6,$P(HDR,";")="" S $P(HDR,";",1,2)="T;T@23:59"
    27         S $P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
    28         Q
    29         ;
    30 STSLST(ORY)         ; -- Returns array of order views as
    31         ;            ORY(n) = id ^ name ^ parent id [^+ if has members]
    32         N I,X,CNT S CNT=0
    33         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),";","^")
    34         ; include specific patient events??
    35         Q
    36         ;
    37 ORDSTS  ;;#;Name of Order Context
    38         ;;1;All;0;+
    39         ;;2;Active (includes pending, recent activity);1
    40         ;;23;Current (Active & Pending status only);1
    41         ;;3;Discontinued;1
    42         ;;28;Discontinued/Entered in Error;1
    43         ;;4;Completed/Expired;1
    44         ;;5;Expiring;1
    45         ;;7;Pending;1
    46         ;;18;On Hold;1
    47         ;;19;New Orders;1
    48         ;;11;Unsigned;1
    49         ;;8;Unverified by anyone;1;+
    50         ;;9;Unverified by Nursing;8
    51         ;;10;Unverified by Clerk;8
    52         ;;20;Unverified/Chart Review;8
    53         ;;13;Verbal/Phoned;1;+
    54         ;;14;Verbal/Phoned unsigned;13
    55         ;;12;Flagged;1
    56         ;;6;Recent Activity (defaults to today's orders);1
    57         ;;24;Delayed (all events);1;+
    58         ;;15;Delayed Admission;24
    59         ;;17;Delayed Transfer;24
    60         ;;16;Delayed Discharge;24
    61         ;;25;Delayed Return from O.R.;24
    62         ;;26;Delayed for Manual Release;24
    63         ;;22;Lapsed (never processed);1
    64         ;;;ZZZZ
    65         ;
    66 STS     ; -- Select new [order or consult] status
    67         N HDR,DEFAULT,DOMAIN,PROMPT,HELP,X,Y,I
    68         S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3),DEFAULT=""
    69         S (I,Y)=0 F  S I=$O(^ORD(100.01,I)) Q:I'>0  Q:I=99  S X=$G(^(I,0)) D
    70         . Q:"^1^2^5^6^8^9^13^"'[(U_I_U)  S Y=Y+1
    71         . S DOMAIN(Y)=I_U_$$LOWER^VALM1($P(X,U)),DOMAIN("B",$P(X,U))=Y
    72         . S:I=$P(HDR,";",3) DEFAULT=$P(DOMAIN(Y),U,2)
    73         S Y=Y+1,DOMAIN(Y)="^All Statuses",DOMAIN("B","ALL STATUSES")=Y
    74         S DOMAIN(0)=Y,PROMPT="Select Consult Status: "
    75         S HELP="Enter the status of consults you wish to see listed here."
    76         D EN Q:Y="^"
    77         S $P(HDR,";",3)=$P(DOMAIN(Y),U),$P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
    78         Q
    79         ;
    80 TIU     ; -- Select new document status
    81         N X,Y,ORY,I,CNT,HDR,DOMAIN,DEFAULT,PROMPT,HELP
    82         S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3),DEFAULT=$P(HDR,";",3)
    83         D STATUS^TIUSRVL(.ORY)
    84         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
    85         S DOMAIN(0)=CNT,PROMPT="Select Signature Status: "
    86         S HELP="Enter the signature status you would like to screen on"
    87         D EN Q:Y="^"
    88         S $P(HDR,";",3)=$P(DOMAIN(Y),U,2),$P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
    89         Q
    90         ;
    91 PLIST   ; -- Select problem status
    92         N X,Y,HDR,I,ID,NAME,DOMAIN,DEFAULT,PROMPT,HELP
    93         S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3)
    94         F I=1:1 S X=$T(PLSTS+I) Q:$P(X,";",4)="ZZZZ"  D SET
    95         S DOMAIN(0)=I-1,PROMPT="Select Problem Status: "
    96         S HELP="Enter the status of the problems you wish to see listed here."
    97         D EN Q:Y="^"
    98         S $P(HDR,";",3)=$P(DOMAIN(Y),U),$P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
    99         Q
    100         ;
    101 PLSTS   ;;I;name
    102         ;;A;active
    103         ;;I;inactive
    104         ;;B;both active & inactive
    105         ;;;ZZZZ
    106         ;
    107 SET     ; -- set DOMAIN(I)=ID^NAME, DEFAULT from X=";;ID;NAME"
    108         N ID,NAME
    109         S ID=$P(X,";",3),NAME=$P(X,";",4)
    110         S DOMAIN(I)=ID_U_NAME,DOMAIN("B",$$UP^XLFSTR(NAME))=I
    111         S:ID=$P(HDR,";",3) DEFAULT=NAME
    112         Q
    113         ;
    114 EN      ; -- Select new status via DOMAIN(), PROMPT, DEFAULT, HELP
    115         N DONE S DONE=0,Y="" F  D  Q:DONE
    116         . W !,PROMPT_$S($L(DEFAULT):DEFAULT_"//",1:"")
    117         . R X:DTIME S:'$T X="^" I X["^" S Y="^",DONE=1 Q
    118         . S:X="" X=DEFAULT I X="" S Y="^",DONE=1 Q
    119         . I X["?" W !!,HELP D LIST Q
    120         . D  I 'Y W $C(7),!,HELP Q
    121         . . N XP,XY,CNT,MATCH,DIR,I
    122         . . S X=$$UP^XLFSTR(X),Y=+$G(DOMAIN("B",X)) Q:Y  ; done
    123         . . 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)
    124         . . Q:'CNT
    125         . . I CNT=1 S Y=+MATCH(1),XP=$P(MATCH(1),U,2) W $E(XP,$L(X)+1,$L(XP)) Q
    126         . . S DIR(0)="NAO^1:"_CNT,DIR("A")="Select 1-"_CNT_": "
    127         . . F I=1:1:CNT S DIR("A",I)=$J(I,3)_" "_$P(MATCH(I),U,2)
    128         . . S DIR("?")="Select the desired value, by number"
    129         . . I CNT>3 D FULL^VALM1 S VALMBCK="R" ;need to scroll
    130         . . D ^DIR I $D(DIRUT) S Y="" Q
    131         . . S Y=+MATCH(Y) W "  "_$P(DOMAIN(Y),U,2)
    132         . S DONE=1
    133         Q
    134         ;
    135 LIST    ; -- List order statuses in DOMAIN
    136         N I,Z,CNT,DONE D FULL^VALM1 S VALMBCK="R"
    137         S CNT=0 W !,"Choose from:"
    138         F I=1:1:DOMAIN(0) D  Q:$G(DONE)
    139         . S CNT=CNT+1 W ! I CNT>(IOSL-3) D  Q:$G(DONE)
    140         .. W ?3,"'^' TO STOP: " R Z:DTIME S:'$T!(Z["^") DONE=1 S CNT=1
    141         . W $C(13),"  "_$P(DOMAIN(I),U,2)
    142         Q
     1ORCHANG2 ;SLC/MKB-Change View status ; 08 May 2002  2:12 PM
     2 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**27,72,68,141,215**;Dec 17, 1997
     3ORDERS ; -- Select new order status
     4 N X,Y,HDR,I,DOMAIN,DEFAULT,PROMPT,HELP,STS
     5 S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3),DEFAULT=""
     6 F I=1:1 S X=$T(ORDSTS+I) Q:$P(X,";",4)="ZZZZ"  D SET
     7 S DOMAIN(0)=I-1,PROMPT="Select Order Status: "
     8 S HELP="Enter the status of orders you wish to see listed here."
     9 D EN Q:Y="^"  S STS=+$G(DOMAIN(Y))
     10 I "^8^9^10^20^"[(U_STS_U) D  Q:Y="^"
     11 . N STRT,STOP,Z
     12 . S STRT=$$START^ORCHANGE("NOW-24H") I STRT="^" S Y="^" Q
     13 . S STOP=$$STOP^ORCHANGE("NOW") I STOP="^" S Y="^" Q
     14 . I STOP<STRT S Z=STRT,STRT=STOP,STOP=Z
     15 . S $P(HDR,";",1,2)=$P(STRT,U,2)_";"_$P(STOP,U,2)
     16 S $P(HDR,";",3)=STS,$P(HDR,";",8)="" S:STS=2 $P(HDR,";",1,2)=";"
     17 I STS=6,$P(HDR,";")="" S $P(HDR,";",1,2)="T;T@23:59"
     18 S $P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
     19 Q
     20 ;
     21STSLST(ORY)     ; -- Returns array of order views as
     22 ;            ORY(n) = id ^ name ^ parent id [^+ if has members]
     23 N I,X,CNT S CNT=0
     24 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),";","^")
     25 ; include specific patient events??
     26 Q
     27 ;
     28ORDSTS ;;#;Name of Order Context
     29 ;;1;All;0;+
     30 ;;2;Active (includes pending, recent activity);1
     31 ;;23;Current (Active & Pending status only);1
     32 ;;3;Discontinued;1
     33 ;;28;Discontinued/Entered in Error;1
     34 ;;4;Completed/Expired;1
     35 ;;5;Expiring;1
     36 ;;7;Pending;1
     37 ;;18;On Hold;1
     38 ;;19;New Orders;1
     39 ;;11;Unsigned;1
     40 ;;8;Unverified by anyone;1;+
     41 ;;9;Unverified by Nursing;8
     42 ;;10;Unverified by Clerk;8
     43 ;;20;Unverified/Chart Review;8
     44 ;;13;Verbal/Phoned;1;+
     45 ;;14;Verbal/Phoned unsigned;13
     46 ;;12;Flagged;1
     47 ;;6;Recent Activity (defaults to today's orders);1
     48 ;;24;Delayed (all events);1;+
     49 ;;15;Delayed Admission;24
     50 ;;17;Delayed Transfer;24
     51 ;;16;Delayed Discharge;24
     52 ;;25;Delayed Return from O.R.;24
     53 ;;26;Delayed for Manual Release;24
     54 ;;22;Lapsed (never processed);1
     55 ;;;ZZZZ
     56 ;
     57STS ; -- Select new [order or consult] status
     58 N HDR,DEFAULT,DOMAIN,PROMPT,HELP,X,Y,I
     59 S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3),DEFAULT=""
     60 S (I,Y)=0 F  S I=$O(^ORD(100.01,I)) Q:I'>0  Q:I=99  S X=$G(^(I,0)) D
     61 . Q:"^1^2^5^6^8^9^13^"'[(U_I_U)  S Y=Y+1
     62 . S DOMAIN(Y)=I_U_$$LOWER^VALM1($P(X,U)),DOMAIN("B",$P(X,U))=Y
     63 . S:I=$P(HDR,";",3) DEFAULT=$P(DOMAIN(Y),U,2)
     64 S Y=Y+1,DOMAIN(Y)="^All Statuses",DOMAIN("B","ALL STATUSES")=Y
     65 S DOMAIN(0)=Y,PROMPT="Select Consult Status: "
     66 S HELP="Enter the status of consults you wish to see listed here."
     67 D EN Q:Y="^"
     68 S $P(HDR,";",3)=$P(DOMAIN(Y),U),$P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
     69 Q
     70 ;
     71TIU ; -- Select new document status
     72 N X,Y,ORY,I,CNT,HDR,DOMAIN,DEFAULT,PROMPT,HELP
     73 S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3),DEFAULT=$P(HDR,";",3)
     74 D STATUS^TIUSRVL(.ORY)
     75 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
     76 S DOMAIN(0)=CNT,PROMPT="Select Signature Status: "
     77 S HELP="Enter the signature status you would like to screen on"
     78 D EN Q:Y="^"
     79 S $P(HDR,";",3)=$P(DOMAIN(Y),U,2),$P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
     80 Q
     81 ;
     82PLIST ; -- Select problem status
     83 N X,Y,HDR,I,ID,NAME,DOMAIN,DEFAULT,PROMPT,HELP
     84 S HDR=$P($G(^TMP("OR",$J,ORTAB,0)),U,3)
     85 F I=1:1 S X=$T(PLSTS+I) Q:$P(X,";",4)="ZZZZ"  D SET
     86 S DOMAIN(0)=I-1,PROMPT="Select Problem Status: "
     87 S HELP="Enter the status of the problems you wish to see listed here."
     88 D EN Q:Y="^"
     89 S $P(HDR,";",3)=$P(DOMAIN(Y),U),$P(^TMP("OR",$J,ORTAB,0),U,3,4)=HDR_U
     90 Q
     91 ;
     92PLSTS ;;I;name
     93 ;;A;active
     94 ;;I;inactive
     95 ;;B;both active & inactive
     96 ;;;ZZZZ
     97 ;
     98SET ; -- set DOMAIN(I)=ID^NAME, DEFAULT from X=";;ID;NAME"
     99 N ID,NAME
     100 S ID=$P(X,";",3),NAME=$P(X,";",4)
     101 S DOMAIN(I)=ID_U_NAME,DOMAIN("B",$$UP^XLFSTR(NAME))=I
     102 S:ID=$P(HDR,";",3) DEFAULT=NAME
     103 Q
     104 ;
     105EN ; -- Select new status via DOMAIN(), PROMPT, DEFAULT, HELP
     106 N DONE S DONE=0,Y="" F  D  Q:DONE
     107 . W !,PROMPT_$S($L(DEFAULT):DEFAULT_"//",1:"")
     108 . R X:DTIME S:'$T X="^" I X["^" S Y="^",DONE=1 Q
     109 . S:X="" X=DEFAULT I X="" S Y="^",DONE=1 Q
     110 . I X["?" W !!,HELP D LIST Q
     111 . D  I 'Y W $C(7),!,HELP Q
     112 . . N XP,XY,CNT,MATCH,DIR,I
     113 . . S X=$$UP^XLFSTR(X),Y=+$G(DOMAIN("B",X)) Q:Y  ; done
     114 . . 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)
     115 . . Q:'CNT
     116 . . I CNT=1 S Y=+MATCH(1),XP=$P(MATCH(1),U,2) W $E(XP,$L(X)+1,$L(XP)) Q
     117 . . S DIR(0)="NAO^1:"_CNT,DIR("A")="Select 1-"_CNT_": "
     118 . . F I=1:1:CNT S DIR("A",I)=$J(I,3)_" "_$P(MATCH(I),U,2)
     119 . . S DIR("?")="Select the desired value, by number"
     120 . . I CNT>3 D FULL^VALM1 S VALMBCK="R" ;need to scroll
     121 . . D ^DIR I $D(DIRUT) S Y="" Q
     122 . . S Y=+MATCH(Y) W "  "_$P(DOMAIN(Y),U,2)
     123 . S DONE=1
     124 Q
     125 ;
     126LIST ; -- List order statuses in DOMAIN
     127 N I,Z,CNT,DONE D FULL^VALM1 S VALMBCK="R"
     128 S CNT=0 W !,"Choose from:"
     129 F I=1:1:DOMAIN(0) D  Q:$G(DONE)
     130 . S CNT=CNT+1 W ! I CNT>(IOSL-3) D  Q:$G(DONE)
     131 .. W ?3,"'^' TO STOP: " R Z:DTIME S:'$T!(Z["^") DONE=1 S CNT=1
     132 . W $C(13),"  "_$P(DOMAIN(I),U,2)
     133 Q
Note: See TracChangeset for help on using the changeset viewer.