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

ADECD46.m

Go to the documentation of this file.
  1. ADECD46 ; IHS/SET/HMW - ADA CODE TABLE UPDATE (CDT4) ;
  1. ;;6.0;ADE;**14**;MAR 25, 1999
  1. S U="^"
  1. ;
  1. ADA ;
  1. ;
  1. N ADEFILE,ADEWPFLD,ADEIENST,ADECNT,ADEDONE,ADEMOD,ADERN,ADEDONE,ADERTN
  1. N ADERLN,ADEID,ADECODE,ADEDESC,ADEUSE,ADETXT,ADELEV,ADESYN,ADEMNE,ADENOP
  1. N ADEMIN,ADEICD9,ADEFDA,ADEEMSG
  1. S ADEFILE=9999999.31,ADEWPFLD=1101,ADEIENST="?+1,",ADECNT=0,ADEDONE=0,ADEMOD=0
  1. ;Copy ^AUTTADA to ^ADEOCD46 to backup ADA Codes before the update
  1. I '$D(^ADEOCD46) S %X="^AUTTADA(",%Y="^ADEOCD46(" D %XY^%RCR K %X,%Y
  1. S DIK="^AUTTADA(" D IXALL^DIK K DIK
  1. ;Update ADA codes
  1. F ADERN=1,2 D ADA1(ADERN) Q:ADEDONE
  1. D ADAUPD
  1. Q
  1. ;
  1. ADA1(ADERN) ;
  1. S ADERTN="ADECD47"_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,ADEMIN,ADEICD9,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=$P(X,U,2) 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