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

BIVGRP1.m

Go to the documentation of this file.
  1. BIVGRP1 ;IHS/CMI/MWR - EDIT VACCINES.; MAY 10, 2010
  1. ;;8.5;IMMUNIZATION;;SEP 01,2011
  1. ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
  1. ;; EDIT VACCINE FIELDS: CURRENT LOT, ACTIVE, VIS DATE DEFAULT.
  1. ;
  1. ;
  1. ;----------
  1. INIT ;EP
  1. ;---> Initialize variables and list array.
  1. ;
  1. S VALMSG="Enter ""C"" to Change a Vaccine Group."
  1. S VALM("TITLE")=" Immunization v"_$$VER^BILOGO
  1. ;
  1. ;---> Build Listmanager array.
  1. K ^TMP("BIVGRP",$J),BIVAC
  1. ;
  1. N BILINE,BIENT,BIN,BIVAC1,I
  1. S BILINE=0,BIENT=0,BIN=0
  1. S BIXREF="B"
  1. ;
  1. F S BIN=$O(^BISERT(BIXREF,BIN)) Q:BIN="" D
  1. .N BI0,BIIEN,X,Y
  1. .S BIIEN=$O(^BISERT(BIXREF,BIN,0))
  1. .Q:$D(BIVAC1(BIIEN))
  1. .S BIVAC1(BIIEN)="",BI0=^BISERT(BIIEN,0)
  1. .;--->Quit if this group should not be displayed.
  1. .Q:'$P(BI0,U,6)
  1. .;
  1. .;---> Set Item# and build Item# array=IEN of Vaccine.
  1. .S BIENT=BIENT+1,BIVAC(BIENT)=BIIEN
  1. .;
  1. .;---> Item#.
  1. .S X=" "_$S(BIENT<10:" "_BIENT,1:BIENT)
  1. .;
  1. .;---> Vaccine (Short) Name.
  1. .S X=X_" "_$P(BI0,U)
  1. .S X=$$PAD^BIUTL5(X,24,".")
  1. .;
  1. .;---> Forecast Exclude/Include.
  1. .S X=X_$S($P(BI0,U,5):"YES",1:"NO")
  1. .;
  1. .;---> Set this Vaccine display row and index in ^TMP.
  1. .D WRITE(.BILINE,X,,BIENT)
  1. .;D WRITE(.BILINE,,,BIENT)
  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. WRITE(BILINE,BIVAL,BIBLNK,BIENT) ;EP
  1. ;---> Write lines to ^TMP (see documentation in ^BIW).
  1. ;---> Parameters:
  1. ; 1 - BILINE (ret) Last line# written.
  1. ; 2 - BIVAL (opt) Value/text of line (Null=blank line).
  1. ;
  1. Q:'$D(BILINE)
  1. D WL^BIW(.BILINE,"BIVGRP",$G(BIVAL),$G(BIBLNK),$G(BIENT))
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. EDIT ;EP
  1. ;---> Edit a Vaccine.
  1. ;---> Call the Listmanager Generic Selector of items displayed.
  1. N VALMY
  1. D EN^VALM2(XQORNOD(0),"OS")
  1. ;
  1. ;---> Check that a Listman Item was passed.
  1. I '$D(VALMY) D ERRCD^BIUTL2(406,,1) D RESET Q
  1. ;---> Now set Y=Item# selected from the list.
  1. N Y S Y=$O(VALMY(0))
  1. I '$G(Y) D ERRCD^BIUTL2(406,,1) D RESET Q
  1. I $G(BIVAC(Y))="" D ERRCD^BIUTL2(510,,1) D RESET Q
  1. N BIDA S BIDA=+BIVAC(Y)
  1. I $G(^BISERT(BIDA,0))="" D ERRCD^BIUTL2(510,,1) D RESET Q
  1. ;
  1. ;---> Save previous setting of Forecast Yes/No (0=YES,1=NO).
  1. N BIFORC S BIFORC=$P(^BISERT(BIDA,0),U,5)
  1. D
  1. .I BIFORC=1 S $P(^BISERT(BIDA,0),U,5)=0 Q
  1. .S $P(^BISERT(BIDA,0),U,5)=1
  1. D RESET
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. DISPLAY ;EP
  1. I $G(BIPOP) D FULL^VALM1,RESET Q
  1. ;
  1. ;---> *** THE FOLLOWING CODE COULD BE USED TO DISPLAY WHICH VACCINES ARE
  1. ;---> AFFECTED BY TURNING ON/OFF A VACCINE GROUP. NOT USED FOR NOW. ***
  1. D
  1. .Q
  1. .;
  1. .N BINF D CONTRHL7^BIUTL11(BIDA,.BINF)
  1. .Q:'$D(BINF)
  1. .;
  1. .N N,BIHDR S N=0
  1. .F S N=$O(BINF(N)) Q:'N D
  1. ..N BIIEN S BIIEN=$$HL7TX^BIUTL2(N)
  1. ..Q:'BIIEN
  1. ..Q:BIIEN=BIDA
  1. ..D:'$G(BIHDR) S BIHDR=1
  1. ...W !!?5,"The following related Vaccines will also change:"
  1. ...W !!?5,"VACCINE FORECAST",!?5,"-----------------------"
  1. ..S $P(^AUTTIMM(BIIEN,0),U,16)=BIFORC1
  1. ..W !?5,$$VNAME^BIUTL2(BIIEN),?20,$S(BIFORC1:"NO",1:"YES")
  1. ;
  1. D DIRZ^BIUTL3()
  1. D FULL^VALM1
  1. D RESET
  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^BIVGRP,HDR^BIVGRP()
  1. Q