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

ACHSFU.m

Go to the documentation of this file.
  1. ACHSFU ; IHS/ITSC/PMF - CHS STANDARD SUB-ROUTINES ; [ 03/25/2003 12:28 PM ]
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;**5**;JUN 11, 2001
  1. ;IHS/SET/GTH ACHS*3.1*5 12/06/2002 - FYCVT no future FY.
  1. ;8/23/00 ... PMF year fix to tag FYCVT
  1. ;
  1. BM ;EP
  1. S ACHSBM=IOSL-10
  1. I '$D(IO("S")),$D(ACHSIO),ACHSIO=IO S ACHSBM=IOSL-4
  1. Q
  1. ;
  1. DIRD ;EP
  1. I X="@" W " DELETED!" S Y=""
  1. Q
  1. ;
  1. FYCVT ;EP
  1. ;8/23/00 ... PMF adjusted to handle future years
  1. I ACHSX>$E(ACHSCFY,4) S ACHSY=((+$E(ACHSCFY,1,3)-1)_"0")+ACHSX Q ;IHS/SET/GTH ACHS*3.1*5 12/06/2002
  1. S ACHSY=($E(ACHSCFY,1,3)_"0")+ACHSX ;IHS/SET/GTH ACHS*3.1*5 12/06/2002
  1. Q ;IHS/SET/GTH ACHS*3.1*5 12/06/2002
  1. ;
  1. ;input:
  1. ;ACHSX - the last digit of the fiscal year we want to use
  1. ;ACHSCFY - the current fiscal year
  1. ;output:
  1. ;ACHSY - the fiscal year to use expressed as 4 digits
  1. S ACHSY=($E(ACHSCFY,1,3)_"0")+ACHSX
  1. ;the fiscal year to use cannot be more than 7 years ago or more
  1. ;than 1 year ahead
  1. I ACHSY+7<ACHSCFY S ACHSY=ACHSY+10
  1. I ACHSCFY+1<ACHSY S ACHSY=ACHSY-10
  1. Q
  1. ;
  1. LINES ;EP
  1. S ACHS("-")=$$REPEAT^XLFSTR("-",79),ACHS("=")=$$REPEAT^XLFSTR("=",79),ACHS("*")=$$REPEAT^XLFSTR("*",79)
  1. Q
  1. ;
  1. PRMT(T,V,L) ;EP - T = TAB; V= VAR; L = LENGTH
  1. S T=$G(T),V=$G(V),L=$G(L)
  1. Q $$REPEAT^XLFSTR(" ",T+1)_$S($L(V):$$REPEAT^XLFSTR(" ",$L(V)+3),1:"")_"|"_$$REPEAT^XLFSTR("-",L)_"|"
  1. ;
  1. READ ;EP
  1. K DTOUT,DUOUT,ACHSQUIT
  1. N ACHSDOIT
  1. S ACHSDOIT="R"_" Y:"_DTIME
  1. X ACHSDOIT
  1. I '$T S (DTOUT,Y)=""
  1. S:Y="/.," DTOUT=""
  1. S:Y="^" (DUOUT,Y)=""
  1. I $D(DTOUT)!$D(DUOUT) S ACHSQUIT=1
  1. Q
  1. ;
  1. KILL ;EP
  1. K ACHSBAL,ACHSBLT,ACHSDCR,ACHSCC,ACHSERR,ACHSPATF,ACHSFML,ACHSACFY,ACHSCFY,ACHSFYWK,ACHSHRN,ACHS,ACHSDES,ACHSREFT,ACHSUCI,ACHSACN,ACHSACO,ACHSTAO
  1. K ACHSARCO,ACHSOPAY,ACHSDEST,ACHSQUIT,ACHSSIG,ACHSSLOC,ACHSX,ACHSY,ACHSTIEN,ACHSACWK,ACHSSVDT,ACHSWKLD,ACHSCT,DRENT,ACHSLCA,LS,ZTSK
  1. K DA,ACHSRR,ACHSPAMT,ACHSF638,DFN,X1,ACHSXY,X,X2,ACHSGCHK,ACHSFYDT
  1. K ACHSRT,ACHSI,ACHSJ,ACHSCTNA,ACHSAGRN
  1. K ^ACHSUSE($J)
  1. D ^ACHSKILL
  1. Q
  1. ;
  1. SB1 ;EP
  1. W !!?10,"The Following are Valid Fiscal Years",!
  1. F ACHS=0:0 S ACHS=$O(ACHSFYWK(DUZ(2),ACHS)) Q:'ACHS W !?20,ACHS
  1. Q
  1. ;
  1. SLV ;EP
  1. ;SET OPEN AND CLOSE FOR SLAVE DEVICE
  1. K ACHSPPO,ACHSPPC
  1. S ACHSPPO=$P(^%ZIS(2,IO("S"),10),U) ;OPEN PARM
  1. S ACHSPPC=$P(^%ZIS(2,IO("S"),11),U) ;CLOSE PARM
  1. I ('$L(ACHSPPO))!('$L(ACHSPPC)) K ACHSPPO,ACHSPPC Q
  1. X ACHSPPC
  1. Q
  1. ;
  1. ;CHECK TO SEE IF OBLIGATION LIMIT IS EXCEEDED FOR THIS TYPE DOC.
  1. OBLM ;EP
  1. K DUOUT
  1. ;
  1. ;we are testing the amount of the supplement or the adjustment.
  1. ;figure out which one.
  1. N AMT
  1. S AMT=$G(ACHSADAM)
  1. I AMT="" S AMT=$G(ACHSPDAT)
  1. ;
  1. ;9/11/01 pmf add next line to get the right number during EOBR
  1. ; processing
  1. I $D(ACHSISAO) S AMT=Y
  1. I AMT="" Q
  1. ;
  1. I '$D(^ACHSF(DUZ(2),"N",ACHSTYP,0)) Q
  1. ;
  1. ;NO OBLIG. LIMITS ;PER MARIA WE DON'T CARE ABOUT THIS LIMIT IT
  1. ;SHOULD POST REGARDLESS- SEE E-MAIL 10/2/00 /fiscal/financial
  1. ;issues/adjustments to paid documents
  1. ;
  1. N X
  1. S X=$P($G(^ACHSF(DUZ(2),"N",ACHSTYP,0)),U,3)
  1. ;
  1. I AMT>X D
  1. . I $D(ACHSISAO) S ACHSERRE=34 Q
  1. . W !!,*7,"The OBLIGATION LIMIT for this type of document is "
  1. . D FMT^ACHS
  1. . W ".",!!,"Enter a lesser amount of money or exit the document.",!!
  1. . W:0 "" ;IHS/SET/GTH ACHS*3.1*5 12/06/2002
  1. .S DUOUT=""
  1. ;
  1. Q
  1. ;
  1. BRPT ;EP
  1. I $D(ACHSQIO) S:$L($P(ACHSQIO,U,2)) %ZIS("IOPAR")=$P(ACHSQIO,U,2),ACHSQIO=$P(ACHSQIO,U,1) F S IOP=ACHSQIO D ^%ZIS Q:'POP H 30
  1. D BM,LINES,NOW^ACHS
  1. S ACHSTIME=$$C^XBFUNC(ACHSTIME,80),ACHSLOC=$$C^XBFUNC($$LOC^ACHS,80),ACHSPG=0,ACHSUSR=$$USR^ACHS
  1. U IO
  1. Q
  1. ;
  1. ;Begin New Code;IHS/SET/GTH ACHS*3.1*5 12/06/2002
  1. 638() ;EP - 638 menu control.
  1. I $P(^ACHSF(DUZ(2),0),U,8)="Y" Q 1
  1. S XQUIT=""
  1. W !,"FACILITY IS NOT 638 FACILITY",!
  1. Q 0
  1. ;
  1. ;End New Code;IHS/SET/GTH ACHS*3.1*5 12/06/2002