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

ACHSC6C.m

Go to the documentation of this file.
  1. ACHSC6C ; IHS/ITSC/PMF - CALCULATE EXPENDITURE REPORT BY PATIENT/COMMUNITY ; [ 10/16/2001 8:16 AM ]
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;;JUN 11, 2001
  1. ;
  1. ST ;
  1. D NOW^ACHS
  1. K ^TMP("ACHSC6",$J)
  1. Z ;
  1. S ACHSTRDT=ACHSBDT-1,(ACHST64,ACHST43,ACHST57)=0
  1. Z1 ;
  1. S ACHSTRDT=$O(^ACHSF(DUZ(2),"TB",ACHSTRDT))
  1. G ^ACHSC6P:ACHSTRDT<1!(ACHSTRDT>ACHSEDT),Z1:'$D(^ACHSF(DUZ(2),"TB",ACHSTRDT,"I"))
  1. S DOC=0
  1. Z2 ;
  1. S DOC=$O(^ACHSF(DUZ(2),"TB",ACHSTRDT,"I",DOC))
  1. G Z1:DOC<1,Z2:'$D(^ACHSF(DUZ(2),"D",DOC,0))
  1. S X=$G(^ACHSF(DUZ(2),"D",DOC,0))
  1. S ACHSTY=$P(X,U,4)
  1. I ACHSRPT1<4,ACHSTY'=ACHSRPT1 G Z2
  1. S DFN=$P(X,U,22)
  1. G Z2:DFN<1,Z2:'$D(^DPT(DFN,0))
  1. S (ACHSTAO,ACHSP3B)=0
  1. I $G(^ACHSF(DUZ(2),"D",DOC,"PA"))>0 D
  1. .S ACHSTAO=+^ACHSF(DUZ(2),"D",DOC,"PA") S ACHS=0 F S ACHS=$O(^ACHSF(DUZ(2),"D",DOC,"T",ACHS)) Q:+ACHS=0 S ACHSP3B=ACHSP3B+$P($G(^ACHSF(DUZ(2),"D",DOC,"T",ACHS,0)),U,8)
  1. I ACHSTAO<1 S ACHSTAO=$P(X,U,9) G Z2:+ACHSTAO=0
  1. S ACHSTOS=$S(ACHSTY=1:43,ACHSTY=2:57,ACHSTY=3:64,1:"")
  1. S:ACHSTOS=64 ACHST64=ACHST64+ACHSTAO
  1. S:ACHSTOS=43 ACHST43=ACHST43+ACHSTAO
  1. S:ACHSTOS=57 ACHST57=ACHST57+ACHSTAO
  1. S ACHSESDA=$S($D(^ACHSF(DUZ(2),"D",DOC,1)):+$G(^ACHSF(DUZ(2),"D",DOC,1)),1:0),ACHSNAME=$P($G(^DPT(DFN,0)),U)
  1. COMM ; Community Of Residence.
  1. F ACHSCOMM=0:0 Q:'$O(^AUPNPAT(DFN,51,ACHSCOMM)) S ACHSCOMM=$O(^AUPNPAT(DFN,51,ACHSCOMM))
  1. S ACHSCOMM=$S(ACHSCOMM:$P($G(^AUPNPAT(DFN,51,ACHSCOMM,0)),U,3),1:"")
  1. S ACHSCOMN=""
  1. I ACHSCOMM,($D(^AUTTCOM(ACHSCOMM,0))#2) S ACHSCOMN=$P($G(^AUTTCOM(ACHSCOMM,0)),U)
  1. I ACHSCOMN="",($D(^AUPNPAT(DFN,11))#2) S ACHSCOMN=$P($G(^AUPNPAT(DFN,11)),U,18)
  1. S:ACHSCOMN="" ACHSCOMN="UNKNOWN"
  1. I ACHSRPT=2 S ACHSNAME=ACHSCOMN
  1. I ACHSRPT=5 S ACHSNAME=$P($G(^AUPNPAT(DFN,11)),U,8),ACHSNAME=$S(ACHSNAME:$P($G(^AUTTTRI(ACHSNAME,0)),U),1:"UNKNOWN")
  1. SET ; Set Work File.
  1. I '$D(^TMP("ACHSC6",$J,"P",ACHSNAME,ACHSTOS)) S ^TMP("ACHSC6",$J,"P",ACHSNAME,ACHSTOS)=DFN_U_ACHSCOMN_U_1_U_ACHSESDA_U_ACHSTAO_U_ACHSP3B G Z2
  1. S A=$P($G(^TMP("ACHSC6",$J,"P",ACHSNAME,ACHSTOS)),U,3)+1
  1. S B=$P($G(^TMP("ACHSC6",$J,"P",ACHSNAME,ACHSTOS)),U,4)+ACHSESDA
  1. S C=$P($G(^TMP("ACHSC6",$J,"P",ACHSNAME,ACHSTOS)),U,5)+ACHSTAO
  1. S D=$P($G(^TMP("ACHSC6",$J,"P",ACHSNAME,ACHSTOS)),U,6)+$S(ACHSTOS=57:ACHSTAO,1:0)
  1. S ^TMP("ACHSC6",$J,"P",ACHSNAME,ACHSTOS)=DFN_U_ACHSCOMN_U_A_U_B_U_C_U_D
  1. ;
  1. G Z2
  1. ;