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

BILETVW1.m

Go to the documentation of this file.
  1. BILETVW1 ;IHS/CMI/MWR - VIEW/EDIT FORM LETTERS; MAY 10, 2010
  1. ;;8.5;IMMUNIZATION;;SEP 01,2011
  1. ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
  1. ;; INIT FOR VIEW/EDIT FORM LETTERS.
  1. ;
  1. ;
  1. ;----------
  1. INIT ;EP
  1. ;---> Initialize variables and list array.
  1. ;
  1. ;---> If BIIEN not supplied, set Error Code and quit.
  1. I '$G(BIIEN) D ERRCD^BIUTL2(609,,1) S VALMQUIT="" Q
  1. I '$D(^BILET(BIIEN,0)) D ERRCD^BIUTL2(610,,1) S VALMQUIT="" Q
  1. ;
  1. ;---> Set Lower Frame Bar and Screen Title.
  1. S VALMSG="Enter ?? for more actions."
  1. ;
  1. ;---> Build Listmanager array from Form Letter global.
  1. K ^TMP("BILMLT",$J)
  1. S BILINE=0
  1. ;
  1. ;---> If Forecast comes first, set BIFF=1
  1. N BIFF S BIFF=$P(^BILET(BIIEN,0),U,6)
  1. ;
  1. D SECTION(BIIEN,.BILINE,1,"top")
  1. D
  1. .I BIFF D FORECAST(BIIEN,.BILINE) Q
  1. .D HISTORY(BIIEN,.BILINE)
  1. D SECTION(BIIEN,.BILINE,2,"middle")
  1. D
  1. .I BIFF D HISTORY(BIIEN,.BILINE) Q
  1. .D FORECAST(BIIEN,.BILINE)
  1. D SECTION(BIIEN,.BILINE,3,"bottom")
  1. D DATELOC(BIIEN,.BILINE)
  1. D SECTION(BIIEN,.BILINE,4,"closing")
  1. ;
  1. ;---> Finish up Listmanager List Count.
  1. S VALMCNT=BILINE
  1. I VALMCNT>12 D
  1. .S VALMSG="Scroll down to view more. Type ?? for more actions."
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. SECTION(BIIEN,BILINE,BISEC,BISECLB) ;EP
  1. ;---> Set a Section of a Form Letter into Listman array.
  1. ;---> Parameters:
  1. ; 1 - BIIEN (req) IEN of Form Letter.
  1. ; 2 - BILINE (ret) Last line written into Listman array.
  1. ; 3 - BISEC (req) Section of Form Letter to retrieve.
  1. ; 4 - BISECLB (req) Section Label.
  1. ;
  1. Q:'$G(BIIEN)
  1. Q:'$G(BISEC)
  1. S:'$G(BILINE) BILINE=0
  1. S:$G(BISECLB)="" BISECLB="UNLABELED SECTION"
  1. ;
  1. D SECTBRK(.BILINE,BISECLB)
  1. ;
  1. D:$D(^BILET(BIIEN,BISEC,0))
  1. .N N S N=0
  1. .F S N=$O(^BILET(BIIEN,BISEC,N)) Q:'N D
  1. ..S BILINE=BILINE+1
  1. ..S ^TMP("BILMLT",$J,BILINE,0)=^BILET(BIIEN,BISEC,N,0)
  1. ;
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. HISTORY(BIIEN,L) ;EP
  1. ;---> Set an example of a patient's Immunization History Section
  1. ;---> of a Form Letter into Listman array.
  1. ;---> Parameters:
  1. ; 1 - BIIEN (req) IEN of Form Letter.
  1. ; 2 - L (ret) Last line written into Listman array.
  1. ;
  1. Q:'$G(BIIEN)
  1. S:'$G(L) L=0
  1. Q:'$P(^BILET(BIIEN,0),U,2)
  1. D SECTBRK(.L,"history")
  1. ;
  1. N BIFORM,X
  1. S BIFORM=$P(^BILET(BIIEN,0),U,2)
  1. I BIFORM=1 D Q
  1. .;---> Example list of Immunization History by Date.
  1. .S X=" 12-Aug-1994: 1-DTP, 1-OPV, 1-PEDVAXHIB, 1-HEP B VAC"
  1. .D WRITE(.L,X)
  1. .S X=" 10-Oct-1994: 2-DTP, 2-OPV, 2-PEDVAXHIB, 2-HEP B VAC"
  1. .D WRITE(.L,X)
  1. ;
  1. I BIFORM=2 D Q
  1. .;---> Example list of Immunization History by Date.
  1. .S X=" 12-Aug-1994: 1-DTP (099E), 1-OPV (7845F), 1-PEDVAXHIB"
  1. .S X=X_" (78T032)"
  1. .D WRITE(.L,X)
  1. .S X=" 2-HEP B VAC (900RT4)"
  1. .D WRITE(.L,X)
  1. .S X=" 10-Oct-1994: 2-DTP (101E2), 2-OPV (877K1), 2-PEDVAXHIB"
  1. .D WRITE(.L,X)
  1. ;
  1. ;---> Example list of Immunization History by Vaccine.
  1. S X=" Immunization Date Received Location"
  1. S:BIFORM=4 X=X_" Lot#"
  1. D WRITE(.L,X)
  1. S X=" ------------ ------------- ---------------"
  1. S:BIFORM=4 X=X_" ----------"
  1. D WRITE(.L,X)
  1. S X=" 1-DTP 12-Aug-1994 Anch Med Ctr"
  1. S:BIFORM=4 X=X_" 0900E"
  1. D WRITE(.L,X)
  1. S X=" 2-DTP 12-Oct-1994 Kotzebue Hospital"
  1. S:BIFORM=4 X=X_" 94-56t"
  1. D WRITE(.L,X)
  1. S X=" 3-DTP 19-Dec-1994 Anch Med Ctr"
  1. S:BIFORM=4 X=X_" 0901F"
  1. D WRITE(.L,X)
  1. D WRITE(.L)
  1. S X=" 1-OPV 12-Aug-1994 Anch Med Ctr"
  1. S:BIFORM=4 X=X_" 468-781b"
  1. D WRITE(.L,X)
  1. S X=" 2-OPV 12-Oct-1994 Kotzebue Hospital"
  1. S:BIFORM=4 X=X_" 468-732f"
  1. D WRITE(.L,X)
  1. S X=" 3-OPV 25-Oct-1995 RedLake Hospital"
  1. S:BIFORM=4 X=X_" 468-81a"
  1. D WRITE(.L,X)
  1. D WRITE(.L)
  1. S X=" 1-PEDVAXHIB 12-Aug-1994 Anch Med Ctr"
  1. D WRITE(.L,X)
  1. S X=" 2-PEDVAXHIB 12-Oct-1994 Kotzebue Hospital"
  1. S:BIFORM=4 X=X_" zr987v"
  1. D WRITE(.L,X)
  1. S X=" 3-PEDVAXHIB 12-Jul-1995 Anch Med Ctr"
  1. D WRITE(.L,X)
  1. D WRITE(.L)
  1. S X=" 1-HEP B 29-Jun-1994 Anch Med Ctr"
  1. S:BIFORM=4 X=X_" 500s-01"
  1. D WRITE(.L,X)
  1. S X=" 2-HEP B 12-Aug-1994 Anch Med Ctr"
  1. D WRITE(.L,X)
  1. S X=" 3-HEP B 19-Dec-1994 Anch Med Ctr"
  1. D WRITE(.L,X)
  1. D WRITE(.L)
  1. S X=" 1-MMR 12-Jul-1995 Anch Med Ctr"
  1. S:BIFORM=4 X=X_" 345-101t"
  1. D WRITE(.L,X)
  1. ;
  1. ;---> Example list of Skin Tests.
  1. D WRITE(.L),WRITE(.L)
  1. S X=" Skin Test Date Received Location"
  1. S X=X_" Result"
  1. D WRITE(.L,X)
  1. S X=" ------------ ------------- ---------------"
  1. S X=X_" ---------"
  1. D WRITE(.L,X)
  1. S X=" MONO-VAC 12-Aug-1994 Anch Med Ctr"
  1. S X=X_" Negative"
  1. D WRITE(.L,X)
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. WRITE(BILINE,X) ;EP
  1. ;---> Set text (X) in Listman Edit Letter temp global.
  1. ;---> Parameters:
  1. ; 1 - BILINE (req) Last line written into Listman array.
  1. ; 2 - X (opt) Text of line. If X=null, insert blank line.
  1. ;
  1. S BILINE=BILINE+1
  1. S:$G(X)="" X=" "
  1. S ^TMP("BILMLT",$J,BILINE,0)=X
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. FORECAST(BIIEN,BILINE) ;EP
  1. ;---> Set an example of a patient's Immunization Forecast Section
  1. ;---> of a Form Letter into Listman array.
  1. ;---> Parameters:
  1. ; 1 - BIIEN (req) IEN of Form Letter.
  1. ; 2 - BILINE (ret) Last line written into Listman array.
  1. ;
  1. Q:'$G(BIIEN)
  1. S:'$G(BILINE) BILINE=0
  1. Q:'$P(^BILET(BIIEN,0),U,3)
  1. D SECTBRK(.BILINE,"forecast")
  1. ;
  1. N X
  1. S BILINE=BILINE+1
  1. S X=" DTP"
  1. S ^TMP("BILMLT",$J,BILINE,0)=X
  1. S BILINE=BILINE+1
  1. S X=" HEP B VAC"
  1. S ^TMP("BILMLT",$J,BILINE,0)=X
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. DATELOC(BIIEN,BILINE) ;EP
  1. ;---> Set an example of a Date Location line of a Form Letter
  1. ;---> into Listman array.
  1. ;---> Parameters:
  1. ; 1 - BIIEN (req) IEN of Form Letter.
  1. ; 2 - BILINE (ret) Last line written into Listman array.
  1. ;
  1. Q:'$G(BIIEN)
  1. S:'$G(BILINE) BILINE=0
  1. Q:'$P(^BILET(BIIEN,0),U,4)
  1. D SECTBRK(.BILINE,"date/location")
  1. ;
  1. N X
  1. S BILINE=BILINE+1
  1. S X=" 10-Dec-1994 at Kiddy Klinic, Alaska Native Medical Center"
  1. S ^TMP("BILMLT",$J,BILINE,0)=X
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. SECTBRK(BILINE,BISECLB) ;EP
  1. ;---> Insert a Section Break in Listman array.
  1. ;---> Parameters:
  1. ; 1 - BILINE (ret) IEN of Form Letter.
  1. ; 2 - BISECLB (req) Section Label.
  1. ;
  1. S:'$G(BILINE) BILINE=0
  1. S:$G(BISECLB)="" BISECLB="UNLABELED SECTION"
  1. S BISECLB=IORVON_BISECLB_":"_IOINORM
  1. N BISECBK S BISECBK=$$SP^BIUTL5(79,"-")
  1. ;
  1. S BILINE=BILINE+1,^TMP("BILMLT",$J,BILINE,0)=BISECBK
  1. S BILINE=BILINE+1,^TMP("BILMLT",$J,BILINE,0)=BISECLB
  1. S BILINE=BILINE+1,^TMP("BILMLT",$J,BILINE,0)=""
  1. Q