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

BIPATPF.m

Go to the documentation of this file.
  1. BIPATPF ;IHS/CMI/MWR - VIEW PATIENT PROFILE; MAY 10, 2010
  1. ;;8.5;IMMUNIZATION;;SEP 01,2011
  1. ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
  1. ;; DISPLAY PATIENT'S IMMUNIZATION IMM/SERVE PROFILE.
  1. ;
  1. ;
  1. ;----------
  1. START ;EP
  1. ;---> Lookup patients and display their Immunization Profiles.
  1. ;---> NOT CALLED BY ANY MENU OPTION AT THIS TIME.
  1. D SETVARS^BIUTL5 N BIDFN
  1. F D Q:$G(BIDFN)<1
  1. .D TITLE^BIUTL5("PATIENT IMMUNIZATION PROFILE")
  1. .D PATLKUP^BIUTL8(.BIDFN)
  1. .Q:$G(BIDFN)<1
  1. .D EN(BIDFN)
  1. D EXIT
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. HAVEPAT(BIDFN,BIFDT,BIDUZ2) ;EP
  1. ;---> Entry point when patient already known.
  1. ;---> Parameters:
  1. ; 1 - BIDFN (req) Patient's IEN in VA PATIENT File #2.
  1. ; 2 - BIFDT (opt) Forecast Date (date used for forecast).
  1. ; 3 - BIDUZ2 (opt) User's DUZ(2) to indicate Immserve Forecasting
  1. ; Rules in Patient History data string.
  1. ;
  1. ;---> Check for BIDFN.
  1. Q:$$DFNCHECK^BIUTL2()
  1. ;---> If no Forecast Date passed, set it equal to today.
  1. S:'$G(BIFDT) BIFDT=DT
  1. ;---> If no Site passed, set equal to user's site.
  1. S:'$G(BIDUZ2) BIDUZ2=$G(DUZ(2))
  1. I '$G(BIDUZ2) D ERRCD^BIUTL2(105,,1) Q
  1. ;
  1. D SETVARS^BIUTL5
  1. K ^BITMP($J),^TMP("BILMPF",$J)
  1. S ^BITMP($J,1,BIDFN)=""
  1. D EN(BIDFN,BIFDT,BIDUZ2)
  1. D EXIT
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. EN(BIDFN,BIFDT,BIDUZ2) ;EP
  1. ;---> Main entry point for BI PATIENT PROFILE VIEW.
  1. I '$G(BIDFN) D EN^DDIOL("No Patient selected.") Q
  1. S:'$G(BIFDT) BIFDT=DT
  1. S:'$G(BIDUZ2) BIDUZ2=$G(DUZ(2))
  1. I '$G(BIDUZ2) D ERRCD^BIUTL2(105,,1) Q
  1. N DFN S DFN=BIDFN ;For now with Linda's view reg templates.
  1. D EN^VALM("BI PATIENT PROFILE VIEW")
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. HDR ;EP
  1. ;---> Header code.
  1. Q:'$D(BIDFN)
  1. N BICRT,X,Y
  1. S BICRT=$S(($E($G(IOST))="C")!(IOST["BROWSER"):1,1:0)
  1. S VALMHDR(1)=""
  1. S Y=$E($$NAME^BIUTL1(BIDFN),1,25)
  1. S X=" Patient: "
  1. S:BICRT X=X_IORVON
  1. S X=X_Y
  1. S:BICRT X=X_IOINORM
  1. S X=X_$$SP^BIUTL5(27-$L(Y))_"DOB: "
  1. S:BICRT X=X_IORVON
  1. S X=X_$$DOBF^BIUTL1(BIDFN)
  1. S:BICRT X=X_IOINORM
  1. S VALMHDR(2)=X
  1. S X=" Chart#: "
  1. S:BICRT X=X_IORVON
  1. S X=X_$$HRCN^BIUTL1(BIDFN)
  1. S Y=$E($$INSTTX^BIUTL6($G(DUZ(2))),1,17)
  1. S X=X_" at "_Y
  1. S:BICRT X=X_IOINORM
  1. S X=X_$$SP^BIUTL5(20-$L(Y))_$$ACTIVE^BIUTL1(BIDFN)
  1. S X=X_" "_$$SEXW^BIUTL1(BIDFN)
  1. S VALMHDR(3)=X
  1. ;
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. INIT ;EP
  1. ;---> Initialize variables and list array.
  1. ;
  1. ;---> If BIDFN not supplied, set Error Code and quit.
  1. I '$G(BIDFN) D ERRCD^BIUTL2(201,,1) Q
  1. ;
  1. ;---> Initialize RPC variables.
  1. ; BI31 - Delimiter between return value and return error.
  1. ; BIRETVAL - Return value of valid data from RPC.
  1. ; BIRETERR - Return value (text string) of error from RPC.
  1. N BI30,BI31,BIRETVAL,BIRETERR
  1. S BI30=$C(30),BI31=$C(31)_$C(31),BIRETVAL=""
  1. ;
  1. ;---> RPC to gather Immunization History.
  1. D IMMPROF^BIRPC(.BIRETVAL,BIDFN,$G(BIFDT),$G(BIDUZ2))
  1. ;
  1. ;---> Set BIGBL=to global where Immserve Profile is stored
  1. ;---> (returned from RPC).
  1. N BIGBL S BIGBL=$P($P(BIRETVAL,BI31,1),")")_","
  1. ;---> BIGBL is ^BITEMP($J,"PROF",
  1. ;
  1. ;---> If error was returned in ^BITEMP($J,"PROF",1),
  1. ;---> set BIRETERR=error text, display it and quit.
  1. S BIRETERR=$P(@(BIGBL_1_")"),BI31,2)
  1. I BIRETERR]"" D Q
  1. .D EN^DDIOL("* "_BIRETERR,"","!!?5"),DIRZ^BIUTL3()
  1. .S VALMQUIT=""
  1. ;
  1. ;---> Build Listmanager array from BIGBL global array.
  1. K ^TMP("BILMPF",$J)
  1. N BILINE,N S N=0
  1. F S N=$O(@(BIGBL_N_")")) Q:'N D
  1. .S ^TMP("BILMPF",$J,N,0)=" "_$P(@(BIGBL_N_")"),BI30)
  1. .S BILINE=N
  1. ;
  1. ;---> Overwrite BI31 node and set final VALM line count.
  1. S ^TMP("BILMPF",$J,BILINE,0)=" "
  1. S VALMCNT=BILINE
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. RESET ;EP
  1. ;---> Update partition for return to Listmanager.
  1. I $D(VALMQUIT) S VALMBCK="Q" Q
  1. D TERM^VALM0 S VALMBCK="R"
  1. D INIT,HDR Q
  1. ;
  1. ;
  1. ;----------
  1. HELP ;EP
  1. ;---> Help code.
  1. N BIX S BIX=X
  1. D FULL^VALM1
  1. W !!?5,"Use arrow keys to scroll up and down through the report, or"
  1. W !?5,"type ""??"" for more actions, such as Search and Print List."
  1. D DIRZ^BIUTL3(""," Press ENTER/RETURN to continue")
  1. D:BIX'="??" RE^VALM4
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. EXIT ;EP
  1. ;---> EOJ Cleanup.
  1. K ^TMP("BILMPF",$J)
  1. D CLEAR^VALM1
  1. D FULL^VALM1
  1. Q