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

APCLEM1.m

Go to the documentation of this file.
  1. APCLEM1 ; IHS/CMI/LAB - ; 03 May 2011 5:14 PM
  1. ;;2.0;IHS PCC SUITE;**6,7,20**;MAY 14, 2009;Build 25
  1. ;
  1. ;
  1. START ;
  1. D XIT
  1. D INFORM
  1. GETDATES ;
  1. BD ;
  1. W !!!,"Enter the time frame of interest.",! S DIR(0)="D^::EP",DIR("A")="Enter Beginning Visit Date",DIR("?")="Enter the beginning visit date for the search." D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. G:$D(DIRUT) XIT
  1. S APCLBD=Y
  1. ED ;
  1. S DIR(0)="DA^::EP",DIR("A")="Enter Ending Visit Date: " D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. G:$D(DIRUT) XIT
  1. I Y<APCLBD W !,"Ending date must be greater than or equal to beginning date!" G ED
  1. S APCLED=Y
  1. S X1=APCLBD,X2=-1 D C^%DTC S APCLSD=X
  1. PROV ;
  1. K APCLPROV,APCLPRVN,APCLPRVD,APCLOPRV
  1. S APCLPT=""
  1. S DIR(0)="S^O:ONE Primary Care Provider;C:COHORT or Selected Set of Providers (Taxonomy)",DIR("A")="Prepare report for",DIR("B")="O" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) G GETDATES
  1. S APCLPT=Y
  1. I APCLPT="C" G PROVC
  1. PROV1 ;
  1. S DIC("A")="Which PROVIDER: ",DIC="^VA(200,",DIC(0)="AEMQ" D ^DIC K DIC,DA G:Y<0 GETDATES
  1. S APCLPROV(+Y)="",APCLOPRV=+Y
  1. ;GET TEAM?
  1. S APCLTEAM=""
  1. S DIR(0)="Y",DIR("A")="Would you like to include statistics for a Primary Care Team",DIR("B")="Y" KILL DA D ^DIR KILL DIR
  1. G:$D(DIRUT) PROV1
  1. G:'Y LOCATION
  1. TEAM ;get team
  1. S APCLTEAM=""
  1. K DIC S DIC="^BSDPCT(",DIC("A")="Enter Primary Care Team: ",DIC(0)="AEMQ" D ^DIC K DIC,DA
  1. I Y=-1 G PROV1
  1. I '$D(^BSDPCT(+Y,1,"B",APCLOPRV)) W !!,$P(^VA(200,APCLOPRV,0),U,1)," is NOT a member of that team, please reselect a team.",!! G TEAM
  1. S APCLTEAM=+Y
  1. G LOCATION
  1. PROVC ;cohort
  1. K APCLPROV
  1. S X="PRIMARY PROVIDER",DIC="^AMQQ(5,",DIC(0)="FM",DIC("S")="I $P(^(0),U,14)" D ^DIC K DIC,DA I Y=-1 W "OOPS - QMAN NOT CURRENT - QUITTING" G XIT
  1. D PEP^AMQQGTX0(+Y,"APCLPROV(")
  1. I '$D(APCLPROV) G PROV
  1. I $D(APCLPROV("*")) W !,"Selecting all providers not allowed with this report" K APCLPROV G PROV
  1. LOCATION ;
  1. W !!,"Enter the Visit Location(s) to be included in the numerator and",!,"denominator visit counts.",!
  1. K APCLLOC
  1. S APCLPT=""
  1. S DIR(0)="S^O:ONE Location of Encounter;C:COHORT or Selected Set of Locations (Taxonomy)",DIR("A")="Which set of Locations",DIR("B")="O" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) G PROV
  1. S APCLPT=Y
  1. I APCLPT="C" G LOCC
  1. LOC1 ;
  1. S DIC("A")="Which LOCATION: ",DIC="^AUTTLOC(",DIC(0)="AEMQ" D ^DIC K DIC,DA G:Y<0 LOCATION
  1. S APCLLOC(+Y)=""
  1. G CLINIC
  1. LOCC ;cohort
  1. K APCLLOC
  1. S X="LOCATION OF ENCOUNTER",DIC="^AMQQ(5,",DIC(0)="FM",DIC("S")="I $P(^(0),U,14)" D ^DIC K DIC,DA I Y=-1 W "OOPS - QMAN NOT CURRENT - QUITTING" G XIT
  1. D PEP^AMQQGTX0(+Y,"APCLLOC(")
  1. I '$D(APCLLOC) G LOCATION
  1. I $D(APCLLOC("*")) W !,"Selecting all locations is not allowed with this report" K APCLLOC G LOCC
  1. CLINIC ;
  1. W !!,"Enter the list of clinics that you have determined to be primary care clinics."
  1. W !,"You can enter them 1 at a time or enter a taxonomy using the '[' notation."
  1. K APCLCLIN
  1. S X="CLINIC",DIC="^AMQQ(5,",DIC(0)="FM",DIC("S")="I $P(^(0),U,14)" D ^DIC K DIC,DA I Y=-1 W "OOPS - QMAN NOT CURRENT - QUITTING" G XIT
  1. D PEP^AMQQGTX0(+Y,"APCLCLIN(")
  1. I '$D(APCLCLIN) G LOCATION
  1. I $D(APCLCLIN("*")) W !,"all not allowed with this report" K APCLCLIN G CLINIC
  1. ZIS ;
  1. W !!,"You are currently logged in to division ",$P(^DIC(4,DUZ(2),0),U),!,"Patients must be registered (have a chart at) this location",!,"in order to be included in this report.",!
  1. DEMO ;
  1. D DEMOCHK^APCLUTL(.APCLDEMO)
  1. I APCLDEMO=-1 G CLINIC
  1. S DIR(0)="S^P:PRINT Output;B:BROWSE Output on Screen",DIR("A")="Do you wish to ",DIR("B")="P" K DA D ^DIR K DIR
  1. I $D(DIRUT) G XIT
  1. I $G(Y)="B" D BROWSE,XIT Q
  1. S XBRP="PRINT^APCLEM1",XBRC="PROC^APCLEM1",XBNS="APCL",XBRX="XIT^APCLEM1"
  1. D ^XBDBQUE
  1. Q
  1. ;
  1. XIT ;
  1. D EN^XBVK("APCL")
  1. D KILL^AUPNPAT
  1. D ^XBFMK
  1. Q
  1. BROWSE ;
  1. S XBRP="VIEWR^XBLM(""PRINT^APCLEM1"")"
  1. S XBNS="APCL",XBRC="PROC^APCLEM1",XBRX="XIT^APCLEM1",XBIOP=0 D ^XBDBQUE
  1. Q
  1. ;
  1. PROC ;EP - called from xbdbque
  1. K APCLTOTP,APCLTOTT
  1. K APCLCLNV
  1. K APCLCLTV
  1. K APCLTOTM
  1. S X=0 F S X=$O(APCLCLIN(X)) Q:X'=+X D
  1. .S APCLCLTV($P(^DIC(40.7,X,0),U,1))="0^0",APCLTOTT($P(^DIC(40.7,X,0),U,1))="0^0"
  1. .S Y=0 F S Y=$O(APCLPROV(Y)) Q:Y'=+Y D
  1. ..S APCLTOTP(Y)="0^0",APCLTOTP(Y,$P(^DIC(40.7,X,0),U,1))="0^0"
  1. I $G(APCLTEAM) D
  1. .S Y=0 F S Y=$O(^BSDPCT(APCLTEAM,1,"B",Y)) Q:Y'=+Y D
  1. ..S X=0 F S X=$O(APCLCLIN(X)) Q:X'=+X S APCLTOTM(Y,$P(^DIC(40.7,X,0),U,1))="0^0",APCLTOTM(Y)="0^0"
  1. NEW A,P,X,C
  1. S APCLTOTV=0,APCLTOTR=0
  1. ;APCLTOTP(primary provider ien,clinic or "UNKNOWN"))=# of visits^# of visits to this provider
  1. S APCLSD=APCLSD_".9999" F S APCLSD=$O(^AUPNVSIT("B",APCLSD)) Q:APCLSD=""!((APCLSD\1)>APCLED) D V1
  1. ;
  1. Q
  1. V1 ;
  1. S APCLVIEN="" F S APCLVIEN=$O(^AUPNVSIT("B",APCLSD,APCLVIEN)) Q:APCLVIEN'=+APCLVIEN D
  1. .Q:'$D(^AUPNVSIT(APCLVIEN,0))
  1. .Q:$P(^AUPNVSIT(APCLVIEN,0),U,11)
  1. .S APCLDFN=$P(^AUPNVSIT(APCLVIEN,0),U,5)
  1. .Q:APCLDFN=""
  1. .Q:'$D(^AUPNPAT(APCLDFN,0))
  1. .Q:'$D(^DPT(APCLDFN,0))
  1. .Q:'$D(^AUPNPAT(APCLDFN,41,DUZ(2),0)) ;no chart at duz(2)
  1. .S X=0,D=$$VD^APCLV(APCLVIEN)
  1. .S X=$S($P($G(^AUPNPAT(APCLDFN,41,DUZ(2),0)),U,3)="":1,$P($G(^AUPNPAT(APCLDFN,41,DUZ(2),0)),U,3)>D:1,1:0)
  1. .Q:'X ;INACTIVE PATIENT
  1. .S X=0
  1. .S X=$S($P($G(^DPT(APCLDFN,.35)),U)="":1,1:0)
  1. .Q:'X ;deceased patient
  1. .S APCLPP=$P(^AUPNPAT(APCLDFN,0),U,14)
  1. .Q:APCLPP=""
  1. .Q:'$D(APCLPROV(APCLPP)) ;not a designated provider we want so we don't want this visit
  1. .Q:'$D(^AUPNVPOV("AD",APCLVIEN)) ;NO POV, SKIP
  1. .;Q:$$PRIMPROV^APCLV(APCLVIEN,"I")="" ;NO PRIMARY PROVIDER SKIP
  1. .S C=$$CLINIC^APCLV(APCLVIEN)
  1. .Q:'C ;NO CLINIC SO SKIP
  1. .Q:'$D(APCLCLIN(C)) ;NOT A CLINIC OF INTEREST SO SKIP
  1. .S C=$$CLINIC^APCLV(APCLVIEN,"E")
  1. .Q:"EDX"[$P(^AUPNVSIT(APCLVIEN,0),U,7) ;skip chart reviews and telephone calls - PER CJ, INCLUDE THEM
  1. .S F=$P(^AUPNVSIT(APCLVIEN,0),U,6)
  1. .Q:'F
  1. .Q:'$D(APCLLOC(F))
  1. .I $G(APCLTEAM) S $P(APCLTOTM(APCLPP,C),U,1)=$P(APCLTOTM(APCLPP,C),U,1)+1 ;total FOR TEAM LINE THIS CLINIC
  1. .I $G(APCLTEAM) S $P(APCLTOTM(APCLPP),U,1)=$P($G(APCLTOTM(APCLPP)),U,1)+1 ;FOR TEAM LINES
  1. .S $P(APCLTOTP(APCLPP),U,1)=$P($G(APCLTOTP(APCLPP)),U,1)+1 ;TOTAL FOR THIS PROVIDER ALL CLINICS
  1. .S $P(APCLTOTP(APCLPP,C),U,1)=$P($G(APCLTOTP(APCLPP,C)),U,1)+1 ;TOTAL FOR THIS PROVIDER FOR THIS CLINIC
  1. .S $P(APCLTOTT,U,1)=$P($G(APCLTOTT),U,1)+1
  1. .S $P(APCLTOTT(C),U,1)=$P($G(APCLTOTT(C)),U,1)+1
  1. .S APCLTOTV=APCLTOTV+1
  1. .S A=$$PRIMPROV^APCLV(APCLVIEN,"I")
  1. .S APCLGPP=0
  1. .I A,A=APCLPP D
  1. ..;I $G(APCLTEAM) S $P(APCLTOTM(APCLPP,C),U,2)=$P($G(APCLTOTM(APCLPP,C)),U,2)+1 ;FOR TEAM DISPLAY
  1. ..S $P(APCLTOTP(APCLPP,C),U,2)=$P($G(APCLTOTP(APCLPP,C)),U,2)+1 ;FOR PROVIDER DISPLAY
  1. ..S $P(APCLTOTP(APCLPP),U,2)=$P($G(APCLTOTP(APCLPP)),U,2)+1 ;FOR PROVIDER DISPLAY TOTAL LINE
  1. ..S APCLTOTR=APCLTOTR+1
  1. .I A,$G(APCLTEAM) D
  1. ..Q:'$D(^BSDPCT(APCLTEAM,1,"B",A)) ;not on the team
  1. ..S $P(APCLTOTM(A,C),U,2)=$P(APCLTOTM(A,C),U,2)+1 ;FOR TOTAL LINE FOR CLINIC FOR MEMBER
  1. ..S $P(APCLTOTM(A),U,2)=$P($G(APCLTOTM(A)),U,2)+1 ;FOR TOTAL LINE FOR MEMBER
  1. ..;S $P(APCLTOTM($P(^VA(200,A,0),U,1)),U,3)=$$VAL^XBDIQ1(200,A,53.5)
  1. ..;S $P(APCLTOTM($P(^VA(200,A,0),U,1)),U,1)=$P($G(APCLTOTP(APCLOPRV,C)),U,1)
  1. ..S $P(APCLTOTT(C),U,2)=$P($G(APCLTOTT(C)),U,2)+1
  1. ..S $P(APCLTOTT,U,2)=$P($G(APCLTOTT),U,2)+1
  1. ..S APCLGPP=1
  1. .;NOW CHECK SECONDARY FOR TEAM
  1. .Q:APCLGPP
  1. .S X=0,G=0 F S X=$O(^AUPNVPRV("AD",APCLVIEN,X)) Q:X'=+X!(G) D
  1. ..Q:'$D(^AUPNVPRV(X,0))
  1. ..Q:$P(^AUPNVPRV(X,0),U,4)="P"
  1. ..S P=$$VALI^XBDIQ1(9000010.06,X,.01)
  1. ..I P,$G(APCLTEAM) D
  1. ...Q:'$D(^BSDPCT(APCLTEAM,1,"B",P)) ;not on team
  1. ...;W !,$$VAL^XBDIQ1(9000010.06,X,.01)," ",APCLVIEN
  1. ...S $P(APCLTOTM($$VALI^XBDIQ1(9000010.06,X,.01),C),U,2)=$P($G(APCLTOTM($$VALI^XBDIQ1(9000010.06,X,.01),C)),U,2)+1
  1. ...S $P(APCLTOTM($$VALI^XBDIQ1(9000010.06,X,.01)),U,2)=$P($G(APCLTOTM($$VALI^XBDIQ1(9000010.06,X,.01))),U,2)+1
  1. ...;S $P(APCLTOTM($$VAL^XBDIQ1(9000010.06,X,.01)),U,3)=$$VAL^XBDIQ1(200,$$VALI^XBDIQ1(9000010.06,X,.01),53.5)
  1. ...;S $P(APCLTOTM($$VAL^XBDIQ1(9000010.06,X,.01)),U,1)=$P($G(APCLTOTP(APCLOPRV,C)),U,1)
  1. ...S $P(APCLTOTT(C),U,2)=$P($G(APCLTOTT(C)),U,2)+1
  1. ...S $P(APCLTOTT,U,2)=$P($G(APCLTOTT),U,2)+1
  1. ...S G=1
  1. Q
  1. PRINT ;
  1. ;I DUZ=2881 W BOMB
  1. K APCLQUIT
  1. S APCLPG=0
  1. D HEADER
  1. S APCLPP=0 F S APCLPP=$O(APCLTOTP(APCLPP)) Q:APCLPP'=+APCLPP!($D(APCLQUIT)) D
  1. .I $Y>(IOSL-4) D HEADER Q:$D(APCLQUIT)
  1. .W !,$P(^VA(200,APCLPP,0),U,1)," (",$$VAL^XBDIQ1(200,APCLPP,53.5),")",!
  1. .S APCLC=0 F S APCLC=$O(APCLTOTP(APCLPP,APCLC)) Q:APCLC=""!($D(APCLQUIT)) D
  1. ..I $Y>(IOSL-4) D HEADER Q:$D(APCLQUIT)
  1. ..W ?3,APCLC,?42,$$C($P(APCLTOTP(APCLPP,APCLC),U,2),0),?57,$$C($P(APCLTOTP(APCLPP,APCLC),U,1),0),?72,$$PER($P(APCLTOTP(APCLPP,APCLC),U,2),$P(APCLTOTP(APCLPP,APCLC),U,1)),!
  1. .W "Total for ",$E($P(^VA(200,APCLPP,0),U,1),1,30),?42,$$C($P(APCLTOTP(APCLPP),U,2),0),?57,$$C($P(APCLTOTP(APCLPP),U,1),0),?72,$$PER($P(APCLTOTP(APCLPP),U,2),$P(APCLTOTP(APCLPP),U,1)),!
  1. Q:$D(APCLQUIT)
  1. I $Y>(IOSL-4) D HEADER Q:$D(APCLQUIT)
  1. I '$G(APCLTEAM) W !!,"Total:",?42,$$C(APCLTOTR,0),?57,$$C(APCLTOTV,0),?72,$$PER(APCLTOTR,APCLTOTV),!
  1. Q:'$G(APCLTEAM)
  1. I $Y>(IOSL-4) D HEADER Q:$D(APCLQUIT)
  1. W !,$P(^BSDPCT(APCLTEAM,0),U,1)," Members"
  1. S APCLPP="" F S APCLPP=$O(APCLTOTM(APCLPP)) Q:APCLPP=""!($D(APCLQUIT)) D
  1. .I $Y>(IOSL-4) D HEADER Q:$D(APCLQUIT)
  1. .W !,$P(^VA(200,APCLPP,0),U,1)," (",$$VAL^XBDIQ1(200,APCLPP,53.5),")",!
  1. .S APCLC="" F S APCLC=$O(APCLTOTM(APCLPP,APCLC)) Q:APCLC=""!($D(APCLQUIT)) D
  1. ..I $Y>(IOSL-4) D HEADER Q:$D(APCLQUIT)
  1. ..W ?3,APCLC,?42,$$C($P(APCLTOTM(APCLPP,APCLC),U,2),0),?57,$$C($P(APCLTOTT(APCLC),U,1),0),?72,$$PER($P(APCLTOTM(APCLPP,APCLC),U,2),$P(APCLTOTT(APCLC),U,1)),!
  1. .W "Total for ",$P(^VA(200,APCLPP,0),U,1),?42,$$C($P(APCLTOTM(APCLPP),U,2),0),?57,$$C($P(APCLTOTT,U,1),0),?72,$$PER($P(APCLTOTM(APCLPP),U,2),$P(APCLTOTT,U,1)),!
  1. W !,$P(^BSDPCT(APCLTEAM,0),U,1)," Team",!
  1. S APCLC=0 F S APCLC=$O(APCLTOTT(APCLC)) Q:APCLC=""!($D(APCLQUIT)) D
  1. .I $Y>(IOSL-3) D HEADER Q:$D(APCLQUIT)
  1. .W ?3,APCLC,?42,$$C($P(APCLTOTT(APCLC),U,2),0),?57,$$C($P(APCLTOTT(APCLC),U,1),0),?72,$$PER($P(APCLTOTT(APCLC),U,2),$P(APCLTOTT(APCLC),U,1)),!
  1. W "Total for ",$E($P(^BSDPCT(APCLTEAM,0),U,1),1,20),?42,$$C($P(APCLTOTT,U,2),0),?57,$$C($P(APCLTOTT,U,1),0),?72,$$PER($P(APCLTOTT,U,2),$P(APCLTOTT,U,1)),!
  1. Q
  1. PER(N,D) ;EP - return % of n/d
  1. I 'D Q "0%"
  1. NEW Z
  1. S Z=N/D,Z=Z*100,Z=$J(Z,3,0)
  1. Q $$STRIP^XLFSTR(Z," ")_"%"
  1. C(X,X2,X3) ;EP
  1. D COMMA^%DTC
  1. Q $J($$STRIP^XLFSTR(X," "),7)
  1. I 'APCLPG G HEAD1
  1. I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S APCLQUIT="" Q
  1. HEAD1 ;
  1. I APCLPG W:$D(IOF) @IOF
  1. S APCLPG=APCLPG+1
  1. W !,$$CTR($$FMTE^XLFDT(DT),80),?70,"Page ",APCLPG,!
  1. W $$CTR($$LOC,80),!
  1. W $$CTR("Visit Dates: "_$$FMTE^XLFDT(APCLBD)_" - "_$$FMTE^XLFDT(APCLED),80),!
  1. I $G(APCLTEAM) D
  1. .W $$CTR("Primary Care Team: "_$P(^BSDPCT(APCLTEAM,0),U,1),80),!
  1. .S X=0,APCLX="",APCLC1=0 F S X=$O(^BSDPCT(APCLTEAM,1,"B",X)) Q:X'=+X S APCLC1=APCLC1+1
  1. .S X=0,APCLX="",C=0 F S X=$O(^BSDPCT(APCLTEAM,1,"B",X)) Q:X'=+X!(C>2) S C=C+1,APCLX=APCLX_$S(APCLX]"":";",1:"")_$P(^VA(200,X,0),U)
  1. .W $$CTR("Team Members: "_APCLX,80),!
  1. .I APCLC1>3 D
  1. ..S X=0,APCLX="",C=0 F S X=$O(^BSDPCT(APCLTEAM,1,"B",X)) Q:X'=+X S C=C+1 I C>3 S APCLX=APCLX_$S(APCLX]"":";",1:"")_$P(^VA(200,X,0),U)
  1. ..W $$CTR("Team Members: "_APCLX,80),!
  1. W "PROVIDER/CLINIC",?42,"Numerator",?57,"Denominator",?72,"%",!
  1. W $$REPEAT^XLFSTR("-",79),!
  1. Q
  1. INFORM ;tell user what is going on
  1. W:$D(IOF) @IOF
  1. W $$CTR("******* CONTINUITY OF CARE TO A PRIMARY CARE PROVIDER ******",80)
  1. W !,"This report measures the continuity of care to a designated"
  1. W !,"primary care provider."
  1. W !,"The continuity of care measures the number of times that a patient saw their"
  1. W !,"own designated primary care provider in a primary care clinic setting. "
  1. W !!,"Numerator: The number of times that a patient saw their designated primary"
  1. W !,"care provider in a primary care clinic setting."
  1. W !,"Denominator: The number of times that a patient has been seen by any provider"
  1. W !,"in a primary care clinic setting."
  1. W !!,"If you include Team statistics:"
  1. W !,"Numerator: The number of times that a patient saw any member of the team"
  1. W !," as either a primary or secondary provider."
  1. W !,"Denominator: The number of times that a patient was seen by any provider."
  1. W !,"This report should be run for one division at a time if you are operating"
  1. W !,"on a multi-divisional database."
  1. W !,"The user will be prompted to enter the following information:"
  1. W !?5,"- The designated primary care provider(s)"
  1. W !?5,"- If one primary care provider is chosen, the user may indicate a team"
  1. W !?5,"- The date range for visit selection"
  1. W !?5,"- The location(s) of encounter for visit selection. You may choose one or"
  1. W !?10,"locations or facilities where the provider provides services."
  1. W !?5,"- The set of clinics you have determined to be 'Primary' clinics."
  1. W !?10,"A taxonomy or group of these clinics can be created for later use"
  1. W !,"In order to be included in the denominator the visit must be a "
  1. W !,"complete visit (have a POV and a provider.)"
  1. W !,"Inactive and deceased patients are excluded."
  1. D PAUSE^APCLVL01
  1. Q
  1. CTR(X,Y) ;EP - Center X in a field Y wide.
  1. Q $J("",$S($D(Y):Y,1:IOM)-$L(X)\2)_X
  1. ;----------
  1. EOP ;EP - End of page.
  1. Q:$E(IOST)'="C"
  1. Q:$D(ZTQUEUED)!'(IOT="TRM")!$D(IO("S"))
  1. NEW DIR
  1. K DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
  1. S DIR("A")="End of Report. Press return",DIR(0)="E" D ^DIR
  1. Q
  1. ;----------
  1. USR() ;EP - Return name of current user from ^VA(200.
  1. Q $S($G(DUZ):$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
  1. ;----------
  1. LOC() ;EP - Return location name from file 4 based on DUZ(2).
  1. Q $S($G(DUZ(2)):$S($D(^DIC(4,DUZ(2),0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ(2) UNDEFINED OR 0")
  1. ;----------
  1. ;
  1. POST ;EP
  1. S X=$$ADD^XPDMENU("APCLMENU","APCL IPC REPORTS MENU","IPC")
  1. S X=$$ADD^XPDMENU("APCL IPC REPORTS MENU","BDPMENU","BDP")
  1. S X=$$ADD^XPDMENU("APCL IPC REPORTS MENU","BSD MENU PRIMARY CARE","PCP")
  1. Q