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

ACDWDRV3.m

Go to the documentation of this file.
  1. ACDWDRV3 ;IHS/ADC/EDE/KML - DRV 3 FOR CONFIDENTIAL CLIENT REPORTS;
  1. ;;4.1;CHEMICAL DEPENDENCY MIS;;MAY 11, 1998
  1. ;//[ACDR4MENU]
  1. ;
  1. F K ACDQUIT D DIR I $D(ACDQUIT) D PRHDR^ACD G ^ACDWK
  1. DIR ;Menu
  1. S ACDWDRV(3)=3
  1. D PRHDR^ACD
  1. ;S:'$D(ACD56) $P(ACD56,"*",56)="*"
  1. ;W !,ACD56,!,"CLIENT DETAIL REPORTS",!,"CONFIDENTIAL CLIENT INFORMATION UNDER CFR 42 PART 2",!,ACD56,!
  1. F I=100:1:107 W !,I," ",$P($T(@I),";",3) I I=107 S DIR(0)="L^100:107^S ACDRPTS=Y",DIR("A")="RUN REPORT # " W ! D ^DIR S:X["^"!($D(DTOUT)) ACDQUIT=1 Q:$D(ACDQUIT)
  1. I $D(ACDQUIT) K ACDWDRV Q
  1. ;Run for selected patient or all patients
  1. K ACDPT
  1. S DIR("A")="SELECTION",DIR(0)="S^1:DISPLAY ALL PATIENTS;2:DISPLAY SELECTED PATIENTS" D ^DIR S:X["^"!($D(DTOUT))!(X="") ACDQUIT=1
  1. Q:$D(ACDQUIT)
  1. I X=2 D
  1. .S DIC("A")="Inquire on patient: "
  1. .S AUPNLK("ALL")=1
  1. .F S DIC(0)="AEQM",DIC=9000001 D ^DIC Q:Y<0 S ACDPT(1_ACD6DIG_+Y)=""
  1. .K AUPNLK("ALL")
  1. .I '$D(ACDPT) S ACDQUIT=1
  1. .Q
  1. Q:$D(ACDQUIT)
  1. D ^ACDWRQ I $D(ACDQUIT) K ACDQUIT Q
  1. D ^ACDWQ ; call to XBDBQUE
  1. Q
  1. ;
  1. L ;EP - FOR TASKMAN
  1. Q
  1. ;
  1. P ;EP - PRINT REPORT
  1. K DIRUT
  1. S ACDNW(1)=ACDTO,ACDNW(2)=ACDFR,ACDNW(3)=ACDLOC,ACDNW(4)=ACDRPTS
  1. F ACDNW(0)=1:1:$L(ACDNW(4),",")-1 S ACDTO=ACDNW(1),ACDFR=ACDNW(2),ACDLOC=ACDNW(3),(ACDTG,ACDTGSUB)=$P(ACDNW(4),",",ACDNW(0)) D ACDV Q:$D(DIRUT)
  1. Q ; ***** EDE/added this Q. Seems reasonable not to fall thru *****
  1. ACDV ;Order on visit date
  1. D @ACDTG
  1. Q
  1. 100 ;;INITIAL
  1. 101 ;;REOPEN
  1. 102 ;;INFO/REFERRAL
  1. 103 ;;FOLLOWUP
  1. 104 ;;CRISIS/BRIEF INT
  1. K ^TMP("ACD",ACDJOB,ACDBT) S ACDDO=0
  1. F ACD=ACDFR-.01:0 S ACD=$O(^ACDVIS("B",ACD)) Q:'ACD!(ACD>ACDTO) S ACDV=0 F S ACDV=$O(^ACDVIS("B",ACD,ACDV)) Q:'ACDV S ACD1=0 F S ACD1=$O(^ACDIIF("C",ACDV,ACD1)) Q:'ACD1 S ACDDA=ACD1 D ^ACDWIIF S ACDDA=ACDV D ^ACDWVIS I ACDOK,ACDDFNP D B
  1. G HED
  1. ;
  1. 105 ;;TRANS/DISC/CLOSE
  1. K ^TMP("ACD",ACDJOB,ACDBT) S ACDDO=0
  1. F ACD=ACDFR-.01:0 S ACD=$O(^ACDVIS("B",ACD)) Q:'ACD!(ACD>ACDTO) S ACDV=0 F S ACDV=$O(^ACDVIS("B",ACD,ACDV)) Q:'ACDV S ACD1=0 F S ACD1=$O(^ACDTDC("C",ACDV,ACD1)) Q:'ACD1 S ACDDA=ACD1 D ^ACDWTDC S ACDDA=ACDV D ^ACDWVIS I ACDOK,ACDDFNP D B
  1. G HED
  1. ;
  1. 106 ;;CLIENT SERVICE
  1. K ^TMP("ACD",ACDJOB,ACDBT) S ACDDO=0
  1. S ACDFR=$E(ACDFR,1,5)_"00" ; date string manipulation (no day) in order for the CS visit x-ref in the visit file to be picked up
  1. F ACD=ACDFR-.01:0 S ACD=$O(^ACDVIS("B",ACD)) Q:'ACD!(ACD>ACDTO) S ACDV=0 F S ACDV=$O(^ACDVIS("B",ACD,ACDV)) Q:'ACDV S ACD1=0 F S ACD1=$O(^ACDCS("C",ACDV,ACD1)) Q:'ACD1 S ACDDA=ACD1 D ^ACDWCS S ACDDA=ACDV D ^ACDWVIS I ACDOK,ACDDFNP D B
  1. G HED
  1. ;
  1. 107 ;;INTERVENTIONS
  1. K ^TMP("ACD",ACDJOB,ACDBT) S ACDDO=0
  1. F ACD=ACDFR-.01:0 S ACD=$O(^ACDINTV("B",ACD)) Q:'ACD!(ACD>ACDTO) S ACD1=0 F S ACD1=$O(^ACDINTV("B",ACD,ACD1)) Q:'ACD1 S ACDDA=ACD1 D ^ACDWCINV,MATCH^ACDWVIS I ACDOK,ACDDFNP D B
  1. G HED
  1. ;
  1. B ;Build utility
  1. ;Only build data if the visit contact type meets the contact
  1. ;type requested by user
  1. I ACDCONTL'=$P($T(@ACDTG),";",3) Q
  1. ;
  1. ;
  1. ;Check for selected patients only.
  1. I $D(ACDPT),'$D(ACDPT(ACDDFNP)) Q
  1. S ^TMP("ACD",ACDJOB,ACDBT,ACDTGSUB,"VAL",ACDDFN,ACD1)=""
  1. Q
  1. ;
  1. HED ;Set header variables
  1. I '$D(^TMP("ACD",ACDJOB,ACDBT)) D RESET^ACDWUTL
  1. S ACDH(0)=$P($T(@ACDTG),";",3)_U_ACDLOC,ACDWDRV(3)=3 D HV^ACDWUTL
  1. U IO D H S ACDTG="G"_ACDTG D @ACDTG
  1. Q
  1. ;
  1. H ;EP
  1. W @IOF,!,"CONFIDENTIAL CLIENT INFORMATION UNDER CFR 42 PART 2",!,"DETAILED CLIENT REPORT #",$S(ACDTG:ACDTG,1:$E(ACDTG,2,6)),!,"CONTACT TYPE: ",$P(ACDH(0),U) S ACDH(3)=ACDH(3)+1
  1. I $D(ACDPT) W !,"SELECTED PATIENTS ONLY"
  1. I ACDH(3)>1,$D(ACDDFN) W !,"PATIENT: ",ACDDFN
  1. W ?68,"PG ",ACDH(3),!,ACDH(50),$P(ACDH(0),U,2),! D ASF^ACDWUTL W !,"DATA CAPTURED FOR: ",ACDH(2),!,ACDH(4),!
  1. I ACDTG="G106"!(ACDTG=106) W !,"DAY",?5,"SERVICE",?33,"LOCATION",?50,"HRS",?71,"PROVIDER"
  1. W !,ACDH(1)
  1. Q
  1. G100 ;
  1. G101 ;
  1. G102 D ^ACDWCD80 Q
  1. G103 D ^ACDWCD70 Q
  1. G104 D ^ACDWCD60 Q
  1. G105 D ^ACDWCD2 Q
  1. G106 D ^ACDWCD3 Q
  1. G107 D ^ACDWCD4 Q
  1. ;
  1. EOJ ;EP - EOJ FOR XBDBQUE
  1. K ^TMP("ACD",ACDJOB,ACDBT)
  1. LOCK -^TMP("ACD",ACDJOB,ACDBT)
  1. K ACDNW,ACDQ,ACDFAC,ACDAREA,ACDSU,ACDTRB,ACDSTA
  1. K ACDAGE,ACDBT,ACDFOLL,ACDH,ACDHRS,ACDJOB,ACDOK,ACDOPT,ACDPLAAL,ACDPLARL,ACDPT,ACDSTAT,ACDTG,ACDTGSUB,ACDVET,ACDWDRV
  1. Q