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

BMCFDR2.m

Go to the documentation of this file.
  1. BMCFDR2 ; IHS/ITSC/FCJ - DRIVER TO PRINT SECONDARY REFERRAL LETTER ; [ 09/26/2006 4:01 PM ]
  1. ;;4.0;REFERRED CARE INFO SYSTEM;**2,3**;JAN 09, 2006;Build 101
  1. ;IHS/OIT/FCJ ADD LINE TO TEST FOR CLOSING SLAVE DEVICE
  1. ;ALSO ADDED CHECK FOR CHS STATUS AND UPDATE OPTION
  1. ;4.0*2 9-21-06 IHS/OIT/FCJ ASK TO PRNT CONSULT LETTER
  1. ;4.0*3 4.19.07 IHS/OIT/FCJ BMCCHSA IS A PARM VAR CHG TO BMCCHSAS
  1. ;
  1. ;This is the Main Driver Routine -
  1. ;RCIS REPORT OUTPUT DEFINITION - SECONDARY PROVIDER LETTER
  1. ;Calls PRINT ROUTINE BMCFPRN2
  1. ;Rewrote from original version no longer requires data entry
  1. ;4.0 All call now to BMCREF instead of BMCPROV, ask for prining of
  1. ; Prim ref HX and findings
  1. ; Added option to update CHS status
  1. ;
  1. START ;
  1. S BMCCPRV="",BMCAPDT="",BMCAPUR="",BMCDDT="",BMCDPUR=""
  1. W:$D(IOF) @IOF
  1. W "********** REFERRAL FORM PRINT-SECONDARY PROVIDER **********",!!
  1. W "This report will produce a hard copy computer generated",!,"Secondary Provider Letter",!
  1. S BMCQUIT=0
  1. S BMCCPRV="" ;Secondary Provider Name
  1. S BMCCPRVS="" ;Secondary Provider Specific
  1. S BMCAPPDT="" ;Secondary Provider Appointment Date
  1. S BMCAPUR="" ;Secondary Provider Purpose of Appointment
  1. GETREF ;get referral entry
  1. S BMCKIND=0 ; Determines If Type = IHS
  1. S DIR(0)="S^1:STANDARD;2:AHCCCS",DIR("A")="Enter Secondary Letter Type",DIR("B")="STANDARD",DIR("?")="Enter Letter Form Output Choice" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) G XIT
  1. S BMCHOICE=Y
  1. S BMCFTYPE=$S(BMCHOICE=1:4,BMCHOICE=2:6,1:4)
  1. W ! S DIR(0)="Y",DIR("A")="Do you want to include Primary referral History and Findings",DIR("B")="Y" D ^DIR K DIR Q:$D(DUOUT)
  1. S BMCPHX=+Y
  1. W !! S BMCREF=""
  1. S DIC="^BMCREF(",DIC(0)="AEMQ",DIC("A")="Select REFERRAL by Patient or by Referral Date or #: "
  1. S DIC("S")="I $$FILTER^BMCFLTR(0,0,1)"
  1. D DIC^BMCFMC
  1. G:Y=-1 XIT
  1. S (BMCREF,BMCDTIEN,BMCSRIEN)=+Y
  1. I $D(^BMCTFORM(BMCFTYPE,11)) X ^BMCTFORM(BMCFTYPE,11) G:BMCQUIT GETREF
  1. CHS I $P($G(^BMCREF(BMCSRIEN,0)),U,4)="C" D
  1. .;BMC*4.0 4.19.07 IHS/OIT/FCJ BMCCHSA IS A PARM VAR CHG NXT 3 LNS TO BMCCHSAS
  1. .S BMCCHSAS=$P($G(^BMCREF(BMCSRIEN,11)),U,12)
  1. .S BMCCHSAP=$$EXTSET^XBFUNC(90001,1112,BMCCHSAS)
  1. .I BMCCHSAS="" S BMCCHSAP="UNKNOWN"
  1. .W !!,?10,"**CHS APPROVAL STATUS**: ",BMCCHSAP,!!
  1. .;Ask if Edit CHS Approval Status
  1. .S DIR(0)="Y",DIR("A")="Do you wish to Change the Existing CHS Approval Status",DIR("?")="Enter Y for Yes or N for NO",DIR("B")="N" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. .Q:$D(DIRUT)
  1. .Q:Y=0
  1. .D CHSSTAT^BMCFDRC
  1. G:$D(DIRUT) XIT
  1. S (BMCRIEN,BMCREF)=$P(^BMCREF(BMCSRIEN,1),U,2)
  1. ;
  1. IHS ;IHS Type - Get IHS Facility
  1. I $P($G(^BMCREF(BMCSRIEN,0)),U,4)="I" D
  1. .S BMCCPRV=$P($G(^BMCREF(BMCSRIEN,0)),U,8) D
  1. .S BMCCPRVP=$P($G(^DIC(4,BMCCPRV,0)),U)
  1. .S BMCKIND=1
  1. ;
  1. ;
  1. GETPROV ;CHS Secondary Provider/Vendor
  1. S BMCCPRV=$P($G(^BMCREF(BMCSRIEN,0)),U,7)
  1. S:BMCCPRV BMCCPRVP=$P($G(^AUTTVNDR(BMCCPRV,0)),U)
  1. I $P(^BMCREF(BMCSRIEN,0),U,9) S BMCCPRVS=$$VAL^XBDIQ1(90001.53,$P(^BMCREF(BMCSRIEN,0),U,9),.01)
  1. ;
  1. APPTDT ;Appointment Date
  1. S BMCAPPDT=$P(^BMCREF(BMCSRIEN,11),U,6)
  1. ;
  1. PUR ;Purpose of Appointment
  1. S BMCAPUR=$P(^BMCREF(BMCSRIEN,12),U)
  1. ;
  1. ASKCON ;ASK TO PRINT CONSULT LETTER ;BMC*4.0*2 IHS/OIT/FCJ
  1. D ASKCON^BMCFDR
  1. ZIS ;
  1. W !! S XBRC="COMP^BMCFDR2",XBRP="PRINT^BMCFDR2",XBNS="BMC",XBRX="XIT^BMCFDR2"
  1. D ^XBDBQUE
  1. Q
  1. ;
  1. PRINT ;EP
  1. X:$D(^BMCTFORM(BMCFTYPE,12)) ^BMCTFORM(BMCFTYPE,12)
  1. Q
  1. XIT ;
  1. K BMCCAP,BMCCHSR,BMCDA,BMCFILE,BMCFTYPE,BMCIOM,BMCKPDA,BMCNODE,BMCPG,BMCQUIT,BMCR0,BMCREF,BMCRNS,BMCV,BMCWP,BMCX,BMCY,BMCI,BMCDFN
  1. K A,C,D,D0,D1,DA,DD,DDSFILE,DI,DIADD,DIC,DICR,DIE,DIK,DINUM,DIPGM,DIQ,DIR,DIWF,DIWL,DIWR,DLAYGO,DO,DQ,DR,DTOUT,F,G,I,J,N,P,T,X,Y,Z
  1. K BMCPROUT,BMCN,BMCNUM,BMCAGE,BMCFIRST,BMCLAST,BMCLTYP,BMCDTIEN,BMCCPRV,BMCAPPDT,BMCAPUR,BMCDTIEN,BMCCHSAP,BMCCHSAS
  1. K BMCAPDT,BMCHOICE,BMCKIND,BMCTYPE,BMCDDT,BMCDPUR,BMCCMT,BMCCPRVP,BMCCPRVS,BMCDT,BMCRIEN,BMCSRIEN,BMCR1,BMCPHX
  1. I $D(IO("S")) S IOP="`"_IOS D ^%ZIS
  1. Q
  1. COMP ;
  1. Q
  1. WP ;EP - Entry point to print wp fields pass node in BMCWP
  1. ;PASS FILE IN BMCFILE, ENTRY IN BMCREF
  1. NEW G,P,BMCX
  1. K BMCWP
  1. K ^UTILITY($J,"W")
  1. S BMCX=0,P=0
  1. S G=$S($G(G)]"":G,1:^DIC(BMCFILE,0,"GL")),G=G_BMCDA_","_BMCNODE_",BMCX)"
  1. S DIWR=$S($G(BMCIOM):BMCIOM,1:IOM),DIWL=0 F S BMCX=$O(@G) Q:BMCX'=+BMCX D
  1. .S Y=$P(G,")")_",0)"
  1. .S X="" I $G(BMCCAP)]"",BMCX=1 S X=BMCCAP
  1. .S X=X_@Y D ^DIWP
  1. .Q
  1. WPS ;EP
  1. S Z=0 F S Z=$O(^UTILITY($J,"W",DIWL,Z)) Q:Z'=+Z S P=P+1,BMCWP(P)=^UTILITY($J,"W",DIWL,Z,0)
  1. K DIWL,DIWR,DIWF,Z
  1. K ^UTILITY($J,"W"),BMCNODE,BMCFILE,BMCDA,G,BMCCOL,BMCCAP
  1. Q