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

ADEDDTH.m

Go to the documentation of this file.
  1. ADEDDTH ; IHS/HQT/MJL - IHS-RPMS/MLQ ADD/EDIT GENERIC PROVIDER FILE ; [ 03/24/1999 9:04 AM ]
  1. ;;6.0;ADE;;APRIL 1999
  1. ;THIS ROUTINE EDITS THE GENERIC PROVIDER FILE ACCORDING TO THE
  1. ;FIELD NAMES AND ENTRY ORDER STORED IN THE GENERIC PARAMETER FILE
  1. ;
  1. D ^XBKVAR
  1. ;FHL 9/9/98 S:'$D(DTIME) DTIME=300
  1. ;FHL 9/9/98 S:DTIME="" DTIME=300
  1. ;FHL 9/9/98
  1. S DTIME=$$DTIME^XUP(DUZ)
  1. ;VARIABLES ADEPRVFN & ADEPRMFN SET IN KERNEL OPTION PRIOR TO EXECUTION ***
  1. I '$D(ADEPRVFN) S XQUIT=1 W !,"YOUR DISCIPLINE'S GENERIC PROVIDER FILE NUMBER IS NOT BEING SET IN THE KERNEL OPTION. SEE YOUR SITE MANAGER." Q
  1. I '$D(ADEPRMFN) S XQUIT=1 W !,"YOUR DISCIPLINE'S GENERIC PARAMETER FILE NUMBER IS NOT BEING SET IN THE KERNEL OPTION. SEE YOUR SITE MANAGER." Q
  1. S ADEPRVGN=^DIC(ADEPRVFN,0,"GL") ;PROVIDER FILE & GLOBAL
  1. S ADEPRMGN=^DIC(ADEPRMFN,0,"GL") ;PARAMETER FILE & GLOBAL
  1. SEO ;STORE SUBROUTINE NAMES IN ENTRY ORDER
  1. S ADESUBNM(1)="PROV",ADESUBNM(2)="FACL",ADESUBNM(3)="SERU",ADESUBNM(4)="TRBE"
  1. SETA ;DISCIPLINE SPECIFIED FIELD ENTRY ORDER
  1. S ADEFEO=ADEPRMGN_"1,""PEO"")"
  1. I '$D(@ADEFEO) S ADEFEO="1^2^^3" G SETB
  1. I @ADEFEO["1"!("2")!("3")!("4") S ADEFEO=@ADEFEO I 1
  1. E S ADEFEO="1^2^^3^"
  1. SETB ;DISCIPLINE SPECIFIED FIELD NAMES
  1. S ADEFNM=ADEPRMGN_"1,""EQN"")"
  1. I '$D(@ADEFNM) S ADEFNM="" G SETAI
  1. S ADEFNM=@ADEFNM
  1. SETAI ;
  1. F ADEI=1:1:4 S ADEAI=$P(ADEFEO,"^",ADEI) S:ADEAI'="" ADESUBRT(ADEAI)=ADESUBNM(ADEI),ADEFLDNM(ADEAI)=$P(ADEFNM,"^",ADEI)
  1. LOOP ;
  1. S ADEA="" K ADEPROV
  1. F ADEI=0:0 S ADEA=$O(ADESUBRT(ADEA)) Q:ADEA="" D @ADESUBRT(ADEA)
  1. G:X="^" KVAR
  1. F ADEI=1:1:4 S:'$D(ADEPROV(ADEI)) ADEPROV(ADEI)="/@"
  1. D ^ADEDDTH1
  1. S %=2 W !,"ADD/EDIT ANOTHER RECORD" D YN^DICN
  1. I %=1 G LOOP
  1. D KVAR
  1. Q
  1. K ADEFEO
  1. ;
  1. ;ADEDDENT CONTAINS DD ENTRY FOR A SPECIFIC FIELD
  1. ;^1 = FIELD NAME
  1. ;^2 = REQUIRED
  1. ;^3 = POINTED TO FILE
  1. ;^4 = GLOBAL LOCATION
  1. ;^5 = INPUT TRANSFORM
  1. PROV ;EDIT PROVIDER ^DIC(6,
  1. S ADEDDENT=^DD(ADEPRVFN,.01,0) D SDDIC
  1. Q
  1. FACL ;EDIT FACILITY, FORCE SERU ^AUTTLOC
  1. S ADEDDENT=^DD(ADEPRVFN,2,0) D SDDIC
  1. S ADEPROV(2)=$P(Y(0),"^",5)
  1. Q
  1. SERU ;EDIT SERVICE UNIT ^AUTTSU
  1. S ADEDDENT=^DD(ADEPRVFN,1,0) D SDDIC
  1. Q
  1. TRBE ;EDIT TRIBE ^AUTTTRI
  1. S ADEDDENT=^DD(ADEPRVFN,3,0) D SDDIC
  1. Q
  1. SDDIC ;GET DD INFO, D ^DIC FOR PTR FIELDS
  1. S:ADEFLDNM(ADEA)="" ADEFLDNM(ADEA)=$P(ADEDDENT,"^")
  1. S DIC("A")=ADEFLDNM(ADEA)_": "
  1. S DIC="^"_$P(ADEDDENT,"^",3),DIC(0)="AEMQZ" D ^DIC
  1. I X="^",ADEA=1 W !,"EXITING ROUTINE" S ADEA="ZZZZZ" G KVAR
  1. I Y<1 I $P(ADEDDENT,"^",2)["R" W !,$C(7),ADEFLDNM(ADEA)," IS REQUIRED" G SDDIC
  1. Q:Y<1
  1. S ADEGL=$P($P(ADEDDENT,"^",4),";",2)
  1. I ADEGL=1 S ADEPROV(ADEGL)=$P(Y(0,0),"^")
  1. E S ADEPROV(ADEGL)=$P(Y,"^")
  1. Q
  1. KVAR ;KILL VARIABLES
  1. K ADESUBRT,ADESUBNM,ADEFLDNM,ADEPROV ; SUBSCRIPTED VARIABLES
  1. K ADEA,ADEAI,ADEDDENT,ADEPRMFN,ADEPRMGN,ADEPRVFN,ADEPRVGN,ADEFNM,DIC,DIC(0),DIC("A")
  1. K ADEGL,ADEI,X,Y,Y(0),Y(0,0)
  1. Q