- BIPATVW3 ;IHS/CMI/MWR - ADD OTHER ITEMS, DISPLAY HELP; MAY 10, 2010
- ;;8.5;IMMUNIZATION;**14**;AUG 01,2017
- ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
- ;; BUILD LISTMANAGER ARRAY FOR DISPLAY AND EDIT OF
- ;; PATIENT'S IMMUNIZATION DATA, DISPLAY HELP.
- ;; PATCH 8: Changes to discontinue High Risk forecast for Flu HADINFO+51,+56
- ;; PATCH 9: Accommodate new parameter options for HepB (Diabetes). ADDINFO+51
- ;; PATCH 14: Code to collect High Risk Pneumo, HepB (DM), HepA&B (CLD/HepC) ADDINFO+64
- ;
- ;
- ;----------
- LASTLET(BIDFN,BIRMAX,BIENT) ;EP
- ;---> Retrieve date of last letter sent to this patient and
- ;---> display it just below forecast.
- ;---> Parameters:
- ; 1 - BIDFN (req) Patient's IEN in VA PATIENT File #2.
- ; 2 - BIRMAX (ret) Maximum Right column line number.
- ; 3 - BIENT (ret) Entry Number for LM selection in VALMY
- ;
- ;---> Check for BIDFN.
- Q:$$DFNCHECK^BIUTL2()
- ;
- ;---> Call RPC to retrieve date of last letter sent.
- ; BIRETVAL - Return value of valid data from RPC.
- ; BIRETERR - Return value (text string) of error from RPC.
- ;
- N BIRETVAL,BIRETERR S BIRETVAL=""
- ;
- ;---> RPC to retrieve date of last letter sent.
- D LASTLET^BIRPC5(.BIRETVAL,BIDFN)
- ;
- ;---> If BIRETERR has a value, display it and quit.
- S BIRETERR=$P(BIRETVAL,BI31,2)
- I BIRETERR]"" D
- .D EN^DDIOL("* "_BIRETERR,"","!!?5"),DIRZ^BIUTL3()
- .S BIRETVAL="ERROR!"
- ;
- ;---> Set BIDATE=to date of last letter sent to this patient.
- N BIDATE S BIDATE=$P(BIRETVAL,BI31,1)
- ;
- ;---> Set formatted Last Letter Date line and index in ^TMP.
- D RTCOL^BIPATVW1(.BIRMAX,,BIENT)
- D RTCOL^BIPATVW1(.BIRMAX," Last Letter: "_BIDATE,BIENT)
- ;
- Q
- ;
- ;
- ;----------
- CONTRAS(BIDFN,BILMAX,BIRMAX,BIENT) ;EP
- ;---> Now retrieve Patient's Contraindications and append to
- ;---> right half of screen, below Forecast.
- ;---> Parameters:
- ; 1 - BIDFN (req) Patient's IEN in VA PATIENT File #2.
- ; 2 - BILMAX (ret) Maximum Left column line number.
- ; 3 - BIRMAX (ret) Maximum Right column line number.
- ; 4 - BIENT (ret) Entry Number for LM selection in VALMY
- ;
- ;---> Check for BIDFN.
- Q:$$DFNCHECK^BIUTL2()
- ;
- ;---> Call RPC to retrieve Contraindications.
- ; BIRETVAL - Return value of valid data from RPC.
- ; BIRETERR - Return value (text string) of error from RPC.
- ;
- N BIRETVAL,BIRETERR S BIRETVAL=""
- ;
- ;---> RPC to retrieve Contraindications.
- D CONTRAS^BIRPC5(.BIRETVAL,BIDFN)
- ;
- ;---> If BIRETERR has a value, display it and quit.
- S BIRETERR=$P(BIRETVAL,BI31,2)
- I BIRETERR]"" D EN^DDIOL("* "_BIRETERR,"","!!?5"),DIRZ^BIUTL3() Q
- ;
- ;---> Set BICONT=to a string of Contraindications for this patient.
- N BICONT,BILINE S BICONT=$P(BIRETVAL,BI31,1)
- S BILINE=BIRMAX S:BILINE<1 BILINE=1
- ;
- ;---> Write Contraindications Header.
- D:BICONT]""
- .D RTCOL^BIPATVW1(.BILINE,,BIENT)
- .N X S X="-----------------------------------"
- .D RTCOL^BIPATVW1(.BILINE,X,BIENT)
- .D RTCOL^BIPATVW1(.BILINE," * CONTRAINDICATIONS/REFUSALS *",BIENT)
- .D RTCOL^BIPATVW1(.BILINE,,BIENT)
- ;
- ;---> Build Listmanager array from BICONT string.
- ;
- F I=1:1 S Y=$P(BICONT,U,I) Q:Y="" D
- .;---> Build display line for this Contraindication.
- .N V S V="|"
- .;S X=" "_$P(Y,V,2)_":",X=$$PAD^BIUTL5(X,14)_$P(Y,V,3),X=$E(X,1,40)
- .S X=" "_$P(Y,V,2)_": "_$P(Y,V,3),X=$E(X,1,36)
- .;---> Set formatted Contraindication line and index in ^TMP.
- .D RTCOL^BIPATVW1(.BILINE,X,BIENT)
- ;
- ;---> Save maximum right column line number.
- S BIRMAX=BILINE
- Q
- ;
- ;
- ;----------
- ADDINFO(BIDFN,BILINE,BIENT,BIDUZ2,BIFDT) ;EP
- ;---> Display Additional Information from Patient Edit screen.
- ;---> Parameters:
- ; 1 - BIDFN (req) Patient's IEN in VA PATIENT File #2.
- ; 2 - BIRMAX (req) Last Line# (last node in ^TMP array).
- ; 3 - BIENT (ret) Entry Number for LM selection in VALMY
- ; 5 - BIDUZ2 (req) DUZ(2) (for forecasting parameter display).
- ; 4 - BIFDT (req) Forecast date (for High Risk display).
- ;
- ;---> Check for BIDFN.
- Q:$$DFNCHECK^BIUTL2()
- S:'$G(BIDUZ2) BIDUZ2=$G(DUZ(2))
- S:'$G(BIFDT) BIFDT=$G(DT)
- ;
- N X,Z S Z=BIENT
- D WRITE^BIPATVW1(.BILINE,,1,Z)
- D WRITE^BIPATVW1(.BILINE," ADDITIONAL PATIENT INFORMATION",,Z)
- D WRITE^BIPATVW1(.BILINE," ------------------------------",,Z)
- S X=$$DECEASED^BIUTL1(BIDFN,1)
- D:X
- .S X=" DECEASED on..........: "_$$TXDT1^BIUTL5(X)
- .D WRITE^BIPATVW1(.BILINE,X,,Z)
- I '$D(^BIP(BIDFN,0)) D Q
- .S X=" This Patient is not in the Register."
- .D WRITE^BIPATVW1(.BILINE,X,1,Z)
- ;
- S X=" Case Manager.........: "_$$CMGR^BIUTL1(BIDFN,1)
- D WRITE^BIPATVW1(.BILINE,X,,Z)
- S X=" Designated Provider..: "_$$DPRV^BIUTL1(BIDFN,1)
- D WRITE^BIPATVW1(.BILINE,X,,Z)
- S X=" Parent/Guardian......: "_$$PARENT^BIUTL1(BIDFN)
- D WRITE^BIPATVW1(.BILINE,X,,Z)
- S X=" Current Community....: "_$$CURCOM^BIUTL11(BIDFN,1)
- D WRITE^BIPATVW1(.BILINE,X,,Z)
- S X=" Date First Entered...: "_$$ENTERED^BIUTL1(BIDFN,,1)
- S X=X_" ("_$$ENTERED^BIUTL1(BIDFN,1,1)_")"
- D WRITE^BIPATVW1(.BILINE,X,,Z)
- D
- .N Y S Y=$$INACT^BIUTL1(BIDFN,1)
- .Q:'Y
- .S X=" Inactive Date........: "_Y
- .I Z]"" S X=X_" (Reason: "_$$INACTRE^BIUTL1(BIDFN)_")"
- .D WRITE^BIPATVW1(.BILINE,X,,Z)
- .S X=" Made Inactive by.....: "_$$INACTUSR^BIUTL1(BIDFN)
- .D WRITE^BIPATVW1(.BILINE,X,,Z)
- ;
- S X=$$MOVEDLOC^BIUTL1(BIDFN)
- I X]"" S X=" Moved to/Tx Elsewhere: "_X D WRITE^BIPATVW1(.BILINE,X,,Z)
- S X="" D
- .Q:'$G(DT) N BIRISKI,BIRISKP
- .;
- .;********** PATCH 9, v8.5, OCT 01,2014, IHS/CMI/MWR
- .;---> Accommodate new parameter options for HepB (Diabetes).
- .;---> Set risk parameter equal to 12 = Hep B & Pneumo (this is NOT forecasting,
- .;---> merely displaying Additional Patient Info).
- .N BIRSK,BIRISKH S BIRSK=12
- .;
- .;********** PATCH 8, v8.5, MAR 15,2014, IHS/CMI/MWR
- .;---> Collect only Pneumo High Risk.
- .;D RISK^BIDX(BIDFN,BIFDT,0,.BIRISKI,.BIRISKP)
- .;
- .;---> New parameter to return Hep B risk. (No longer include Flu.)
- .;D RISK^BIDX(BIDFN,BIFDT,2,.BIRISKI,.BIRISKP)
- .;
- .;********** PATCH 14, v8.5, AUG 01,2017, IHS/CMI/MWR
- .;---> Code to collect High Risk Pneumo, HepB (DM), HepA&B (CLD/HepC)
- .;D RISK^BIDX(BIDFN,BIFDT,BIRSK,,.BIRISKP,.BIRISKH)
- .;
- .;---> Set Patient Age in years for this Forecast Date.
- .N BIAGE S BIAGE=$$AGE^BIUTL1(BIDFN,1,BIFDT)
- .N BIRISKF S BIRISKF="",BIRSK=""
- .D RISKP^BIDX(BIDFN,BIFDT,BIAGE,1,.BIRISKF) S:BIRISKF BIRSK=BIRSK_1
- .D RISKB^BIDX(BIDFN,BIFDT,BIAGE,.BIRISKF) S:BIRISKF BIRSK=BIRSK_2
- .D RISKAB^BIDX(BIDFN,BIFDT,.BIRISKF) S:BIRISKF BIRSK=BIRSK_3
- .I 'BIRSK S X="None on record" Q
- .S X=$$RISKTX^BISITE1(BIRSK)
- S X=" High Risk Pneumo,Hep.: "_X
- ;**********
- ;
- S X=X_" (as of "_$$SLDT2^BIUTL5(BIFDT,1)_")"
- D WRITE^BIPATVW1(.BILINE,X,,Z)
- S X=" Forecast Flu/Pneumo..: "_$$INFL^BIUTL11(BIDFN,1)
- D WRITE^BIPATVW1(.BILINE,X,,Z)
- ;D:$G(BIDUZ2) ;Uncomment to display Pneumo Site Parameter.
- ;.N X,Y,Z S X=$$PNMAGE^BIPATUP2(BIDUZ2)
- ;.S Y=$P(X,U),Z=$P(X,U,2)
- ;. X=Y_" years old, "_$S(Z:"every 6 years.",1:"one time only.")
- ;.S X=" Pneumo Site Parameter: Set at "_X
- ;.D WRITE^BIPATVW1(.BILINE,X,,Z)
- S X=" Mother's HBsAG Status: "_$$T^BITRS($$MOTHER^BIUTL11(BIDFN,1))
- D WRITE^BIPATVW1(.BILINE,X,,Z)
- S X=$$NEXTAPPT^BIUTL11(BIDFN)
- I ((X]"")&(X'="None")) S X=" Next Appointment.....: "_$E(X,1,54) D
- .D WRITE^BIPATVW1(.BILINE,X,,Z)
- D
- .N Y S Y=$$CONSENT^BIUTL1(BIDFN)
- .I Y=1 S X="Consented" Q
- .I Y=0 S X="Declined" Q
- .S X="Unknown"
- S X=" State Registry.......: "_X
- D WRITE^BIPATVW1(.BILINE,X,,Z)
- S X=" Other Information....: "_$$OTHERIN^BIUTL11(BIDFN)
- D WRITE^BIPATVW1(.BILINE,X,,Z)
- D WRITE^BIPATVW1(.BILINE,,,Z)
- Q
- ;
- ;
- ;----------
- HELP ;EP
- ;----> Explanation of this report.
- N BITEXT D TEXT1(.BITEXT)
- D START^BIHELP("PATIENT VIEW SCREEN - HELP",.BITEXT)
- Q
- ;
- ;
- ;----------
- TEXT1(BITEXT) ;EP
- ;;
- ;;This is the main Patient View Screen, the single point from
- ;;which you manage all of an individual patient's immunization data.
- ;;
- ;;The screen is divided horizontally into THREE SECTIONS:
- ;;
- ;;The TOP third of the screen lists the patient's demographic information,
- ;;most of which is edited through the RPMS Patient Registration.
- ;;
- ;;The MIDDLE third of the screen is subdivided into LEFT and RIGHT Columns:
- ;;
- ;; The LEFT column lists the Patient's Immunization and Skin Test
- ;; history, including adverse reactions.
- ;;
- ;; The RIGHT column lists the patient's Immunizations Due, date of last
- ;; letter sent to the patient, and any contraindications.
- ;;
- ;;The BOTTOM third of the screen lists Actions you can take to add or edit
- ;;the patient's immunization data, or to display other relevant patient
- ;;information.
- ;;
- ;;For many patients, there is more information than can be displayed
- ;;in the middle section of the screen. To view all of the information
- ;;on a Patient's Immunization History it may be necessary to use the
- ;;"arrow keys" to scroll up and down.
- ;;
- ;;The Actions at the bottom of the screen are:
- ;;
- ;; A Add Immunization - to add a new immunization
- ;; D Delete Visit - to delete an immunization
- ;; P Patient Edit - to edit patient guardian, inactive date, etc.
- ;; S Skin Test Add - to add a skin test
- ;; I ImmServe Profile - to view details of the forecast
- ;; C Contraindications - to add/edit/delete contraindications
- ;; E Edit Visit - to change data of an immunization
- ;; H Health Summary - to view the patient's Health Summary
- ;; L Letter Print - to select and print a patient letter
- ;;
- ;;
- ;;There are also Hidden Actions, which you can review by typing ??
- ;;at the "Select Action:" prompt. If you entered ??, the Hidden
- ;;Actions will be displayed in a list after this text. Any of the
- ;;Hidden Actions can be executed by typing their names or synonyms
- ;;at the "Select Action:" prompt, just as with the primary Actions.
- ;;
- ;;NOTE! There are two ways to print a patient's Immunization History:
- ;;
- ;; 1) At the Select Action prompt enter "PL" or "Print List".
- ;; This action will print or queue the entire Patient View Screen
- ;; as it appears on your screen.
- ;;
- ;; or 2) Enter "L" or "Letter Print" and select the "Official
- ;; Immunization Record" for the form letter to print.
- ;;
- D LOADTX("TEXT1",,.BITEXT)
- Q
- ;
- ;
- ;----------
- LOADTX(BILINL,BITAB,BITEXT) ;EP
- Q:$G(BILINL)=""
- N I,T,X S T="" S:'$D(BITAB) BITAB=5 F I=1:1:BITAB S T=T_" "
- F I=1:1 S X=$T(@BILINL+I) Q:X'[";;" S BITEXT(I)=T_$P(X,";;",2)
- Q
- BIPATVW3 ;IHS/CMI/MWR - ADD OTHER ITEMS, DISPLAY HELP; MAY 10, 2010
- +1 ;;8.5;IMMUNIZATION;**14**;AUG 01,2017
- +2 ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
- +3 ;; BUILD LISTMANAGER ARRAY FOR DISPLAY AND EDIT OF
- +4 ;; PATIENT'S IMMUNIZATION DATA, DISPLAY HELP.
- +5 ;; PATCH 8: Changes to discontinue High Risk forecast for Flu HADINFO+51,+56
- +6 ;; PATCH 9: Accommodate new parameter options for HepB (Diabetes). ADDINFO+51
- +7 ;; PATCH 14: Code to collect High Risk Pneumo, HepB (DM), HepA&B (CLD/HepC) ADDINFO+64
- +8 ;
- +9 ;
- +10 ;----------
- LASTLET(BIDFN,BIRMAX,BIENT) ;EP
- +1 ;---> Retrieve date of last letter sent to this patient and
- +2 ;---> display it just below forecast.
- +3 ;---> Parameters:
- +4 ; 1 - BIDFN (req) Patient's IEN in VA PATIENT File #2.
- +5 ; 2 - BIRMAX (ret) Maximum Right column line number.
- +6 ; 3 - BIENT (ret) Entry Number for LM selection in VALMY
- +7 ;
- +8 ;---> Check for BIDFN.
- +9 IF $$DFNCHECK^BIUTL2()
- QUIT
- +10 ;
- +11 ;---> Call RPC to retrieve date of last letter sent.
- +12 ; BIRETVAL - Return value of valid data from RPC.
- +13 ; BIRETERR - Return value (text string) of error from RPC.
- +14 ;
- +15 NEW BIRETVAL,BIRETERR
- SET BIRETVAL=""
- +16 ;
- +17 ;---> RPC to retrieve date of last letter sent.
- +18 DO LASTLET^BIRPC5(.BIRETVAL,BIDFN)
- +19 ;
- +20 ;---> If BIRETERR has a value, display it and quit.
- +21 SET BIRETERR=$PIECE(BIRETVAL,BI31,2)
- +22 IF BIRETERR]""
- Begin DoDot:1
- +23 DO EN^DDIOL("* "_BIRETERR,"","!!?5")
- DO DIRZ^BIUTL3()
- +24 SET BIRETVAL="ERROR!"
- End DoDot:1
- +25 ;
- +26 ;---> Set BIDATE=to date of last letter sent to this patient.
- +27 NEW BIDATE
- SET BIDATE=$PIECE(BIRETVAL,BI31,1)
- +28 ;
- +29 ;---> Set formatted Last Letter Date line and index in ^TMP.
- +30 DO RTCOL^BIPATVW1(.BIRMAX,,BIENT)
- +31 DO RTCOL^BIPATVW1(.BIRMAX," Last Letter: "_BIDATE,BIENT)
- +32 ;
- +33 QUIT
- +34 ;
- +35 ;
- +36 ;----------
- CONTRAS(BIDFN,BILMAX,BIRMAX,BIENT) ;EP
- +1 ;---> Now retrieve Patient's Contraindications and append to
- +2 ;---> right half of screen, below Forecast.
- +3 ;---> Parameters:
- +4 ; 1 - BIDFN (req) Patient's IEN in VA PATIENT File #2.
- +5 ; 2 - BILMAX (ret) Maximum Left column line number.
- +6 ; 3 - BIRMAX (ret) Maximum Right column line number.
- +7 ; 4 - BIENT (ret) Entry Number for LM selection in VALMY
- +8 ;
- +9 ;---> Check for BIDFN.
- +10 IF $$DFNCHECK^BIUTL2()
- QUIT
- +11 ;
- +12 ;---> Call RPC to retrieve Contraindications.
- +13 ; BIRETVAL - Return value of valid data from RPC.
- +14 ; BIRETERR - Return value (text string) of error from RPC.
- +15 ;
- +16 NEW BIRETVAL,BIRETERR
- SET BIRETVAL=""
- +17 ;
- +18 ;---> RPC to retrieve Contraindications.
- +19 DO CONTRAS^BIRPC5(.BIRETVAL,BIDFN)
- +20 ;
- +21 ;---> If BIRETERR has a value, display it and quit.
- +22 SET BIRETERR=$PIECE(BIRETVAL,BI31,2)
- +23 IF BIRETERR]""
- DO EN^DDIOL("* "_BIRETERR,"","!!?5")
- DO DIRZ^BIUTL3()
- QUIT
- +24 ;
- +25 ;---> Set BICONT=to a string of Contraindications for this patient.
- +26 NEW BICONT,BILINE
- SET BICONT=$PIECE(BIRETVAL,BI31,1)
- +27 SET BILINE=BIRMAX
- IF BILINE<1
- SET BILINE=1
- +28 ;
- +29 ;---> Write Contraindications Header.
- +30 IF BICONT]""
- Begin DoDot:1
- +31 DO RTCOL^BIPATVW1(.BILINE,,BIENT)
- +32 NEW X
- SET X="-----------------------------------"
- +33 DO RTCOL^BIPATVW1(.BILINE,X,BIENT)
- +34 DO RTCOL^BIPATVW1(.BILINE," * CONTRAINDICATIONS/REFUSALS *",BIENT)
- +35 DO RTCOL^BIPATVW1(.BILINE,,BIENT)
- End DoDot:1
- +36 ;
- +37 ;---> Build Listmanager array from BICONT string.
- +38 ;
- +39 FOR I=1:1
- SET Y=$PIECE(BICONT,U,I)
- IF Y=""
- QUIT
- Begin DoDot:1
- +40 ;---> Build display line for this Contraindication.
- +41 NEW V
- SET V="|"
- +42 ;S X=" "_$P(Y,V,2)_":",X=$$PAD^BIUTL5(X,14)_$P(Y,V,3),X=$E(X,1,40)
- +43 SET X=" "_$PIECE(Y,V,2)_": "_$PIECE(Y,V,3)
- SET X=$EXTRACT(X,1,36)
- +44 ;---> Set formatted Contraindication line and index in ^TMP.
- +45 DO RTCOL^BIPATVW1(.BILINE,X,BIENT)
- End DoDot:1
- +46 ;
- +47 ;---> Save maximum right column line number.
- +48 SET BIRMAX=BILINE
- +49 QUIT
- +50 ;
- +51 ;
- +52 ;----------
- ADDINFO(BIDFN,BILINE,BIENT,BIDUZ2,BIFDT) ;EP
- +1 ;---> Display Additional Information from Patient Edit screen.
- +2 ;---> Parameters:
- +3 ; 1 - BIDFN (req) Patient's IEN in VA PATIENT File #2.
- +4 ; 2 - BIRMAX (req) Last Line# (last node in ^TMP array).
- +5 ; 3 - BIENT (ret) Entry Number for LM selection in VALMY
- +6 ; 5 - BIDUZ2 (req) DUZ(2) (for forecasting parameter display).
- +7 ; 4 - BIFDT (req) Forecast date (for High Risk display).
- +8 ;
- +9 ;---> Check for BIDFN.
- +10 IF $$DFNCHECK^BIUTL2()
- QUIT
- +11 IF '$GET(BIDUZ2)
- SET BIDUZ2=$GET(DUZ(2))
- +12 IF '$GET(BIFDT)
- SET BIFDT=$GET(DT)
- +13 ;
- +14 NEW X,Z
- SET Z=BIENT
- +15 DO WRITE^BIPATVW1(.BILINE,,1,Z)
- +16 DO WRITE^BIPATVW1(.BILINE," ADDITIONAL PATIENT INFORMATION",,Z)
- +17 DO WRITE^BIPATVW1(.BILINE," ------------------------------",,Z)
- +18 SET X=$$DECEASED^BIUTL1(BIDFN,1)
- +19 IF X
- Begin DoDot:1
- +20 SET X=" DECEASED on..........: "_$$TXDT1^BIUTL5(X)
- +21 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- End DoDot:1
- +22 IF '$DATA(^BIP(BIDFN,0))
- Begin DoDot:1
- +23 SET X=" This Patient is not in the Register."
- +24 DO WRITE^BIPATVW1(.BILINE,X,1,Z)
- End DoDot:1
- QUIT
- +25 ;
- +26 SET X=" Case Manager.........: "_$$CMGR^BIUTL1(BIDFN,1)
- +27 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- +28 SET X=" Designated Provider..: "_$$DPRV^BIUTL1(BIDFN,1)
- +29 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- +30 SET X=" Parent/Guardian......: "_$$PARENT^BIUTL1(BIDFN)
- +31 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- +32 SET X=" Current Community....: "_$$CURCOM^BIUTL11(BIDFN,1)
- +33 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- +34 SET X=" Date First Entered...: "_$$ENTERED^BIUTL1(BIDFN,,1)
- +35 SET X=X_" ("_$$ENTERED^BIUTL1(BIDFN,1,1)_")"
- +36 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- +37 Begin DoDot:1
- +38 NEW Y
- SET Y=$$INACT^BIUTL1(BIDFN,1)
- +39 IF 'Y
- QUIT
- +40 SET X=" Inactive Date........: "_Y
- +41 IF Z]""
- SET X=X_" (Reason: "_$$INACTRE^BIUTL1(BIDFN)_")"
- +42 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- +43 SET X=" Made Inactive by.....: "_$$INACTUSR^BIUTL1(BIDFN)
- +44 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- End DoDot:1
- +45 ;
- +46 SET X=$$MOVEDLOC^BIUTL1(BIDFN)
- +47 IF X]""
- SET X=" Moved to/Tx Elsewhere: "_X
- DO WRITE^BIPATVW1(.BILINE,X,,Z)
- +48 SET X=""
- Begin DoDot:1
- +49 IF '$GET(DT)
- QUIT
- NEW BIRISKI,BIRISKP
- +50 ;
- +51 ;********** PATCH 9, v8.5, OCT 01,2014, IHS/CMI/MWR
- +52 ;---> Accommodate new parameter options for HepB (Diabetes).
- +53 ;---> Set risk parameter equal to 12 = Hep B & Pneumo (this is NOT forecasting,
- +54 ;---> merely displaying Additional Patient Info).
- +55 NEW BIRSK,BIRISKH
- SET BIRSK=12
- +56 ;
- +57 ;********** PATCH 8, v8.5, MAR 15,2014, IHS/CMI/MWR
- +58 ;---> Collect only Pneumo High Risk.
- +59 ;D RISK^BIDX(BIDFN,BIFDT,0,.BIRISKI,.BIRISKP)
- +60 ;
- +61 ;---> New parameter to return Hep B risk. (No longer include Flu.)
- +62 ;D RISK^BIDX(BIDFN,BIFDT,2,.BIRISKI,.BIRISKP)
- +63 ;
- +64 ;********** PATCH 14, v8.5, AUG 01,2017, IHS/CMI/MWR
- +65 ;---> Code to collect High Risk Pneumo, HepB (DM), HepA&B (CLD/HepC)
- +66 ;D RISK^BIDX(BIDFN,BIFDT,BIRSK,,.BIRISKP,.BIRISKH)
- +67 ;
- +68 ;---> Set Patient Age in years for this Forecast Date.
- +69 NEW BIAGE
- SET BIAGE=$$AGE^BIUTL1(BIDFN,1,BIFDT)
- +70 NEW BIRISKF
- SET BIRISKF=""
- SET BIRSK=""
- +71 DO RISKP^BIDX(BIDFN,BIFDT,BIAGE,1,.BIRISKF)
- IF BIRISKF
- SET BIRSK=BIRSK_1
- +72 DO RISKB^BIDX(BIDFN,BIFDT,BIAGE,.BIRISKF)
- IF BIRISKF
- SET BIRSK=BIRSK_2
- +73 DO RISKAB^BIDX(BIDFN,BIFDT,.BIRISKF)
- IF BIRISKF
- SET BIRSK=BIRSK_3
- +74 IF 'BIRSK
- SET X="None on record"
- QUIT
- +75 SET X=$$RISKTX^BISITE1(BIRSK)
- End DoDot:1
- +76 SET X=" High Risk Pneumo,Hep.: "_X
- +77 ;**********
- +78 ;
- +79 SET X=X_" (as of "_$$SLDT2^BIUTL5(BIFDT,1)_")"
- +80 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- +81 SET X=" Forecast Flu/Pneumo..: "_$$INFL^BIUTL11(BIDFN,1)
- +82 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- +83 ;D:$G(BIDUZ2) ;Uncomment to display Pneumo Site Parameter.
- +84 ;.N X,Y,Z S X=$$PNMAGE^BIPATUP2(BIDUZ2)
- +85 ;.S Y=$P(X,U),Z=$P(X,U,2)
- +86 ;. X=Y_" years old, "_$S(Z:"every 6 years.",1:"one time only.")
- +87 ;.S X=" Pneumo Site Parameter: Set at "_X
- +88 ;.D WRITE^BIPATVW1(.BILINE,X,,Z)
- +89 SET X=" Mother's HBsAG Status: "_$$T^BITRS($$MOTHER^BIUTL11(BIDFN,1))
- +90 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- +91 SET X=$$NEXTAPPT^BIUTL11(BIDFN)
- +92 IF ((X]"")&(X'="None"))
- SET X=" Next Appointment.....: "_$EXTRACT(X,1,54)
- Begin DoDot:1
- +93 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- End DoDot:1
- +94 Begin DoDot:1
- +95 NEW Y
- SET Y=$$CONSENT^BIUTL1(BIDFN)
- +96 IF Y=1
- SET X="Consented"
- QUIT
- +97 IF Y=0
- SET X="Declined"
- QUIT
- +98 SET X="Unknown"
- End DoDot:1
- +99 SET X=" State Registry.......: "_X
- +100 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- +101 SET X=" Other Information....: "_$$OTHERIN^BIUTL11(BIDFN)
- +102 DO WRITE^BIPATVW1(.BILINE,X,,Z)
- +103 DO WRITE^BIPATVW1(.BILINE,,,Z)
- +104 QUIT
- +105 ;
- +106 ;
- +107 ;----------
- HELP ;EP
- +1 ;----> Explanation of this report.
- +2 NEW BITEXT
- DO TEXT1(.BITEXT)
- +3 DO START^BIHELP("PATIENT VIEW SCREEN - HELP",.BITEXT)
- +4 QUIT
- +5 ;
- +6 ;
- +7 ;----------
- TEXT1(BITEXT) ;EP
- +1 ;;
- +2 ;;This is the main Patient View Screen, the single point from
- +3 ;;which you manage all of an individual patient's immunization data.
- +4 ;;
- +5 ;;The screen is divided horizontally into THREE SECTIONS:
- +6 ;;
- +7 ;;The TOP third of the screen lists the patient's demographic information,
- +8 ;;most of which is edited through the RPMS Patient Registration.
- +9 ;;
- +10 ;;The MIDDLE third of the screen is subdivided into LEFT and RIGHT Columns:
- +11 ;;
- +12 ;; The LEFT column lists the Patient's Immunization and Skin Test
- +13 ;; history, including adverse reactions.
- +14 ;;
- +15 ;; The RIGHT column lists the patient's Immunizations Due, date of last
- +16 ;; letter sent to the patient, and any contraindications.
- +17 ;;
- +18 ;;The BOTTOM third of the screen lists Actions you can take to add or edit
- +19 ;;the patient's immunization data, or to display other relevant patient
- +20 ;;information.
- +21 ;;
- +22 ;;For many patients, there is more information than can be displayed
- +23 ;;in the middle section of the screen. To view all of the information
- +24 ;;on a Patient's Immunization History it may be necessary to use the
- +25 ;;"arrow keys" to scroll up and down.
- +26 ;;
- +27 ;;The Actions at the bottom of the screen are:
- +28 ;;
- +29 ;; A Add Immunization - to add a new immunization
- +30 ;; D Delete Visit - to delete an immunization
- +31 ;; P Patient Edit - to edit patient guardian, inactive date, etc.
- +32 ;; S Skin Test Add - to add a skin test
- +33 ;; I ImmServe Profile - to view details of the forecast
- +34 ;; C Contraindications - to add/edit/delete contraindications
- +35 ;; E Edit Visit - to change data of an immunization
- +36 ;; H Health Summary - to view the patient's Health Summary
- +37 ;; L Letter Print - to select and print a patient letter
- +38 ;;
- +39 ;;
- +40 ;;There are also Hidden Actions, which you can review by typing ??
- +41 ;;at the "Select Action:" prompt. If you entered ??, the Hidden
- +42 ;;Actions will be displayed in a list after this text. Any of the
- +43 ;;Hidden Actions can be executed by typing their names or synonyms
- +44 ;;at the "Select Action:" prompt, just as with the primary Actions.
- +45 ;;
- +46 ;;NOTE! There are two ways to print a patient's Immunization History:
- +47 ;;
- +48 ;; 1) At the Select Action prompt enter "PL" or "Print List".
- +49 ;; This action will print or queue the entire Patient View Screen
- +50 ;; as it appears on your screen.
- +51 ;;
- +52 ;; or 2) Enter "L" or "Letter Print" and select the "Official
- +53 ;; Immunization Record" for the form letter to print.
- +54 ;;
- +55 DO LOADTX("TEXT1",,.BITEXT)
- +56 QUIT
- +57 ;
- +58 ;
- +59 ;----------
- LOADTX(BILINL,BITAB,BITEXT) ;EP
- +1 IF $GET(BILINL)=""
- QUIT
- +2 NEW I,T,X
- SET T=""
- IF '$DATA(BITAB)
- SET BITAB=5
- FOR I=1:1:BITAB
- SET T=T_" "
- +3 FOR I=1:1
- SET X=$TEXT(@BILINL+I)
- IF X'[";;"
- QUIT
- SET BITEXT(I)=T_$PIECE(X,";;",2)
- +4 QUIT