Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: PXAIVST

PXAIVST.m

Go to the documentation of this file.
  1. PXAIVST ;ISL/JVS,KWP,ESW - GET A VISIT FROM ENCOUNTER NODE ; 11/20/02 4:38pm
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**5,9,15,74,111,96**;Aug 12, 1996
  1. ;
  1. ;
  1. Q
  1. VST ;--CREAT A VISIT
  1. ;
  1. SET ;--SET AND NEW VARIABLES
  1. N AFTER0,AFTER21,AFTER800,AFTER150,BEFOR0,BEFOR21,BEFOR800,BEFOR150
  1. N AFTER811,BEFOR811,BEFOR812
  1. N PXAA,PXAB,SUB,PIECE,STOP
  1. N AFTER8A,AFTER812
  1. ;
  1. S SUB="" F S SUB=$O(@PXADATA@("ENCOUNTER",1,SUB)) Q:SUB="" D
  1. .S PXAA(SUB)=@PXADATA@("ENCOUNTER",1,SUB)
  1. ;
  1. S (AFTER812,BEFOR812)=""
  1. ;
  1. S PXAK=1
  1. S PXAERR(8)=1
  1. S PXAERR(7)="ENCOUNTER"
  1. ;
  1. VAL ;--VALIDATE ENOUGH DATA
  1. I $D(@PXADATA@("ENCOUNTER")) D VAL^PXAIVSTV Q:$G(STOP)
  1. I $G(PXAVISIT) S (PATIENT,PXAA("PATIENT"))=$P(^AUPNVSIT(PXAVISIT,0),"^",5) S PXAA("ENC D/T")=$P(^AUPNVSIT(PXAVISIT,0),"^",1)
  1. ;
  1. SETVARA ;--SET VISIT VARIABLES
  1. S $P(AFTER0,"^",1)=$G(PXAA("ENC D/T"))
  1. ;PX*1*96 - Set TYPE (Piece #3) according to following;
  1. ; 1. If OUTSIDE LOCATION then TYPE is "O"
  1. ; 2. If no OUTSIDE LOCATION but INSTITUTION then TYPE is "V"
  1. ; 3. Else set to value of DUZ("AG")
  1. ;Set TYPE
  1. I $L($G(PXAA("OUTSIDE LOCATION"))) S $P(AFTER0,U,3)="O"
  1. E I $L($G(PXAA("INSTITUTION"))) S $P(AFTER0,U,3)="V"
  1. E S $P(AFTER0,U,3)=$G(DUZ("AG"))
  1. S $P(AFTER0,"^",5)=$G(PXAA("PATIENT"))
  1. S $P(AFTER0,"^",6)=$G(PXAA("INSTITUTION"))
  1. S $P(AFTER0,"^",7)=$G(PXAA("SERVICE CATEGORY"))
  1. S $P(AFTER0,"^",8)="" ;$G(PXAA("DSS ID"))
  1. S $P(AFTER0,"^",12)=$G(PXAA("PARENT"))
  1. S $P(AFTER0,"^",18)=$G(PXAA("CHECKOUT D/T"))
  1. S $P(AFTER0,"^",21)=$G(PXAA("ELIGIBILITY"))
  1. S $P(PXELAP,"^",1)=$G(PXAA("ELIGIBILITY"))
  1. S $P(PXELAP,"^",3)=$G(PXAA("APPT"))
  1. S $P(AFTER0,"^",22)=$G(PXAA("HOS LOC"))
  1. S $P(AFTER800,"^",1)=$G(PXAA("SC"))
  1. S $P(AFTER800,"^",2)=$G(PXAA("AO"))
  1. S $P(AFTER800,"^",3)=$G(PXAA("IR"))
  1. S $P(AFTER800,"^",4)=$G(PXAA("EC"))
  1. S $P(AFTER800,"^",5)=$G(PXAA("MST"))
  1. ;PX*1*111 - Add HNC
  1. S $P(AFTER800,"^",6)=$G(PXAA("HNC"))
  1. ;--VALIDATE SERVICE CONNECTEDNESS
  1. ;
  1. S AFTER8A=AFTER800 D VALSCC^PXAIVSTV
  1. S AFTER800=AFTER8A
  1. ;
  1. S $P(AFTER21,"^",1)=$G(PXAA("OUTSIDE LOCATION")) ;PX/96
  1. S $P(AFTER150,"^",3)=$G(PXAA("ENCOUNTER TYPE"))
  1. S $P(AFTER811,"^",1)=$G(PXAA("COMMENT"))
  1. S $P(AFTER812,"^",3)=$G(PXASOURC)
  1. SETPXKA ;--SET PXK ARRAY AFTER
  1. S ^TMP("PXK",$J,"VST",1,0,"AFTER")=AFTER0
  1. S ^TMP("PXK",$J,"VST",1,21,"AFTER")=AFTER21
  1. S ^TMP("PXK",$J,"VST",1,150,"AFTER")=AFTER150
  1. S ^TMP("PXK",$J,"VST",1,800,"AFTER")=AFTER800
  1. S ^TMP("PXK",$J,"VST",1,811,"AFTER")=AFTER811
  1. S ^TMP("PXK",$J,"VST",1,812,"AFTER")=AFTER812
  1. SETVARB ;--SET VARIABLES BEFORE
  1. I $G(PXAVISIT) D
  1. .F PIECE=0,21,150,800,811,812 S ^TMP("PXK",$J,"VST",1,PIECE,"BEFORE")=$G(^AUPNVSIT(PXAVISIT,PIECE))
  1. .I '$D(@PXADATA@("ENCOUNTER")) D
  1. ..F PIECE=0,21,150,800,811,812 S ^TMP("PXK",$J,"VST",1,PIECE,"AFTER")=$G(^AUPNVSIT(PXAVISIT,PIECE))
  1. E D
  1. .S (BEFOR0,BEFOR21,BEFOR150,BEFOR800,BEFOR811)=""
  1. .;
  1. SETPXKB .;--SET PXK ARRAY BEFORE
  1. .S ^TMP("PXK",$J,"VST",1,0,"BEFORE")=BEFOR0
  1. .S ^TMP("PXK",$J,"VST",1,21,"BEFORE")=BEFOR21
  1. .S ^TMP("PXK",$J,"VST",1,150,"BEFORE")=BEFOR150
  1. .S ^TMP("PXK",$J,"VST",1,800,"BEFORE")=BEFOR800
  1. .S ^TMP("PXK",$J,"VST",1,811,"BEFORE")=BEFOR811
  1. .S ^TMP("PXK",$J,"VST",1,812,"BEFORE")=BEFOR812
  1. MISC ;--MISCELLANEOUS NODE
  1. S ^TMP("PXK",$J,"VST",1,"IEN")=$G(PXAVISIT)
  1. ;
  1. CALL ;--CALL
  1. 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)
  1. D EN1^PXKMAIN
  1. I '$G(PXAVISIT) S PXAVISIT=$G(^TMP("PXK",$J,"VST",1,"IEN"))
  1. Q