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

BCHRNRL.m

Go to the documentation of this file.
  1. BCHRNRL ; IHS/CMI/LAB - CHR Report 1 ;
  1. ;;2.0;IHS RPMS CHR SYSTEM;;OCT 23, 2012;Build 27
  1. ;
  1. START ;
  1. D INFORM
  1. GETDATES ;
  1. BD ;get beginning date
  1. S BCHYEARS=0
  1. W !!,"Please enter the number of years to determine if the patient should be"
  1. W !,"listed on the report. For example, if you want all patients who have"
  1. W !,"been seen in the past 5 years enter 5.",!
  1. S DIR(0)="N^1:100:0",DIR("A")="List patients seen in the past how many years?",DIR("B")="10" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) D XIT Q
  1. S BCHYEARS=Y
  1. S BCHBD=$$FMADD^XLFDT(DT,-(BCHYEARS*365))
  1. ;
  1. ZIS ;CALL TO XBDBQUE
  1. S XBRP="PRINT^BCHRNRL",XBRC="PROC^BCHRNRL",XBRX="XIT^BCHRNRL",XBNS="BCH"
  1. D ^XBDBQUE
  1. D XIT
  1. Q
  1. ERR W $C(7),$C(7),!,"Must be a valid date and be Today or earlier. Time not allowed!" Q
  1. XIT ;
  1. D EN^XBVK("BCH")
  1. Q
  1. INFORM ;
  1. W:$D(IOF) @IOF
  1. W !?20,"********** NON-REGISTERED PATIENT LIST **********"
  1. W !!,"This report will list all Non-Registered Patients in the CHR Non-Registered"
  1. W !,"patient file who have been seen in the last N number of years you indicate."
  1. W !,"The list will be sorted by DOB, NAME, TRIBE, COMMUNITY",!!
  1. Q
  1. ;
  1. PROC ;
  1. S BCHJ=$J,BCHH=$H
  1. S BCHX=0 F S BCHX=$O(^BCHRPAT(BCHX)) Q:BCHX'=+BCHX D
  1. .Q:'$$LASTV(BCHX,BCHBD) ;no visit in time period
  1. .S N=^BCHRPAT(BCHX,0)
  1. .S D=$P(N,U,2) I D="" S D="BLANK"
  1. .S S=$$VAL^XBDIQ1(90002.11,BCHX,.03) I S="" S S="BLANK"
  1. .S T=$$VAL^XBDIQ1(90002.11,BCHX,.05) I T="" S T="BLANK"
  1. .S C=$$VAL^XBDIQ1(90002.11,BCHX,.06) I C="" S C="BLANK"
  1. .S ^XTMP("BCHRNRL",BCHJ,BCHH,"DATA",D,$P(^BCHRPAT(BCHX,0),U,1),S,T,C,BCHX)=""
  1. .Q
  1. Q
  1. LASTV(P,D) ;EP
  1. NEW X,Y,Z,G
  1. S G=0
  1. S X=0 F S X=$O(^BCHR("ANRE",P,X)) Q:X'=+X!(G) D
  1. .S Y=0 F S Y=$O(^BCHR("ANRE",P,X,Y)) Q:Y'=+Y!(G) D
  1. ..I X<D Q
  1. ..S G=1
  1. Q G
  1. PRINT ;EP
  1. D XTMP^BCHUTIL("BCHRNRL","CHR NON REG PT REPORT")
  1. D NOW^%DTC S Y=X D DD^%DT S BCHDT=Y
  1. K BCHQUIT S BCHPG=0
  1. S Y=BCHBD D DD^%DT S BCHBDD=Y
  1. I '$D(^XTMP("BCHRNRL",BCHJ,BCHH,"DATA")) D HEAD W !!,"NO PATIENTS TO REPORT",!! G DONE
  1. D HEAD
  1. S BCHD="" F S BCHD=$O(^XTMP("BCHRNRL",BCHJ,BCHH,"DATA",BCHD)) Q:BCHD=""!($D(BCHQUIT)) D
  1. .S BCHN="" F S BCHN=$O(^XTMP("BCHRNRL",BCHJ,BCHH,"DATA",BCHD,BCHN)) Q:BCHN=""!($D(BCHQUIT)) D
  1. ..S BCHS="" F S BCHS=$O(^XTMP("BCHRNRL",BCHJ,BCHH,"DATA",BCHD,BCHN,BCHS)) Q:BCHS=""!($D(BCHQUIT)) D
  1. ...S BCHT="" F S BCHT=$O(^XTMP("BCHRNRL",BCHJ,BCHH,"DATA",BCHD,BCHN,BCHS,BCHT)) Q:BCHT=""!($D(BCHQUIT)) D
  1. ....S BCHC="" F S BCHC=$O(^XTMP("BCHRNRL",BCHJ,BCHH,"DATA",BCHD,BCHN,BCHS,BCHT,BCHC)) Q:BCHC=""!($D(BCHQUIT)) D
  1. .....W !,BCHN
  1. .....I BCHD'="BLANK" W ?32,$$DATE(BCHD)
  1. .....I BCHS'="BLANK" W ?42,$E(BCHS)
  1. .....I BCHT'="BLANK" W ?46,$E(BCHT,1,15)
  1. .....I BCHC'="BLANK" W ?63,$E(BCHC,1,15)
  1. DONE ;
  1. I $E(IOST)="C",IO=IO(0) S DIR(0)="EO",DIR("A")="End of report. HIT RETURN" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. K ^XTMP("BCHRNRL",BCHJ,BCHH),BCHJ,BCHH
  1. Q
  1. DATE(D) ;EP
  1. I D="" Q ""
  1. Q $E(D,4,5)_"/"_$E(D,6,7)_"/"_$E(D,2,3)
  1. ;
  1. I BCHPG=0 G HEAD2
  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="" Q
  1. HEAD1 ;
  1. W:$D(IOF) @IOF
  1. HEAD2 ;
  1. S BCHPG=BCHPG+1
  1. W !,$P(^VA(200,DUZ,0),U,2),?58,BCHDT,?72,"Page ",BCHPG,!
  1. W $$CTR^BCHRLU($$LOC^BCHRLU),!
  1. S X="********** LIST OF NON-REGISTERED PATIENTS **********" W !,$$CTR^BCHRLU(X,80)
  1. S X="SEEN BY THE CHR PROGRAM SINCE "_BCHBDD W !,$$CTR^BCHRLU(X,80)
  1. W !,"NAME",?32,"DOB",?41,"SEX",?46,"TRIBE",?63,"COMMUNITY"
  1. W !,$TR($J("",80)," ","-"),!
  1. Q