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

ABMPT259.m

Go to the documentation of this file.
  1. ABMPT259 ; IHS/ASDST/SDR - 3P BILLING 2.5 Patch 9 POST INIT ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ;
  1. ;
  1. Q
  1. PREINST ;
  1. Q
  1. EN ; EP
  1. D ERRCODES ; add new error codes
  1. D EXPMUDT ;update export mode with new questions
  1. D XREF ;index GROUP CONTROL NUMBER in 3P TX Status file
  1. D ECODES ;add new 3P Codes
  1. D ZNODE ;populate 0-node for 3P Cancelled Claims Data
  1. D TCODE ;Change TRANCODE to TRANSCODE
  1. D QUES ;add questions to 3P Page 3 Questions file
  1. D POSTF ;populated export mode on past POS claims
  1. D NEWVT ;new Visit Type for task 2
  1. D REINDEX ;reindex Provider Taxonomy file
  1. D TPCODES ;fix entries 1-9 to be 01-09 and re-index
  1. I $G(^DD(9002274.3021,.18,0))="" D ^ABMPRVCV ;convert provider to multiple for claims and bills; only do once
  1. D NEWCRSN ;new canceled claim reasons
  1. Q
  1. ERRCODES ;
  1. ;215 - supervising provider missing ID#
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=215
  1. S X="SUPERVISING PROVIDER MISSING ID NUMBER"
  1. S DIC("DR")=".02///Edit Supervising Provider on page 3 and enter UPIN"
  1. S DIC("DR")=DIC("DR")_";.03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(215)
  1. ;198 - bill type must be ##5 if delayed reason code is other
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=198
  1. S X="BILL TYPE MUST BE ##5 IF DELAYED REASON CODE IS OTHER"
  1. S DIC("DR")=".02///Change bill type or delayed reason code"
  1. S DIC("DR")=DIC("DR")_";.03///W"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(198)
  1. ;214 - delayed reason code with no remarks
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=214
  1. S X="DELAYED REASON CODE WITH NO REMARKS"
  1. S DIC("DR")=".02///Put remarks on page 9F"
  1. S DIC("DR")=DIC("DR")_";.03///W"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(214)
  1. ;216 - provider on line item with no address
  1. K DIC,X
  1. S DIC="^ABMDERR("
  1. S DIC(0)="LM"
  1. S DINUM=216
  1. S X="PROVIDER ON LINE ITEM WITH NO ADDRESS"
  1. S DIC("DR")=".02///Add address for provider"
  1. S DIC("DR")=DIC("DR")_";.03///E"
  1. K DD,DO
  1. D FILE^DICN
  1. D SITE(216)
  1. Q
  1. SITE(ABMX) ;Add SITE multiple
  1. S DUZHOLD=DUZ(2)
  1. S DUZ(2)=0
  1. F S DUZ(2)=$O(^ABMDCLM(DUZ(2))) Q:'+DUZ(2) D
  1. .S DIC(0)="LX"
  1. .S DA(1)=ABMX
  1. .S DIC="^ABMDERR("_DA(1)_",31,"
  1. .S DIC("P")=$P(^DD(9002274.04,31,0),U,2)
  1. .S DINUM=DUZ(2)
  1. .S X=$P($G(^DIC(4,DUZ(2),0)),U)
  1. .S DIC("DR")=".03////E"
  1. .D ^DIC
  1. .K DA,DIC,DINUM
  1. S DUZ(2)=DUZHOLD
  1. K DUZHOLD,DLAYGO,ABMX
  1. Q
  1. EXPMUDT F ABMEXPM=3,14,15,22 D
  1. .S ABMQUES=$P($G(^ABMDEXP(ABMEXPM,0)),U,8)
  1. .Q:ABMQUES["25"
  1. .S ABMQUES=ABMQUES_",25"
  1. .S DIE="^ABMDEXP("
  1. .S DA=ABMEXPM
  1. .S DR=".08////"_ABMQUES
  1. .D ^DIE
  1. ;
  1. F ABMEXPM=21,51 D
  1. .S ABMQUES=$P($G(^ABMDEXP(ABMEXPM,0)),U,8)
  1. .Q:ABMQUES["31"
  1. .S ABMQUES=ABMQUES_",31"
  1. .S DIE="^ABMDEXP("
  1. .S DA=ABMEXPM
  1. .S DR=".08////"_ABMQUES
  1. .D ^DIE
  1. Q
  1. XREF ;
  1. K DIC,DIE,DR,DA,X,Y
  1. S DUZHOLD=DUZ(2)
  1. S DUZ(2)=0
  1. F S DUZ(2)=$O(^ABMDTXST(DUZ(2))) Q:'+DUZ(2) D
  1. .S DIK="^ABMDTXST(DUZ(2),"
  1. .S DIK(1)=".16^C"
  1. .D ENALL^DIK
  1. S DUZ(2)=DUZHOLD
  1. Q
  1. ECODES ;
  1. ; IM14745
  1. K DIC,X
  1. S DIC="^ABMDCODE("
  1. S DIC(0)="ML"
  1. S X="07"
  1. S DIC("DR")=".02///H"
  1. S DIC("DR")=DIC("DR")_";.03///TRIBAL 638 FREE-STANDING FACILITY"
  1. K DD,DO
  1. D FILE^DICN
  1. Q
  1. K DIC,X
  1. S DIC="^ABMDCODE("
  1. S DIC(0)="ML"
  1. S X="08"
  1. S DIC("DR")=".02///H"
  1. S DIC("DR")=DIC("DR")_";.03///TRIBAL 638 PROVIDER-BASED FACILITY"
  1. K DD,DO
  1. D FILE^DICN
  1. Q
  1. ZNODE ;
  1. S DUZHOLD=DUZ(2)
  1. S DUZ(2)=0
  1. F S DUZ(2)=$O(^ABMDCLM(DUZ(2))) Q:'+DUZ(2) D
  1. .S ABM("GL")="^ABMCCLMS(DUZ(2),0)"
  1. .S @ABM("GL")=^DIC(9002274.32,0)
  1. S DUZ(2)=DUZHOLD
  1. K DUZHOLD,ABM
  1. Q
  1. TCODE ;
  1. Q:'$D(^ABMPSTAT("B","Trancode missing"))
  1. S ABMTCODE=$O(^ABMPSTAT("B","Trancode missing",0))
  1. Q:ABMTCODE=0
  1. S DIE="^ABMPSTAT("
  1. S DA=ABMTCODE
  1. S DR=".01////Transcode missing"
  1. D ^DIE
  1. Q
  1. QUES ;
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMQUES("
  1. S DIC(0)="LM"
  1. S DLAYGO=9002274
  1. S DINUM=31,X="DELAYED REASON CODE"
  1. S DIC("DR")=".02////W31;.03////ABMDE30;.04////31;1////ABMDE3C"
  1. K DD,DO
  1. D ^DIC
  1. Q
  1. POSTF ;
  1. S ABMBDFN=0
  1. F S ABMBDFN=$O(^ABMDBILL(DUZ(2),ABMBDFN)) Q:+ABMBDFN=0 D
  1. .Q:$P($G(^ABMDBILL(DUZ(2),ABMBDFN,0)),U,7)'=901 ;not POS claim
  1. .S DIE="ABMDBILL(DUZ(2),"
  1. .S DA=ABMBDFN
  1. .S DR=".06////24"
  1. .D ^DIE
  1. Q
  1. NEWVT ;
  1. ;new visit type for Immunization for task 2
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMDVTYP("
  1. S DIC(0)="LM"
  1. S X="IMMUNIZATION"
  1. S DINUM=140
  1. D ^DIC
  1. Q
  1. REINDEX ;EP
  1. K DIK,DA,DR,DIE,DIC
  1. S DIK="^ABMPTAX("
  1. D IXALL^DIK
  1. Q
  1. TPCODES ;
  1. S ABMCODE=""
  1. F S ABMCODE=$O(^ABMDCODE("AC","O",ABMCODE)) Q:ABMCODE="" D
  1. .Q:$L(ABMCODE)>1 ;only want 1-digit occurrence codes
  1. .S ABMCIEN=$O(^ABMDCODE("AC","O",ABMCODE,0))
  1. .Q:+ABMCIEN=0
  1. .S DIE="^ABMDCODE("
  1. .S DA=ABMCIEN
  1. .S DR=".01////0"_ABMCODE
  1. .D ^DIE
  1. S DIK="^ABMDCODE("
  1. S DIK(1)=".02^AC"
  1. D ENALL^DIK
  1. Q
  1. NEWCRSN ;
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMCCLMR("
  1. S DIC(0)="LM"
  1. S X="RETURN TO STOCK"
  1. D ^DIC
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMCCLMR("
  1. S DIC(0)="LM"
  1. S X="OVER THE COUNTER MEDS"
  1. D ^DIC
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMCCLMR("
  1. S DIC(0)="LM"
  1. S X="LEFT WITHOUT BEING SEEN"
  1. D ^DIC
  1. K DIC,X,DINUM,DR,DLAYGO
  1. S DIC="^ABMCCLMR("
  1. S DIC(0)="LM"
  1. S X="TELEPHONE CONSULT"
  1. D ^DIC
  1. Q