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

YTPXRM.m

Go to the documentation of this file.
  1. YTPXRM ; SLC/PKR - Build indexes for Mental Health. ;10/28/2003
  1. ;;5.01;MENTAL HEALTH;**77**;Dec 30, 1994
  1. ;DBIA 4113 supports PXRMSXRM entry points.
  1. ;DBIA 4114 supports setting and killing ^PXRMINDX(601.2)
  1. ;===============================================================
  1. INDEX ;Build the index for MENTAL HEALTH.
  1. N DAS,DAST,DATE,DFN,END,ENTRIES,GLOBAL,IND,INS,NE,NERROR
  1. N START,TENP,TEXT
  1. ;Dont leave any old stuff around.
  1. K ^PXRMINDX(601.2)
  1. S GLOBAL=$$GET1^DID(601.2,"","","GLOBAL NAME")
  1. S ENTRIES=$P(^YTD(601.2,0),U,4)
  1. S TENP=ENTRIES/10
  1. S TENP=+$P(TENP,".",1)
  1. I TENP<1 S TENP=1
  1. D BMES^XPDUTL("Building indexes for MENTAL HEALTH DATA")
  1. S TEXT="There are "_ENTRIES_" entries to process."
  1. D MES^XPDUTL(TEXT)
  1. S START=$H
  1. S (DFN,IND,NE,NERROR)=0
  1. F S DFN=+$O(^YTD(601.2,DFN)) Q:DFN=0 D
  1. . S IND=IND+1
  1. . I IND#TENP=0 D
  1. .. S TEXT="Processing entry "_IND
  1. .. D MES^XPDUTL(TEXT)
  1. . I IND#10000=0 W "."
  1. . S INS=0
  1. . F S INS=$O(^YTD(601.2,DFN,1,INS)) Q:+INS=0 D
  1. .. S DAST=DFN_";1;"_INS_";1;"
  1. .. S DATE=0
  1. .. F S DATE=$O(^YTD(601.2,DFN,1,INS,1,DATE)) Q:DATE="" D
  1. ... S DAS=DAST_DATE
  1. ... S ^PXRMINDX(601.2,"IP",INS,DFN,DATE,DAS)=""
  1. ... S ^PXRMINDX(601.2,"PI",DFN,INS,DATE,DAS)=""
  1. ... S NE=NE+1
  1. S END=$H
  1. S TEXT=NE_" MENTAL HEALTH results indexed."
  1. D MES^XPDUTL(TEXT)
  1. D DETIME^PXRMSXRM(START,END)
  1. ;If there were errors send a message.
  1. I NERROR>0 D ERRMSG^PXRMSXRM(NERROR,GLOBAL)
  1. ;Send a MailMan message with the results.
  1. D COMMSG^PXRMSXRM(GLOBAL,START,END,NE,NERROR)
  1. S ^PXRMINDX(601.2,"GLOBAL NAME")=GLOBAL
  1. S ^PXRMINDX(601.2,"BUILT BY")=DUZ
  1. S ^PXRMINDX(601.2,"DATE BUILT")=$$NOW^XLFDT
  1. Q
  1. ;
  1. ;===============================================================
  1. KMH(X,DA) ;Delete index for Psych Instrument Patient File
  1. N DAS
  1. S DAS=DA(2)_";1;"_DA(1)_";1;"_X(1)
  1. K ^PXRMINDX(601.2,"IP",DA(1),DA(2),X(1),DAS)
  1. K ^PXRMINDX(601.2,"PI",DA(2),DA(1),X(1),DAS)
  1. Q
  1. ;
  1. ;===============================================================
  1. SMH(X,DA) ;Set index for Psych Instrument Patient File
  1. ;DA=COMPLETION DATE, DA(1)=INSTRUMENT, DA(2)=DFN
  1. ;X(1)=COMPLETION DATE
  1. N DAS
  1. S DAS=DA(2)_";1;"_DA(1)_";1;"_X(1)
  1. S ^PXRMINDX(601.2,"IP",DA(1),DA(2),X(1),DAS)=""
  1. S ^PXRMINDX(601.2,"PI",DA(2),DA(1),X(1),DAS)=""
  1. Q
  1. ;