[613] | 1 | PXAIVST ;ISL/JVS,KWP,ESW - GET A VISIT FROM ENCOUNTER NODE ;11/20/02 4:38pm
|
---|
| 2 | ;;1.0;PCE PATIENT CARE ENCOUNTER;**5,9,15,74,111,96,130,124,164**;Aug 12, 1996
|
---|
| 3 | ;
|
---|
| 4 | ;
|
---|
| 5 | Q
|
---|
| 6 | VST ;--CREAT A VISIT
|
---|
| 7 | ;
|
---|
| 8 | SET ;--SET AND NEW VARIABLES
|
---|
| 9 | N AFTER0,AFTER21,AFTER800,AFTER150,BEFOR0,BEFOR21,BEFOR800,BEFOR150
|
---|
| 10 | N AFTER811,BEFOR811,BEFOR812
|
---|
| 11 | N PXAA,PXAB,SUB,PIECE,STOP
|
---|
| 12 | N AFTER8A,AFTER812
|
---|
| 13 | ;
|
---|
| 14 | S SUB="" F S SUB=$O(@PXADATA@("ENCOUNTER",1,SUB)) Q:SUB="" D
|
---|
| 15 | .S PXAA(SUB)=@PXADATA@("ENCOUNTER",1,SUB)
|
---|
| 16 | ;
|
---|
| 17 | S (AFTER812,BEFOR812)=""
|
---|
| 18 | ;
|
---|
| 19 | S PXAK=1
|
---|
| 20 | S PXAERR(8)=1
|
---|
| 21 | S PXAERR(7)="ENCOUNTER"
|
---|
| 22 | ;
|
---|
| 23 | VAL ;--VALIDATE ENOUGH DATA
|
---|
| 24 | I $D(@PXADATA@("ENCOUNTER")) D VAL^PXAIVSTV Q:$G(STOP)
|
---|
| 25 | I $G(PXAVISIT) S (PATIENT,PXAA("PATIENT"))=$P(^AUPNVSIT(PXAVISIT,0),"^",5) S PXAA("ENC D/T")=$P(^AUPNVSIT(PXAVISIT,0),"^",1) S PXAA("HOS LOC")=$P(^AUPNVSIT(PXAVISIT,0),"^",22)
|
---|
| 26 | ;
|
---|
| 27 | SETVARA ;--SET VISIT VARIABLES
|
---|
| 28 | S $P(AFTER0,"^",1)=$G(PXAA("ENC D/T"))
|
---|
| 29 | ;PX*1*96 - Set TYPE (Piece #3) according to following;
|
---|
| 30 | ; 1. If OUTSIDE LOCATION then TYPE is "O"
|
---|
| 31 | ; 2. If no OUTSIDE LOCATION but INSTITUTION then TYPE is "V"
|
---|
| 32 | ; 3. Else set to value of DUZ("AG")
|
---|
| 33 | ;Set TYPE
|
---|
| 34 | I $L($G(PXAA("OUTSIDE LOCATION"))) S $P(AFTER0,U,3)="O"
|
---|
| 35 | E I $L($G(PXAA("INSTITUTION"))) S $P(AFTER0,U,3)="V"
|
---|
| 36 | E S $P(AFTER0,U,3)=$G(DUZ("AG"))
|
---|
| 37 | S $P(AFTER0,"^",5)=$G(PXAA("PATIENT"))
|
---|
| 38 | S $P(AFTER0,"^",6)=$G(PXAA("INSTITUTION"))
|
---|
| 39 | S $P(AFTER0,"^",7)=$G(PXAA("SERVICE CATEGORY"))
|
---|
| 40 | S $P(AFTER0,"^",8)="" ;$G(PXAA("DSS ID"))
|
---|
| 41 | S $P(AFTER0,"^",12)=$G(PXAA("PARENT"))
|
---|
| 42 | S $P(AFTER0,"^",18)=$G(PXAA("CHECKOUT D/T"))
|
---|
| 43 | S $P(AFTER0,"^",21)=$G(PXAA("ELIGIBILITY"))
|
---|
| 44 | S $P(AFTER0,"^",26)=$S($G(PXACCNT)>0:$G(PXACCNT),1:"") ;PX*1.0*164
|
---|
| 45 | S $P(PXELAP,"^",1)=$G(PXAA("ELIGIBILITY"))
|
---|
| 46 | S $P(PXELAP,"^",3)=$G(PXAA("APPT"))
|
---|
| 47 | S $P(AFTER0,"^",22)=$G(PXAA("HOS LOC"))
|
---|
| 48 | S $P(AFTER800,"^",1)=$G(PXAA("SC"))
|
---|
| 49 | S $P(AFTER800,"^",2)=$G(PXAA("AO"))
|
---|
| 50 | S $P(AFTER800,"^",3)=$G(PXAA("IR"))
|
---|
| 51 | S $P(AFTER800,"^",4)=$G(PXAA("EC"))
|
---|
| 52 | S $P(AFTER800,"^",5)=$G(PXAA("MST"))
|
---|
| 53 | ;PX*1*111 - Add HNC
|
---|
| 54 | S $P(AFTER800,"^",6)=$G(PXAA("HNC"))
|
---|
| 55 | S $P(AFTER800,"^",7)=$G(PXAA("CV"))
|
---|
| 56 | ;--VALIDATE SERVICE CONNECTEDNESS
|
---|
| 57 | ;
|
---|
| 58 | S AFTER8A=AFTER800 D VALSCC^PXAIVSTV
|
---|
| 59 | S AFTER800=AFTER8A
|
---|
| 60 | ;
|
---|
| 61 | S $P(AFTER21,"^",1)=$G(PXAA("OUTSIDE LOCATION")) ;PX/96
|
---|
| 62 | S $P(AFTER150,"^",3)=$G(PXAA("ENCOUNTER TYPE"))
|
---|
| 63 | S $P(AFTER811,"^",1)=$G(PXAA("COMMENT"))
|
---|
| 64 | S $P(AFTER812,"^",3)=$G(PXASOURC)
|
---|
| 65 | SETPXKA ;--SET PXK ARRAY AFTER
|
---|
| 66 | S ^TMP("PXK",$J,"VST",1,0,"AFTER")=AFTER0
|
---|
| 67 | S ^TMP("PXK",$J,"VST",1,21,"AFTER")=AFTER21
|
---|
| 68 | S ^TMP("PXK",$J,"VST",1,150,"AFTER")=AFTER150
|
---|
| 69 | S ^TMP("PXK",$J,"VST",1,800,"AFTER")=AFTER800
|
---|
| 70 | S ^TMP("PXK",$J,"VST",1,811,"AFTER")=AFTER811
|
---|
| 71 | S ^TMP("PXK",$J,"VST",1,812,"AFTER")=AFTER812
|
---|
| 72 | SETVARB ;--SET VARIABLES BEFORE
|
---|
| 73 | I $G(PXAVISIT) D
|
---|
| 74 | .F PIECE=0,21,150,800,811,812 S ^TMP("PXK",$J,"VST",1,PIECE,"BEFORE")=$G(^AUPNVSIT(PXAVISIT,PIECE))
|
---|
| 75 | .I '$D(@PXADATA@("ENCOUNTER")) D
|
---|
| 76 | ..F PIECE=0,21,150,800,811,812 S ^TMP("PXK",$J,"VST",1,PIECE,"AFTER")=$G(^AUPNVSIT(PXAVISIT,PIECE))
|
---|
| 77 | E D
|
---|
| 78 | .S (BEFOR0,BEFOR21,BEFOR150,BEFOR800,BEFOR811)=""
|
---|
| 79 | .;
|
---|
| 80 | SETPXKB .;--SET PXK ARRAY BEFORE
|
---|
| 81 | .S ^TMP("PXK",$J,"VST",1,0,"BEFORE")=BEFOR0
|
---|
| 82 | .S ^TMP("PXK",$J,"VST",1,21,"BEFORE")=BEFOR21
|
---|
| 83 | .S ^TMP("PXK",$J,"VST",1,150,"BEFORE")=BEFOR150
|
---|
| 84 | .S ^TMP("PXK",$J,"VST",1,800,"BEFORE")=BEFOR800
|
---|
| 85 | .S ^TMP("PXK",$J,"VST",1,811,"BEFORE")=BEFOR811
|
---|
| 86 | .S ^TMP("PXK",$J,"VST",1,812,"BEFORE")=BEFOR812
|
---|
| 87 | MISC ;--MISCELLANEOUS NODE
|
---|
| 88 | S ^TMP("PXK",$J,"VST",1,"IEN")=$G(PXAVISIT)
|
---|
| 89 | ;
|
---|
| 90 | CALL ;--CALL
|
---|
| 91 | S PXALOOK=$$LOOKVSIT^PXUTLVST($P(AFTER0,U,5),$P(AFTER0,U),$P(AFTER0,U,22),$P(AFTER0,"^",8),$P(AFTER0,U,6)) I $G(PXALOOK)>0 S PXAVISIT=PXALOOK ;PX/96 - included INSTITUTION - $P(AFTER0,U,6)
|
---|
| 92 | D EN1^PXKMAIN
|
---|
| 93 | I '$G(PXAVISIT) S PXAVISIT=$G(^TMP("PXK",$J,"VST",1,"IEN"))
|
---|
| 94 | Q
|
---|