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

ECEDU.m

Go to the documentation of this file.
  1. ECEDU ;BIR/MAM,JPW-Enter Event Capture Data (cont'd) ;6 Mar 96
  1. ;;2.0; EVENT CAPTURE ;**10,18,23,47,63,72**;8 May 96
  1. HDR ;hdr for filing
  1. W @IOF,!,"ENTERING A NEW PROCEDURE FOR "_ECPAT_" ...",!!,"LOCATION: "_ECLN,!,"SERVICE: "_ECSN,!,"SECTION: "_ECMN,!,"CATEGORY: "_ECCN,!!,"PROCEDURE: "
  1. W $S(ECCPT="":"",1:ECPTCD_" ")_$E(ECPN,1,50)
  1. I SYN]"",SYN'["NOT DEFINED" W " ["_SYN_"]"
  1. W " (#"_NATN_")"
  1. Q
  1. MSGC ;msg cat
  1. W !!,"Please enter the number that corresponds to the "_$S(EC1:"procedure",1:"category")_" from which",!,"you would like to select a procedure. If you would like to continue",!,"with the list, press <RET>. Enter ^ to quit."
  1. S CNT=CNT-5
  1. Q
  1. HDR1 ; heading
  1. W @IOF,!,"Patient: "_ECPAT,?40,"Procedure Date: "_ECDATE,!!,"Location: "_ECLN,?40,"Service: "_ECSN,!,"Section: "_ECMN,?40,"DSS Unit: "_ECDN W:$D(ECCN) !,"Category: "_ECCN
  1. Q
  1. MSG W !!,"No procedures entered. No Action Taken.",!!,"Press <RET> to continue " R X:DTIME S ECOUT=1
  1. Q
  1. SETE ;set edit
  1. N ECPXD
  1. S DA=+EC(EC),EC(0)=^ECH(DA,0),ECC=+$P(EC(0),"^",8),ECCN=$S('ECC:"None",$P($G(^EC(726,ECC,0)),"^")]"":$P(^(0),"^"),1:"UNKNOWN")
  1. S (ECP,ECPROF)=$P(EC(0),"^",9)
  1. S ECPSY=+$O(^ECJ("AP",+ECL,+ECD,ECC,+ECP,""))
  1. S ECPSYN=$P($G(^ECJ(ECPSY,"PRO")),"^",2)
  1. S ECFILE=$S(ECPROF["EC":725,ECPROF["ICPT":81,1:"UNKNOWN")
  1. I ECFILE="UNKNOWN" S ECPN="UNKNOWN"
  1. S ECCPT=$S(ECP["ICPT":+ECP,1:$P($G(^EC(725,+ECP,0)),U,5))
  1. S (ECPTCD,ECPXD)="" I ECCPT'="" D
  1. . S ECPXD=$$CPT^ICPTCOD(ECCPT,$P(EC(0),U,3)) I +ECPXD>0 S ECPTCD=$P(ECPXD,U,2)
  1. I ECFILE=81 S ECPN=$S($P(ECPXD,U,3)]"":$P(ECPXD,U,3),1:"UNKNOWN")
  1. I ECFILE=725 S ECPN=$S($P($G(^EC(725,+ECP,0)),"^")]"":$P(^(0),"^"),1:"UNKNOWN")
  1. HDRE ; hdr for editing
  1. W @IOF,!,"EDITING A PROCEDURE FOR "_ECPAT_" ...",!!,"LOCATION: "_ECLN,!,"SERVICE: "_ECSN,!,"SECTION: "_ECMN,!,"CATEGORY: "_ECCN,!,"PROCEDURE: "_$S(ECCPT="":"",1:ECPTCD_" ")_ECPN_$S(ECPSYN="":"",1:" ["_ECPSYN_"]")
  1. Q
  1. DXEDT ;ALB/JAM - Edit Primary and multiple secondary dx codes
  1. N PXUPD,IEN,ECPDX,ECDXS,ECDT,ECDXI
  1. S EC4=$P($G(^ECH(ECFN,0)),"^",19),(ECDX,ECDXN)="",ECDT=ECNEWDT
  1. S ECPDX=$$PDXCK^ECUTL2(ECDFN,ECNEWDT,ECL,EC4),IEN="" K ECDXIEN(ECFN)
  1. ;update primary diagnoses code
  1. S ECDX=ECDX1,ECDXI=$$ICDDX^ICDCODE(ECDX1,ECNEWDT),ECDXN=$P(ECDXI,U,2)
  1. W !,"Primary ICD-9 Code: ",ECDXN," ",$P(ECDXI,U,4)
  1. D PDX^ECUTL2 I ECOUT=1 Q
  1. S ECDX1=ECDX
  1. S DA=ECFN,DR="20////"_ECDX1 D ^DIE K DIE
  1. ;check for any changes to primary dx
  1. S ECDX1=X,IEN=""
  1. F S IEN=$O(ECDXIEN(IEN)) Q:IEN="" I $P(ECDXIEN(IEN),U,2)'=ECDX1 D Q
  1. .W !?5,"WARNING: More than 1 Primary diagnoses exist for this encounter. All"
  1. .W !?14,"Procedures will be updated to have same primary & secondary dx"
  1. ; update secondary diagnosis codes
  1. D SDX^ECUTL2 S DXS=""
  1. K ECDXX M ECDXX=ECDXS K ECDXS
  1. ;Update all procedures for the encounter with same primary dx
  1. S PXUPD=$$PXUPD^ECUTL2(ECDFN,ECNEWDT,ECL,EC4,ECDX1,.ECDXX)
  1. K PXUPD,ECDXX S DA=ECFN
  1. Q
  1. F S DXS=$O(ECDXS(DXS)) Q:DXS="" S DXSIEN=$P(ECDXS(DXS),U) D:DXSIEN>0
  1. . K DIC,DD,DO 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 D FILE^DICN
  1. K DXSIEN,DXS,ECDXX,DIC M ECDXX=ECDXS K ECDXS