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

ACDCINV2.m

Go to the documentation of this file.
  1. ACDCINV2 ;IHS/ADC/EDE/KML - DATA ADD FOR INTERVENTIONS;
  1. ;;4.1;CHEMICAL DEPENDENCY MIS;;MAY 11, 1998
  1. ;
  1. START ;
  1. D MAIN
  1. D EOJ
  1. Q
  1. ;
  1. MAIN ;
  1. D INIT
  1. Q:ACDQ
  1. F D GETDATA Q:ACDQ ; get data until no more
  1. Q
  1. ;
  1. INIT ;
  1. S ACDQ=1
  1. Q:'$D(IOF)
  1. Q:'$G(DUZ(2))
  1. Q:'$D(^ACDF5PI(DUZ(2),0)) ; should never happen
  1. S ACDPGM=DUZ(2)
  1. Q:'$G(IO)
  1. S Y=$O(^%ZIS(1,"C",IO,0)) I Y S Y=$P($G(^%ZIS(1,Y,"SUBTYPE")),U) I Y S X=$G(^%ZIS(2,Y,5)),ACDRVON=$P(X,U,4),ACDRVOF=$P(X,U,5)
  1. I $G(ACDRVON)="" S ACDRVON="""""",ACDRVOF=""""""
  1. S ACDDUZZ=DUZ(2)
  1. K ^TMP("ACD",$J),^TMP($J)
  1. S ACDQ=0
  1. Q
  1. ;
  1. GETDATA ; GET INTERVENTION DATA/GENERATE RECORDS
  1. D GETVDATE ; get visit date
  1. Q:ACDQ
  1. F D GETPATS Q:ACDQ ; get patients until no more
  1. W !
  1. S ACDQ=0
  1. Q
  1. ;
  1. GETVDATE ; GET VISIT DATE
  1. S ACDQ=1
  1. S DIR(0)="9002173.5,.01",DIR("A")="VISIT DATE" K DA D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. S (ACDDOV,ACDVDTI)=Y,ACDVDTE=Y(0)
  1. S ACDQ=0
  1. Q
  1. ;
  1. GETPATS ; GET PATIENTS
  1. D GETPAT
  1. Q:ACDQ
  1. S DIC="^ACDINTV(",DIC(0)="L",DLAYGO=9002173.5,X=ACDVDTI
  1. S DIC("DR")="1////"_ACDDFN_";2////"_ACDTRBCD_";3////"_ACDSEX_";4////"_ACDAGE_";19////"_ACDPGM_";22////"_ACDSTACD_";23////"_ACDSTA_";24////"_ACDTRB_";25////"_ACDVET
  1. D FILE^ACDFMC
  1. I +Y<0 W !,"Creation of INTERVENTION entry failed. Notify programmer.",!! S ACDQ=1 S:$D(^%ZOSF("$ZE")) X="CDMIS INTERVENTION",@^("$ZE") D @^%ZOSF("ERRTN") Q
  1. W !!,"---------- INTERVENTION INFO SECTION ----------"
  1. S ACDIVIEN=+Y
  1. S DIE="^ACDINTV(",DIE("NO^")="BACK",DA=ACDIVIEN,DR="[ACD INTERVENTIONS ADD]"
  1. D DIE^ACDFMC
  1. I $D(DTOUT)!($D(Y)) S DIK="^ACDINTV(",DA=ACDIVIEN D ^DIK W !,"** INCOMPLETE OR INCORRECT INTERVENTION ENTRY DELETED **"
  1. Q
  1. ;
  1. GETPAT ; GET PATIENT DATA
  1. W !!
  1. D GETNAME
  1. Q:ACDQ
  1. W !!,"---------- PATIENT DEMOGRAPHIC SECTION ----------"
  1. D GETSEX
  1. Q:ACDQ
  1. D GETAGE
  1. Q:ACDQ
  1. D GETSTATE
  1. Q:ACDQ
  1. D GETTRIBE
  1. Q:ACDQ
  1. D GETVET
  1. Q:ACDQ
  1. Q
  1. ;
  1. GETNAME ; GET PATIENT NAME
  1. S ACDQ=1
  1. S DIR(0)="FO^3:30",DIR("A")="Enter patient's name" K DA D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. Q:Y=""
  1. S ACDDFN=Y
  1. S ACDQ=0
  1. Q
  1. ;
  1. GETSEX ; GET PATIENT SEX
  1. S ACDQ=1
  1. S DIR(0)="SO^M:MALE;F:FEMALE",DIR("A")="Enter patient's sex" K DA D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. Q:Y=""
  1. S ACDSEX=Y
  1. S ACDQ=0
  1. Q
  1. ;
  1. GETAGE ; GET PATIENT AGE
  1. S ACDQ=1
  1. S DIR(0)="NO^1:120:0",DIR("A")="Enter patient's age" K DA D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. Q:Y=""
  1. S ACDAGE=Y
  1. S ACDQ=0
  1. Q
  1. ;
  1. GETSTATE ; GET PATIENT STATE OF RESIDENCE
  1. S ACDQ=1
  1. S DIR(0)="9002173.5,23",DIR("A")="Enter patient's state of residence" K DA D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. Q:Y=""
  1. S ACDSTA=+Y
  1. S ACDSTACD=$$VALI^XBDIQ1(5,ACDSTA,2)
  1. S ACDQ=0
  1. Q
  1. ;
  1. GETTRIBE ; GET PATIENT TRIBE OF MEMBERSHIP
  1. S ACDQ=1
  1. S DIR(0)="9002173.5,24",DIR("A")="Enter patient's tribe" K DA D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. Q:Y=""
  1. S ACDTRB=+Y
  1. S ACDTRBCD=$$VALI^XBDIQ1(9999999.03,ACDTRB,.02)
  1. S ACDQ=0
  1. Q
  1. ;
  1. GETVET ; GET PATIENT VETERAN STATUS
  1. S ACDQ=1
  1. S DIR(0)="9002173.5,25",DIR("A")="Is patient a veteran",DIR("B")="N" K DA D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. Q:Y=""
  1. S ACDVET=Y
  1. S ACDQ=0
  1. Q
  1. ;
  1. EOJ ;
  1. D ^ACDKILL
  1. Q