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

HBHCPROV.m

Go to the documentation of this file.
  1. HBHCPROV ;HPS/DSK;HBHC Provider Definition/Edit; Feb 12, 2021@10:15
  1. ;;1.0;HOSPITAL BASED HOME CARE;**32**;NOV 01, 1993;Build 58
  1. ;
  1. Q
  1. ;
  1. ;Integration Control Agreements:
  1. ;10060 - NEW PERSON (#200) file
  1. ;7262 - PROVIDER CLASS (53.5) field in the NEW PERSON (#200) file
  1. ;10104 - $$UP^XLFSTR
  1. ;
  1. EN ;
  1. ;Entry point from the option.
  1. ;VALM variables are not new'd
  1. N HBHCNAM,HBHCDDX,HBHCNP,HBHCFLAG,HBHCQUIT,HBHCPRT,HBHCMAX
  1. ;checking to see if 9999 providers have already been defined.
  1. F HBHCMAX=1:1:10000 Q:'$D(^HBHC(631.4,"B",HBHCMAX))
  1. S HBHCNP=1,HBHCQUIT=0
  1. S VALMAR="^TMP(""HBHCLIST"",$J)"
  1. D EN2
  1. Q:HBHCQUIT
  1. D EN^VALM("HBHC EDIT PROVIDER")
  1. Q
  1. ;
  1. EN2 ;
  1. ;Entry point from protocols
  1. N DIR,Y,DTOUT,DUOUT
  1. S HBHCFLAG=0
  1. S DIR("A")="Partial or full name"
  1. S DIR("B")=$G(HBHCNAM)
  1. S DIR(0)="F"
  1. D ^DIR
  1. I $G(DTOUT)!($G(DUOUT))!($G(Y)="")!('$T) D Q
  1. . S HBHCQUIT=1
  1. . S VALMBCK="R"
  1. S HBHCNAM=Y
  1. I HBHCNAM=""!(HBHCNAM="^") Q
  1. ;convert to uppercase if lowercase entered
  1. S HBHCNAM=$$UP^XLFSTR(HBHCNAM)
  1. S HBHCDDX=0
  1. K ^TMP("HBHC",$J),^TMP("HBHCLIST",$J)
  1. I $G(HBHCNP) D
  1. . D FIND^DIC(200,,".01;53.5","B",HBHCNAM,,,,,"^TMP(""HBHC"",$J)")
  1. . D F200
  1. I '$G(HBHCNP) D
  1. . D FIND^DIC(631.4,,".01;1;5;6","M",HBHCNAM,,,,,"^TMP(""HBHC"",$J)")
  1. . D F6314
  1. S VALMBCK="R"
  1. D INIT2
  1. Q
  1. ;
  1. INIT ; -- init variables and list array
  1. N HBHCSQ,HBHCROW
  1. D CHGCAP^VALM("HEADER","")
  1. Q
  1. ;
  1. INIT2 ;
  1. S HBHCSQ="",VALMCNT=0,VALMBG=1
  1. F S HBHCSQ=$O(^TMP("HBHCLIST",$J,HBHCSQ)) Q:HBHCSQ="" D
  1. . S HBHCROW=^TMP("HBHCLIST",$J,HBHCSQ)
  1. . S VALMCNT=VALMCNT+1
  1. . D SET^VALM10(.VALMCNT,HBHCROW)
  1. Q
  1. ;
  1. HDR ;
  1. S VALMHDR(1)="SQ. Name ID Team"
  1. S VALMHDR(2)="---- -------------------------- ---- --------------------------"
  1. D MAX
  1. Q
  1. ;
  1. HDR2 ;
  1. S VALMHDR(1)="SQ. Name Provider Class Title"
  1. S VALMHDR(2)="---- ------------------------- ------------------------- ---------------------"
  1. S VALMSG=" ""*"" before name = HBPC PROVIDER"
  1. D MAX
  1. Q
  1. ;
  1. MAX ;display warning message in toolbar
  1. ;re-checking to see if 9999 providers have already been defined.
  1. F HBHCMAX=1:1:10000 Q:'$D(^HBHC(631.4,"B",HBHCMAX))
  1. I HBHCMAX=10000 S VALMSG="*** ATTN *** NO MORE HBPC PROVIDERS MAY BE DEFINED." Q
  1. I HBHCMAX>9800 S VALMSG="*** ATTN *** ONLY "_(10000-HBHCMAX)_" HBPC PROVIDER NUMBERS LEFT."
  1. Q
  1. ;
  1. HELP ; -- help code
  1. N X
  1. S X="?" D DISP^XQORM1 W !!
  1. Q
  1. ;
  1. F6314 ;
  1. N HBHCSQ,HBHCARR,HBHCSP,HBHCLEN,HBHCSEQ
  1. ;HBHCLIST used for display.
  1. ;HBHCEDIT used for the edit option, detail display, and print.
  1. K ^TMP("HBHCLIST",$J),^TMP("HBHCEDIT",$J)
  1. D HDR
  1. I $O(^TMP("HBHC",$J,"DILIST",0))="" D Q
  1. . S ^TMP("HBHCLIST",$J,1)="No matching active entries in the HBPC PROVIDER (#631.4) file."
  1. . S HBHCFLAG=1
  1. S HBHCSP=" "
  1. S HBHCLEN=$L($G(HBHCNAM))
  1. S (HBHCSQ,HBHCSEQ,HBHCNP)=0
  1. F S HBHCSQ=$O(^TMP("HBHC",$J,"DILIST","ID",HBHCSQ)) Q:HBHCSQ="" D
  1. . K HBHCARR
  1. . M HBHCARR=^TMP("HBHC",$J,"DILIST","ID",HBHCSQ)
  1. . ;do not display inactive HBPC providers
  1. . I HBHCARR(6)]"" Q
  1. . I '$G(HBHCIENX),$G(HBHCNAM)]"",$E(HBHCARR(1),1,HBHCLEN)'=HBHCNAM Q
  1. . I $G(HBHCIENX),HBHCARR(.01)'=HBHCIENX Q
  1. . S HBHCSEQ=HBHCSEQ+1
  1. . S ^TMP("HBHCLIST",$J,HBHCSEQ)=$E(HBHCSP,1,4-$L(HBHCSEQ))_HBHCSEQ_" "_$E($G(HBHCARR(1)),1,26)_" "
  1. . S ^TMP("HBHCLIST",$J,HBHCSEQ)=^TMP("HBHCLIST",$J,HBHCSEQ)_$E(HBHCSP,1,26-$L($G(HBHCARR(1))))
  1. . S ^TMP("HBHCLIST",$J,HBHCSEQ)=^TMP("HBHCLIST",$J,HBHCSEQ)_$G(HBHCARR(.01))_$E(HBHCSP,1,5-$L($G(HBHCARR(.01))))
  1. . S ^TMP("HBHCLIST",$J,HBHCSEQ)=^TMP("HBHCLIST",$J,HBHCSEQ)_$E($G(HBHCARR(5)),1,25)_" "
  1. . I $L($G(HBHCARR(5)))<25 S ^TMP("HBHCLIST",$J,HBHCSEQ)=^TMP("HBHCLIST",$J,HBHCSEQ)_$E(HBHCSP,1,26-$L($G(HBHCARR(5))))
  1. . M ^TMP("HBHCEDIT",$J,HBHCSEQ)=HBHCARR
  1. . ;Keep track of IEN in file 631.4
  1. . S ^TMP("HBHCIDX",$J,HBHCSEQ)=^TMP("HBHC",$J,"DILIST",2,HBHCSQ)
  1. I '$O(^TMP("HBHCLIST",$J,0)) D Q
  1. . S ^TMP("HBHCLIST",$J,1)="No matching active entries in the HBPC PROVIDER (#631.4) file."
  1. . S HBHCFLAG=1
  1. Q
  1. ;
  1. F200 ;
  1. N HBHCSQ,HBHCARR,HBHCSP,HBHC200,HBHCTITLE,Y
  1. K ^TMP("HBHCLIST",$J),^TMP("HBHCEDIT",$J),^TMP("HBHCIDX",$J)
  1. D HDR2
  1. I '$O(^TMP("HBHC",$J,"DILIST",0)) D Q
  1. . S ^TMP("HBHCLIST",$J,1)="No matching entries in the NEW PERSON (#200) file."
  1. S HBHCSP=" "
  1. S HBHCSQ=""
  1. F S HBHCSQ=$O(^TMP("HBHC",$J,"DILIST","ID",HBHCSQ)) Q:'HBHCSQ D
  1. . K HBHCARR
  1. . M HBHCARR=^TMP("HBHC",$J,"DILIST","ID",HBHCSQ)
  1. . S ^TMP("HBHCLIST",$J,HBHCSQ)=$E(HBHCSP,1,4-$L(HBHCSQ))_HBHCSQ_" "
  1. . S HBHC200=^TMP("HBHC",$J,"DILIST",2,HBHCSQ)
  1. . ;Prefix with "*" if an active HBHC provider.
  1. . I $D(^HBHC(631.4,"C",HBHC200)) D
  1. . . N HBHCHIT,HBHCIEN
  1. . . S (HBHCHIT,HBHCIEN)=0
  1. . . F S HBHCIEN=$O(^HBHC(631.4,"C",HBHC200,HBHCIEN)) Q:HBHCIEN="" Q:HBHCHIT D
  1. . . . I '$P(^HBHC(631.4,HBHCIEN,0),"^",7) S HBHCHIT=1
  1. . . I HBHCHIT S HBHCARR(.01)="*"_HBHCARR(.01)
  1. . S ^TMP("HBHCLIST",$J,HBHCSQ)=^TMP("HBHCLIST",$J,HBHCSQ)_$E($G(HBHCARR(.01)),1,25)_" "
  1. . I $L($G(HBHCARR(.01)))<25 D
  1. . . S ^TMP("HBHCLIST",$J,HBHCSQ)=^TMP("HBHCLIST",$J,HBHCSQ)_$E(HBHCSP,1,25-$L($G(HBHCARR(.01))))
  1. . S ^TMP("HBHCLIST",$J,HBHCSQ)=^TMP("HBHCLIST",$J,HBHCSQ)_$E($G(HBHCARR(53.5)),1,25)_" "
  1. . I $L($G(HBHCARR(53.5)))<25 D
  1. . . S ^TMP("HBHCLIST",$J,HBHCSQ)=^TMP("HBHCLIST",$J,HBHCSQ)_$E(HBHCSP,1,25-$L($G(HBHCARR(53.5))))
  1. . ;adding two spaces so columns will line up if no provider class
  1. . I $G(HBHCARR(53.5))="" S ^TMP("HBHCLIST",$J,HBHCSQ)=^TMP("HBHCLIST",$J,HBHCSQ)_" "
  1. . S HBHCTITLE=$$GET1^DIQ(200,HBHC200_",",8)
  1. . S ^TMP("HBHCLIST",$J,HBHCSQ)=^TMP("HBHCLIST",$J,HBHCSQ)_$E(HBHCTITLE,1,20)
  1. Q
  1. ;
  1. ADD ;
  1. N HBHCSQ,HBHCNAMX,HBHCNMX,HBHCTEAM,HBHCIEN,DIC
  1. N X,HBHCNUM,HBHCNUMX,DIR,DTOUT,DUOUT,DA,HBHCLOCK,HBHCHIT
  1. I HBHCMAX=10000 D Q
  1. . W !,"NO MORE HBPC PROVIDERS MAY BE DEFINED."
  1. . D PAUSE^VALM1
  1. I '$G(HBHCNP) D Q
  1. . W !,"This option may only be used after NP is invoked and a list displays."
  1. . D PAUSE^VALM1
  1. I $G(^TMP("HBHCLIST",$J,1))["No matching" D Q
  1. . W !,"Display a list of entries from the New Person file."
  1. . D PAUSE^VALM1
  1. R !,"Enter sequence number of provider to add: ",HBHCSQ:DTIME
  1. I HBHCSQ=""!(HBHCSQ="^") Q
  1. I '$D(^TMP("HBHCLIST",$J,HBHCSQ)) D G ADD
  1. . W !!,"Enter a valid sequence in the display."
  1. S (HBHCHIT,HBHCLOCK)=0
  1. S HBHCNAMX=^TMP("HBHC",$J,"DILIST",1,HBHCSQ),HBHCNMX=^TMP("HBHC",$J,"DILIST",2,HBHCSQ)
  1. ;Check to determine if: (1) entry is locked; (2) provider already has an active number
  1. I $D(^HBHC(631.4,"C",+HBHCNMX)) D
  1. . ;another user might be in the process of defining but is still in the session
  1. . N HBHCIENX S HBHCIENX=""
  1. . F S HBHCIENX=$O(^HBHC(631.4,"C",+HBHCNMX,HBHCIENX)) Q:HBHCIENX="" D
  1. . . ;if the HBHC TEAM (#5) field is not yet defined, the other user is in
  1. . . ;the process of adding this provider. The HBHC TEAM (#5) field is required.
  1. . . I '$P(^HBHC(631.4,HBHCIENX,0),"^",6) D Q
  1. . . . S HBHCLOCK=1
  1. . . . W !,"Another user is in the process of adding this provider."
  1. . . . D PAUSE^VALM1
  1. . Q:HBHCLOCK
  1. . ;Check all entries and allow a new entry if only inactive entries on file.
  1. . N HBHCDUP
  1. . S HBHCDUP=""
  1. . F S HBHCDUP=$O(^HBHC(631.4,"C",+HBHCNMX,HBHCDUP)) Q:HBHCDUP="" D
  1. . . I $P(^HBHC(631.4,HBHCDUP,0),"^",7)="" S HBHCHIT=HBHCDUP
  1. . I HBHCHIT D
  1. . . W !,"This provider has already been added with the HBPC Provider number of "
  1. . . ;Only display last active entry if more than exists. (Procedurally, only one
  1. . . ;active HBPC Provider number should be defined per new person entry. However,
  1. . . ;sites might use FileMan for some reason.)
  1. . . S HBHCNUMX=$P(^HBHC(631.4,+HBHCHIT,0),"^")
  1. . . W HBHCNUMX,"."
  1. . . D PAUSE^VALM1
  1. I HBHCHIT!(HBHCLOCK) Q
  1. W !,"NAME: ",HBHCNAMX
  1. S DIR(0)="Y",DIR("A")="Do you wish to add this provider to the HBPC Provider file"
  1. S DIR("B")="NO" D ^DIR
  1. I $G(DTOUT)!($G(DUOUT))!('Y) Q
  1. S HBHCIEN=^TMP("HBHC",$J,"DILIST",2,HBHCSQ)
  1. F HBHCNUM=1:1:9999 Q:'$D(^HBHC(631.4,"B",HBHCNUM))
  1. K DD,DO
  1. S DIC="^HBHC(631.4,"
  1. S DIC(0)=""
  1. S DIC("DR")="1///^S X=""`""_HBHCIEN;5"
  1. S X=HBHCNUM
  1. D FILE^DICN
  1. ;refresh display
  1. K ^TMP("HBHC",$J)
  1. S HBHCIENX=HBHCNUM
  1. D FIND^DIC(631.4,,".01;1;5;6","M",HBHCNAMX,,,,,"^TMP(""HBHC"",$J)")
  1. D F6314
  1. D INIT2
  1. Q
  1. ;
  1. EDIT ;
  1. N HBHCSQ,HBHCARR,HBHCIENX,DA,DIE,DR,DIR,HBHCSAVE,HBHCSEQZ
  1. ;HBHCDDX = a detailed display was displayed previously
  1. ;'$D(HBHCNP) = a list of providers is not displayed
  1. ;$G(HBHCFLAG) = no matching providers in display
  1. ;$G(HBHCNP) = a New Person (#200) list is displayed
  1. I $G(HBHCDDX)!('$D(HBHCNP))!($G(HBHCFLAG))!($G(HBHCNP)) D Q
  1. . W !,"Display an HBPC Provider list first."
  1. . D PAUSE^VALM1
  1. . S VALMBCK="R"
  1. I $G(^TMP("HBHCLIST",$J,1))["No matching" D Q
  1. . W !,"Display a list of entries."
  1. . D PAUSE^VALM1
  1. R !,"Enter sequence number of provider to edit: ",HBHCSQ:DTIME
  1. I HBHCSQ=""!(HBHCSQ="^") Q
  1. I '$D(^TMP("HBHCLIST",$J,HBHCSQ)) D G EDIT
  1. . W !!,"Enter a valid sequence in the display."
  1. S HBHCSEQZ=HBHCSQ
  1. M HBHCARR=^TMP("HBHCEDIT",$J,HBHCSQ)
  1. S HBHCIENX=^TMP("HBHCIDX",$J,HBHCSQ)
  1. L +^HBHC(631.4,HBHCIENX):2
  1. I '$T D Q
  1. . W !,"Another user is editing this entry."
  1. . D PAUSE^VALM1
  1. S HBHCFLAG=1
  1. W !,"HBHC Provider Number: ",HBHCARR(.01)," Name: ",HBHCARR(1)
  1. S DA=HBHCIENX
  1. S DIE="^HBHC(631.4,"
  1. S DR="5"
  1. D ^DIE
  1. L -^HBHC(631.4,HBHCIENX)
  1. ;Redisplay provider
  1. S HBHCSAVE=$G(VALMBG)
  1. D SAVE
  1. S HBHCIENX=HBHCARR(.01)
  1. D FIND^DIC(631.4,,".01;1;5;6","B",HBHCIENX,,,,,"^TMP(""HBHC"",$J)")
  1. D F6314
  1. K ^TMP("HBHCZ",$J)
  1. M ^TMP("HBHCZ",$J)=^TMP("HBHCLIST",$J)
  1. D INIT2
  1. D EN^VALM("HBHC EDIT PROVIDER")
  1. ;After user hits enter, re-display previous list.
  1. D GET
  1. M ^TMP("HBHCLIST",$J,HBHCSEQZ)=^TMP("HBHCZ",$J,1)
  1. S ^TMP("HBHCLIST",$J,HBHCSEQZ)=$E(" ",1,4-$L(HBHCSEQZ))_HBHCSEQZ_$E(^TMP("HBHCLIST",$J,HBHCSEQZ),5,99)
  1. S ^TMP("HBHCLIST",$J,HBHCSEQZ,0)=^TMP("HBHCLIST",$J,HBHCSEQZ)
  1. D INIT2
  1. S VALMBCK="R",VALMBG=HBHCSAVE
  1. S HBHCFLAG=0
  1. K ^TMP("HBHCZ",$J)
  1. Q
  1. ;
  1. ALLPROV ;Display all active entries in the HBHC PROVIDER (#631.4) file
  1. N DIR,HBHCSORT,HBHCSQ,HBHCSTR,HBHCNAME,HBHCSUB,HBHCSEQX,HBHCNUMX,HBHCSUB,HBHCIENX
  1. S HBHCDDX=0
  1. K ^TMP("HBHC",$J),^TMP("HBHCSORT",$J),^TMP("HBHCLIST",$J)
  1. S DIR(0)="SB^A:ALPHABETICALLY;N:NUMERICALLY"
  1. S DIR("A")="Sort alphabetically or numerically"
  1. D ^DIR
  1. I $G(DTOUT)!($G(DUOUT))!($G(Y)="")!('$T) S VALMBCK="R" Q
  1. S HBHCSORT=Y,HBHCNAM=""
  1. S (HBHCSQ,HBHCSEQX,HBHCIENX,HBHCFLAG)=0
  1. F S HBHCSQ=$O(^HBHC(631.4,HBHCSQ)) Q:'HBHCSQ D
  1. . S HBHCSEQX=HBHCSEQX+1
  1. . S HBHCSTR=^HBHC(631.4,HBHCSQ,0)
  1. . ;do not display inactive HBHC providers
  1. . Q:$P(HBHCSTR,"^",7)]""
  1. . ;store ien from file 631.4
  1. . S $P(HBHCSTR,"^",8)=HBHCSQ
  1. . S HBHCNAME=$P(HBHCSTR,"^",2),HBHCNAME=$P(^VA(200,+HBHCNAME,0),"^")
  1. . S HBHCNUMX=$P(HBHCSTR,"^")
  1. . ;Concatenate name with sequence if more than one provider has same name
  1. . ;Concatenate with "." and new sequence if somehow two providers have the
  1. . ;same number. (The only way for this to occur after install is if the site
  1. . ;uses FileMan to define HBPC providers. Sites should not use FileMan.)
  1. . I HBHCSORT="N",$D(^TMP("HBHCSORT",$J,HBHCNUMX)) D
  1. . . F Q:'$D(^TMP("HBHCSORT",$J,HBHCNUMX)) S HBHCNUMX=HBHCNUMX+.01,HBHCNUMX=+(HBHCNUMX)
  1. . S HBHCSUB=$S(HBHCSORT="A":HBHCNAME_HBHCSEQX,1:HBHCNUMX)
  1. . S ^TMP("HBHCSORT",$J,HBHCSUB)=HBHCSTR
  1. S (HBHCSQ,HBHCSEQX)=0
  1. F S HBHCSQ=$O(^TMP("HBHCSORT",$J,HBHCSQ)) Q:HBHCSQ="" D
  1. . S HBHCSTR=^TMP("HBHCSORT",$J,HBHCSQ)
  1. . S HBHCSEQX=HBHCSEQX+1
  1. . S ^TMP("HBHC",$J,"DILIST",1,HBHCSEQX)=$P(HBHCSTR,"^")
  1. . S ^TMP("HBHC",$J,"DILIST",2,HBHCSEQX)=$P(HBHCSTR,"^",8)
  1. . S ^TMP("HBHC",$J,"DILIST","ID",HBHCSEQX,.01)=$P(HBHCSTR,"^")
  1. . S HBHCNAME=$P(HBHCSTR,"^",2),HBHCNAME=$P(^VA(200,+HBHCNAME,0),"^")
  1. . S ^TMP("HBHC",$J,"DILIST","ID",HBHCSEQX,1)=HBHCNAME
  1. . S ^TMP("HBHC",$J,"DILIST","ID",HBHCSEQX,5)=$G(^HBHC(633,+$P(HBHCSTR,"^",6),0))
  1. . S ^TMP("HBHC",$J,"DILIST","ID",HBHCSEQX,6)=""
  1. D F6314
  1. S VALMBCK="R"
  1. D INIT2
  1. Q
  1. ;
  1. DD ;Detailed display
  1. I $G(HBHCDDX)!('$D(HBHCNP)) D Q
  1. . W !,"Display a New Person or HBPC Provider list first."
  1. . D PAUSE^VALM1
  1. . S VALMBCK="R"
  1. I $G(^TMP("HBHCLIST",$J,1))["No matching" D Q
  1. . W !,"Display a list of entries."
  1. . D PAUSE^VALM1
  1. . S VALMBCK="R"
  1. N HBHCSQ,HBHCNAMX,HBHCTEAM,HBHCTITLE,HBHCSERV,HBHCNUM,HBHCNUMX,HBHCARR,HBHCST
  1. R !,"Enter sequence number of provider to display: ",HBHCSQ:DTIME
  1. I HBHCSQ=""!(HBHCSQ="^") S VALMBCK="R" Q
  1. I '$D(^TMP("HBHCLIST",$J,HBHCSQ)) D G DD
  1. . W !,"Please try again: ",HBHCSQ," is an invalid sequence."
  1. S HBHCDDX=1
  1. ;HBHCNP = Display is currently from New Person (#200) file.
  1. S:HBHCNP HBHCNAMX=^TMP("HBHC",$J,"DILIST",1,HBHCSQ),HBHCNMX=^TMP("HBHC",$J,"DILIST",2,HBHCSQ)
  1. I '$G(HBHCNP) D
  1. . ;must perform several manipulations to find the IEN (HBHCNMX) in file 200.
  1. . S HBHCNMX=^TMP("HBHCEDIT",$J,HBHCSQ,.01)
  1. . S HBHCNMX=^TMP("HBHC",$J,"DILIST",2,HBHCSQ)
  1. . S HBHCNMX=$P(^HBHC(631.4,HBHCNMX,0),"^",2)
  1. . ;HBHCARR(53.5) = Provider Class
  1. . S HBHCARR(53.5)=$$GET1^DIQ(200,HBHCNMX_",",53.5)
  1. . ;HBHCNAMX = Provider Name
  1. . S HBHCNAMX=^TMP("HBHCEDIT",$J,HBHCSQ,1)
  1. . K ^TMP("HBHCLIST",$J)
  1. . ;Display is from HBHC Provider (#631.4) file, so display that data first.
  1. . D DDHP
  1. K:HBHCNP ^TMP("HBHCLIST",$J)
  1. S HBHCTITLE=$$GET1^DIQ(200,HBHCNMX_",",8)
  1. S HBHCSERV=$$GET1^DIQ(200,HBHCNMX_",",29)
  1. S HBHCST=$$GET1^DIQ(200,HBHCNMX_",",.115)
  1. S ^TMP("HBHCLIST",$J,HBHCDDX)="New Person (#200) file IEN: "_HBHCNMX
  1. S HBHCDDX=HBHCDDX+1
  1. S ^TMP("HBHCLIST",$J,HBHCDDX)="Name: "_HBHCNAMX
  1. S HBHCDDX=HBHCDDX+1
  1. S ^TMP("HBHCLIST",$J,HBHCDDX)="Title: "_HBHCTITLE
  1. S HBHCDDX=HBHCDDX+1
  1. S ^TMP("HBHCLIST",$J,HBHCDDX)="Service/Section: "_HBHCSERV
  1. S HBHCDDX=HBHCDDX+1
  1. S ^TMP("HBHCLIST",$J,HBHCDDX)="Provider Class: "_$G(HBHCARR(53.5))
  1. S HBHCDDX=HBHCDDX+1
  1. S ^TMP("HBHCLIST",$J,HBHCDDX)="City, ST: "_$P($G(^VA(200,HBHCNMX,.11)),"^",4)
  1. I HBHCST]"" S ^TMP("HBHCLIST",$J,HBHCDDX)=^TMP("HBHCLIST",$J,HBHCDDX)_", "_HBHCST
  1. S HBHCDDX=HBHCDDX+1
  1. S ^TMP("HBHCLIST",$J,HBHCDDX)="Date Entered in the New Person file: "_$$FMTE^XLFDT($P(^VA(200,HBHCNMX,1),"^",7))
  1. S HBHCDDX=HBHCDDX+1
  1. G:'HBHCNP DDFINISH
  1. ;
  1. DDHP ;
  1. N HBHCNUMX,HBHCDET,HBHCHIT
  1. ;Display all active entries in the HBHC Provider file for this provider.
  1. ;(There should be only one active entry, but it is possible using FileMan
  1. ; to define more than one.)
  1. S (HBHCNUM,HBHCHIT)=0
  1. F S HBHCNUM=$O(^HBHC(631.4,"C",HBHCNMX,HBHCNUM)) Q:HBHCNUM="" D
  1. . ;do not display inactive HBHC Provider information
  1. . Q:$P(^HBHC(631.4,HBHCNUM,0),"^",7)]""
  1. . S HBHCDET(HBHCNUM)="",HBHCHIT=HBHCHIT+1
  1. I '$D(HBHCDET) D
  1. . S ^TMP("HBHCLIST",$J,HBHCDDX)="Defined as HBPC Provider number: None"
  1. . S HBHCDDX=HBHCDDX+1
  1. . S ^TMP("HBHCLIST",$J,HBHCDDX)="Member of HBPC Team: None"
  1. S HBHCNUM=""
  1. F S HBHCNUM=$O(HBHCDET(HBHCNUM)) Q:HBHCNUM="" D
  1. . I HBHCHIT>1 S HBHCDDX=HBHCDDX+1
  1. . S HBHCNUMX=$P(^HBHC(631.4,HBHCNUM,0),"^")
  1. . S ^TMP("HBHCLIST",$J,HBHCDDX)="Defined as HBPC Provider number: "_HBHCNUMX
  1. . S HBHCDDX=HBHCDDX+1
  1. . S HBHCTEAM=$P(^HBHC(631.4,HBHCNUM,0),"^",6)
  1. . S HBHCTEAM=$P(^HBHC(633,HBHCTEAM,0),"^")
  1. . S ^TMP("HBHCLIST",$J,HBHCDDX)="Member of HBPC Team: "_HBHCTEAM
  1. S:'HBHCNP HBHCDDX=HBHCDDX+1
  1. I HBHCNP D DDFINISH
  1. Q
  1. ;
  1. DDFINISH ;
  1. S VALMBCK="R"
  1. S VALMHDR(1)=" Detailed Display"
  1. S VALMHDR(2)="-------------------------------------------------------------------------------"
  1. ;Set HBHCNP to zero so user is forced to re-display New Person list if chooses to Add
  1. S HBHCNP=0
  1. D INIT2
  1. Q
  1. ;
  1. SAVE ;
  1. K ^TMP("HBHCSAVE",$J),^TMP("HBHCLISTZ",$J),^TMP("HBHCEDITZ",$J)
  1. M ^TMP("HBHCSAVE",$J)=^TMP("HBHC",$J)
  1. M ^TMP("HBHCLISTZ",$J)=^TMP("HBHCLIST",$J)
  1. M ^TMP("HBHCEDITZ",$J)=^TMP("HBHCEDIT",$J)
  1. K ^TMP("HBHC",$J),^TMP("HBHCLIST",$J),^TMP("HBHCEDIT",$J)
  1. Q
  1. ;
  1. GET ;
  1. K ^TMP("HBHC",$J),^TMP("HBHCLIST",$J),^TMP("HBHCEDIT",$J)
  1. M ^TMP("HBHC",$J)=^TMP("HBHCSAVE",$J)
  1. M ^TMP("HBHCLIST",$J)=^TMP("HBHCLISTZ",$J)
  1. M ^TMP("HBHCEDIT",$J)=^TMP("HBHCEDITZ",$J)
  1. Q
  1. ;
  1. PRINT ;Print
  1. D PRTL^VALM1
  1. Q
  1. ;
  1. EXIT ;
  1. K ^TMP("HBHC",$J),^TMP("HBHCLIST",$J),^TMP("HBHCSORT",$J)
  1. S VALMBG=1,VALMBCK="Q"
  1. Q
  1. ;
  1. EXITOPT ;
  1. ;called from EXIT ACTION of option HBHC EDIT PROVIDER
  1. K ^TMP("HBHC",$J),^TMP("HBHCLIST",$J),^TMP("HBHCSORT",$J)
  1. K ^TMP("HBHCLISTZ",$J),^TMP("HBHCSAVE",$J)
  1. K ^TMP("HBHCEDIT",$J),^TMP("HBHCEDITZ",$J)
  1. K ^TMP("HBHCIDX",$J)
  1. S VALMBG=1,VALMBCK="Q"
  1. Q