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

PXAIHFV.m

Go to the documentation of this file.
  1. PXAIHFV ;ISL/PKR - VALIDATE HEALTH FACTOR DATA ;03/08/2022
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**211,217**;Aug 12, 1996;Build 134
  1. ;
  1. ERRSET ;Set the rest of the error data.
  1. S STOP=1
  1. S PXAERRF("HF")=1
  1. S PXADI("DIALOG")=8390001.001
  1. S PXAERR(7)="HEALTH FACTOR"
  1. Q
  1. ;
  1. VAL ;Validate the input.
  1. I $G(PXAA("HEALTH FACTOR"))="" D Q
  1. . S PXAERR(9)="HEALTH FACTOR"
  1. . S PXAERR(12)="The Health Factor is missing."
  1. . D ERRSET
  1. ;
  1. ;Check that it is a valid pointer.
  1. I '$D(^AUTTHF(PXAA("HEALTH FACTOR"))) D Q
  1. . S PXAERR(9)="HEALTH FACTOR"
  1. . S PXAERR(11)=PXAA("HEALTH FACTOR")
  1. . S PXAERR(12)="The Health Factor pointer is not valid."
  1. . D ERRSET
  1. ;
  1. ;If this is a deletion no further verification is required.
  1. I $G(PXAA("DELETE"))=1 Q
  1. ;
  1. N TEMP S TEMP=$G(^AUTTHF(PXAA("HEALTH FACTOR"),0))
  1. ;Check that the .01 is not null.
  1. I $P(TEMP,U,1)="" D Q
  1. . S PXAERR(9)="HEALTH FACTOR"
  1. . S PXAERR(11)=PXAA("HEALTH FACTOR")
  1. . S PXAERR(12)="The Health Factor does not have a .01."
  1. . D ERRSET
  1. ;
  1. ;Check that it is active.
  1. I $P(TEMP,U,11)=1 D
  1. . S PXAERR(9)="INACTIVE"
  1. . S PXAERR(11)=PXAA("HEALTH FACTOR")
  1. . S PXAERR(12)="The Health Factor is inactive."
  1. . D ERRSET
  1. ;
  1. ;Make sure the Entry Type is not Category.
  1. ;*I $P(TEMP,U,10)="C" D Q
  1. ;*. S PXAERR(9)="CATEGORY"
  1. ;*. S PXAERR(11)=PXAA("HEALTH FACTOR")
  1. ;*. S PXAERR(12)="The Entry Type is Category, patients cannot be given Category health factors."
  1. ;*. D ERRSET
  1. ;
  1. ;If a Level/Severity is being input validate it.
  1. ;* I $G(PXAA("LEVEL/SEVERITY"))'="",'$$SET^PXAIVAL(9000010.23,"LEVEL/SEVERITY",.04,PXAA("LEVEL/SEVERITY"),.PXAERR) D Q
  1. ;* . D ERRSET
  1. ;
  1. ;If Event D/T is input verify it is a valid FileMan date .
  1. ;* I $G(PXAA("EVENT D/T"))'="",'$$EVENTDT^PXAIVAL(PXAA("EVENT D/T"),"T",.PXAERR) D Q
  1. ;* . D ERRSET
  1. ;
  1. ;If a Comment is passed verify it.
  1. ;* I $G(PXAA("COMMENT"))'="",'$$TEXT^PXAIVAL("COMMENT",PXAA("COMMENT"),1,245,.PXAERR) D Q
  1. ;* . D ERRSET
  1. ;
  1. ;If an Ordering Provider is passed verify it is valid.
  1. ;* I $G(PXAA("ORD PROVIDER"))'="",'$$PRV^PXAIVAL(PXAA("ORD PROVIDER"),"ORD",.PXAA,.PXAERR,PXAVISIT) D Q
  1. ;* . D ERRSET
  1. ;
  1. ;If an Encounter Provider is passed verify it is valid.
  1. ;* I $G(PXAA("ENC PROVIDER"))'="",'$$PRV^PXAIVAL(PXAA("ENC PROVIDER"),"ENC",.PXAA,.PXAERR,PXAVISIT) D Q
  1. ;* . D ERRSET
  1. ;
  1. ;If a measurement is being input verify that it is in the allowed
  1. ;range.
  1. I $D(PXAA("MAGNITUDE")) D
  1. . I '$$MAG^PXAIVAL(PXAA("MAGNITUDE"),$G(^AUTTHF(PXAA("HEALTH FACTOR"),220)),.PXAERR) D ERRSET Q
  1. . S PXAA("MAGNITUDE")=$$MAGFORMAT^PXMEASUREMENT(PXAA("MAGNITUDE"))
  1. ;
  1. ;If PKG is input verify it.
  1. ;* I $G(PXAA("PKG"))'="" D
  1. ;* . N PKG
  1. ;* . S PKG=$$VPKG^PXAIVAL(PXAA("PKG"),.PXAERR)
  1. ;* . I PKG=0 S PXAERR(9)="PKG" D ERRSET Q
  1. ;* . S PXAA("PKG")=PKG
  1. ;* I $G(STOP)=1 Q
  1. ;
  1. ;If SOURCE is input verify it.
  1. ;* I $G(PXAA("SOURCE"))'="" D
  1. ;* . N SRC
  1. ;* . S SRC=$$VSOURCE^PXAIVAL(PXAA("SOURCE"),.PXAERR)
  1. ;* . I SRC=0 S PXAERR(9)="SOURCE" D ERRSET Q
  1. ;* . S PXAA("SOURCE")=SRC
  1. ;* I $G(STOP)=1 Q
  1. Q
  1. ;