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

APCLDP1.m

Go to the documentation of this file.
  1. APCLDP1 ; IHS/CMI/LAB - ACTIVE CLIENT LIST ;
  1. ;;2.0;IHS PCC SUITE;**2,7**;MAY 14, 2009
  1. ;
  1. START ;
  1. D XIT
  1. I '$D(IOF) D HOME^%ZIS
  1. W @(IOF),!!
  1. W "** PATIENTS BY DESIGNATED PRIMARY CARE PROVIDER, WITH VISIT COUNTS, DX'S **",!
  1. W "This report will produce a list of patients by their Designated Primary ",!,"Care Provider. It will include the patient's name, chart #, age, "
  1. W !,"number of times seen by the Designated Primary Care Provider, number of times "
  1. W !,"seen by other primary providers and diagnoses.",!
  1. GETDATES ;
  1. BD ;get beginning date
  1. W !,"Please enter the date range during which the patient should have been seen.",!
  1. W ! S DIR(0)="D^:DT:EP",DIR("A")="Enter beginning Date" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G XIT
  1. S APCLBD=Y
  1. ED ;get ending date
  1. W ! S DIR(0)="DA^"_APCLBD_":DT:EP",DIR("A")="Enter ending Date: " S Y=APCLBD D DD^%DT S Y="" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G BD
  1. S APCLED=Y
  1. S X1=APCLBD,X2=-1 D C^%DTC S APCLSD=X S Y=APCLBD D DD^%DT S APCLBDD=Y S Y=APCLED D DD^%DT S APCLEDD=Y
  1. ;
  1. ASK ;
  1. S APCLPROV=""
  1. S DIR(0)="S^1:ONE PROVIDER;2:ALL PROVIDERS",DIR("A")="Run the report for",DIR("B")=1 D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. G:$D(DIRUT) GETDATES
  1. G:Y=2 ZIS
  1. PROV ;
  1. ;
  1. S DIC=$S($P(^DD(9000010.06,.01,0),U,2)[200:200,1:6),DIC("A")="Enter PROVIDER: ",DIC(0)="AEMQ" D ^DIC K DIC
  1. I Y=-1 G ASK
  1. S APCLPROV=+Y
  1. S APCLPRV=$S($P(^DD(9000010.06,.01,0),U,2)[200:$P(^VA(200,+Y,0),U),1:$P(^DIC(16,+Y,0),U))
  1. ZIS ;
  1. DEMO ;
  1. D DEMOCHK^APCLUTL(.APCLDEMO)
  1. I APCLDEMO=-1 G ASK
  1. S XBRC="PROC^APCLDP1",XBRP="^APCLDP1P",XBNS="APCL",XBRX="XIT^APCLDP1"
  1. D ^XBDBQUE
  1. XIT K ZTSK,Y,APCLBD,APCLED,IO("Q"),APCL80D,APCLBTH,APCLHRCN,APCLJOB,APCLLENG,APCLPCNT,APCLPG,APCLNUM,APCLX,DFN,DIC,DIR,DIRUT,DTOUT,DUOUT,XBNS,XBRC,XBRP,XBTX,D
  1. K APCLPRNM,APCLPRNT,APCLPROB,APCLPRV,APCLR,APCLRCNT,APCLRLOC,APCLSD,APCLTOT,APCLBDD,APCLBT,APCLEDD,APCLEDO,APCLBDO,APCLBT,APCLFOUN,APCLHIT,APCLID,APCLLINE,APCLP,APCLQ,APCLRCNT,APCLET
  1. K I,J,K,P,X,Y,Z,%,DDH,DIV,DIU,DFN,DIG,DIW,APCLAGE,APCLPROV,C,D0,DA,DIC,DR,DIQ
  1. D EN^XBVK("APCL")
  1. Q
  1. ;
  1. PROC ;EP - entry point for processing
  1. S APCLJOB=$J,APCLBTH=$H,APCLTOT=0,DFN=0,APCLBT=$H
  1. D XTMP^APCLOSUT("APCLDP1","PCC - DESIGNATED PROV REPORT")
  1. I APCLPROV]"" D PROC0 Q
  1. F S APCLPROV=$O(^AUPNPAT("AK",APCLPROV)) Q:APCLPROV'=+APCLPROV D PROC0
  1. S APCLET=$H
  1. K DFN
  1. Q
  1. PROC0 ;
  1. S DFN=0 F S DFN=$O(^AUPNPAT("AK",APCLPROV,DFN)) Q:DFN'=+DFN D PROC1
  1. Q
  1. PROC1 ;
  1. Q:$$DEMO^APCLUTL(DFN,$G(APCLDEMO))
  1. S ^XTMP("APCLDP1",APCLJOB,APCLBTH,APCLPROV,DFN)=""
  1. Q
  1. VSTS ; process visits
  1. S APCLR=0,APCLBDO=9999999-APCLBD,APCLEDO=9999999-APCLED,APCLSD=APCLED-1,APCLRCNT=0
  1. F S APCLSD=$O(^AUPNVSIT("AA",DFN,APCLSD)) Q:APCLSD>APCLBDO!(APCLSD="") D
  1. .S APCLR=0 F S APCLR=$O(^AUPNVSIT("AA",DFN,APCLSD,APCLR)) Q:APCLR'=+APCLR D
  1. ..Q:'$P(^AUPNVSIT(APCLR,0),U,9)
  1. ..Q:$P(^AUPNVSIT(APCLR,0),U,11)
  1. ..Q:"ECT"[$P(^AUPNVSIT(APCLR,0),U,7)
  1. ..S APCLRCNT=APCLRCNT+1 ;COUNT # VISITS
  1. .Q
  1. I APCLRCNT'<APCLNUM S ^XTMP("APCLDP1",APCLJOB,APCLBTH,DFN)=""
  1. Q
  1. ;