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

BMCCLO.m

Go to the documentation of this file.
  1. BMCCLO ; IHS/PHXAO/TMJ - CLOSE OUT A REFERRAL ; [ 09/27/2006 1:32 PM ]
  1. ;;4.0;REFERRED CARE INFO SYSTEM;**1,2,8,9**;JAN 09, 2006;Build 101
  1. ;
  1. ; This option allows the RCIS manager to select and close out
  1. ; referrals.
  1. ;BMC*4.0*8;IHS/OIT/FCJ; ADDED SNOMED PROMPT AND TEST FOR TOC PENDING
  1. ;
  1. ;
  1. START ;
  1. S BMCCLOSE=1
  1. F D MAIN Q:BMCQ D HDR^BMC
  1. D EOJ
  1. Q
  1. ;
  1. MAIN ;
  1. S BMCQ=0
  1. D REFERRAL ; get referral record to close out
  1. Q:BMCQ
  1. D GETSNO^BMCADD3 ;bmc*4.0*8 Set snomed code
  1. D FINAL ; get final values
  1. D STATUS ; get final status
  1. Q:BMCQ
  1. D VERIFY ; make sure all required fields present
  1. Q:BMCQ
  1. D CLOSE ; close out referral
  1. D PCCL
  1. Q
  1. ;
  1. REFERRAL ; GET REFERRAL TO CLOSE
  1. ;S BMCQ=1 ;BMC*4.0*8
  1. W !
  1. ;S DIC="^BMCREF(",DIC(0)="AEMQ",DIC("S")="I $$FILTER^BMCFLTR(2,BMCCURFY,0)",DIC("A")="Select RCIS REFERRAL by Patient or by Referral Date or #: "
  1. S DIC="^BMCREF(",DIC(0)="AEMQ",DIC("S")="I $$FILTER^BMCFLTR(2,BMCCURFY,2)",DIC("A")="Select RCIS REFERRAL by Patient or by Referral Date or #: "
  1. D DIC^BMCFMC
  1. ;Q:Y<1 ;BMC*4.0*8
  1. I Y<1 S BMCQ=1 Q ;BMC*4.0*8
  1. S BMCRIEN=+Y
  1. ;BMC*4.0*8 NEW TEST FOR TOC
  1. I $P($G(^BMCREF(BMCRIEN,13)),U,3),$P(^BMCREF(BMCRIEN,0),U,15)="A1",$P(^BMCREF(BMCRIEN,13),U,4)="P" D Q:BMCQ
  1. .W !,"The Transfer of Care Document has not been printed, faxed or transmitted."
  1. .W !,"Please complete this before closing the Referral.",!
  1. .S DIR(0)="YO",DIR("A")="Do you want to quit the close process",DIR("B")="Y" K DA D ^DIR K DIR
  1. .S:($D(DIRUT))!(Y) BMCQ=1
  1. ;BMC*4.0*8 END OF CHANGES
  1. S BMCQ=0
  1. Q
  1. ;
  1. FINAL ; GET FINAL VALUES
  1. S DIR(0)="YO",DIR("A")="Do you want to enter final values",DIR("B")="Y" K DA D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. Q:'Y
  1. S (BMCDXT,BMCPXT)="F"
  1. S BMCMODE="M" ;BMC*4.0*1 IHS/OIT/FCJ 1.19.06
  1. S BMCDOS=$$AVDOS^BMCRLU(BMCRIEN,"N") ;BMC*4.0*9
  1. F D TYPE^BMCMOD Q:BMCQ ; modify referral
  1. S BMCQ=0
  1. Q
  1. ;
  1. STATUS ; GET FINAL STATUS
  1. W !!
  1. F D STATUS2 Q:BMCQ!(BMCSTAT]"")
  1. Q
  1. ;
  1. STATUS2 ;
  1. ;BMC 4.0*2 8/17/06 IHS/OIT/FCJ REMOVED "A" AS AN OPTION NXT SECTION
  1. S BMCSTAT=""
  1. ;S DIR(0)="90001,.15",DIR("A")="Enter Final Status",DIR("B")="C1" K DA D ^DIR K DIR
  1. S DIR(0)="S^C1:CLOSED COMPLETED;X:CLOSED NOT COMPLETED"
  1. S DIR("A")="Enter Final Status",DIR("B")="C1" K DA D ^DIR K DIR
  1. I $D(DIRUT) S BMCQ=1 Q
  1. S BMCSTAT=Y
  1. ;I BMCSTAT="A" S BMCSTAT="" W " Final status cannot be 'ACTIVE'",!,*7 Q
  1. Q
  1. ;
  1. VERIFY ; MAKE SURE ALL REQUIRED FIELDS ARE PRESENT
  1. Q:BMCSTAT'="C1"
  1. F D VERIFY2 Q:BMCLQ
  1. Q
  1. ;
  1. VERIFY2 ;
  1. S BMCLQ=0
  1. D VERIFY3
  1. Q:BMCLQ
  1. W !,*7
  1. S DIR(0)="Y",DIR("A")="Required fields missing. Do you want to enter them",DIR("B")="Y" K DA D ^DIR K DIR
  1. I 'Y S (BMCLQ,BMCQ)=1 Q
  1. S DIE="^BMCREF(",DA=BMCRIEN
  1. D DIE^BMCFMC
  1. Q
  1. ;
  1. VERIFY3 ;
  1. S DR=""
  1. I BMCRTYPE="C" S X=.07 D VERIFYRQ
  1. I BMCRTYPE="I" S X=.08 D VERIFYRQ
  1. ; should require either .07 or .09 if type='o'
  1. F X=1102,1104,1106,1108 D VERIFYRQ
  1. I BMCRIO="I" S X=1110 D VERIFYRQ
  1. S:$E(DR)=";" $E(DR)=""
  1. I DR="" S BMCLQ=1 K DR Q
  1. SNOCLS ;EP FR BMCCHS;BMC*4.0*8 7.22.13 IHS.OIT.FCJ; ADD SNOMED CODE WHEN CLOSED-COMPLETED AND ACTUAL DOS
  1. Q:$D(^BMCREF(BMCRIEN,23,"B",371531000))
  1. S DIC="^BMCREF(",X=371531000
  1. S DIADD=1,DIC(0)="L",LAYGO=90001 S:'$D(^BMCREF(BMCRIEN,23)) DIC("P")=90001.23
  1. S DIC=DIC_BMCRIEN_",23,",DA(1)=BMCRIEN
  1. D ^DIC
  1. I +Y<0 W !,"The closure snomed clinical term was not added to the referral."
  1. Q
  1. ;
  1. VERIFYRQ ; CHK REQUIRED FIELDS
  1. I $$VALI^XBDIQ1(90001,BMCRIEN,X)="" S DR=DR_";"_X
  1. Q
  1. ;
  1. CLOSE ; CLOSE REFERRAL RECORD
  1. S DIE="^BMCREF(",DR="[BMC REFERRAL STATUS]",DA=BMCRIEN
  1. D DIE^BMCFMC
  1. Q
  1. ;
  1. PCCL ; PCC LINK
  1. I $$VALI^XBDIQ1(90001,BMCRIEN,".15")="C1" D ^BMCPCCL
  1. Q
  1. ;
  1. EOJ ; END OF JOB
  1. K BMCMODE D ^BMCKILL ;BMC*4.0*1 IHS/OIT/FCJ 1.19.06
  1. ;D ^BMCKILL
  1. Q