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

AMHEGRCP.m

Go to the documentation of this file.
  1. AMHEGRCP ; IHS/CMI/LAB - NEW PROGRAM ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;**2,4**;JUN 18, 2010;Build 28
  1. ;
  1. ;
  1. ;GET CPTS
  1. ;CALLED IN RECORD ADD
  1. EP2 ;EP
  1. S APCDOVRR=""
  1. D EN^XBNEW("EP^AMHEGRCP","AMHR;AMHPAT;AMHLOC;AMHDATE;APCDOVRR;AMHGROUP")
  1. Q
  1. EP ;EP - ask for CPT and file each
  1. I 'AMHR W !!,"NO RECORD DEFINED!!" D XIT Q
  1. I '$D(^AMHREC(AMHR)) W !!,"NO RECORD!!" D XIT Q
  1. S APCDOVRR=""
  1. S AMHDONE="" F S AMHCPT="" D CPT Q:AMHDONE=1
  1. D XIT
  1. Q
  1. CPT ;
  1. S AMHDT=$P(AMHDATE,".")
  1. W !!?3,"CPT's currently recorded on this visit:"
  1. I '$D(^AMHRPROC("AD",AMHR)) S AMHC=0 W " None recorded" G FM12
  1. ;D EN^DDIOL("P","","!?3"),EN^DDIOL("Start Date","","?43"),EN^DDIOL("End Date","","?63")
  1. D EN^DDIOL($$REPEAT^XLFSTR("-",75),"","!?3")
  1. K AMHCM S X=0,AMHC=0 F S X=$O(^AMHRPROC("AD",AMHR,X)) Q:X'=+X D
  1. .S AMHC=AMHC+1,AMHCM(AMHC)=X
  1. .W !?2,AMHC,") ",$$VAL^XBDIQ1(9002011.04,X,.01),?14,$P($$CPT^ICPTCOD($$VAL^XBDIQ1(9002011.04,X,.01)),U,3)
  1. .W !?10,"Quantity: ",$$VAL^XBDIQ1(9002011.04,X,.16)
  1. .W !?10,"Modifier: ",$$VAL^XBDIQ1(9002011.04,X,.08)
  1. .W !?10,"2nd Modifier: ",$$VAL^XBDIQ1(9002011.04,X,.09)
  1. FM12 ;
  1. D EN^DDIOL("","","!!")
  1. K DIR
  1. S DIR(0)="S^A:Add a CPT;E:Edit a CPT"_$S(AMHC:";D:Delete an Existing CPT",1:"")_";N:No Change"
  1. S DIR("A")="Which action",DIR("B")="N" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) G FM13
  1. I Y="N" S AMHDONE=1 G FM13
  1. S Y="FM"_Y
  1. D @Y
  1. G CPT
  1. FM13 ;
  1. K Y
  1. Q
  1. ;
  1. FMD ;
  1. D EN^DDIOL("","","!")
  1. K DIR
  1. S DIR(0)="N^1:"_AMHC_":0",DIR("A")="Delete Which One" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) Q
  1. K DIC,DA,DR
  1. S DA=AMHCM(Y),DIK="^AMHRPROC(" D ^DIK K DA,DIK
  1. Q
  1. FMA ;
  1. S DIC("A")="CPT for this patient: ",DIC("S")="D CPT^AMHUTIL1(Y,$S($G(AMHDATE):AMHDATE,$G(AMHR):$P($P($G(^AMHREC(AMHR,0)),U),"".""),1:DT))"
  1. S DIC="^ICPT(",DIC(0)="AEMQ"
  1. W ! D ^DIC
  1. I Y=-1 D ^XBFMK Q
  1. S AMHCPT=$P(Y,U,2),AMHCPTP=+Y
  1. ;call FILE^DICN to file this CPT
  1. ;
  1. D ^XBFMK
  1. K DD,D0,DO,DINUM,DIC,DA,DR S DIC(0)="EL",DIC="^AMHRPROC(",DLAYGO=9002011.04,DIADD=1,X=AMHCPTP
  1. D FILE^DICN K DIC,DR,DIE,DIADD,DLAYGO,X,D0
  1. I Y=-1 D ^XBFMK,XIT W !!,$C(7),$C(7),"Behavioral Health CPT failed!! Notify Site Manager." Q
  1. S AMHRPROC=+Y,AMHCPTR=^AMHRPROC(AMHRPROC,0)
  1. D ^XBFMK
  1. S DIE("NO^")="",DA=AMHRPROC,DIE="^AMHRPROC(",DR=".02////"_$G(AMHPAT)_";.03////"_AMHR_";.16//1;.08;.09" S DIE("NO^")="" D CALLDIE^AMHLEIN
  1. S AMHCPTR=^AMHRPROC(AMHRPROC,0)
  1. Q
  1. ;
  1. XIT ;
  1. K DIADD,DLAYGO
  1. K AMHTX,AMHTY,AMHNARR,AMHLEPT,AMHNUM,AMHCPT,AMHCPTP,AMHCPTR,AMHRPROC,AMHDT,AMHLOOK
  1. Q
  1. FME ;
  1. D EN^DDIOL("","","!")
  1. K DIR
  1. S DIR(0)="N^1:"_AMHC_":0",DIR("A")="Edit Which One" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) Q
  1. K DIE,DA,DR
  1. S DA=AMHCM(Y),DIE="^AMHRPROC("
  1. S DR=".01;.16;.08;.09"
  1. D ^DIE
  1. K DIE,DA,DR
  1. Q