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

AGGFTVAL.m

Go to the documentation of this file.
  1. AGGFTVAL ;VNGT/HS/BEE-AGG Family/Tribal/NOK RPC Calls ; 07 Apr 2010 7:05 PM
  1. ;;1.0;PATIENT REGISTRATION GUI;;Nov 15, 2010
  1. ;
  1. QNT(DATA,TTRI,TTRQ,AGGPTTRI,AGGPTTRQ,AGGPTBLQ,AGGPTCLB,OTHTRIB) ;EP -- AGG QUANTUM VALIDATION
  1. ;
  1. ;Input
  1. ; TTRI - New Other Tribe Tribe
  1. ; TTRQ - New Other Tribe Quantum
  1. ; AGGPTTRI - Tribe of Membership
  1. ; AGGPTTRQ - Tribe of Membership Blood Quantum
  1. ; AGGPTBLQ - Indian Blood Quantum
  1. ; AGGPTCLB - Classification/Beneficiary
  1. ; OTHTRIB - Other Tribe Multiple Field Information
  1. ;
  1. NEW UID,II,LIST,BN,BQ,RESULT,OTHTOT,CLBEN
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("AGGFTVAL",UID))
  1. K @DATA
  1. S II=0,MSG=""
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^AGGFTVAL D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S @DATA@(II)="I00010RESULT^T00100ERROR"_$C(30)
  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 G DONE
  1. ;
  1. ;Skip check if we are not recording tribal quantums
  1. I $P($G(^AGFAC(DUZ(2),0)),U,2)'="Y" G DONE
  1. ;
  1. ; Get list of current Other Tribe entries
  1. S OTHTRIB=$G(OTHTRIB,"")
  1. I OTHTRIB="" D
  1. . S LIST="",BN=""
  1. . F S BN=$O(OTHTRIB(BN)) Q:BN="" S LIST=LIST_OTHTRIB(BN)
  1. . K OTHTRIB
  1. . S OTHTRIB=LIST
  1. . K LIST
  1. ;
  1. ;Parse Parameters to get total Other Tribe Quantum (excluding new value)
  1. S OTHTOT=0
  1. F BQ=1:1:$L(OTHTRIB,$C(28)) D
  1. . N PDATA,NAME,VALUE,BP,BV
  1. . S PDATA=$P(OTHTRIB,$C(28),BQ) Q:PDATA=""
  1. . S NAME=$P(PDATA,"=",1) Q:NAME'="AGGOTTRQ"
  1. . S VALUE=$P(PDATA,"=",2,99) Q:VALUE=""
  1. . F BP=1:1:$L(VALUE,$C(29)) S BV=$P(VALUE,$C(29),BP) D
  1. .. I BV="FULL"!(BV="F") S BV=1
  1. .. I BV="NONE"!(BV="UNKNOWN")!(BV="UNSPECIFIED") S BV=0
  1. .. I BV["/" D
  1. ... N BV1,BV2
  1. ... S BV1=$P(BV,"/")
  1. ... S BV2=$P(BV,"/",2) I +BV2=0 S BV=0 Q
  1. ... S BV=BV1/BV2
  1. .. S OTHTOT=OTHTOT+(BV)
  1. ;
  1. ;Add in new Other Tribe Quantum
  1. I TTRQ="FULL"!(TTRQ="F") S TTRQ=1
  1. I TTRQ="NONE"!(TTRQ="UNKNOWN")!(TTRQ="UNSPECIFIED") S TTRQ=0
  1. I TTRQ["/" D
  1. . N T1,T2
  1. . S T1=$P(TTRQ,"/")
  1. . S T2=$P(TTRQ,"/",2) I +T2=0 S TTRQ=0 Q
  1. . S TTRQ=T1/T2
  1. S OTHTOT=OTHTOT+TTRQ
  1. ;
  1. ;Perform Quantum checks
  1. S RESULT=$$QUANT^AGGUL2(AGGPTBLQ,AGGPTTRQ,OTHTOT)
  1. ;
  1. S II=II+1,@DATA@(II)=RESULT_$C(30)
  1. ;
  1. DONE ;
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. ERR ;
  1. D ^%ZTER
  1. NEW Y,ERRDTM
  1. S Y=$$NOW^XLFDT() X ^DD("DD") S ERRDTM=Y
  1. S BMXSEC="Recording that an error occurred at "_ERRDTM
  1. I $D(II),$D(DATA) S II=II+1,@DATA@(II)=$C(31)
  1. Q