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

PXAIVSTV.m

Go to the documentation of this file.
  1. PXAIVSTV ;ISL/JVS,ISA/KWP - VALIDATE THE VISIT DATA ;04/28/99
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**9,15,19,74,111**;Aug 12, 1996
  1. ;
  1. ;
  1. Q
  1. VALSCC ;--VALIDATE SERVICE CONNECTIVENESS
  1. N ERR,ERR1
  1. D SCC^PXUTLSCC($G(PXAA("PATIENT")),$G(PXAA("ENC D/T")),$G(PXAA("HOS LOC")),$G(PXAVISIT),$G(AFTER800),.AFTER8A,.ERR)
  1. ;PX*1*111 - Add HNC
  1. I $P(ERR,"^",1)=0,$P(ERR,"^",2)=0,$P(ERR,"^",3)=0,$P(ERR,"^",4)=0,$P(ERR,"^",5)=0,$P(ERR,"^",6)=0 Q
  1. S PXADI("DIALOG")=8390001.003
  1. S PXAERRF=1
  1. S PXAERR("1W")=$S($P(AFTER800,"^",1)']"":"NULL",1:$P(AFTER800,"^",1))
  1. S PXAERR("2W")=$S($P(AFTER800,"^",2)']"":"NULL",1:$P(AFTER800,"^",2))
  1. S PXAERR("3W")=$S($P(AFTER800,"^",3)']"":"NULL",1:$P(AFTER800,"^",3))
  1. S PXAERR("4W")=$S($P(AFTER800,"^",4)']"":"NULL",1:$P(AFTER800,"^",4))
  1. S PXAERR("5W")=$S($P(AFTER800,"^",5)']"":"NULL",1:$P(AFTER800,"^",5))
  1. ;PX*1*111 - Add HNC
  1. S PXAERR("16W")=$S($P(AFTER800,"^",6)']"":"NULL",1:$P(AFTER800,"^",6))
  1. S ERR1=$P(ERR,"^",1),PXAERR("6W")=$S(ERR1=1:"Should be a YES or NO!, not NULL",ERR1=0:"No error",ERR1=-1:"Not a valid value",ERR1=-2:"Value must be NULL",ERR1=-3:"Must be NULL because Service Connected is yes",1:"")
  1. S ERR1=$P(ERR,"^",2),PXAERR("7W")=$S(ERR1=1:"Should be a YES or NO!, not NULL",ERR1=0:"No error",ERR1=-1:"Not a valid value",ERR1=-2:"Value must be NULL",ERR1=-3:"Must be NULL because Service Connected is yes",1:"")
  1. S ERR1=$P(ERR,"^",3),PXAERR("8W")=$S(ERR1=1:"Should be a YES or NO!, not NULL",ERR1=0:"No error",ERR1=-1:"Not a valid value",ERR1=-2:"Value must be NULL",ERR1=-3:"Must be NULL because Service Connected is yes",1:"")
  1. S ERR1=$P(ERR,"^",4),PXAERR("9W")=$S(ERR1=1:"Should be a YES or NO!, not NULL",ERR1=0:"No error",ERR1=-1:"Not a valid value",ERR1=-2:"Value must be NULL",ERR1=-3:"Must be NULL because Service Connected is yes",1:"")
  1. S ERR1=$P(ERR,"^",5),PXAERR("10W")=$S(ERR1=1:"Should be a YES or NO!, not NULL",ERR1=0:"No error",ERR1=-1:"Not a valid value",ERR1=-2:"Value must be NULL",ERR1=-3:"Must be NULL because Service Connected is yes",1:"")
  1. ;PX*1*111 - Add HNC
  1. S ERR1=$P(ERR,"^",6),PXAERR("17W")=$S(ERR1=1:"Should be a YES or NO!, not NULL",ERR1=0:"No error",ERR1=-1:"Not a valid value",ERR1=-2:"Value must be NULL",ERR1=-3:"Must be NULL because Service Connected is yes",1:"")
  1. S PXAERR("11W")=$S($P(AFTER8A,"^",1)']"":"NULL",1:$P(AFTER8A,"^",1))
  1. S PXAERR("12W")=$S($P(AFTER8A,"^",2)']"":"NULL",1:$P(AFTER8A,"^",2))
  1. S PXAERR("13W")=$S($P(AFTER8A,"^",3)']"":"NULL",1:$P(AFTER8A,"^",3))
  1. S PXAERR("14W")=$S($P(AFTER8A,"^",4)']"":"NULL",1:$P(AFTER8A,"^",4))
  1. S PXAERR("15W")=$S($P(AFTER8A,"^",5)']"":"NULL",1:$P(AFTER8A,"^",5))
  1. ;PX*1*111 - Add HNC
  1. S PXAERR("18W")=$S($P(AFTER8A,"^",6)']"":"NULL",1:$P(AFTER8A,"^",6))
  1. D ERR^PXAI K PXAERRF
  1. Q
  1. ;
  1. VAL ;--VALIDATE ENOUGH DATA
  1. ;
  1. ;---Is the visit sent TO US valid?
  1. I $G(PXAVISIT) D Q:$D(STOP)
  1. .I '$D(^AUPNVSIT(PXAVISIT,0)) D Q:$G(STOP)
  1. ..S STOP=1
  1. ..S PXAERRF=1
  1. ..S PXADI("DIALOG")=8390001.001
  1. ..S PXAERR(11)=$G(PXAVISIT)
  1. ..S PXAERR(12)="The value that was sent to us is not a valid visit in the VISIT file # 9000010. The Patients name will be derived from the visit file and could cause the data to be given to the wrong patient if not correct."
  1. ..S PXAERR(13)="If the correct VISIT isn't known, set the 'ENCOUNTER' array and we will look it up or create a correct one. Setting both at the same time will only add confusion as to what data is correct."
  1. Q:$G(PXAVISIT)
  1. ;
  1. ;----Missing a date and time of visit
  1. I $G(PXAA("ENC D/T"))']"" D Q:$G(STOP)
  1. .S STOP=1 ;--USED TO STOP DO LOOP
  1. .S PXAERRF=1 ;--FLAG INDICATES THERE IS AN ERR
  1. .S PXADI("DIALOG")=8390001.001
  1. .S PXAERR(9)="ENC D/T"
  1. .S PXAERR(11)=$G(PXAA("ENC D/T"))
  1. .S PXAERR(12)="You are missing the date and time of the visit in FileManager internal format."
  1. ;
  1. ;----Missing Time and not Historical Visit
  1. I $L($G(PXAA("ENC D/T")),".")=1,$G(PXAA("SERVICE CATEGORY"))'="E" D
  1. .S STOP=1 ;--USED TO STOP DO LOOP
  1. .S PXAERRF=1 ;--FLAG INDICATES THERE IS AN ERR
  1. .S PXADI("DIALOG")=8390001.001
  1. .S PXAERR(9)="ENC D/T"
  1. .S PXAERR(11)=$G(PXAA("ENC D/T"))
  1. .S PXAERR(12)="You are missing the TIME of the visit in FileManager internal format. Unless this is an HISTORICAL encounter, you must have the time."
  1. ;
  1. ;
  1. ;
  1. ;----MISSING a pointer to PATIENT/IHS FILE # 9000001
  1. I $G(PXAA("PATIENT"))']"" D Q:$G(STOP)
  1. .S STOP=1
  1. .S PXAERRF=1
  1. .S PXADI("DIALOG")=8390001.001
  1. .S PXAERR(9)="PATIENT"
  1. .S PXAERR(11)=$G(PXAA("PATIENT"))
  1. .S PXAERR(12)="Missing a pointer to the PATIENT/IHS file #9000001"
  1. ;
  1. ;
  1. ;----Not a pointer to the PATIENT/IHS file #9000001
  1. I '$D(^AUPNPAT($G(PXAA("PATIENT")),0)) D Q:$G(STOP)
  1. .S STOP=1
  1. .S PXAERRF=1
  1. .S PXADI("DIALOG")=8390001.001
  1. .S PXAERR(9)="PATIENT"
  1. .S PXAERR(11)=$G(PXAA("PATIENT"))
  1. .S PXAERR(12)="This value is not a pointer to file PATIENT/IHS file # 9000001"
  1. ;
  1. ;---Missing required information
  1. I $G(PXAA("OUTSIDE LOC"))']"",$G(PXAA("HOS LOC"))']"",$G(PXAA("SERVICE CATEGORY"))'="E" D Q:$G(STOP)
  1. .S STOP=1
  1. .S PXAERRF=1
  1. .S PXADI("DIALOG")=8390001.001
  1. .S PXAERR(9)="HOS LOC or OUTSIDE LOC"
  1. .S PXAERR(11)="BOTH ENTRIES ARE NULL AND SERVICE CATEGORY IS NOT ""E"""
  1. .S PXAERR(12)="The HOSPITAL LOCATION (pointer to the HOSPITAL LOCATION file #44 ) needs to be sent in order to create a visit."
  1. ;
  1. ;---not a pointer to hospital location file
  1. I $D(PXAA("HOS LOC")) D Q:$G(STOP)
  1. .I '$D(^SC($G(PXAA("HOS LOC")),0)) D Q:$G(STOP)
  1. ..S STOP=1
  1. ..S PXAERRF=1
  1. ..S PXADI("DIALOG")=8390001.001
  1. ..S PXAERR(9)="HOS LOC"
  1. ..S PXAERR(11)=$G(PXAA("HOS LOC"))
  1. ..S PXAERR(12)="This HOSPITAL LOCATION is not a pointer to the HOSPITAL LOCATION file #44"
  1. ;---hospital location is the dispositioning location
  1. I $D(PXAA("HOS LOC")) D Q:$G(STOP)
  1. .I $D(^PX(815,1,"DHL","B",$G(PXAA("HOS LOC")))) D Q:$G(STOP)
  1. ..S STOP=1
  1. ..S PXAERRF=1
  1. ..S PXADI("DIALOG")=8390001.001
  1. ..S PXAERR(9)="HOS LOC"
  1. ..S PXAERR(11)=$G(PXAA("HOS LOC"))
  1. ..S PXAERR(12)="This HOSPITAL LOCATION is a dispositioning location and connot be used. Refer to entries in file#815 PCE PARAMETERS"
  1. ;--Not a service category
  1. I '$D(PXAA("SERVICE CATEGORY")) D Q:$G(STOP)
  1. .S STOP=1
  1. .S PXAERRF=1
  1. .S PXADI("DIALOG")=8390001.001
  1. .S PXAERR(9)="SERVICE CATEGORY"
  1. .S PXAERR(11)=$G(PXAA("SERVICE CATEGORY"))
  1. .S PXAERR(12)="SERVICE CATEGORY is a required field"
  1. Q
  1. ;
  1. VPTR ;---Is the visit sent TO US valid?
  1. I $G(PXAVISIT) D Q:$D(STOP)
  1. .I '$D(^AUPNVSIT(PXAVISIT,0)) D Q:$G(STOP)
  1. ..S STOP=1
  1. ..S PXAK=1
  1. ..S PXAERRF=1
  1. ..S PXADI("DIALOG")=8390001.001
  1. ..S PXAERR(7)="ENCOUNTER"
  1. ..S PXAERR(9)="GENERAL NATURE"
  1. ..S PXAERR(11)=$G(PXAVISIT)
  1. ..S PXAERR(12)="The value that was sent to us is not a valid visit in the VISIT file # 9000010. The Patients name will be derived from the visit file and could cause the data to be given to the wrong patient if not correct."
  1. ..S PXAERR(13)="If the correct VISIT isn't known, set the 'ENCOUNTER' array and we will look it up or create a correct one. Setting both at the same time will only add confusion as to what data is correct."
  1. Q:$G(PXAVISIT)
  1. Q