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

BCHUFPP.m

Go to the documentation of this file.
  1. BCHUFPP ; IHS/CMI/LAB - PRINT CHR FORMS ;
  1. ;;2.0;IHS RPMS CHR SYSTEM;;OCT 23, 2012;Build 27
  1. ;IHS/CMI/LAB - patch 8 Y2K
  1. ;
  1. ;IHS/TUCSON/LAB - patch 1 06/03/97 - modified so subj/obj data
  1. ;would display.
  1. ;
  1. PRINT1 ;EP - CALLED FROM LAST VISIT DISPLAY
  1. S BCHR0=^BCHR(BCHR,0)
  1. S BCHQUIT=0
  1. I $E(IOST)="C" W:$D(IOF) @IOF
  1. W !!!?13,"********** CONFIDENTIAL PATIENT INFORMATION **********"
  1. W !?34,"CHR PCC FORM"
  1. W !?18,"*** Computer Generated Encounter Record ***"
  1. W !,$TR($J("",80)," ","*")
  1. I $Y>(IOSL-6) D FF Q:BCHQUIT
  1. W !?3,"Date of Service: " S Y=$P($P(BCHR0,U),".") D DD^%DT W Y
  1. W !?3,"Temporary Residence: ",$P($G(^BCHR(BCHR,11)),U,8),!?35,"Program Code: ",$P(^BCHTPROG($P(BCHR0,U,2),0),U,5)
  1. W !?35,"Provider (CHR): ",$$PPNAME^BCHUTIL(BCHR)
  1. W !,$TR($J("",80)," ","_")
  1. SUB ;
  1. ;IHS/TUCSON/LAB - modified to display subjective info patch 1 06/03/97
  1. S BCHR12=$G(^BCHR(BCHR,12))
  1. S BCHR13=$G(^BCHR(BCHR,13))
  1. I $Y>(IOSL-5) D FF Q:BCHQUIT
  1. W !?3,"SUBJECTIVE INFORMATION (includes patient's complaint)",?65,"TEMP ",$P(BCHR12,U,7)
  1. S BCHDA=BCHR,BCHFILE=90002,BCHNODE=51,BCHIOM=58 D WP
  1. S BCHWP(1)=$G(BCHWP(1)),$E(BCHWP(1),62)="PULSE "_$P(BCHR12,U,8)
  1. S BCHWP(2)=$G(BCHWP(2)),$E(BCHWP(2),62)="RESP "_$P(BCHR12,U,9)
  1. S BCHWP(3)=$G(BCHWP(3)),$E(BCHWP(3),62)="BP "_$P(BCHR12,U,1)
  1. S BCHWP(4)=$G(BCHWP(4)),$E(BCHWP(4),62)="WT "_$P(BCHR12,U,2)
  1. S BCHWP(5)=$G(BCHWP(5)),$E(BCHWP(5),62)="HT "_$P(BCHR12,U,3)
  1. S BCHX1=0 F S BCHX1=$O(BCHWP(BCHX1)) Q:BCHX1'=+BCHX1!(BCHQUIT) D
  1. .I $Y>(IOSL-4) D FF Q:BCHQUIT
  1. .W !?4,BCHWP(BCHX1)
  1. .Q
  1. I $Y>(IOSL-7) D FF Q:BCHQUIT
  1. OBJ ;
  1. ;IHS/TUCSON/LAB - modified to display objective info patch 1 06/03/97
  1. W !,$TR($J("",80)," ","_")
  1. W !?3,"OBJECTIVE DATA",?65,"HEAD ",$P(BCHR12,U,4)
  1. S BCHDA=BCHR,BCHFILE=90002,BCHNODE=61,BCHIOM=58 D WP
  1. S BCHWP(1)=$G(BCHWP(1)),$E(BCHWP(1),62)="BMI "_$P(BCHR12,U,12)
  1. S BCHWP(2)=$G(BCHWP(2)),$E(BCHWP(2),62)="WAIST "_$P(BCHR12,U,11)
  1. S BCHWP(3)=$G(BCHWP(3)),$E(BCHWP(3),62)="VU "_$P(BCHR12,U,5)
  1. S BCHWP(4)=$G(BCHWP(4)),$E(BCHWP(4),62)="VC "_$P(BCHR12,U,6)
  1. S BCHX1=0 F S BCHX1=$O(BCHWP(BCHX1)) Q:BCHX1'=+BCHX1!(BCHQUIT) D
  1. .I $Y>(IOSL-4) D FF Q:BCHQUIT
  1. .W !?4,BCHWP(BCHX1)
  1. .Q
  1. W !,$TR($J("",80)," ","_")
  1. POV ;
  1. I $Y>(IOSL-6) D FF Q:BCHQUIT
  1. W !?3,"ASSESSMENT - PCC Purpose of Visit"
  1. W !?3,"Hlth Prob",?13,"Svc",?18,"Svc",?30,"Narrative" ;,?60,"Sub"
  1. W !?5,"Code",?13,"Code",?18,"Mins",?65,"Tests"
  1. W !,$TR($J("",80)," ","_")
  1. S (BCHX,BCHC)=0 F S BCHX=$O(^BCHRPROB("AD",BCHR,BCHX)) Q:BCHX'=+BCHX!(BCHQUIT) S BCHC=BCHC+1 D
  1. .I $Y>(IOSL-5) D FF Q:BCHQUIT
  1. .S BCHRNODE=^BCHRPROB(BCHX,0)
  1. .W !?6,$P(^BCHTPROB($P(BCHRNODE,U),0),U,2)
  1. .W ?14,$S($P(BCHRNODE,U,4)]"":$P(^BCHTSERV($P(BCHRNODE,U,4),0),U,3),1:"??")
  1. .W ?19,$P(^BCHRPROB(BCHX,0),U,5)
  1. .S BCHTNRQ=$P(^BCHRPROB(BCHX,0),U,6) S BCHTNRQ=$S(BCHTNRQ]"":$P(^AUTNPOV(BCHTNRQ,0),U),1:"<<none>>") S BCHW=35 D WRT ;IHS/TUCSON/LAB - patch 2
  1. .W ?23,BCHRPRNM(1) W:BCHC=1 ?65,"PPD ",$P(BCHR12,U,10)
  1. .;begin Y2K
  1. .;W ! W:$D(BCHRPRNM(2)) ?23,BCHRPRNM(2) W:BCHC=1 ?65,"BS ",$S($P(BCHR13,U,2)]"":$P(BCHR13,U,2),$P(BCHR13,U)]"":$E($P(BCHR13,U),4,5)_"/"_$E($P(BCHR13,U),6,7)_"/"_$E($P(BCHR13,U),2,3),1:"") ;Y2000
  1. .W ! W:$D(BCHRPRNM(2)) ?23,BCHRPRNM(2) W:BCHC=1 ?65,"BG ",$S($P(BCHR13,U,2)]"":$P(BCHR13,U,2),$P(BCHR13,U)]"":$E($P(BCHR0,U),4,5)_"/"_$E($P(BCHR0,U),6,7)_"/"_(1700+($E($P(BCHR0,U),1,3))),1:"") ;Y2000
  1. .;W ! W:$D(BCHRPRNM(3)) ?23,BCHRPRNM(3) W:BCHC=1 ?65,"T/C ",$S($P(BCHR13,U,4)]"":$P(BCHR13,U,4),$P(BCHR13,U,3)]"":$E($P(BCHR13,U,3),4,5)_"/"_$E($P(BCHR13,U,3),6,7)_"/"_$E($P(BCHR13,U,3),2,3),1:"") ;Y2000
  1. .;W ! W:$D(BCHRPRNM(3)) ?23,BCHRPRNM(3) W:BCHC=1 ?65,"T/C ",$S($P(BCHR13,U,4)]"":$P(BCHR13,U,4),$P(BCHR13,U,3)]"":$E($P(BCHR13,U,3),4,5)_"/"_$E($P(BCHR13,U,3),6,7)_"/"_(1700+($E($P(BCHR13,U,3),1,3))),1:"") ;Y2000
  1. .W ! W:$D(BCHRPRNM(4)) ?23,BCHRPRNM(4) W:BCHC=1 ?58,"Hemoglobin A1c ",$S($P(BCHR13,U,9)]"":$P(BCHR13,U,9),1:"")
  1. .;W ! W:$D(BCHRPRNM(5)) ?23,BCHRPRNM(5) W:BCHC=1 ?58,"Total Cholesterol ",$S($P(BCHR13,U,10)]"":$P(BCHR13,U,10),1:"")
  1. .;end Y2K
  1. .Q
  1. S BCHX1=3 F S BCHX1=$O(BCHRPRNM(BCHX1)) Q:BCHX1'=+BCHX1!(BCHQUIT) D:$Y>(IOSL-4) FF Q:BCHQUIT W !?23,BCHRPRNM(BCHX1)
  1. K BCHRPRNM,BCHX1
  1. Q:BCHQUIT
  1. PLANS ;
  1. ;IHS/TUCSON/LAB - modified to display plan info patch 1 06/03/97
  1. I $Y>(IOSL-7) D FF Q:BCHQUIT
  1. W !,$TR($J("",80)," ","_")
  1. W !?3,"Plans/Treatments"
  1. ;begin Y2K
  1. ;W ?65,"HCT ",$S($P(BCHR13,U,8)]"":$P(BCHR13,U,8),$P(BCHR13,U,7)]"":$E($P(BCHR13,U,7),4,5)_"/"_$E($P(BCHR13,U,7),6,7)_"/"_$E($P(BCHR13,U,7),2,3),1:"") ;Y2000
  1. W ?65,"HCT ",$S($P(BCHR13,U,8)]"":$P(BCHR13,U,8),$P(BCHR13,U,7)]"":$E($P(BCHR13,U,7),4,5)_"/"_$E($P(BCHR13,U,7),6,7)_"/"_(1700+($E($P(BCHR13,U,7),1,3))),1:"") ;Y2000
  1. ;end Y2K
  1. S BCHDA=BCHR,BCHFILE=90002,BCHNODE=71,BCHIOM=52 D WP
  1. ;W !?65,"UA ",$S($P(BCHR13,U,8)]"":$P(BCHR13,U,8),$P(BCHR13,U,7)]"":$E($P(BCHR13,U,7),4,5)_"/"_$E($P(BCHR13,U,7),6,7)_"/"_$E($P(BCHR13,U,7),2,3),1:"")
  1. ;begin Y2K
  1. ;S BCHWP(1)=$G(BCHWP(1)),$E(BCHWP(1),62)="UA "_$S($P(BCHR13,U,6)]"":$P(BCHR13,U,6),$P(BCHR13,U,5)]"":$E($P(BCHR13,U,5),4,5)_"/"_$E($P(BCHR13,U,5),6,7)_"/"_$E($P(BCHR13,U,5),2,3),1:"") ;Y2000
  1. ;S BCHWP(1)=$G(BCHWP(1)),$E(BCHWP(1),62)="UA "_$S($P(BCHR13,U,6)]"":$P(BCHR13,U,6),$P(BCHR13,U,5)]"":$E($P(BCHR13,U,5),4,5)_"/"_$E($P(BCHR13,U,5),6,7)_"/"_(1700+($E($P(BCHR13,U,5),1,3))),1:"")
  1. ;end Y2K
  1. S BCHWP(2)=$G(BCHWP(2)),$E(BCHWP(2),55)="Reproductive Factors"
  1. ;begin Y2K
  1. ;S BCHWP(3)=$G(BCHWP(3)),$E(BCHWP(3),55)="LMP " S:$P(BCHR0,U,13)]"" BCHWP(3)=BCHWP(3)_$E($P(BCHR0,U,13),4,5)_"/"_$E($P(BCHR0,U,13),6,7)_"/"_$E($P(BCHR0,U,13),2,3) ;Y2000
  1. S BCHWP(3)=$G(BCHWP(3)),$E(BCHWP(3),55)="LMP " S:$P(BCHR0,U,13)]"" BCHWP(3)=BCHWP(3)_$E($P(BCHR0,U,13),4,5)_"/"_$E($P(BCHR0,U,13),6,7)_"/"_(1700+($E($P(BCHR0,U,13),1,3))) ;Y2000
  1. ;end Y2K
  1. S BCHWP(4)=$G(BCHWP(4)),$E(BCHWP(4),55)="FP "_$S($P(BCHR0,U,14)]"":$P(^BCHTFPM($P(BCHR0,U,14),0),U),1:"")
  1. S BCHX1=0 F S BCHX1=$O(BCHWP(BCHX1)) Q:BCHX1'=+BCHX1!(BCHQUIT) D
  1. .I $Y>(IOSL-4) D FF Q:BCHQUIT
  1. .W !?4,BCHWP(BCHX1)
  1. .Q
  1. I $Y>(IOSL-3) D FF Q:BCHQUIT
  1. ;W !?3,"Education Topics recorded"
  1. ;S BCHX=0 F S BCHX=$O(^BCHRPED("AD",BCHR,BCHX)) Q:BCHX'=+BCHX D
  1. ;.W !?3,$E($$VAL^XBDIQ1(90002.02,BCHX,.01),1,38),?40,$E($$VAL^XBDIQ1(90002.02,BCHX,.06),1,10),?51,$E($$VAL^XBDIQ1(90002.02,BCHX,.07),1,10),?62,$$VAL^XBDIQ1(90002.02,BCHX,.08)_" MIN",?69,"OBJ: ",$$VAL^XBDIQ1(90002.02,BCHX,.14)
  1. W !,$TR($J("",80)," ","_")
  1. ACT ;
  1. I $Y>(IOSL-5) D FF Q:BCHQUIT
  1. W !?3,"Activity Location: ",$S($P(BCHR0,U,6)]"":$P(^BCHTACTL($P(BCHR0,U,6),0),U),1:"") I $P(BCHR0,U,5)]"" W ?40,"Hospital/Clinic: ",$E($P(^DIC(4,$P(BCHR0,U,5),0),U),1,22)
  1. ;table both and print 1,2,3,etc
  1. NEW BCHREFB,BCHREFT,C
  1. S X=0,C=0 F S X=$O(^BCHR(BCHR,41,X)) Q:X'=+X S C=C+1,BCHREFB(C)=$P(^BCHTREF($P(^BCHR(BCHR,41,X,0),U),0),U,1)
  1. S X=0,C=0 F S X=$O(^BCHR(BCHR,42,X)) Q:X'=+X S C=C+1,BCHREFT(C)=$P(^BCHTREF($P(^BCHR(BCHR,42,X,0),U),0),U,1)
  1. W !?3,"Referred to CHR by: ",?45,"Referred by CHR to: "
  1. F X=1:1:20 I $D(BCHREFB(X))!($D(BCHREFT(X))) D
  1. .W !?5,$G(BCHREFB(X)),?48,$G(BCHREFT(X))
  1. W !?3,"Travel Time: ",$P(BCHR0,U,11),?45,"Number Served: ",$P(BCHR0,U,12)
  1. W !,$TR($J("",80)," ","_"),!
  1. DEMO ;demographics
  1. D DEMO^BCHUFP
  1. Q
  1. WRT ;EP - Entry point to print wp fields pass node in BCHNODE
  1. K ^UTILITY($J,"W"),BCHRPRNM
  1. S BCHPCNT=0
  1. S DIWL=1,DIWR=35,X=BCHTNRQ D ^DIWP
  1. S Z=0 F S Z=$O(^UTILITY($J,"W",DIWL,Z)) Q:Z'=+Z S BCHPCNT=BCHPCNT+1,BCHRPRNM(BCHPCNT)=^UTILITY($J,"W",DIWL,Z,0)
  1. K DIWL,DIWR,DIWF,Z
  1. K ^UTILITY($J,"W"),BCHNODE,BCHFILE,BCHDA
  1. Q
  1. FF ;EP
  1. I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S BCHQUIT=1 Q
  1. W:$D(IOF) @IOF
  1. Q
  1. WP ;EP - Entry point to print wp fields pass node in BCHWP
  1. ;PASS FILE IN BCHFILE, ENTRY IN BCHDA
  1. NEW G,P,BCHX
  1. K BCHWP
  1. K ^UTILITY($J,"W")
  1. S BCHX=0,P=0
  1. S G=$S($G(G)]"":G,1:^DIC(BCHFILE,0,"GL")),G=G_BCHDA_","_BCHNODE_",BCHX)"
  1. S DIWR=$S($G(BCHIOM):BCHIOM,1:IOM),DIWL=0 F S BCHX=$O(@G) Q:BCHX'=+BCHX D
  1. .S Y=$P(G,")")_",0)"
  1. .S X="" I $G(BCHCAP)]"",BCHX=1 S X=BCHCAP
  1. .S X=X_@Y D ^DIWP
  1. .Q
  1. WPS ;EP
  1. S Z=0 F S Z=$O(^UTILITY($J,"W",DIWL,Z)) Q:Z'=+Z S P=P+1,BCHWP(P)=^UTILITY($J,"W",DIWL,Z,0)
  1. K DIWL,DIWR,DIWF,Z
  1. K ^UTILITY($J,"W"),BCHNODE,BCHFILE,BCHDA,G,BCHCOL,BCHCAP
  1. Q