| 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
|
|---|