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

AMQQMULR.m

Go to the documentation of this file.
  1. AMQQMULR ; IHS/CMI/THL - COLLECTS MULTIPLE VALUES FOR REFUSAL TYPES ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. VAR F I=1:1:19 D
  1. .S X=$P("GR;ID;ST;FIN;LAST;VAL1;SPEC;UATN;MLT;T;NVAR;FVAR;ITR;NNA;STRT;MSS;MPC;MULZ;USQN",";",I)
  1. .S @("AMQQ"_X)=$P(AMQQX,";",I)
  1. I '$D(AMQQAG) S AMQQAG="AG"
  1. S AMQQVAL1=+AMQQVAL1
  1. S AMQQMPC=1
  1. S AMQQMSS=0
  1. S AMQQ=U_AMQQGR_"(""AC"",AMQP(0))"
  1. S AMQQHOLD=0
  1. S AMQT(AMQQT)=0
  1. S AMQQLCNT=0
  1. K ^UTILITY("AMQQ",$J,AMQQAG,AMQQUATN)
  1. I $E(AMQQST)?1P,'$D(AMQQSQVN) D REL^AMQQMULS
  1. I AMQQMULZ S AMQQMUNV=AMQQNVAR,AMQQMUFV=AMQQFVAR,AMQQMULL=AMQQMULZ
  1. I '$D(AMQQSQVN),'$D(@AMQQ) S AMQT(AMQQT)=0 G NULL
  1. I $G(AMQQSPEC)="EXISTS",AMQQSTRT=2,'AMQQST,'AMQQUSQN,AMQQFIN=9999999,AMQQLAST=9999999 S ^UTILITY("AMQQ",$J,AMQQAG,AMQQUATN,1)="+",AMQP(AMQQFVAR)="+",AMQT(AMQQT)=1 G EXIT
  1. RUN S AMQQVNO=0
  1. D INC
  1. SQ I $D(AMQV("SQ")) D ^AMQQMULS
  1. I $D(^UTILITY("AMQQ",$J,AMQQAG,AMQQUATN)),AMQQSPEC="NULL"!(AMQQSPEC="INVERSE") K ^(AMQQUATN) G EXIT
  1. I $D(^UTILITY("AMQQ",$J,AMQQAG,AMQQUATN)) G TRUE
  1. NULL I AMQQSPEC'="NULL",AMQQSPEC'="ANY",AMQQSPEC'="INVERSE"
  1. E S ^UTILITY("AMQQ",$J,AMQQAG,AMQQUATN,1)="-",AMQP(AMQQFVAR)="-",AMQT(AMQQT)=1
  1. G EXIT
  1. TRUE I AMQQSPEC="EXISTS" K ^UTILITY("AMQQ",$J,AMQQAG,AMQQUATN) S ^(AMQQUATN,1)="+",AMQP(AMQQFVAR)="+"
  1. S AMQT(AMQQT)=1
  1. EXIT I AMQQAG="SAG" K ^UTILITY("AMQQ",$J,"SAG",AMQQUATN)
  1. D EXIT3^AMQQKILL
  1. Q
  1. ;
  1. INC S AMQQDA=$G(AMQP(4))
  1. I 'AMQQDA,$G(AMQP(0)) D PAT Q
  1. I 'AMQQDA,'$G(AMQP(0)) D ALL Q
  1. INC1 S %=$G(^AUPNPREF(AMQQDA,0))
  1. N AMQQVALU,AMQQDATE,AMQQREAS
  1. S AMQQVALU=$P(%,U)
  1. S AMQP(0)=$P(%,U,2)
  1. S AMQQDATE=$P(%,U,3)
  1. S AMQQREAS=$P(%,U,4)
  1. S AMQQPT=$P(%,U,6)
  1. D SET
  1. I AMQQLCNT=AMQQLAST D LASTEVAL^AMQQMULT I $D(AMQQQUIT) K AMQQQUIT Q
  1. I AMQQSPEC="EXISTS"!(AMQQSPEC="NULL"),AMQQLCNT,'$D(AMQV("SQ")) S AMQQLCNT=-1 Q
  1. Q
  1. ;
  1. SET I AMQQVALU="" Q
  1. I $D(^UTILITY("AMQQ TAX",$J,AMQQVAL1,AMQQVALU,"REFUSAL")),'$D(^UTILITY("AMQQ TAX",$J,AMQQVAL1,AMQQVALU,"REFUSAL",+AMQQPT)) Q
  1. I '$D(^UTILITY("AMQQ TAX",$J,AMQQVAL1,AMQQVALU)),'$D(^("*")),'$D(^("-")) Q
  1. S1 S AMQQHOLD=AMQQHOLD+1
  1. S AMQQLCNT=AMQQLCNT+1
  1. S ^UTILITY("AMQQ",$J,AMQQAG,AMQQUATN,AMQQHOLD)=AMQQVALU_U_AMQQDATE_U_AMQQREAS_U_AMQQDA
  1. K AMQQOK
  1. Q
  1. ;
  1. ALL ;PROCESS ALL TYPES OF REFUSALS
  1. N REF,REFDA
  1. S REF=""
  1. F S REF=$O(^AUTTREFT("B",REF)) Q:REF="" D
  1. .S REFDA=0
  1. .F S REFDA=$O(^AUTTREFT("B",REF,REFDA)) Q:'REFDA D
  1. ..S AMQQDA=0
  1. ..F S AMQQDA=$O(^AUPNPREF("B",REFDA,AMQQDA)) Q:'AMQQDA D
  1. ...D INC1:'$D(^UTILITY("AMQQ REFUSAL",$J,AMQQDA))
  1. ...S ^UTILITY("AMQQ REFUSAL",$J,AMQQDA)=""
  1. S AMQP(.1)=99999999999
  1. Q
  1. PAT ;PROCESS REFUSALS FOR A PATIENT
  1. N REF,REFDA
  1. S REFDA=0
  1. F S AMQQDA=$O(^AUPNPREF("AC",AMQP(0),AMQQDA)) Q:'AMQQDA D
  1. .D INC1
  1. Q