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

ATXPVT.m

Go to the documentation of this file.
  1. ATXPVT ; IHS/OHPRD/TMJ - CREATES A TEMPLATE LINKED TO V POV FILE FOR ALL ENTRIES ;
  1. ;;5.1;TAXONOMY;**11**;FEB 04, 1997;Build 48
  1. ;IN THE V POV FILE FOR A GIVEN TAXONOMY
  1. ;
  1. S U="^",ATXFIL=9000010.07 ;ATXFIL IS IN THE INPUT TEMPLATE ATXEARCH (FILE #)
  1. D DT^DICRW
  1. D START I '$D(ATXTP) S Y="" F ATXL=0:0 Q:Y]"" D SORTEMP
  1. I '$D(ATXTP) D DATES
  1. D EOJ
  1. Q
  1. ;
  1. START ;
  1. S DIC="^ATXAX(",DIC(0)="AEMQ",DIC("DR")="" D ^DIC K DIC
  1. I Y<1 S ATXTP=1 Q
  1. I $D(^TMP("ATXTAX",+Y)) W !,$C(7),"Taxonomy currently",^(+Y)," Try later.",! G START
  1. I '$O(^ATXAX(+Y,21,0)) W !,$C(7),"No ICD codes entered in this taxonomy!" G START
  1. S ATXX=+Y
  1. Q
  1. ;
  1. SORTEMP ; ENTRY POINT - CREATES SORT TEMPLATE
  1. W ! S DIC="^DIBT(",DIC("DR")="[ATXEARCH]",DIC(0)="AEMQL",DLAYGO=.401,DIC("A")="Select SEARCH TEMPLATE: ",DIC("S")="I $P(^(0),U,5)=DUZ&($P(^(0),U,4)=ATXFIL)" D ^DIC K DIC I Y<0 S ATXTP="" Q
  1. S ATXTMP=+Y ;SAVE DFN OF TEMPLATE CHOSEN OR CREATED BY USER
  1. I $D(^DIBT(ATXTMP,2)) W !!,$C(7),"You cannot store results in a template used only for sort purposes." S Y="" Q
  1. I '$D(^DIBT(ATXTMP,1))&('$D(^DIBT(ATXTMP,"DIS"))) Q ;NO RESULTS, NO FM SEARCH CODE
  1. I $D(^DIBT(ATXTMP,1)) W !!,$C(7),"Results already stored in this template. Do you want to have",!,"the stored data deleted" S %=1 D YN^DICN
  1. I '$D(^DIBT(ATXTMP,1)) S %=1 ;IF A SEARCH TEMPLATE WITH NO RESULTS STORED
  1. I %=2 S Y="" Q
  1. I %=1 S DIE="^DIBT(",DA=ATXTMP,DR="[ATXDEL]" D ^DIE K DIE D TEST Q
  1. S Y=""
  1. Q
  1. ;
  1. TEST ;SEE IF USER HATTED OUT OF [ATXDEL]
  1. I $D(ATXY) S Y="" K ATXY Q
  1. E K ^DIBT(ATXTMP,1),^("DIS"),^("O") S Y=1
  1. Q
  1. ;
  1. DATES ;ENTER RANGE OF VISIT DATES
  1. W !!,"Enter a range of visit dates from which to extract entries:"
  1. ASKBD S %DT="AEX",%DT("A")="Enter beginning visit date: FIRST// " D ^%DT G:X=U A S ATXBDT=$S(X="":0,1:Y) I Y<0,X]"" G ASKBD
  1. ASKED S %DT="AEX",%DT("A")="Enter ending visit date: LAST// " D ^%DT G:X=U A S ATXEDT=$S(X="":9999999,1:Y) I Y<0,X]"" G ASKED
  1. I ATXBDT>ATXEDT!(ATXEDT>DT&(ATXEDT'=9999999)) W !,"Beginning and ending dates must be prior to today, and beginning date",!,"must precede ending date.",! G ASKBD
  1. D ^ATXTSK
  1. I 'ATXTSK,'$D(ATXTP) D DFNS
  1. A Q
  1. ;
  1. ZTM ;ENTRY POINT FOR TASKMAN
  1. D DFNS
  1. I $D(ZTQUEUED) S ZTREQ="@"
  1. D EOJ
  1. Q
  1. ;
  1. DFNS ;GET LO AND HIGH DFNS FOR THIS TAXONOMY
  1. S ATXSS=0 F ATXL=0:0 S ATXSS=$O(^ATXAX(ATXX,21,ATXSS)) Q:ATXSS'=+ATXSS S ATXLOV=$P(^(ATXSS,0),U)_" ",ATXHIV=$P(^(0),U,2)_" " D GETVAL
  1. S (ATXCNT,ATXDOLO)=0 F L=0:0 S ATXDOLO=$O(^DIBT(ATXTMP,1,ATXDOLO)) Q:ATXDOLO="" S ATXCNT=ATXCNT+1
  1. W !!,"There ",$S(ATXCNT'=1:"were ",1:"was "),ATXCNT,$S(ATXCNT'=1:" entries",1:" entry")," in the ",$P(^DIBT(ATXTMP,0),U)," template."
  1. S ^DIBT(ATXTMP,1,0)=ATXCNT
  1. K ^TMP("ATXSEARCH",$J)
  1. D:$D(ATXPAT) EOJ
  1. Q
  1. ;
  1. GETVAL ;GET RANGE OF DFNS
  1. K ^TMP("ATXSEARCH",$J)
  1. S ATXDFN=$O(^ICD9("BA",ATXLOV,"")),^TMP("ATXSEARCH",$J,ATXDFN)=""
  1. I ATXHIV=ATXLOV D LOOP Q
  1. F ATXL=0:0 S ATXLOV=$O(^ICD9("BA",ATXLOV)) Q:ATXLOV](ATXHIV)!(ATXLOV="") S ATXDFN=$O(^ICD9("BA",ATXLOV,""))
  1. D LOOP
  1. Q
  1. ;
  1. LOOP ;GET DFNS FROM V POV FILE FOR THIS ICD CODE DFN
  1. ;STORE IN APPROPRIATE TEMPLATE
  1. S ATXPV=0
  1. S ATXVIS=(ATXBDT-1)_.999999
  1. F ATXL=0:0 S ATXVIS=$O(^AUPNVSIT("B",ATXVIS)) Q:ATXVIS>(ATXEDT_.9999)!(ATXVIS="") S ATXVDFN=$O(^(ATXVIS,"")),ATXPV=$O(^AUPNVPOV("AD",ATXVDFN,"")) I ATXPV,$D(^TMP("ATXSEARCH",$J,+^AUPNVPOV(ATXPV,0))) D @$S($D(ATXPAT):"PAT",1:"POV")
  1. Q
  1. ;
  1. POV ;CREATES NODES FOR LINKAGE TO V POV FILE
  1. W:'ATXTSK "."
  1. S ^DIBT(ATXTMP,1,ATXPV)=""
  1. Q
  1. ;
  1. PAT ;CREATES NODES FOR LINKAGE TO V POV FILE
  1. W:'ATXTSK "."
  1. S ATXPAT=$P(^AUPNVPOV(ATXPV,0),U,2) S:ATXPAT]"" ^DIBT(ATXTMP,1,ATXPAT)=""
  1. Q
  1. ;
  1. EOJ ;
  1. K ATXFIL,ATXL,ATXTP,ATXSTP,ATXTMP,ATXX,ATXHI,ATXLOV,ATXLO,ATXPV,ATXDFN,ATXBDT,ATXEDT,ATXDTE,ATXCNT,ATXTSK,ATXDOLO,ATXSS,ATXVDFN
  1. K %,%DT
  1. Q
  1. ;