Created
December 26, 2015 21:15
-
-
Save shabiel/e6fc1ee9a44089ac590f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| EN ; [Public] Main Entry Point | |
| W "Pending Orders Display",!! | |
| ; | |
| N DIR,DIRUT,DIROUT,DTOUT,DUOUT,X,Y,DA | |
| S DIR(0)="S^N:No Filter;D:Division;W:Ward;G:Ward Group" | |
| S DIR("A")="Filter by" | |
| S DIR("?",1)="If you wish to filter your results to a specific group of patients," | |
| S DIR("?",2)="you can do that here." | |
| S DIR("?",3)=" " | |
| S DIR("?",4)="You can filter by Division, Ward, or Ward Group" | |
| S DIR("?")="Select N, D, W, or G." | |
| S DIR("B")="D" | |
| D ^DIR | |
| Q:$G(DIRUT) | |
| ; | |
| N FIL S FIL=Y | |
| ; | |
| D @(Y_"(.FIL)") ; Callback to collect filter data. N is a NOOP. | |
| ; | |
| I '$D(FIL) QUIT ; Killed by call back | |
| ; | |
| NVO F S PAT=$O(^PS(53.1,"AC",PAT)) Q:PAT="" D | |
| . N WDN S WDN=$E($G(^DPT(PAT,.1)),1,30) | |
| . I WDN="" QUIT | |
| . Q:$$FILTER(WDN,.FIL) | |
| ; --> Callbacks for filtering selection | |
| ; | |
| N(FIL) ; [Callback] No filter | |
| QUIT | |
| ; | |
| D(FIL) ; [Callback] Select by Division | |
| N DIC,X,Y,DLAYGO,DINUM,DTOUT,DUOUT | |
| S DIC=4,DIC(0)="AEMQ",DIC("S")="I Y=DUZ(2)!($D(^VA(200,DUZ,2,Y)))" | |
| S DIC("B")=$$GET1^DIQ(4,DUZ(2),.01) | |
| D ^DIC | |
| I Y<0 K FIL QUIT | |
| S FIL("D")=+Y | |
| QUIT | |
| ; | |
| W(FIL) ; [Callback] Select by Ward | |
| N DIC,X,Y,DLAYGO,DINUM,DTOUT,DUOUT | |
| S DIC=42,DIC(0)="AEMQ" D ^DIC | |
| I Y<0 K FIL QUIT | |
| S FIL("W")=+Y | |
| QUIT | |
| ; | |
| G(FIL) ; [Callback] Select by Ward Group | |
| N DIC,X,Y,DLAYGO,DINUM,DTOUT,DUOUT | |
| S DIC=57.5,DIC(0)="AEMQ" D ^DIC | |
| I Y<0 K FIL QUIT | |
| S FIL("G")=+Y | |
| QUIT | |
| ; | |
| ; <-- END Callbacks for filtering selection | |
| ; | |
| FILTER(WDN,FIL) ; [$$ Private] Filter Entries from ALL by user requested filter | |
| ; True: Filter out | |
| ; False: Don't filter | |
| I '$D(FIL) Q 0 | |
| N WDIEN S WDIEN=$$FIND1^DIC(42,,"Q",WDN,"B") | |
| I 'WDIEN S $EC=",U-INCONSISTENT-DATA," ; assert | |
| ; | |
| N RES | |
| ; | |
| I $G(FIL("D")) D Q RES | |
| . N DIV S DIV=FIL("D") | |
| . N WDDIV S WDDIV=$$GET1^DIQ(42,WDIEN,".015:.07","I") ; DIVISION:INSTITUTION FILE POINTER | |
| . I 'WDDIV S $EC=",U-INCONSISTENT-DATA," ; assert | |
| . I DIV=WDDIV S RES=0 ; Same. Don't filter out. | |
| . I DIV'=WDDIV S RES=1 ; Different. Filter out. | |
| ; | |
| I $G(FIL("W")) S RES=FIL("W")'=WDIEN Q RES | |
| ; | |
| I $G(FIL("G")) S RES='$D(^PS(57.5,FIL("G"),1,"B",WDIEN)) Q RES | |
| ; | |
| QUIT 0 | |
| ; <-- END Callbacks for filtering selection |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment