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

ADEAPC1.m

Go to the documentation of this file.
  1. ADEAPC1 ; IHS/HQT/MJL - DENTAL PCC LINK PART 2 ; [ 04/02/2014 8:12 AM ]
  1. ;;6.0;ADE;**2,12,16,27**;March 25,1999;Build 14
  1. ;;IHS/OIT/GAB 6.4.14 Modified for ICD10 - PATCH 27
  1. ;;IHS/OIT/GAB 7.2015 Modified for ICD10 Maint. - PATCH 28
  1. ;------->CREATE NARRATIVE AND POV
  1. D VPOV
  1. ;------->V PROVIDER
  1. D VPRV
  1. ;------->V DENTAL
  1. D DENTRY D:$D(ADEW) DENTRY3
  1. ;------->SEND BULLETIN IF PROBLEMS
  1. D BULLT:$D(XMB)
  1. ;------->END
  1. K APCDALVR,ADEOP,ADEADA,ADEQTY,ADEI,ADEC,ADESER,ADEX,ADEFLG,ADEV,Y,XMB,ADECODE,ADEW,ADEVDFN
  1. Q
  1. VPOV ;EPFIC
  1. I $P(^ADEPCD(ADEDFN,0),U,7)]"" S APCDALVR("APCDTNQ")=$P(^(0),U,7)
  1. E S:'$D(APCDALVR("APCDTNQ")) APCDALVR("APCDTNQ")="DENTAL/ORAL HEALTH VISIT"
  1. S APCDALVR("APCDOVRR")=1
  1. ;/IHS/OIT/GAB 9.4.14 CHANGED BELOW FOR ICD10 PATCH 27
  1. ;S APCDALVR("APCDTPOV")="V72.2" S APCDALVR("APCDATMP")="[APCDALVR 9000010.07 (ADD)]" D EN^APCDALVR
  1. S APCDALVR("APCDTPOV")="V72.2"
  1. ;/IHS/OIT/GAB *** BEGIN PATCH 28 *****
  1. S VISDT=$P(APCDALVR("APCDDATE"),".")
  1. S I=$$IMP^ADEAPC1(VISDT)
  1. I I=30 S APCDALVR("APCDTPOV")="ZZZ.999"
  1. ;I (APCDALVR("APCDDATE"))>I10DATE S APCDALVR("APCDTPOV")="ZZZ.999"
  1. ;/IHS/OIT/GAB END ICD10 CHANGES
  1. S APCDALVR("APCDATMP")="[APCDALVR 9000010.07 (ADD)]" D EN^APCDALVR
  1. K APCDOVRR,APCDALVR("APCDOVRR")
  1. I $D(APCDALVR("APCDAFLG")) S XMB(3)="V POV" Q
  1. S ADEVDFN=APCDALVR("APCDADFN")
  1. D ADDPCC^ADEAPC2("302///"_ADEVDFN,ADEDFN)
  1. Q
  1. VPRV ;EP
  1. ;*IHS/HMW Uncomment next 8 lines and comment 9th line to implement
  1. ;VA200 changes
  1. ;N ADEDTPRO
  1. ;S ADEDTPRO=$P(^ADEPCD(ADEDFN,0),U,4)
  1. ;I '$D(^DIC(16,ADEDTPRO,"A3")) S XMB(4)="V PROVIDER" Q
  1. ;S ADEDTPRO=^DIC(16,ADEDTPRO,"A3")
  1. ;S APCDALVR("APCDTPRO")="`"_ADEDTPRO
  1. ;S APCDALVR("APCDTPS")="P"
  1. ;S APCDALVR("APCDATMP")="[APCDALVR 9000010.06 (ADD)]"
  1. ;D EN^APCDALVR
  1. ;TUC/DIR/MJL 9/2/99
  1. S APCDALVR("APCDTPRO")="`"_$S($P(^DD(9000010.06,.01,0),U,2)["P6":$P(^ADEPCD(ADEDFN,0),U,4),1:^DIC(16,$P(^ADEPCD(ADEDFN,0),U,4),"A3"))
  1. S APCDALVR("APCDTPS")="P",APCDALVR("APCDATMP")="[APCDALVR 9000010.06 (ADD)]" D EN^APCDALVR
  1. I $D(APCDALVR("APCDAFLG")) S XMB(4)="V PROVIDER" Q
  1. S ADEVDFN=APCDALVR("APCDADFN")
  1. D ADDPCC^ADEAPC2("303///"_ADEVDFN,ADEDFN)
  1. Q
  1. DENTRY ;EP IHS/SET/HMW **16** Added EP to permit external call
  1. S ADEH=1
  1. F ADEI=1:1:ADEC D
  1. . S APCDALVR("APCDTSC")="`"_ADEADA(ADEI)
  1. . S APCDALVR("APCDTNOU")=ADEQTY(ADEI)
  1. . S:ADEOP(ADEI)]"" APCDALVR("APCDTOS")="`"_ADEOP(ADEI)
  1. . S:ADETSUR(ADEI)]"" APCDALVR("APCDTSUR")=ADETSUR(ADEI)
  1. . S APCDALVR("APCDATMP")="[APCDALVR 9000010.05 (ADD)]"
  1. . S APCDALVR("APCDTFEE")=$G(ADETFEE(ADEI)) ;IHS/SET/HMW **12** pass fee to PCC
  1. . D EN^APCDALVR
  1. . K APCDALVR("APCDTOS")
  1. . K APCDALVR("APCDTSUR")
  1. . D DENTRY2
  1. I '$D(ADEAPC) K ADEH,ADEG Q
  1. I +ADEAPC(1) D ADDPCC^ADEAPC2("304///"_ADEAPC(1),ADEDFN)
  1. I $D(ADEAPC(2)) D ADDPCC^ADEAPC2("401///"_ADEAPC(2),ADEDFN)
  1. I $D(ADEAPC(3)) D ADDPCC^ADEAPC2("501///"_ADEAPC(3),ADEDFN)
  1. K ADEH,ADEG,ADEQ,ADEAPC Q
  1. DENTRY2 I $D(APCDALVR("APCDAFLG")) S ADEW=ADEI,ADECODE(ADEW)=$P(^AUTTADA(ADEADA(ADEI),0),U,1) Q
  1. S ADEVDFN=APCDALVR("APCDADFN")
  1. I $D(ADEAPC(ADEH)) S ADEAPC(ADEH)=ADEAPC(ADEH)_"|"_ADEVDFN S:$L(ADEAPC(ADEH))>180 ADEH=ADEH+1 Q
  1. S ADEAPC(ADEH)=ADEVDFN
  1. Q
  1. DENTRY3 ;EP IHS/SET/HMW **16** Added EP to permit external call
  1. S ADEW="" F ADEL=0:0 S ADEW=$O(ADECODE(ADEW)) Q:ADEW="" S $P(XMB(5)," ",ADEW)=ADECODE(ADEW)
  1. Q
  1. BULLT ;EP IHS/SET/HMW **16** Added EP to permit external call
  1. S Y=$P(^ADEPCD(ADEDFN,0),U,2) X ^DD("DD")
  1. S XMB(1)=$P(^DPT(ADEPAT,0),U)_" Patient DFN= "_ADEPAT,XMB(2)=Y,XMB(6)=APCDALVR("APCDVSIT"),XMB="ADEDENTAL" S XMDUZ=.5 S:'ADENEWVS XMB(8)="***THIS DATA FOR A VISIT BEING MODIFIED***"
  1. D ^XMB
  1. Q
  1. IMP(D) ; which coding system should be used
  1. ;/IHS/OIT/GAB ADDED THIS FUNCTION FOR ICD10 PATCH #28
  1. ;RETURN IEN of entry in ^ICDS
  1. ;1 = ICD9
  1. ;30 = ICD10
  1. ;
  1. I $G(D)="" S D=DT
  1. NEW X,Y,IMPDT
  1. I '$O(^ICDS("F",80,0)) Q 1
  1. S Y=""
  1. S X=0 F S X=$O(^ICDS("F",80,X)) Q:X'=+X D
  1. .I $P(^ICDS(X,0),U,4)="" Q ;NO IMPLEMENTATION DATE
  1. .S IMPDT=$P(^ICDS(X,0),U,4)
  1. ;Compare the visit date to ensure it should use ICD10
  1. I D>(IMPDT-1) S Y=30
  1. E S Y=1
  1. Q Y