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

ABMCPTCK.m

Go to the documentation of this file.
  1. ABMCPTCK ; IHS/SD/SDR - Claim Summary-CPT check ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ;
  1. ; IHS/SD/SDR - v2.5 p9 - task 2
  1. ; Created routine to check for existance of CPT codes
  1. ; in V files. Visit DFN (ABMVDFN) and list of CPTs (ABMLIST) must be passed
  1. ; IHS/SD/SDR - v2.5 p10 - IM20329
  1. ; Added Published Entry Point to return list of CPTs on visit
  1. ;
  1. ; IHS/SD/SDR - v2.6 CSV
  1. ;
  1. CPTCHK(ABMVDFN,ABMLIST) ;PEP-Check if CPT codes exist on visit
  1. Q:$G(ABMVDFN)=""
  1. S ABMCFLG=0
  1. D VISIT Q:ABMCFLG=1 ABMCFLG
  1. D PROC Q:ABMCFLG=1 ABMCFLG
  1. D PATED Q:ABMCFLG=1 ABMCFLG
  1. D CPT Q:ABMCFLG=1 ABMCFLG
  1. D TRANS Q:ABMCFLG=1 ABMCFLG
  1. D LINEITEM Q:ABMCFLG=1 ABMCFLG
  1. Q ABMCFLG
  1. CPTLIST(ABMPCDFN) ;PEP-create list of CPTs on visit
  1. S ABMCPTS=1
  1. K ABMLIST
  1. S ABMVDFN=0
  1. F S ABMVDFN=$O(^ABMDCLM(DUZ(2),ABMPCDFN,11,ABMVDFN)) Q:+ABMVDFN=0 D
  1. .D VISIT
  1. .D PROC
  1. .D PATED
  1. .D CPT
  1. .D TRANS
  1. .D LINEITEM
  1. Q ABMCPTS
  1. VISIT ; note: must be in range 99201-99499 (E&M codes)
  1. S ABMCFLG=0
  1. Q:$P($G(^AUPNVSIT(ABMVDFN,0)),U,17)=""
  1. S ABMICPT=$P($G(^AUPNVSIT(ABMVDFN,0)),U,17)
  1. I $D(ABMLIST($P($$CPT^ABMCVAPI(ABMICPT,ABMP("VDT")),U,2))) S ABMCFLG=1 ;CSV-c
  1. I $G(ABMCPTS)=1 S ABMCPTS($P($$CPT^ABMCVAPI(ABMICPT,ABMP("VDT")),U,2))="" ;CSV-c
  1. Q
  1. PROC ;
  1. S ABMCFLG=0
  1. S ABMIEN=0
  1. F S ABMIEN=$O(^AUPNVPRC("AD",ABMVDFN,ABMIEN)) Q:+ABMIEN=0 D Q:ABMCFLG=1
  1. .Q:$P($G(^AUPNVPRC(ABMIEN,0)),U,16)=""
  1. .S ABMICPT=$P($G(^AUPNVPRC(ABMIEN,0)),U,16)
  1. .I $D(ABMLIST($P($$CPT^ABMCVAPI(ABMICPT,ABMP("VDT")),U,2))) S ABMCFLG=1 ;CSV-c
  1. .I $G(ABMCPTS)=1 S ABMCPTS($P($$CPT^ABMCVAPI(ABMICPT,ABMP("VDT")),U,2))="" ;CSV-c
  1. Q
  1. PATED ;
  1. S ABMCFLG=0
  1. S ABMIEN=0
  1. F S ABMIEN=$O(^AUPNVPED("AD",ABMVDFN,ABMIEN)) Q:+ABMIEN=0 D Q:ABMCFLG=1
  1. .Q:$P($G(^AUPNVPED(ABMIEN,0)),U,9)=""
  1. .S ABMICPT=$P($G(^AUPNVPED(ABMIEN,0)),U,9)
  1. .I $D(ABMLIST($P($$CPT^ABMCVAPI(ABMICPT,ABMP("VDT")),U,2))) S ABMCFLG=1 ;CSV-c
  1. .I $G(ABMCPTS)=1 S ABMCPTS($P($$CPT^ABMCVAPI(ABMICPT,ABMP("VDT")),U,2))="" ;CSV-c
  1. Q
  1. CPT ;
  1. S ABMCFLG=0
  1. S ABMIEN=0
  1. F S ABMIEN=$O(^AUPNVCPT("AD",ABMVDFN,ABMIEN)) Q:+ABMIEN=0 D Q:ABMCFLG=1
  1. .Q:$P($G(^AUPNVCPT(ABMIEN,0)),U)=""
  1. .S ABMICPT=$P($G(^AUPNVCPT(ABMIEN,0)),U)
  1. .I $D(ABMLIST($P($$CPT^ABMCVAPI(ABMICPT,ABMP("VDT")),U,2))) S ABMCFLG=1 ;CSV-c
  1. .I $G(ABMCPTS)=1 S ABMCPTS($P($$CPT^ABMCVAPI(ABMICPT,ABMP("VDT")),U,2))="" ;CSV-c
  1. Q
  1. TRANS ;
  1. S ABMCFLG=0
  1. S ABMIEN=0
  1. F S ABMIEN=$O(^AUPNVTC("AD",ABMVDFN,ABMIEN)) Q:+ABMIEN=0 D Q:ABMCFLG=1
  1. .Q:$P($G(^AUPNVTC(ABMIEN,0)),U,7)=""
  1. .S ABMICPT=$P($G(^AUPNVTC(ABMIEN,0)),U,7)
  1. .I $D(ABMLIST($P($$CPT^ABMCVAPI(ABMICPT,ABMP("VDT")),U,2))) S ABMCFLG=1 ;CSV-c
  1. .I $G(ABMCPTS)=1 S ABMCPTS($P($$CPT^ABMCVAPI(ABMICPT,ABMP("VDT")),U,2))="" ;CSV-c
  1. Q
  1. LINEITEM ;
  1. S ABMCFLG=0
  1. S ABMIEN=0
  1. F S ABMIEN=$O(^AUPNVLI("AD",ABMVDFN,ABMIEN)) Q:+ABMIEN=0 D Q:ABMCFLG=1
  1. .Q:$P($G(^AUPNVLI(ABMIEN,0)),U,15)=""
  1. .S ABMICPT=$P($G(^AUPNVLI(ABMIEN,0)),U,15)
  1. .I $D(ABMLIST($P($$CPT^ABMCVAPI(ABMICPT,ABMP("VDT")),U,2))) S ABMCFLG=1 ;CSV-c
  1. .I $G(ABMCPTS)=1 S ABMCPTS($P($$CPT^ABMCVAPI(ABMICPT,ABMP("VDT")),U,2))="" ;CSV-c
  1. Q