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

PXRMETXU.m

Go to the documentation of this file.
  1. PXRMETXU ; SLC/PJH - Extract utilities ;09/06/2007
  1. ;;2.0;CLINICAL REMINDERS;**4,6**;Feb 04, 2005;Build 123
  1. ;
  1. HELP(CALL) ;General help text routine
  1. N HTEXT
  1. I CALL=1 D
  1. .S HTEXT(1)="Enter 'Y' to overwrite this existing list. Enter 'N' to"
  1. .S HTEXT(2)="use a different patient list name."
  1. ;
  1. I CALL=3 D
  1. .S HTEXT(1)="Enter 'Y' to transmit extract. Otherwise enter 'N'."
  1. ;
  1. I CALL=4 D
  1. .S HTEXT(1)="The selected period is the same as next scheduled extract."
  1. .S HTEXT(2)="Enter 'Y' if this extract will replace the scheduled"
  1. .S HTEXT(3)="extract. Enter 'N' if you still want the scheduled extract"
  1. .S HTEXT(4)="to run."
  1. ;
  1. D HELP^PXRMEUT(.HTEXT)
  1. Q
  1. ;
  1. DELETE(IEN) ;Delete an extract summary.
  1. I IEN="" Q
  1. N DA,DELOK,DIK,NAME
  1. S DELOK=1
  1. S NAME=$P(^PXRMXT(810.3,IEN,0),U,1)
  1. ;Must have PXRM MANAGER key in order to delete national extracts.
  1. I $P($G(^PXRMXT(810.3,IEN,100)),U,1)="N" D
  1. . S DELOK=$S($D(^XUSEC("PXRM MANAGER",DUZ)):1,1:0)
  1. . I 'DELOK D
  1. .. W !!,NAME," is national."
  1. .. W !,"You cannot delete a national extract summary."
  1. .. H 2
  1. I 'DELOK Q
  1. ;Double check the user really wants to delete.
  1. S TEXT="Are you sure you want to delete "_NAME
  1. S DELOK=$$ASKYN^PXRMEUT("N","Are you sure you want to delete "_NAME)
  1. I 'DELOK Q
  1. S DA=IEN
  1. S DIK="^PXRMXT(810.3,"
  1. D ^DIK
  1. W !,"Deleting ",NAME
  1. H 2
  1. Q
  1. ;
  1. PRGES ;Delete any Extract Summaries over 5 years old
  1. N DIFF,EDATE,OLD
  1. S OLD=0
  1. F S OLD=$O(^PXRMXT(810.3,OLD)) Q:'OLD D
  1. .I +$G(^PXRMXT(810.3,OLD,50))'=1 Q
  1. .;Extract Date
  1. .S EDATE=$P($G(^PXRMXT(810.3,OLD,0)),U,6)
  1. .;Ignore if < 5 years (1826 days) since creation
  1. .I $$FMDIFF^XLFDT(DT,EDATE,1)<1826 Q
  1. .;Otherwise delete
  1. .N DIK,DA
  1. .S DIK="^PXRMXT(810.3,",DA=OLD D ^DIK
  1. Q
  1. ;
  1. PRGPL ;Delete any Patient Lists over 5 years old
  1. N LDATE,OLD
  1. S OLD=0
  1. F S OLD=$O(^PXRMXP(810.5,OLD)) Q:'OLD D
  1. .I +$G(^PXRMXP(810.5,OLD,50))'=1 Q
  1. .;Patient List Date
  1. .S LDATE=$P($G(^PXRMXP(810.5,OLD,0)),U,4)
  1. .;Ignore if < 5 years (1826 days) since creation
  1. .I $$FMDIFF^XLFDT(DT,LDATE,1)<1826 Q
  1. .;Otherwise delete
  1. .N DIK,DA
  1. .S DIK="^PXRMXP(810.5,",DA=OLD D ^DIK
  1. Q
  1. ;