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

ADECDT.m

Go to the documentation of this file.
  1. ADECDT ; IHS/HQT/MJL - ADA CODE TABLE UPDATE (CDT3) ;
  1. ;;6.0;ADE;**7,14**;APR 03, 2001
  1. S U="^"
  1. D ADA,EDITGRP,EDIT,OPSITE
  1. Q
  1. ;
  1. ADA ;
  1. S ADEFILE=9999999.31,ADEWPFLD=1101,ADEIENST="?+1,",ADECNT=0,ADEDONE=0
  1. ;Copy ^AUTTADA to ^ADEOADA to backup ADA Codes before the update
  1. I '$D(^ADEOADA) S %X="^AUTTADA(",%Y="^ADEOADA(" D %XY^%RCR K %X,%Y
  1. S DIK="^AUTTADA(" D IXALL^DIK K DIK
  1. ;Update ADA codes with CDT3 Update
  1. F ADERN=1:1 D ADA1 Q:ADEDONE
  1. D ADAUPD
  1. ; Remove the Op Site prompt from the following codes
  1. F ADEADA="0277","0350","9241","9248" S DIC=ADEFILE,DIC(0)="X",X=ADEADA D ^DIC I Y>0 S DIE=ADEFILE,DA=+Y,DR=".09////n" D ^DIE
  1. ; Add the Op Site prompt for the following codes
  1. F ADEADA=9221,9242,9920 S DIC=ADEFILE,DIC(0)="X",X=ADEADA D ^DIC I Y>0 S DIE=ADEFILE,DA=+Y,DR=".09////@" D ^DIE
  1. ; Codes to be deactivated
  1. D NOW^%DTC S ADETDT=X
  1. F ADEADA="0471","2210","2810","3960","4250","7470","7942","9240" S DIC=ADEFILE,DIC(0)="X",X=ADEADA D ^DIC I Y>0 S DIE=ADEFILE,DA=+Y,DR=".08////"_ADETDT D ^DIE
  1. D KILL
  1. Q
  1. ;
  1. ADA1 ;
  1. S ADERTN="ADECDT"_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)=""
  1. .I ADEID="SVC" S ADELEV=$P(X,U,2),ADEMIN=$P(X,U,3),ADEICD9=$P(X,U,4) 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="USE" S ADEUSE=1 Q
  1. .I ADEUSE S ADETXT=ADETXT+1,ADETEXT(ADETXT)=X Q
  1. ; Just in case the last routine doesn't end with ***END***
  1. I X="",ADERLN=4,$T(+ADERLN^@ADERTN)="" S ADEDONE=1
  1. Q
  1. ;
  1. ADAUPD ;
  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:ADEMNE'="" ADEFDA(ADEFILE,ADEIENST,8801)=ADEMNE
  1. D FILE
  1. Q
  1. ;
  1. EDIT ;
  1. ;Copy ^ADEDIT to ^ADEOEDIT to backup DENTAL EDIT codes and DENTAL CODE EDIT groups before the update
  1. I '$D(^ADEOEDIT) S %X="^ADEDIT(",%Y="^ADEOEDIT(" D %XY^%RCR K %X,%Y
  1. S ADEFILE=9002007.9,ADEIENST="?+1,",ADEWPFLD=1101,ADETXT=0
  1. S ADEFDA(ADEFILE,ADEIENST,.01)="[PERMANENT TOOTH PROCEDURES 2",ADEFDA(ADEFILE,ADEIENST,1)=2,ADEFDA(ADEFILE,ADEIENST,1.3)="y"
  1. S ADEFDA(ADEFILE,ADEIENST,2)="[EXTRACTIONS",ADEFDA(ADEFILE,ADEIENST,3)="99999",ADEFDA(ADEFILE,ADEIENST,4)=1
  1. S ADEFDA(ADEFILE,ADEIENST,6)="W *7,""An extraction has previously been reported for this tooth"""
  1. D FILE
  1. S ADEFDA(ADEFILE,ADEIENST,.01)="[PERMANENT TOOTH PROCEDURES 2",ADEFDA(ADEFILE,ADEIENST,1)=1,ADEFDA(ADEFILE,ADEIENST,1.3)="y"
  1. S ADEFDA(ADEFILE,ADEIENST,2)="[EXTRACTIONS",ADEFDA(ADEFILE,ADEIENST,4)=1,ADEFDA(ADEFILE,ADEIENST,6)="W *7,""An extraction is also being reported for this tooth"""
  1. D FILE
  1. S ADEFDA(ADEFILE,ADEIENST,.01)="[PERMANENT TOOTH PROCEDURES 2",ADEFDA(ADEFILE,ADEIENST,1)=4,ADEFDA(ADEFILE,ADEIENST,1.3)="y"
  1. S ADEFDA(ADEFILE,ADEIENST,4)=1,ADEFDA(ADEFILE,ADEIENST,6)="W *7,""This code may only be used for permanent teeth""",ADEFDA(ADEFILE,ADEIENST,4.1)="[PERMANENT TEETH"
  1. D FILE
  1. ;ULQ,URQ,LLQ,LRQ
  1. ;7471 mimics 4341
  1. S ADEFDA(ADEFILE,ADEIENST,.01)="7471",ADEFDA(ADEFILE,ADEIENST,1)=4,ADEFDA(ADEFILE,ADEIENST,1.3)="y"
  1. S ADEFDA(ADEFILE,ADEIENST,4)=1,ADEFDA(ADEFILE,ADEIENST,4.1)="[QUADRANTS",ADEFDA(ADEFILE,ADEIENST,6)="W *7,""Only QUADRANTS may be reported for this code"""
  1. D FILE
  1. F ADEADA=9221,9242,9920 D
  1. .S ADEFDA(ADEFILE,ADEIENST,.01)=ADEADA,ADEFDA(ADEFILE,ADEIENST,1)=4,ADEFDA(ADEFILE,ADEIENST,1.3)="y",ADEFDA(ADEFILE,ADEIENST,1.4)="y",ADEFDA(ADEFILE,ADEIENST,4)=1,ADEFDA(ADEFILE,ADEIENST,4.1)="[INCREMENTS"
  1. .S ADEFDA(ADEFILE,ADEIENST,6)="W *7,""A 15 minute increment of general anesthesia, intravenous sedation, or behavior management."""
  1. .D FILE
  1. S DIK="^ADEDIT(" D IXALL^DIK K DIK
  1. D KILL
  1. Q
  1. ;
  1. EDITGRP ;
  1. S ADEFILE=9002007.91,ADEIENST="?+1,",ADEWPFLD=1101,ADETXT=0
  1. ;1 to 32
  1. S ADEFDA(ADEFILE,ADEIENST,.01)="PERMANENT TOOTH PROCEDURES 2"
  1. S ADEFDA(ADEFILE,ADEIENST,1)="2337|2388|2542|2780|2781|2782|2783|2799|2953|2957|3331|3332|3333|4245|4268|5867|6056|6057|6058|6059|6060|6061|6062|6063|6064|6065|6066|6067|6068|6069|6070|6071|6072|6073|6074|6075|6076|6077|6078|6079|6245|6519|6548|6740|6781|6782|6783|6976|6977|9911"
  1. D FILE
  1. ;1 to 32; A to S; 4D to 29D
  1. ;3221,9971,9973,9974 mimic 7110
  1. S ADEFDA(ADEFILE,ADEIENST,.01)="EXTRACTIONS"
  1. S ADEFDA(ADEFILE,ADEIENST,1)="7110|7120|7111|7113|7112|7114|7210|7220|7230|7240|7241|7250|3221|9971|9973|9974"
  1. D FILE
  1. ;ULQ,URQ,LLQ,LRQ
  1. ;7471 mimics 4341
  1. S ADEFDA(ADEFILE,ADEIENST,.01)="PROPHY+SURGERY"
  1. S ADEFDA(ADEFILE,ADEIENST,1)="1110|1120|1130|4220|4240|4260|4341|4345|7471"
  1. D FILE
  1. S ADEFDA(ADEFILE,ADEIENST,.01)="ADEPHY-4"
  1. S ADEFDA(ADEFILE,ADEIENST,1)="4341|4345|4910|4920|4999|7471"
  1. D FILE
  1. S ADEFDA(ADEFILE,ADEIENST,.01)="HYG/THER DATA ENTRY CHECK"
  1. S ADEFDA(ADEFILE,ADEIENST,1)="1350|1351|1355|1110|1120|1130|4910|1201|1205|0210|0270|0272|0274|0275|0220|0230|0240|1310|1330|1331|1336|1338|1335|0470|0330|1204|1203|1207|1208|1340|1550|4341|4345|7471"
  1. D FILE
  1. S ADEFDA(ADEFILE,ADEIENST,.01)="INCREMENTS"
  1. S ADEFDA(ADEFILE,ADEIENST,1)="Y1|Y2|Y3|Y4|Y5|Y6"
  1. D FILE
  1. S ADEFDA(ADEFILE,ADEIENST,.01)="QUADRANTS"
  1. S ADEFDA(ADEFILE,ADEIENST,1)="ULQ|URQ|LLQ|LRQ"
  1. D FILE
  1. D KILL
  1. Q
  1. ;
  1. OPSITE ;
  1. S ADEFILE=9002010.03,ADEIENST="?+1,",ADEWPFLD=1101,ADETXT=0
  1. F ADEOP=1:1:6 S ADEFDA(ADEFILE,ADEIENST,.01)="INCREMENT,"_$P("ONE^TWO^THREE^FOUR^FIVE^SIX","^",ADEOP),ADEFDA(ADEFILE,ADEIENST,8801)="Y"_ADEOP D FILE
  1. D KILL K ADEOP
  1. Q
  1. ;
  1. FILE ;
  1. D UPDATE^DIE(,"ADEFDA","ADEIEN","ADEEMSG")
  1. K ADEFDA,ADEEMSG
  1. ; get the IEN assigned
  1. ;IHS/SET/HMW 6-24-2003 **14** Replaced line below with following line to test for ADEIEN(1)
  1. ;I ADETXT,ADETXT>1!(ADETEXT(1)'="") D WP^DIE(ADEFILE,ADEIEN(1)_",",ADEWPFLD,,"ADETEXT","ADEEMSG")
  1. I +$G(ADEIEN(1)),ADETXT,ADETXT>1!(ADETEXT(1)'="") D WP^DIE(ADEFILE,ADEIEN(1)_",",ADEWPFLD,,"ADETEXT","ADEEMSG")
  1. K ADETEXT,ADEEMSG,ADEIEN
  1. Q
  1. ;
  1. KILL ;
  1. K ADEADA,ADECNT,ADECODE,ADEDESC,ADEDONE,ADEFDA,ADEFILE,ADEICD9,ADEID,ADEIENST,ADELEV,ADEMIN,ADEMNE,ADERLN,ADERN,ADERTN,ADESYN,ADETDT,ADETEXT,ADETXT,ADEUSE,ADEWPFLD,DA,DIC,DIE,DR,X
  1. Q