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

PXAIXAMV.m

Go to the documentation of this file.
  1. PXAIXAMV ;SLC/PKR - VALIDATE EXAMINATION 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("XAM")=1
  1. S PXADI("DIALOG")=8390001.001
  1. S PXAERR(7)="EXAM"
  1. Q
  1. ;
  1. VAL ;Validate the input data.
  1. I $G(PXAA("EXAM"))="" D Q
  1. . S PXAERR(9)="EXAM"
  1. . S PXAERR(12)="The Exam is missing."
  1. . D ERRSET
  1. ;
  1. ;If this is a deletion no further verification is required.
  1. I $G(PXAA("DELETE"))=1 Q
  1. ;
  1. ;Check that it is a valid pointer.
  1. I '$D(^AUTTEXAM(PXAA("EXAM"))) D Q
  1. . S PXAERR(9)="EXAM"
  1. . S PXAERR(11)=PXAA("EXAM")
  1. . S PXAERR(12)="The Exam pointer is not valid."
  1. . D ERRSET
  1. ;
  1. N TEMP S TEMP=$G(^AUTTEXAM(PXAA("EXAM"),0))
  1. ;Check that the .01 is not null.
  1. I $P(TEMP,U,1)="" D Q
  1. . S PXAERR(9)="EXAM"
  1. . S PXAERR(11)=PXAA("EXAM")
  1. . S PXAERR(12)="The Exam does not have a .01."
  1. . D ERRSET
  1. ;
  1. ;Check that it is active.
  1. ;* I $P(TEMP,U,4)=1 D
  1. ;* . S PXAERR(9)="INACTIVE"
  1. ;* . S PXAERR(11)=PXAA("EXAM")
  1. ;* . S PXAERR(12)="The Exam is inactive."
  1. ;* . D ERRSET
  1. ;
  1. ;If a Result is being input validate it.
  1. ;* I $G(PXAA("RESULT"))'="",'$$SET^PXAIVAL(9000010.13,"RESULT",.04,PXAA("RESULT"),.PXAERR) D Q
  1. ;* . D ERRSET
  1. ;
  1. ;If Event D/T is input verify it is a valid FileMan date and not in
  1. ;the future.
  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(^AUTTEXAM(PXAA("EXAM"),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. Q
  1. ;