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

AGELUPNM.m

Go to the documentation of this file.
  1. AGELUPNM ;IHS/SET/GTH - INITIAL PROCESS OF NM MEDICAID FILE ;
  1. ;;7.1;PATIENT REGISTRATION;**2**;JAN 31, 2007
  1. ;
  1. ;This is the start point, that's called from option
  1. ;AG TM ELI UPLOAD, on the Eligibility menu (AG TM ELIGIBILITY).
  1. ;
  1. TXT ;
  1. ;;This process takes the State of New Mexico's data file for Medicaid
  1. ;;and reformats it into single eligibility records for distribution
  1. ;;to specific sites in the State.
  1. ;;
  1. ;;This process only exists at Albuquerque. For now....
  1. ;;
  1. ;;This processing is specific to the format of Medicaid data provided
  1. ;;by the State of New Mexico.
  1. ;;###
  1. ;
  1. START ;start
  1. NEW AG,AGFILE,AGPATH,AGCNT,DIR
  1. KILL ^TMP($J,"AGELUPNM")
  1. D HELP^XBHELP("TXT","AGELUPNM")
  1. Q:'$$DIR^XBDIR("E")
  1. D OPEN
  1. Q:$D(DIRUT)
  1. ;I POP W !,"Could not open host file",! Q
  1. I POP W !,"Could not open host file",! H 3 Q ;AG*7.1*2
  1. D CLOSE^%ZISH("AGNMFILE")
  1. D READIN,WRITEOUT
  1. KILL ^TMP($J,"AGELUPNM")
  1. U IO(0)
  1. W !!,"D O N E",!!
  1. I $$DIR^XBDIR("E","Press RETURN")
  1. Q
  1. OPEN ;open host file
  1. NEW AGLIST
  1. KILL AGFILE,DIR
  1. S AGPATH=$P($G(^AGFAC(DUZ(2),2)),U,2)
  1. I AGPATH="" S AGPATH=$S($P(^%ZOSF("OS"),U,1)["UNIX":"/usr/spool/uucppublic/",1:$P($G(^AUTTSITE(1,1)),U,1))
  1. S AGPATH=$$DIR^XBDIR("F","Enter directory containing file with NM Medicaid info",AGPATH,"","","",1)
  1. Q:$D(DIRUT)
  1. I '$$LIST^%ZISH(AGPATH,"IHS"_"*",.AGLIST) D I $G(AGFILE) S AGFILE=AGLIST(AGFILE)
  1. . NEW AG
  1. . S AG=0
  1. . F S AG=$O(AGLIST(AG)) Q:'AG D I $D(DIRUT) KILL AGFILE Q
  1. .. W !,$J(AG,3),". ",AGLIST(AG)
  1. .. S:(('(AG#5))!('$D(AGLIST(AG+1)))) AGFILE=$$DIR^XBDIR("NO^1:"_AG,"Process which file (or '^' to specify file)")
  1. .. Q:$G(AGFILE)
  1. ..Q
  1. .Q
  1. I '$L($G(AGFILE)) S AGFILE=$$DIR^XBDIR("F","Enter name of file","","","","",2)
  1. Q:$D(DIRUT)
  1. D OPEN^%ZISH("AGNMFILE",AGPATH,AGFILE,"R")
  1. Q
  1. READIN ;read through file
  1. U IO(0)
  1. W !,"Processing NM Medicaid file..."
  1. D WAIT^DICD
  1. W !
  1. S AGCNT=0
  1. F %=1:1:5 S AGCNT(%)=0
  1. D OPEN^%ZISH("AGNMFILE",AGPATH,AGFILE,"R")
  1. U IO
  1. KILL P
  1. F R X:DTIME Q:$$STATUS^%ZISH D
  1. . I '(AGCNT#1000) U IO(0) W $J(AGCNT,8) U IO
  1. . S AGCNT=AGCNT+1,AGCNT(+X)=AGCNT(+X)+1
  1. . Q:'("12"[$E(X))
  1. . ;remove leading "0"s
  1. . F S P=$F(X,"^0") Q:'P S X=$E(X,1,P-2)_$E(X,P,$L(X))
  1. . ;remove trailing blanks
  1. . F S P=$F(X," ^") Q:'P S X=$E(X,1,P-3)_$E(X,P-1,$L(X))
  1. . ;remove insignifant times
  1. . F S P=$F(X," 0:00:00") Q:'P S X=$E(X,1,P-9)_$E(X,P,$L(X))
  1. . ;remove open-ended end dates
  1. . F S P=$F(X,"12/31/9999") Q:'P S X=$E(X,1,P-11)_$E(X,P,$L(X))
  1. . ;Keep all eligibility records (2) at the same node.
  1. . I $E(X)="2" S X=$P(X,U,1,5) I $D(^TMP($J,"AGELUPNM",$P(X,U,2),2)) S ^(2)=^(2)_U_$P(X,U,3,5) Q
  1. . S ^TMP($J,"AGELUPNM",$P(X,U,2),$P(X,U,1))=$P(X,U,3,999)
  1. .Q
  1. KILL P
  1. D CLOSE^%ZISH("AGNMFILE")
  1. U IO(0)
  1. W !!,AGCNT," records found in file:",!
  1. F %=1:1:5 W !?5,%,". : ",AGCNT(%)
  1. Q
  1. WRITEOUT ;
  1. NEW AGSYSID
  1. S AGFILE="cmsd"_$$LTR^AGELUP3(3)_"."_$E(DT,2,5)
  1. U IO(0)
  1. W !,"Writing to file ",AGPATH,AGFILE,"...."
  1. D WAIT^DICD
  1. W !
  1. D OPEN^%ZISH("AGNMFILE",AGPATH,AGFILE,"W")
  1. Q:POP
  1. U IO
  1. S (AGCNT,AGSYSID)=0
  1. F S AGSYSID=$O(^TMP($J,"AGELUPNM",AGSYSID)) Q:'AGSYSID D
  1. . S AGCNT=AGCNT+1
  1. . I '(AGCNT#1000) U IO(0) W AGCNT," of ",AGCNT(1)," / " U IO
  1. . Q:'$D(^TMP($J,"AGELUPNM",AGSYSID,2))
  1. . Q:'$D(^TMP($J,"AGELUPNM",AGSYSID,1))
  1. . S X=^TMP($J,"AGELUPNM",AGSYSID,1)_"^^^^^^^"_^(2)
  1. . W X,!
  1. .Q
  1. D CLOSE^%ZISH("AGNMFILE")
  1. Q