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

ATXENP.m

Go to the documentation of this file.
  1. ATXENP ; IHS/OHPRD/TMJ - CREATES AND ENTERS PTS INTO PT TAXONOMY FILE ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;
  1. D INIT
  1. D START
  1. D EOJ
  1. Q
  1. ;
  1. INIT ;
  1. D ^XBKVAR
  1. S U="^"
  1. Q
  1. ;
  1. START ;
  1. K ATXTRT
  1. S DIC="^ATXAX(",DIC(0)="AEMQ",DIC("S")="I $P(^(0),U,8)" D ^DIC K DIC
  1. I Y<1 Q
  1. I $O(^ATXPAT(+Y,11,0)) W !,$C(7),"Patients already entered under this taxonomy in the Pt Taxonomy file!" G START
  1. I '$O(^ATXAX(+Y,21,0)) W !,$C(7),"ICD Codes have not been entered into this taxonomy!" G START
  1. S ATXX=+Y
  1. I $D(^TMP("ATXTAX",ATXX)) W !,$C(7),"Taxonomy now",^(ATXX)," Try later." G START
  1. I $P(^ATXAX(ATXX,0),U,6)=""!('$O(^ATXPAT(+Y,11,0))) S DIE="^ATXAX(",DR=".06;.18",DA=ATXX D ^DIE K DIE,DR,DA
  1. I '$P(^ATXAX(ATXX,0),U,6) W !,$C(7),"You have no date for entries to be added to the PT TAXONOMY file.",!,"Entries will not be made until a date is indicated." Q
  1. I $D(Y) Q
  1. I '$D(^ATXPAT(ATXX,0))#2 S DIADD="",DIC="^ATXPAT(",DIC(0)="L",X="`"_ATXX,DIC("DR")=".02////"_DT_";.03////"_DUZ D ^DIC K DIADD,DIC,DR S ^ATXPAT(ATXX,11,0)="^9002227.01101PA^0^0"
  1. I $P(^ATXAX(ATXX,0),U,6)'<(DT+1) Q
  1. D TSKMN
  1. Q
  1. ;
  1. TSKMN ;EP
  1. W !!,$C(7),"Entries for this taxonomy into the Pt Taxonomy file, will now occur via Taskman",!,"in background!"
  1. S ^TMP("ATXTAX",ATXX)=" having patients entered into the Pt Taxonomy file."
  1. K ZTSAVE F %="ATXX" S ZTSAVE(%)=""
  1. S ZTRTN="ZTM^ATXENP",ZTDESC="ENTER PTS INTO PT TAX FILE",ZTIO="",ZTDTH=DT D ^%ZTLOAD K ZTSK
  1. Q
  1. ;
  1. ZTM ;ENTRY POINT FOR TASKMAN
  1. D DFNS
  1. K ^TMP("ATXTAX",ATXX)
  1. I $D(ZTQUEUED) S ZTREQ="@"
  1. D EOJ
  1. Q
  1. ;
  1. DFNS ;
  1. S ATXSS=0 F ATXL=0:0 S ATXSS=$O(^ATXAX(ATXX,21,ATXSS)) Q:ATXSS'=+ATXSS S ATXLOV=$P(^(ATXSS,0),U) S:ATXLOV'[" " ATXLOV=ATXLOV_" " S ATXHIV=$P(^(0),U,2) S:ATXHIV'[" " ATXHIV=ATXHIV_" " D GETVAL ;ACC 1/20/94 PUT IN CHECKS FOR " "
  1. Q
  1. ;
  1. GETVAL ;GET RANGE OF DFNS
  1. S ATXDFN=$O(^ICD9("BA",ATXLOV,"")) D LOOP
  1. Q:ATXHIV=ATXLOV
  1. F ATXL=0:0 S ATXLOV=$O(^ICD9("BA",ATXLOV)) Q:ATXLOV](ATXHIV) S ATXDFN=$O(^ICD9("BA",ATXLOV,"")) D LOOP
  1. Q
  1. ;
  1. LOOP ;GET PTS FROM V POV FILE FOR THIS ICD CODE DFN
  1. Q:ATXDFN=""
  1. S ATXPV=0
  1. F ATXL=0:0 S ATXPV=$O(^AUPNVPOV("B",ATXDFN,ATXPV)) Q:ATXPV'=+ATXPV S ATXPD=$P(^AUPNVPOV(ATXPV,0),U,2) D ADD
  1. Q
  1. ;
  1. ADD ;ADDS PTS TO TAXONOMY IN PT TAXONOMY FILE
  1. Q:'$D(^ATXPAT(ATXX,0))#2
  1. S ATXVIS=$P(^AUPNVPOV(ATXPV,0),U,3),ATXVIS=$P($P(^AUPNVSIT(ATXVIS,0),U),".") Q:ATXVIS<$P(^ATXAX(ATXX,0),U,6)
  1. I $D(^ATXPAT(ATXX,11,ATXPD)) S $P(^(0),U,2)=$P(^(ATXPD,0),U,2)+1 Q
  1. S ^ATXPAT(ATXX,11,ATXPD,0)=ATXPD_"^1"
  1. S $P(^ATXPAT(ATXX,11,0),U,3)=ATXPD,$P(^(0),U,4)=$P(^(0),U,4)+1
  1. NEW (DT,DTIME,DUZ,IO,IOF,IOM,IOS,IOSL,IOXY,U,XQDIC,XQPSM,XQY,IOST,XQYO,ZTQUEUED,ATXPD,ATXX) D
  1. . S DA=ATXPD,DA(1)=ATXX,DIK="^ATXPAT(ATXX,11," D IX1^DIK K DIK,DA
  1. Q
  1. ;
  1. EOJ ;
  1. K ATXLOV,ATXHIV,ATXLO,ATXHI,ATXPD,ATXPV,ATXX,ATXL,ATXWT,ATXPAT,ATXSS,ATXDFN,ATXVIS
  1. Q
  1. ;