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

ACHS3PP1.m

Go to the documentation of this file.
  1. ACHS3PP1 ; IHS/ITSC/PMF - COMPILE CHS THIRD PARTY PAYMENT REPORT - INDIVIDUAL PAT ; [ 10/16/2001 8:16 AM ]
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;;JUN 11, 2001
  1. ;
  1. ;
  1. ;TPF ;THIS IS A REWRITE OF ACHSPPA
  1. ;
  1. GETPAT ;
  1. S ACHSFAC=DUZ(2),ACHSPAT=""
  1. F S ACHSPAT=$O(ACHSPAT(ACHSPAT)) Q:ACHSPAT="" D
  1. .I '$D(^ACHSF("AC",ACHSPAT)) S ^TMP("ACHS3PP",$J,ACHSPAT,0)="" Q
  1. .D GETDIEN
  1. K ACHSDOCR,X,Y,Z
  1. ;
  1. D ^ACHS3PP2 ;GO LOOP THRU IND. PAT ^TMP GLOBAL CREATED HERE
  1. Q
  1. ;
  1. GETDIEN ;
  1. S ACHSDIEN=""
  1. F S ACHSDIEN=$O(^ACHSF("AC",ACHSPAT,ACHSFAC,ACHSDIEN)) Q:ACHSDIEN="" D
  1. .I '$D(^TMP("ACHS3PP",$J,ACHSPAT)) S ^TMP("ACHS3PP",$J,ACHSPAT,0)=""
  1. .Q:'$D(^ACHSF(ACHSFAC,"D",ACHSDIEN,0))!'$D(^ACHSF(ACHSFAC,"D",ACHSDIEN,"PA"))
  1. .S ACHSDOCR=$G(^ACHSF(ACHSFAC,"D",ACHSDIEN,0))
  1. .Q:ACHSDOCR=""!($P(ACHSDOCR,U,9)'>0) ;IGNORE 0 TOTAL AMOUNT OBLIGATED
  1. .D GETFY
  1. Q
  1. ;
  1. GETFY ;
  1. S ACHSFY1=$P(ACHSDOCR,U,14)
  1. I ACHSFY1="",'$D(^TMP("ACHS3PP",$J,ACHSPAT)) S ^TMP("ACHS3PP",$J,ACHSPAT,0)=""
  1. Q:ACHSFY1=""
  1. Q:ACHSFY1'=$E(ACHSFY,4)
  1. S ACHSSERV=$P(ACHSDOCR,U,4)
  1. Q:'(ACHSSER=4)&(ACHSSERV'=ACHSSER)
  1. GETIDT ;GET TRANSACTION RECORD INFORMATION
  1. S ACHSIDT=$P(ACHSDOCR,U,2)
  1. S ACHSOBL=$P(ACHSDOCR,U,9)
  1. S ACHSHRN=$P(ACHSDOCR,U,21)
  1. K Z
  1. S ACHSTRAN=0
  1. F S ACHSTRAN=$O(^ACHSF(ACHSFAC,"D",ACHSDIEN,"T",ACHSTRAN)) Q:'ACHSTRAN D
  1. .S X=$G(^ACHSF(ACHSFAC,"D",ACHSDIEN,"T",ACHSTRAN,0)) Q:X=""
  1. .S Y=$P(X,U,2) ;GET TRANSACTION TYPE
  1. .;IGNORE INITIAL AND CANCELLATION TYPES
  1. .I Y'="I",Y'="C" S Z("I")=$G(Z("I"))+$P(X,U,4),Z("3")=$G(Z("3"))+$P(X,U,8)
  1. .Q:'$D(Z) ;QUIT IF NO PAYMENT OR THIRD PARTY PAYMENT AMOUNTS
  1. ;
  1. S:$P($G(^AUTTLOC(ACHSFAC,0)),U,4)'="" ACHSAREA=$P($G(^AUTTLOC(ACHSFAC,0)),U,4)
  1. S ACHSDOC=$P(ACHSDOCR,U,14)_"-"_$P($G(^AUTTAREA(ACHSAREA,0)),U,3)_$E($P($G(^AUTTLOC(ACHSFAC,0)),U,17),2,3)_"-"_$P(ACHSDOCR,U)
  1. S ^TMP("ACHS3PP",$J,ACHSPAT,ACHSDOC)=ACHSIDT_U_ACHSOBL_U_Z("3")_U_Z("I")_U_ACHSSERV_U_ACHSHRN
  1. Q
  1. ;