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

ADECD4.m

Go to the documentation of this file.
  1. ADECD4 ; IHS/SET/HMW - ADA CODE TABLE UPDATE (CDT4) ;
  1. ;;6.0;ADE;**12**;MAR 25, 1999
  1. S U="^"
  1. D ADA
  1. D ^ADECD44 ;ADA CODE EDIT GROUPS
  1. D ^ADECD45 ;DENTAL EDITS
  1. Q
  1. ;
  1. ADA ;
  1. ;
  1. S ADEFILE=9999999.31,ADEWPFLD=1101,ADEIENST="?+1,",ADECNT=0,ADEDONE=0,ADEMOD=0
  1. ;Copy ^AUTTADA to ^ADEOCD4 to backup ADA Codes before the update
  1. I '$D(^ADEOCD4) S %X="^AUTTADA(",%Y="^ADEOCD4(" D %XY^%RCR K %X,%Y
  1. S DIK="^AUTTADA(" D IXALL^DIK K DIK
  1. ;Update ADA codes with CDT4 Update
  1. F ADERN=1:1:3 D ADA1(ADERN) Q:ADEDONE
  1. D ADAUPD
  1. ;Deactivated Codes
  1. D NOW^%DTC S ADETDT=X
  1. F ADEADA="0501","2110","2120","2130","2131","2336","2337","2380","2381","2382","2385" D DEACT(ADEADA)
  1. F ADEADA="2386","2387","2388","4220","6519","6520","6530","6543","6544","7110","7120" D DEACT(ADEADA)
  1. F ADEADA="7130","7420","7430","7431","7480" D DEACT(ADEADA)
  1. D KILL
  1. Q
  1. ;
  1. DEACT(ADEADA) ;Deactivate Code
  1. S DIC=ADEFILE,DIC(0)="X",X=ADEADA
  1. D ^DIC
  1. I Y>0 D
  1. . S DIE=ADEFILE,DA=+Y,DR=".08////"_ADETDT
  1. . D ^DIE
  1. . Q
  1. Q
  1. ;
  1. ADA1(ADERN) ;
  1. S ADERTN="ADECD4"_ADERN
  1. F ADERLN=4:1 S X=$T(+ADERLN^@ADERTN) Q:X="" D Q:ADEDONE
  1. .S X=$P(X,";",3,$L(X,";")) Q:X=""
  1. .S ADEID=$P(X,U) I ADEID="***END***" S ADEDONE=1 Q
  1. .I ADEID="CODE" D:ADECNT ADAUPD S ADECODE=$P(X,U,2),ADEDESC=$P(X,U,3),ADECNT=ADECNT+1,ADEUSE=0,ADETXT=0,(ADELEV,ADESYN,ADEMNE,ADENOP)=""
  1. .I ADEID="SVC" D Q
  1. . . S ADELEV=$P(X,U,2),ADEMIN=$P(X,U,3),ADEICD9=$P(X,U,4)
  1. . . Q:ADEICD9=""
  1. . . S ADEICD9=+$O(^ICD9("AB",ADEICD9,0))
  1. . . S:'+ADEICD9 ADEICD9=""
  1. . . Q
  1. .I ADEID="SYN" S ADESYN=$P(X,U,2) Q
  1. .I ADEID="MNE" S ADEMNE=$P(X,U,2) Q
  1. .I ADEID="NOP" S ADENOP="n" Q
  1. .I ADEID="USE" S ADEUSE=1 Q
  1. .I ADEUSE S ADETXT=ADETXT+1,ADETEXT(ADETXT)=X Q
  1. I X="",ADERLN=4,$T(+ADERLN^@ADERTN)="" S ADEDONE=1
  1. Q
  1. ;
  1. ADAUPD ;
  1. S ADEMOD=0,ADEIENST="?+1,"
  1. I $D(^AUTTADA("B",ADECODE)) S ADEIENST=+$O(^AUTTADA("B",ADECODE,0))_",",ADEMOD=1
  1. S ADEFDA(ADEFILE,ADEIENST,.01)=ADECODE,ADEFDA(ADEFILE,ADEIENST,.02)=ADEDESC
  1. S:ADEICD9'="" ADEFDA(ADEFILE,ADEIENST,.03)=ADEICD9
  1. S:ADEMIN'="" ADEFDA(ADEFILE,ADEIENST,.04)=ADEMIN
  1. S:ADELEV'="" ADEFDA(ADEFILE,ADEIENST,.05)=ADELEV
  1. S:ADESYN'="" ADEFDA(ADEFILE,ADEIENST,.06)=ADESYN
  1. S:ADENOP'="" ADEFDA(ADEFILE,ADEIENST,.09)=ADENOP
  1. S:ADEMNE'="" ADEFDA(ADEFILE,ADEIENST,8801)=ADEMNE
  1. S ADEFDA(ADEFILE,ADEIENST,.08)="@" ;Inactivation date
  1. D UPDATE
  1. Q
  1. ;
  1. UPDATE ;
  1. I ADEMOD=0 D
  1. . D UPDATE^DIE(,"ADEFDA","ADEIEN","ADEEMSG")
  1. . K ADEFDA,ADEEMSG
  1. I ADEMOD=1 D
  1. . D FILE^DIE(,"ADEFDA","ADEEMSG")
  1. . S ADEIEN(1)=+ADEIENST
  1. . K ADEFDA,ADEEMSG
  1. I ADETXT,ADETXT>1!(ADETEXT(1)'="") D WP^DIE(ADEFILE,ADEIEN(1)_",",ADEWPFLD,,"ADETEXT","ADEEMSG")
  1. K ADETEXT,ADEEMSG,ADEIEN
  1. Q
  1. KILL ;
  1. K ADEADA,ADECNT,ADECODE,ADEDESC,ADEDONE,ADEFDA,ADEFILE,ADEICD9,ADEID,ADEIENST,ADELEV,ADEMIN,ADEMNE,ADEMOD,ADERLN,ADERN,ADERTN,ADESYN,ADETDT,ADETEXT,ADETXT,ADEUSE,ADEWPFLD,ADENOP,DA,DIC,DIE,DR,X
  1. Q