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

ECBEPF.m

Go to the documentation of this file.
  1. ECBEPF ;BIR/MAM,JPW-Stuff Batch Entry by Procedure (cont'd) ;2 Mar 96
  1. ;;2.0; EVENT CAPTURE ;**4,5,13,17,18,23,42,54,72,76**;8 May 96;Build 6
  1. CRAM ; entry
  1. S ECDT=$P(ECA,"^"),ECL=$P(ECA,"^",2),ECS=$P(ECA,"^",3),ECM=$P(ECA,"^",4),ECD=$P(ECA,"^",5)
  1. S ECPCE=$P(ECA,"^",6)
  1. S (CNT,CNT1)=0 F S CNT1=$O(ECPT(CNT1)) Q:'CNT1 D SET F S CNT=$O(ECEC(CNT)) Q:'CNT D DIE
  1. END D ^ECKILL K DLAYGO S:$D(ZTQUEUED) ZTREQ="@"
  1. Q
  1. SET ;
  1. S ECPS=$P(ECPT(CNT1),"^"),ECO=$P(ECPT(CNT1),"^",3),ECV=+$P(ECPT(CNT1),"^",5)
  1. S ECDX=$P(ECPT(CNT1),"^",6),ECINP=$P(ECPT(CNT1),"^",7),ECVST=$P(ECPT(CNT1),"^",8),ECSC=$P(ECPT(CNT1),"^",9),ECAO=$P(ECPT(CNT1),"^",10),ECIR=$P(ECPT(CNT1),"^",11)
  1. S ECZEC=$P(ECPT(CNT1),"^",12),EC4=$P(ECPT(CNT1),"^",13),ECID=$P(ECPT(CNT1),"^",14)
  1. S ECMST=$P(ECPT(CNT1),"^",15),ECHNC=$P(ECPT(CNT1),"^",16),ECCV=$P(ECPT(CNT1),"^",17),ECSHAD=$P(ECPT(CNT1),"^",18)
  1. S ECELIG=$G(ECELPT(CNT1))
  1. Q
  1. DIE ;
  1. L +^ECH(0):60 S ECRN=$P(^ECH(0),"^",3)+1 I $D(^ECH(ECRN)) S $P(^ECH(0),"^",3)=$P(^ECH(0),"^",3)+1 L -^ECH(0) G DIE
  1. L -^ECH(0) K DD,DO,DIC S X=ECRN,DIC(0)="L",DLAYGO=721,DIC="^ECH(" D FILE^DICN K DIC S ECFN=+Y
  1. S ECNODE=ECEC(CNT),ECC=+$P(ECNODE,"^"),ECP=$P(ECNODE,"^",2),ECPRPTR=$P(ECNODE,"^",12)
  1. S ECCPT=$P(ECNODE,"^",9)
  1. ; set the zero node
  1. S ^ECH(ECFN,0)=ECFN_"^"_ECPS_"^"_ECDT_"^"_ECL_"^"_ECS_"^"_ECM_"^"_ECD_"^"_ECC_"^"_ECP_"^"_ECV_"^^"_ECO_"^"_ECDUZ_"^^^^^^"_EC4_"^"_ECID_"^"_ECVST_"^"_ECINP
  1. ;ALB/JAM file multiple providers (EC*2*72)
  1. S ECFIL=$$FILPRV^ECPRVMUT(ECFN,.ECPRVARY,.ECOUT) K ECFIL
  1. ;ALB/ESD - Set procedure reason into zero node
  1. I +ECPRPTR S $P(^ECH(ECFN,0),"^",23)=+ECPRPTR
  1. ;set the "P" node
  1. S ^ECH(ECFN,"P")=ECCPT_"^"_ECDX_"^"_ECAO_"^"_ECIR_"^"_ECZEC_"^"_ECSC
  1. S $P(^ECH(ECFN,"P"),"^",9,12)=ECMST_"^"_ECHNC_"^"_ECCV_"^"_ECSHAD
  1. ;add secondary diagnosis codes
  1. I $O(ECPT(CNT1,"DXS",""))'="" D K DXSIEN,DXS
  1. . S DXS="" F S DXS=$O(ECPT(CNT1,"DXS",DXS)) Q:DXS="" D
  1. . . S DXSIEN=$P(ECPT(CNT1,"DXS",DXS),U) I DXSIEN<0 Q
  1. . . K DIC,DD,DO
  1. . . S DIC(0)="L",DA(1)=ECFN,DIC="^ECH("_DA(1)_","_"""DX"""_","
  1. . . S DIC("P")=$P(^DD(721,38,0),U,2),X=DXSIEN
  1. . . D FILE^DICN
  1. K ECDXX M ECDXX=ECPT(CNT1,"DXS")
  1. S PXUPD=$$PXUPD^ECUTL2(ECPS,ECDT,ECL,EC4,ECDX,.ECDXX,ECFN) K PXUPD,ECDXX
  1. ;add CPT procedure modifiers
  1. I $O(ECEC(CNT,"MOD",""))'="" D K MODIEN,MOD
  1. . S MOD="" F S MOD=$O(ECEC(CNT,"MOD",MOD)) Q:MOD="" D
  1. . . S MODIEN=$P(ECEC(CNT,"MOD",MOD),U,2) I MODIEN<0 Q
  1. . . K DIC,DD,DO
  1. . . S DIC(0)="L",DA(1)=ECFN,DIC="^ECH("_DA(1)_","_"""MOD"""_","
  1. . . S DIC("P")=$P(^DD(721,36,0),U,2),X=MODIEN
  1. . . D FILE^DICN
  1. XREF ; sets crossreferences
  1. S DIK="^ECH(",DA=ECFN D IX1^DIK K DA,DIK
  1. PCE ;format data to send PCE
  1. Q:$P(ECPCE,"~",2)="N" I $P(ECPCE,"~",2)="O"&(ECINP'="O") Q
  1. D PCE^ECBEN2U
  1. Q