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

DVBAPTEX.m

Go to the documentation of this file.
  1. DVBAPTEX ;ALB/CMM EXAM FILE UPDATE - POST INT ; 12 MARCH 1997
  1. ;;2.7;AMIE;**12**;Apr 10, 1995
  1. ;
  1. ; This is the post-in for patch 12 to add a new body system to the
  1. ; 2507 Body System file (396.7) and to inactivate Exams and add the
  1. ; new Exams into the AMIE EXAM file (396.6).
  1. ;
  1. DRIVE ;
  1. D MES^XPDUTL("Post Init Installation:")
  1. D MES^XPDUTL("Updating 2507 Body System file.")
  1. D ^DVBAPTBD
  1. ; ^ update 2507 Body System file (396.7)
  1. D MES^XPDUTL("Updating AMIE EXAM file.")
  1. I '$D(^DVB(396.6)) D MES^XPDUTL("Missing file 396.6, AMIE EXAM file")
  1. I $D(^DVB(396.6)) D
  1. .D INACT
  1. .D LOAD
  1. .D LOOP
  1. D MES^XPDUTL("Removing Files: ")
  1. D MES^XPDUTL("EXAM EXCEPTION (#396.93)")
  1. D MES^XPDUTL("AMIE DOCUMENT (#396.91)")
  1. D MES^XPDUTL("AMIE DOCUMENT TABLE OF CONTENTS (#396.92)")
  1. D REMOVE
  1. Q
  1. ;
  1. REMOVE ;deletes files 396.93, 396.92 and 396.92 for Physician's Guide
  1. ;removes data and dd
  1. N NAME
  1. F NAME="^DVBP(396.91,","^DVBP(396.92,","^DVB(396.93," D
  1. .S DIU=NAME,DIU(0)="D"
  1. .D EN^DIU2
  1. K DIU
  1. Q
  1. ;
  1. LOAD ;
  1. S DIF="^TMP($J,""DVBAPT"",",XCNP=0
  1. K ^TMP($J,"DVBAPT")
  1. F ROU="DVBAPT1" S X=ROU X ^%ZOSF("LOAD")
  1. ;DVBAPT1 contains all New exams to be active after this patch
  1. K DIF,XCNP,ROU
  1. Q
  1. ;
  1. LOOP ;
  1. K LP,EXM,WKS,ROU,PNM,BDY,STAT,LINE,NAME
  1. S LP=0,NUM=99
  1. F S LP=$O(^TMP($J,"DVBAPT",LP)) Q:LP="" D
  1. .S LINE=^TMP($J,"DVBAPT",LP,0)
  1. .I (LINE'[";;")!(LINE[";AMIE;")!(LINE="") Q
  1. .S NUM=NUM+1
  1. .S EXM=$P(LINE,";",3) ;current exam name
  1. .S NAME=$P(LINE,";",4) ;new exam name
  1. .S WKS=$P(LINE,";",5) ;worksheet number
  1. .S PNM=$P(LINE,";",6) ;print name
  1. .S BDY=$P(LINE,";",7) ;body system
  1. .S STAT=$P(LINE,";",8) ;status
  1. .S ROU=$P(LINE,";",9) ;routine name
  1. .;
  1. .I NAME="" S NAME=EXM ;same name
  1. .;
  1. .I STAT="A" D NEW(NUM)
  1. K LP,EXM,WKS,ROU,PNM,BDY,STAT,LINE,NAME,NUM
  1. Q
  1. ;
  1. INACT ; inactivate exam
  1. N LOOP
  1. S LOOP=0
  1. F S LOOP=$O(^DVB(396.6,LOOP)) Q:'LOOP D
  1. .S DIE="^DVB(396.6,",DA=+LOOP,DR=".5///I"
  1. .D ^DIE
  1. .K DIE,DA,DR
  1. Q
  1. ;
  1. NEW(EN) ; add new exam
  1. K DD,DO,DIC,DA
  1. S DIC="^DVB(396.6,",DIC(0)="LZ",X=NAME,DINUM=EN
  1. S DIC("DR")=".07///"_WKS_";.5///"_STAT_";2///"_BDY_";6///"_PNM_";7///"_ROU
  1. D FILE^DICN
  1. I +Y=-1,$D(^DVB(396.6,EN)) D
  1. .;have entry already, make sure fields are all populated correctly
  1. .S DA=EN,DIE="^DVB(396.6,"
  1. .S DR=".07///"_WKS_";.5///"_STAT_";2///"_BDY_";6///"_PNM_";7///"_ROU_";.01///"_NAME
  1. .D ^DIE
  1. .K DIE,DA,DR
  1. I '$D(^DVB(396.6,EN)) D MES^XPDUTL("Unable to add exam, "_NAME_", IEN= ",EN)
  1. K DIC,X,Y,DINUM
  1. Q