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

ACPTP1A.m

Go to the documentation of this file.
  1. ACPTP1A ; IHS/ASDST/DMJ,SDR - CPT PATCH 1 ; [ 01/07/2005 12:02 PM ]
  1. ;;2005;CPT FILES;**1**;DEC 31, 2004
  1. ;
  1. ;
  1. START ;START HERE
  1. I '$G(DT) D NOW^%DTC S DT=X
  1. S ACPTYR=3050000
  1. W $$EN^ACPTVDF("IOF")
  1. W !!,"HCPCS Version 2.05 Install",!
  1. D MSG
  1. K DIR S DIR(0)="E" D ^DIR K DIR Q:Y'=1
  1. W !,"Installing ",$E(ACPTYR,1,3)+1700," HCPCS codes.",!
  1. D OPEN
  1. I POP U IO(0) W !,"Could not open HCPCS file." Q
  1. D HREAD ;hcpcs
  1. D XREF
  1. W !!,"INSTALL COMPLETE",!!
  1. S DIR(0)="E" D ^DIR
  1. K DIR,ACPT,ACPTYR
  1. Q
  1. ;
  1. OPEN ;open host file
  1. D DIR
  1. S ACPTFL="acpt2005.01h"
  1. D OPEN^%ZISH("CPTHFILE",ACPTPTH,ACPTFL,"R")
  1. Q
  1. HREAD ;READ HCPCS FILE
  1. U IO(0) W !,"Reading HCPCS Codes File.",!
  1. F ACPTCNT=1:1 D Q:$$STATUS^%ZISH
  1. .U IO R ACPTREC Q:$$STATUS^%ZISH
  1. .S ACPTCD=$E(ACPTREC,1,5)
  1. .Q:ACPTCD'?1U4N
  1. .D ONE
  1. .D DOTS(ACPTCNT)
  1. D ^%ZISC
  1. K ACPTSD,ACPTLD,ACPTDESC
  1. K ACPTCSV,ACPTFLAG,ACPTREC
  1. Q
  1. ONE ;one record
  1. S A=$E(ACPTREC,7,40) D DESC S ACPTSD=ACPTDESC
  1. S A=$E(ACPTREC,42,299) D DESC S ACPTLD(1)=ACPTDESC
  1. I '$D(^ICPT("B",ACPTCD)) D NEW
  1. S ACPTIEN=$O(^ICPT("B",ACPTCD,0))
  1. Q:ACPTIEN'>0
  1. S:ACPTSD'="" $P(^ICPT(ACPTIEN,0),"^",2)=ACPTSD
  1. S $P(^ICPT(ACPTIEN,0),"^",4)=""
  1. S $P(^ICPT(ACPTIEN,0),"^",7)=""
  1. K ^ICPT(ACPTIEN,"D")
  1. D WP^DIE(81,ACPTIEN_",",50,"","ACPTLD")
  1. Q
  1. NEW ;new hcpcs code
  1. S ACPTIEN=$A($E(ACPTCD))_$E(ACPTCD,2,5)
  1. S ^ICPT(ACPTIEN,0)=ACPTCD
  1. S ^ICPT("B",ACPTCD,ACPTIEN)=""
  1. S $P(^ICPT(ACPTIEN,0),"^",6)=ACPTYR
  1. Q
  1. ;
  1. DIR ;ASK DIRECTORY WHERE FILES WERE LOADED
  1. W !
  1. S DIR(0)="F",DIR("A")="Enter directory where HCPCS file is 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. 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. DOTS(X) ;EP - WRITE OUT A DOT EVERY HUNDRED
  1. U IO(0)
  1. W:'(X#100) "."
  1. Q
  1. XREF ;RE-CROSS REFERENCE FILE
  1. W !,"WILL NOW RE-INDEX CPT FILE (this will take awhile).",!
  1. S DIK="^ICPT(" D IXALL^DIK
  1. D ^ACPTCXR
  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.05 patch# 1 contains HCPCS codes for 2005.
  1. ;;The install will read the HCPCS code file (acpt2005.01h)
  1. ;;from the directory you specify.
  1. ;;
  1. ;;***end***
  1. Q