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

AGGWVAL1.m

Go to the documentation of this file.
  1. AGGWVAL1 ;VNGT/HS/ALA-Validation continued ; 05 Nov 2010 10:41 AM
  1. ;;1.0;PATIENT REGISTRATION GUI;;Nov 15, 2010
  1. ;
  1. ;
  1. TBQ(X,DFN,IBQ,AGGPTCLB) ;EP - Tribal Blood Quantum
  1. N RTN,CLBEN
  1. ;
  1. ;Skip check if classification/beneficiary is not Indian/Alaskan Native
  1. S CLBEN=$O(^AUTTBEN("B","INDIAN/ALASKA NATIVE","")) ;Get Classification IEN
  1. I AGGPTCLB]"",AGGPTCLB'=CLBEN S RESULT=1,MSG="" Q
  1. ;
  1. D
  1. . I $L(IBQ)>11!($L(IBQ)<1) K IBQ Q
  1. . I "NF"[$E(IBQ) S IBQ=$S($E(IBQ)="F":"FULL",1:"NONE") Q
  1. . I $E(IBQ)'?1N&(($E(IBQ,1,3)'="UNK")&($E(IBQ,1,3)'="UNS")) K IBQ Q
  1. . I $E(IBQ)="U" S IBQ=$S($E(IBQ,3)="K":"UNKNOWN",1:"UNSPECIFIED") Q
  1. . I IBQ'?1.4N1"/"1.5N K IBQ Q
  1. . I $P(IBQ,"/",1)>$P(IBQ,"/",2)!(+$P(IBQ,"/",2)=0) K IBQ Q
  1. . S:$P(IBQ,"/",1)=$P(IBQ,"/",2) IBQ="FULL" Q
  1. D
  1. . I $L(X)>11!($L(X)<1) K X Q
  1. . I "NF"[$E(X) S X=$S($E(X)="F":"FULL",1:"NONE") Q
  1. . I $E(X)'?1N&(($E(X,1,3)'="UNK")&($E(X,1,3)'="UNS")) K X Q
  1. . I $E(X)="U" S X=$S($E(X,3)="K":"UNKNOWN",1:"UNSPECIFIED") Q
  1. . I X'?1.4N1"/"1.5N K X Q
  1. . I $P(X,"/",1)>$P(X,"/",2)!(+$P(X,"/",2)=0) K X Q
  1. . S:$P(X,"/",1)=$P(X,"/",2) X="FULL" Q
  1. ;
  1. S RESULT=1
  1. ;
  1. I $G(X)="" S RESULT=-1,MSG="Entry not valid"
  1. I $G(IBQ)="" S RESULT=-1,MSG="Quantums are Inconsistent"
  1. ;
  1. ;Basic Quantum checks
  1. I RESULT=1,"UNKNOWN,NONE,UNSPECIFIED"[IBQ,"UNKOWN,NONE,UNSPECIFIED"'[X D
  1. . S MSG="Quantums are Inconsistent",RESULT=-1,CODE="AGGPTTRQ"
  1. ;
  1. I RESULT=1,X="FULL",IBQ'="FULL" D
  1. . S MSG="Quantums are Inconsistent",RESULT=-1,CODE="AGGPTTRQ"
  1. ;
  1. ;Check to see if main tribal quantum is greater than blood quantum
  1. I RESULT=1,$P($G(^AGFAC(DUZ(2),0)),U,2)="Y" S RTN=$$QUANT^AGGUL2(IBQ,X,0) I $P(RTN,U)=-1 S MSG="The Tribal Quantum cannot be greater than the Indian Blood Quantum",RESULT=-1
  1. ;
  1. ;Set up fields to revalidate
  1. S REVAL="AGGPTELG;AGGPTCLB;AGGPTTRI;AGGPTBLQ"
  1. Q
  1. ;
  1. FEMP(AGGFTEMN,AGGFTNME,AGGMTEMN,AGGMTNME,DFN) ; EP = Father's Employer check
  1. S RESULT=1
  1. NEW AGE
  1. S AGE=$$AGE^AGGAGE(DFN)
  1. I AGE'<18 Q
  1. I $G(AGGMTNME)="",$G(AGGFTNME)="" Q
  1. ; If father's name exists and father's employer exists, okay
  1. I $$FTH(AGGFTNME,AGGFTEMN) Q
  1. ; if mother's name exists and mother's employer exists, okay
  1. I $$MTH(AGGMTNME,AGGMTEMN) Q
  1. ; if father's name exists
  1. S REVAL="AGGFTEMN;AGGFTNME;AGGMTEMN;AGGMTNME"
  1. I $G(AGGFTNME)'="" D Q
  1. . ; If mother's name does not exist and father's employer does not exist
  1. . I '$$MTH(AGGMTNME,AGGMTEMN),$G(AGGFTEMN)="" S RESULT=-1,MSG="Father's Employer must be entered." Q
  1. ; If neither is true, error
  1. I '$$MTH(AGGMTNME,AGGMTEMN),'$$FTH(AGGFTNME,AGGFTEMN) D
  1. . I $G(AGGFTNME)="",$G(AGGMTNME)'="" Q
  1. . S RESULT=-1,MSG="Mother or Father's Employer must be entered." Q
  1. Q
  1. ;
  1. MEMP(AGGMTEMN,AGGMTNME,AGGFTNME,AGGFTEMN,DFN) ; EP = Mother's Employer check
  1. S RESULT=1
  1. NEW AGE
  1. S AGE=$$AGE^AGGAGE(DFN)
  1. I AGE'<18 Q
  1. I $G(AGGMTNME)="",$G(AGGFTNME)="" Q
  1. ; if mother's name exists and mother's employer exists, okay
  1. I $$MTH(AGGMTNME,AGGMTEMN) Q
  1. ; If father's name exists and father's employer exists, okay
  1. I $$FTH(AGGFTNME,AGGFTEMN) Q
  1. ; if mother's name exists
  1. S REVAL="AGGMTEMN;AGGMTNME;AGGFTNME;AGGFTEMN"
  1. I $G(AGGMTNME)'="" D Q
  1. . I '$$FTH(AGGFTNME,AGGFTEMN),$G(AGGMTEMN)="" S RESULT=-1,MSG="Mother's Employer must be entered." Q
  1. ; If neither is true, error
  1. I '$$MTH(AGGMTNME,AGGMTEMN),'$$FTH(AGGFTNME,AGGFTEMN) D
  1. . I $G(AGGMTNME)="",$G(AGGFTNME)'="" Q
  1. . S RESULT=-1,MSG="Mother or Father's Employer must be entered." Q
  1. Q
  1. ;
  1. FTH(AGGFTNME,AGGFTEMN) ; EP
  1. I $G(AGGFTNME)="",$G(AGGFTEMN)="" Q 0
  1. I $G(AGGFTNME)'="",$G(AGGFTEMN)'="" Q 1
  1. Q 0
  1. ;
  1. MTH(AGGMTNME,AGGMTEMN) ; EP
  1. I $G(AGGMTNME)="",$G(AGGMTEMN)="" Q 0
  1. I $G(AGGMTNME)'="",$G(AGGMTEMN)'="" Q 1
  1. Q 0