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

AGTX5.m

Go to the documentation of this file.
  1. AGTX5 ; IHS/ASDS/EFG - EXPORT REG DATA CONT'D APR 14,1995 ;
  1. ;;7.1;PATIENT REGISTRATION;;AUG 25,2005
  1. ;
  1. START ;
  1. S (AGDTS,AGFHRN,AGLHRN)=0,AG("TXMERG")="",AG("TXDEL")=""
  1. I '$D(^AGCHDFN(DFN,"CK")) S DFN=AGRCT K AG("ER") D ^AGDATCK I $D(AG("ER")) K AG("ER") S ^AGCHDFN(AGRCT,"RG1")="" ;mark to not send rg1 if datchk fails
  1. AGDTS ;
  1. F S AGDTS=$O(^AGCHDFN(AGRCT,AG("SITE"),AGDTS)) Q:'+AGDTS D RG3MGR ;>LOOP DATE/TIME | one patient
  1. G BLDRG3 ;>PROC RG3
  1. RG3MGR ;>HRN/INS D/M/C | RG5
  1. S AGX=^AGCHDFN(AGRCT,AG("SITE"),AGDTS)
  1. S:AGX="NEW" AG("TXNEW")=1 ;mark so as not to send any Change HRNs
  1. D:($D(^AGCHDFN(AGRCT,AG("SITE"),AGDTS))>1) DELINS ;>DEL INS | RG5
  1. Q:'+AGX ;>NO HRN D/M/C
  1. I $P(AGX,"^",6) S AG("TXMERG")=AGDTS Q ;>MERG
  1. Q:'$D(^AGFAC("AC",AG("SITE"))) ;>NOT PARENT FAC
  1. I $P(AGX,"^",3)="" S AG("TXDEL")=AGDTS Q ;>DEL HRN/PAT
  1. S:'AGFHRN AGFHRN=$P(AGX,"^",2)
  1. S AG("CHRN")=AGDTS,AGLHRN=$P(AGX,"^",3)
  1. Q
  1. BLDRG3 ;EP - Build various RG3s
  1. TXCHRN ;>HRN CHANGES
  1. G:'$D(AG("CHRN")) TXMERG ;>NO HRN CHANGE
  1. G:'$G(AG("TXNEW")) TXMERG ;new pat - send no Chng HRN
  1. S AGDTS=AG("CHRN")
  1. D SETRG3
  1. S $P(AGTEMP(3),U,3,4)=AGFHRN_"^"_AGLHRN
  1. D SETAGTX
  1. TXMERG ;>MERGS
  1. G:AG("TXMERG")="" TXDEL ;----- ;>NO MERG
  1. S AGDTS=AG("TXMERG"),AGX=^AGCHDFN(AGRCT,AG("SITE"),AGDTS)
  1. D SETRG3,SETAGTX
  1. S ^AGCHDFN(AGRCT,"RG1")="" ;mark to not send demog for merged patient
  1. TXDEL ;>DEL PAT
  1. G:AG("TXDEL")="" FIN ;>NO DEL HRN
  1. S AGDTS=AG("TXDEL"),AGX=^AGCHDFN(AGRCT,AG("SITE"),AGDTS),AGX1=$P(^AUTTLOC(+AGX,0),U,10)
  1. S AGTEMP(3)="RG3^"_AGX1_U_$P(AGX,U,2,99) D SETAGTX S ^AGCHDFN(AGRCT,"RG1")=""
  1. FIN ;>CLEAN UP | RET AG("TXDEL")
  1. K AGDTS,AGRHRN,AGLHRN,AG("MERG"),AG("CHRN"),AG("TXNEW")
  1. Q
  1. DELINS ;INSURANCE COVERAGE DELETES ;>LOOP INS
  1. S AG("SUB")=""
  1. F AGZ("I")=1:1 S AG("SUB")=$O(^AGCHDFN(AGRCT,AG("SITE"),AGDTS,AG("SUB"))) Q:AG("SUB")="" D DELCOV
  1. Q
  1. DELCOV ;>DEL INS COV | AGTEMP(5)=RG5^..
  1. Q:($P(^AGCHDFN(AGRCT,AG("SITE"),AGDTS,AG("SUB")),U,2)="")!($P(^(AG("SUB")),U,3)="")
  1. S AGTXSUB=AG("SUB")
  1. I $P(^AGCHDFN(AGRCT,AG("SITE"),AGDTS,AG("SUB")),U)="MCARE" Q:'$D(^AUTTMCS($P(^(AGTXSUB),U,3)))
  1. I $P(^AGCHDFN(AGRCT,AG("SITE"),AGDTS,AG("SUB")),U)="MCAID" Q:'$D(^DIC(5,$P(^(AGTXSUB),U,3)))
  1. S AGTEMP(5)="RG5",$P(AGTEMP(5),U,2)=$E($P(^AGCHDFN(AGRCT,AG("SITE"),AGDTS,AG("SUB")),U,2),1,14),AGCT=$P(^AGCHDFN(AGRCT,AG("SITE"),AGDTS,AG("SUB")),U,6),AGELGEND=$P(^(AG("SUB")),U,5)
  1. S1 ;
  1. S $P(AGTEMP(5),U,2)=$P(AGTEMP(5),U,2)_$S($P(^AGCHDFN(AGRCT,AG("SITE"),AGDTS,AG("SUB")),U)="MCARE":$P(^AUTTMCS($P(^(AG("SUB")),U,3),0),U),1:"")
  1. S AGVAL=$P(^DPT(AGRCT,0),U,3) D D8CV^AGTX1
  1. S $P(AGTEMP(5),U,4)=$S(AGCT="A":1,AGCT="B":2,AGCT="AB":3,1:4)
  1. S $P(AGTEMP(5),U,5)=AGVAL
  1. S $P(AGTEMP(5),U,6)=$$Y2KD2($P(^AGCHDFN(AGRCT,AG("SITE"),AGDTS,AG("SUB")),U,4))
  1. S $P(AGTEMP(5),U,15,18)=""
  1. S $P(AGTEMP(5),U,$S(AGCT="A":15,AGCT="B":16,AGCT="AB":17,1:18))=$$Y2KD2(AGELGEND)
  1. RG5 ;>AGTXDATA=AGTEMP(5)
  1. S AGROUT=AGROUT+1,AGTEMP(5)=$P(AGTEMP(5),U,1)_U_$$UID^AGTXID(AGRCT)_U_$P(AGTEMP(5),U,2,999),$P(AGTEMP(5),U,20)=$P(^AUTTLOC(AGTXSITE,0),U,10),^AGTXDATA(AGROUT)=AGTEMP(5),AG("TOT")=AG("TOT")+1
  1. W:AGOUTFLG !,AGTEMP(5)
  1. I 'AGOUTFLG,AGROUT#10=0 X XY W AGROUT
  1. Q
  1. SETRG3 ;>AGTEMP(3)=RG3^..
  1. S AGTEMP(3)="RG3^"_$P(^AUTTLOC($P(^AGCHDFN(AGRCT,AG("SITE"),AGDTS),U),0),U,10)_U_$P(^AGCHDFN(AGRCT,AG("SITE"),AGDTS),U,2,5)_U_""
  1. I $P(^AGCHDFN(AGRCT,AG("SITE"),AGDTS),U,6)]"" S $P(AGTEMP(3),U,7,8)=1_"^"_$P(^AUTTLOC($P(AGX,U,6),0),U,10)
  1. Q
  1. SETAGTX ;>AGTXDATA=AGTEMP(3)
  1. I '$D(ZTQUEUED) W:AGOUTFLG !,AGTEMP(3) I 'AGOUTFLG,AGROUT#10=0 X XY W AGROUT
  1. S AGROUT=AGROUT+1,AGTEMP(3)=$P(AGTEMP(3),U,1)_U_$$UID^AGTXID(AGRCT)_U_$P(AGTEMP(3),U,2,999),$P(AGTEMP(3),U,9)=$P(AGTEMP(3),U,9),^AGTXDATA(AGROUT)=AGTEMP(3),AG("TOT")=$G(AG("TOT"))+1
  1. Q
  1. Y2KD2(X) ;EP - date from fileman to Y2K format Y=CCYYMMDD
  1. N Y
  1. I X="" Q X
  1. S Y=($E(X,1,3)+1700)_$E(X,4,7)
  1. Q Y