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

ACPT24P2.m

Go to the documentation of this file.
  1. ACPT24P2 ; IHS/ASDST/DMJ,SDR - CPT POST INIT ; [ 02/03/2004 11:07 AM ]
  1. ;;2004;CPT FILES;**2**;DEC 31, 2003
  1. ;
  1. ; Fixes problem with modifiers not having complete description
  1. ;
  1. ;
  1. START ;START HERE
  1. I '$G(DT) D NOW^%DTC S DT=X
  1. S ACPTYR=3040000
  1. W $$EN^ACPTVDF("IOF")
  1. W !!,"CPT Version 2.04 Install",!
  1. D MSG
  1. K DIR S DIR(0)="E" D ^DIR K DIR Q:Y'=1
  1. D DIR
  1. D MREAD ;mod
  1. D XREFM
  1. ;
  1. D:'$D(^XT(8984.4,81,0)) ADD81
  1. D UPKG
  1. W !!,"INSTALL COMPLETE",!!
  1. S DIR(0)="E" D ^DIR
  1. K DIR,ACPT,ACPTYR
  1. Q
  1. INA ;set date deleted for all codes
  1. W !!,"Updating Year Deleted Field.",!
  1. F S I=$O(^ICPT(I)) Q:I>ACPTTO!('I) D
  1. .Q:$P($G(^ICPT(I,0)),"^",7)
  1. .S $P(^ICPT(I,0),"^",7)=ACPTYR
  1. .D DOTS(I)
  1. K ACPTTO
  1. Q
  1. DOTS(X) ;EP - WRITE OUT A DOT EVERY HUNDRED
  1. U IO(0)
  1. W:'(X#100) "."
  1. Q
  1. MREAD ;READ AND UPDATE MODIFIERS AND P-CODES
  1. ;S ACPTFL="acpt2004.m" ;IHS/SD/SDR 2/3/2004
  1. S ACPTFL="acpt2004.02m" ;IHS/SD/SDR 2/3/2004
  1. W !!,"Reading MODIFIER file, file name ",ACPTFL,!
  1. D OPEN^%ZISH("CPTSFILE",ACPTPTH,ACPTFL,"R")
  1. I POP U IO(0) W !,"Could not open modifier and p-code file." Q
  1. F ACPTCNT=1:1 D Q:$$STATUS^%ZISH
  1. .U IO R X Q:$$STATUS^%ZISH
  1. .I $E(X,1)'="-" Q
  1. .S ACPTCD=$E(X,2,3)
  1. .S DESC=$E($P(X,": ",1),4,$L(X))
  1. .;S DESC=$E(DESC,5,$L(DESC)) ;IHS/SD/SDR 2/3/2004
  1. .S DESC=$E(DESC,2,$L(DESC)) ;IHS/SD/SDR 2/3/2004
  1. .S ACPTCDN=$S(ACPTCD=+ACPTCD:ACPTCD,1:$A($E(ACPTCD,1))_$A($E(ACPTCD,2)))
  1. .I '$D(^AUTTCMOD(ACPTCDN)) D
  1. ..S ^AUTTCMOD(ACPTCDN,0)=ACPTCD
  1. .S $P(^AUTTCMOD(ACPTCDN,0),"^",2)=DESC
  1. .D DOTS(ACPTCNT)
  1. D ^%ZISC
  1. Q
  1. ;
  1. DIR ;ASK DIRECTORY WHERE FILES WERE LOADED
  1. W !
  1. S DIR(0)="F",DIR("A")="Enter directory where CPT files are located."
  1. S DIR("B")="/usr/spool/uucppublic/"
  1. D ^DIR K DIR
  1. Q:$D(DUOUT)!$D(DTOUT)!$D(DIRUT)
  1. I ^%ZOSF("OS")["UNIX" D
  1. .S Y=$TR(Y,"\","/")
  1. .S:$E(Y)'="/" Y="/"_Y
  1. .S:$E(Y,$L(Y))'="/" Y=Y_"/"
  1. I ^%ZOSF("OS")'["UNIX" D
  1. .S Y=$TR(Y,"/","\")
  1. .I $E(Y)'="\",Y'[":" S Y="\"_Y
  1. .S:$E(Y,$L(Y))'="\" Y=Y_"\"
  1. S ACPTPTH=Y
  1. Q
  1. FILE ;ASK FOR FILE NAME
  1. W !
  1. S DIR(0)="F"
  1. D ^DIR K DIR
  1. S Y=$TR(Y,"/\")
  1. S ACPTFL=Y
  1. Q
  1. DESC ;STRIP TRAILING BLANKS FROM DESCRIPTION FIELD
  1. S ACPTDESC=""
  1. N I F I=0:1:31 S A=$TR(A,$C(I))
  1. N I F I=1:1:$L(A," ") D
  1. .S ACPTWORD=$P(A," ",I)
  1. .Q:ACPTWORD=""
  1. .S:I>1 ACPTDESC=ACPTDESC_" "
  1. .S ACPTDESC=ACPTDESC_ACPTWORD
  1. K ACPTWORD
  1. Q
  1. CAT(Z) ;SET CPT CATEGORY
  1. S ACPTCAT=Z
  1. I '$D(^DIC(81.1,"ACPT",Z)) D
  1. .S ACPTCAT=$O(^DIC(81.1,"ACPT",ACPTCAT),-1)
  1. S ACPTCAT=$O(^DIC(81.1,"ACPT",ACPTCAT,0))
  1. S $P(^ICPT(Z,0),"^",3)=ACPTCAT
  1. K ACPTCAT
  1. Q
  1. ADD81 ;ADD FILE 81 TO LOCAL LOOKUP FILE
  1. S DLAYGO=8984.4
  1. W !!,"ADDING CPT FILE TO LOCAL LOOKUP FILE" D
  1. .I '$D(^DIC(8984.4)) W !,"LOCAL LOOKUP FILE (FILE 8984.4) MISSING.",! Q
  1. .S DIC="^XT(8984.4,",DIC(0)="LX",X=81 D ^DIC
  1. .Q:Y<0 S DA=+Y,DIE=DIC,DR=".03////C" D ^DIE
  1. .W !,"FILE 81 ADDED.",!
  1. K DLAYGO
  1. Q
  1. XREFM ;RE-CROSS REFERENCE FILE
  1. W !,"WILL NOW RE-INDEX MODIFIER FILE.",!
  1. S DIK="^AUTTCMOD(" D IXALL^DIK
  1. Q
  1. MSG ;display message
  1. F I=1:1 D Q:ACPTTXT["***end***"
  1. .S ACPTTXT=$P($T(TXT+I),";;",2)
  1. .Q:ACPTTXT["end"
  1. .I ACPTTXT="NOTE:" W $$EN^ACPTVDF("RVN")
  1. .W !,ACPTTXT
  1. .I ACPTTXT="NOTE:" W $$EN^ACPTVDF("RVF")
  1. K ACPTTXT
  1. Q
  1. TXT ;text lines
  1. ;;CPT version 2.04 patch 2 contains corrections for 2004 CPT
  1. ;;modifiers. The install will attempt to read the Modifiers
  1. ;;file (acpt2004.m) and update the description to be correct.
  1. ;;
  1. ;;***end***
  1. Q
  1. UPKG ;update package file
  1. I '$G(DUZ) D
  1. .S DUZ=1
  1. .S DUZ(0)="@"
  1. I '$G(DT) D
  1. .D NOW^%DTC
  1. .S DT=$P(%,".",1)
  1. S DA=$O(^DIC(9.4,"C","ACPT",0))
  1. Q:'DA
  1. S DIE="^DIC(9.4,"
  1. S DR="13///2.04"
  1. D ^DIE
  1. S DA(1)=DA
  1. S X=2.04
  1. S DIC="^DIC(9.4,DA(1),22,"
  1. S DIC(0)="LX"
  1. D ^DIC
  1. Q:+Y<0
  1. S DA=+Y
  1. S DIE=DIC
  1. S DR="1///3031231;2///"_DT_";3///`"_DUZ
  1. D ^DIE
  1. Q