[613] | 1 | PXCA ;ISL/dee & LEA/Chylton - Main entry points to PCE Device Interface Module ;12/17/96
|
---|
| 2 | ;;1.0;PCE PATIENT CARE ENCOUNTER;**5,14**;Aug 12, 1996
|
---|
| 3 | Q
|
---|
| 4 | ;
|
---|
| 5 | ;----------------------------- FOREGROUND ---------------------------
|
---|
| 6 | FOREGND(PXCA,PXCASTAT,PXCAVSIT) ; Invoke the event point in the foreground
|
---|
| 7 | ; if there are no errors
|
---|
| 8 | S PXCASTAT=0 ; assume that event processing did not occur
|
---|
| 9 | D EN^PXCA0
|
---|
| 10 | I '$D(PXCA("ERROR")),PXCASTAT=0 S PXCASTAT=1 ; there were no errors so report that
|
---|
| 11 | ; event processing occurred
|
---|
| 12 | I PXCASTAT>0!(PXCASTAT<-1) D EVENT ; Let the rest of the world look at the array
|
---|
| 13 | ; if there are now errors
|
---|
| 14 | Q
|
---|
| 15 | ;
|
---|
| 16 | ;----------------------------- BACKGROUND ---------------------------
|
---|
| 17 | BACKGND(PXCA,PXCASTAT,PXCAVSIT) ; Invoke the event point in the background
|
---|
| 18 | D VALIDATE(.PXCA) ; Verfify minimal data set is present and valid
|
---|
| 19 | S PXCASTAT=0 ; assume that event processing did not occur
|
---|
| 20 | Q:$D(PXCA("ERROR")) ; data did not pass validation
|
---|
| 21 | S ZTRTN="TASKED^PXCA",ZTDESC="PCE Device Interface Module"
|
---|
| 22 | S ZTDTH=$H,ZTIO=""
|
---|
| 23 | I $G(DUZ)'>0 S DUZ=$P(PXCA("SOURCE"),"^",2)
|
---|
| 24 | I $G(DUZ)'>0 S DUZ=.5
|
---|
| 25 | I $D(DUZ("AG"))#2'=1 S DUZ("AG")="V"
|
---|
| 26 | S ZTSAVE("DUZ")=DUZ,ZTSAVE("DUZ(")=""
|
---|
| 27 | S ZTSAVE("PXCA(")=""
|
---|
| 28 | D ^%ZTLOAD
|
---|
| 29 | K ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE
|
---|
| 30 | I $D(ZTSK) S PXCASTAT=1 ; report that event processing occurred
|
---|
| 31 | E S PXCASTAT=0,PXCA("ERROR","ENCOUNTER",0,0,0)="Tasking of job failed."
|
---|
| 32 | Q
|
---|
| 33 | ;
|
---|
| 34 | ;------------------------------- TASKED -----------------------------
|
---|
| 35 | ; processing of event point was off-loaded to the host
|
---|
| 36 | TASKED ; called by BACKGND only
|
---|
| 37 | N DIC
|
---|
| 38 | K DTOUT,DIROUT,X
|
---|
| 39 | S PXCASTAT=0 ; assume that event processing did not occur (for debug)
|
---|
| 40 | D EN^PXCA0
|
---|
| 41 | K DTOUT,DIC,DIROUT,X
|
---|
| 42 | S:'$D(PXCA("ERROR")) PXCASTAT=1 ; there were no errors so report that
|
---|
| 43 | ; event processing occurred (for debug)
|
---|
| 44 | D EVENT ; Let the rest of the world look at the array
|
---|
| 45 | Q
|
---|
| 46 | ;
|
---|
| 47 | ;----------------------------- VALIDATED ----------------------------
|
---|
| 48 | VALIDATE(PXCA,PXCAVSIT) ;
|
---|
| 49 | D PROCESS^PXCA0(.PXCA,0,0)
|
---|
| 50 | Q
|
---|
| 51 | ;
|
---|
| 52 | ;---------------------------- EVENT POINT ---------------------------
|
---|
| 53 | EVENT ;
|
---|
| 54 | S X=+$O(^ORD(101,"B","PXCA DATA EVENT",0))_";ORD(101,"
|
---|
| 55 | D:+X>0 EN^XQOR
|
---|
| 56 | Q
|
---|
| 57 | ;
|
---|