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

ACMEP.m

Go to the documentation of this file.
  1. ACMEP ; IHS/TUCSON/TMJ - EDIT SEQUENCE DATA ENTRY ;
  1. ;;2.0;ACM CASE MANAGEMENT SYSTEM;;JAN 10, 1996
  1. ;EDITING SEQUENCE FOR PATIENT DATA ENTRY
  1. ;ENTRY DISPLAY OF EXISTING DATA
  1. ;HEADER DISPLAY FORMAT CALLED FROM ACMCTRL2
  1. ;ENTRY FIELD & POSITION NUMBER DISPLAYS CALLED FROM ACMCTRL1
  1. ;
  1. ;
  1. EN D INIT
  1. EN1 D HEAD
  1. G EXIT:$D(ACMPROB)
  1. D LIST:'$D(ACMCT)&'$D(ACMREG)
  1. I '$D(ACMREG),'$D(ACMCT),'$D(ACMNT),'$D(ACMCH) D DIC
  1. I $D(ACMDEL) K ACMDEL G EN1
  1. I '$D(ACMQUIT),'$D(ACMOUT) D DIE I ACMDIC=44,$D(ACMY),$D(^ACM(44.3,"AC",ACMY)) S DIR(0)="YO",DIR("A")="Add/Edit Standard Interventions",DIR("B")="NO" W ! D ^DIR K DIR I Y=1 S ACMDXDA=ACMY D EN2^ACMDXIT
  1. G EN1:'$D(ACMQUIT)&'$D(ACMOUT)&'$D(ACMCT)&'$D(ACMCH)&'$D(ACMCR)
  1. EXIT K ACMPROB,ACMENTRY,ACMREG,ACMCT,ACMNT,ACMCH,ACMFM,ACMTL,ACMEN1,ACMY
  1. K ACMEN,ACMLE,ACMDIQF,ACMDIC,DIC,DR,DA,ACMPOSS,ACMDIQF,ACMDR,ACMDIC
  1. K ACMDIC1,ACMDIC2,ACMFLD,ACMUTIL,ACMDICK
  1. Q
  1. ;
  1. INIT K ACMQUIT,ACMOUT
  1. I $D(ACMEP) S ACMEN1=$P(ACMENTRY," ;;")_1,ACMLE=$P($T(@ACMEN1^ACMCTRL2),";;",2)
  1. S ACMTL=$P(ACMENTRY,";;",2),ACMDIC=$P(ACMENTRY,";;",3),ACMDR=$P(ACMENTRY,";;",4),ACMDIQF=$P(ACMENTRY,";;",5),ACMPOSS=$P(ACMENTRY,";;",6)
  1. Q
  1. ;
  1. DIC S DIC="^ACM("_ACMDIC_".1,",DIC("A")=$P(ACMENTRY,";;",7),DIC(0)="AEMQZL",ACMDIC1="^ACM("_ACMDIC_")",ACMDIC2="^ACM("_ACMDIC_".1)"
  1. S:ACMDIC["57" DIC="^AUTTMSR("
  1. S:$D(ACMFM) DIC="^AUPNPAT("
  1. I DIC["AUPNPAT"!(ACMDIC=47) S DIC(0)="AEMQZ"
  1. I $P(^ACM(41.1,ACMRG,0),U,11)'=1 S DIC(0)="AEMQZ"
  1. I '$P(^ACM(41.1,ACMRG,0),U,8) S:ACMDIC'=41&(ACMDIC'=46)&(ACMDIC'=57)&(ACMDIC'=50) DIC("S")="I $D(@ACMDIC2@(+Y,""RG"",""B"",ACMRG))"
  1. S:ACMDIC=47 DIC("S")="I $D(@ACMDIC2@(+Y,""RG"",""B"",ACMRG))"
  1. W !
  1. D ^DIC K DIC,DA
  1. I $E(X)=U!(X="")!(Y=-1) S ACMQUIT="" S:X["^" ACMOUT="" Q
  1. S ACMY=+Y
  1. I $P(Y,U,3)=1 S DR=".02T;.03///"_ACMRGNA D ADD
  1. I '$D(@ACMDIC2@(ACMY,"RG","B",ACMRG)) S DR=".03///"_ACMRGNA D ADD
  1. I $D(@ACMDIC1@("AC",ACMRG,ACMPTNO,ACMY)) S DA=(^(ACMY)) D DEL Q
  1. DICN ;EP
  1. K DIC,DD,DR
  1. S X=ACMY,DIC="^ACM("_ACMDIC_",",DIC(0)="L",DIC("DR")=".02////"_ACMPTNO_";.03////"_ACMRGDFN_";.04////"_ACMRG
  1. K DD,DO D FILE^DICN K DIC,DR,DD S (ACMDA,DA)=+Y
  1. Q
  1. ;
  1. ADD S DIE="^ACM("_ACMDIC_".1,",DA=ACMY
  1. D ^DIE S Y=DA K DIE,DA,DR
  1. Q
  1. ;
  1. DIE ;EP
  1. S:ACMDIC=41 DA=ACMRGDFN
  1. S DR=ACMDR,DIE="^ACM("_ACMDIC_","
  1. W:'$D(ACMREG)&'$D(ACMNT)&'$D(ACMCH) !
  1. D DIE1
  1. Q
  1. ;
  1. DIE1 W ! D ^DIE K DIC,DIE,DA,DR
  1. I $D(Y) S ACMOUT="" Q
  1. S DIE="^ACM(41,",DA=ACMRGDFN,DR="11///TODAY" D ^DIE K DIC,DIE,DA,DR
  1. Q
  1. ;
  1. DEL W !!?10,"Delete this entry"
  1. S %=2 D YN^DICN
  1. I %=-1 S ACMQUIT="" Q
  1. I %=0 W !!?10,"Type 'Y' to delete entry or 'N' to retain it." G DEL
  1. I %Y='"",(%Y'?1"Y".E)!(%Y'?1"N".E) W !!?10,"Type 'Y' to delete entry or 'N' to retain it." G DEL
  1. I %=2 Q
  1. S DIC="^ACM("_ACMDIC_",",X=+Y,DIC(0)="E"
  1. D ^DIC K DIC
  1. S DIE="^ACM("_ACMDIC_",",DR=".01///@"
  1. D DIE1 S ACMDEL=""
  1. Q
  1. ;
  1. W !!?14,$S(ACMTL["PCC":" View ",1:"Update "),@ACMRVON,ACMTL,@ACMRVOFF,!?17,"for ",@ACMRVON,ACMPTNA2,@ACMRVOFF
  1. X ACMLE
  1. Q
  1. ;
  1. LIST S DIC="90022"_ACMDIC,ACMDIC1="^ACM("_ACMDIC_")",ACMDIC2="^ACM("_ACMDIC_","
  1. I ACMDIC=41 S DA=ACMRGDFN D LIST2 Q
  1. S ACMA=""
  1. F ACMI=0:0 S ACMA=$O(@ACMDIC1@("AC",ACMRG,ACMPTNO,ACMA)) Q:ACMA="" S DA=^(ACMA) D LIST2
  1. S ACMDICK="90022"_ACMDIC
  1. K ^UTILITY("DIQ1",$J,ACMDICK),ACMA,ACMI,ACMDIC1
  1. Q
  1. ;
  1. LIST2 S ACMCNT=$L(ACMDIQF,";"),DR=ACMDIQF
  1. D EN^DIQ1
  1. S ACMUTIL="^UTILITY(""DIQ1"""_","_$J_",90022"_ACMDIC_","_DA_")"
  1. W !
  1. F ACMJ=1:1:ACMCNT S ACMFLD=$P(ACMDIQF,";",ACMJ),ACMPOS=$P(ACMPOSS,";",ACMJ) D
  1. .S G=$P(ACMUTIL,")")_","_ACMFLD_",1)" I $D(@G) D WP Q
  1. .S ACMX=$S($D(@ACMUTIL@(ACMFLD)):^(ACMFLD),1:"") W:ACMX'="" ?ACMPOS,ACMX
  1. .Q
  1. K ACMJ,ACMUTIL,ACMFLD,ACMPOS
  1. Q
  1. WP ;Display of Word Processing Field
  1. K ^UTILITY($J,"W")
  1. S ACMG=$P(ACMUTIL,")")_","_ACMFLD_",ACMI)"
  1. S ACMI=0 F S ACMI=$O(@ACMG) Q:ACMI="" D WP2
  1. D WPDISP
  1. Q
  1. ;
  1. WP2 ;WP Length Format from 1-40 Characters rather than 80 standard
  1. ;
  1. S DIWL=1,DIWR=40,X=@ACMG D ^DIWP
  1. Q
  1. WPDISP ;
  1. S Z=0 F S Z=$O(^UTILITY($J,"W",DIWL,Z)) Q:Z'=+Z W ?ACMPOS,^UTILITY($J,"W",DIWL,Z,0),!
  1. K ^UTILITY($J,"W")
  1. Q