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

DIDH1.m

Go to the documentation of this file.
  1. DIDH1 ;SFISC/ALL - HDR FOR DD LISTS;16NOV2012
  1. ;;22.2;VA FileMan;**14**;Jan 05, 2016;Build 8
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;;Submitted to OSEHRA 5 January 2015 by the VISTA Expertise Network.
  1. ;;Based on Medsphere Systems Corporation's MSC FileMan 1051.
  1. ;;Licensed under the terms of the Apache License, Version 2.0.
  1. ;
  1. N DIDHI,DIDHJ,DIC,W,M1 D
  1. .N I,J D IJ^DIUTL(DFF) M DIDHJ=J,DIDHI=I S DIDHJ=$O(J(""),-1)
  1. S M=1 I DC=1 S (F(1),DA)=DFF,Z=1
  1. E I $Y,IOST?1"C".E W $C(7) R M:DTIME I M=U!'$T K DIOEND S M=U,DN=0 Q
  1. S M1=$S($G(^DD(F(1),0,"VR"))]"":" (VERSION "_$P(^("VR"),U)_") ",1:"") I IOST?1"C".E S DIFF=1
  1. W:$D(DIFF)&($Y) @IOF S DIFF=1 W $S(DHIT["DIDX":"BRIEF",DHIT["DIDG":"GLOBAL MAP",$D(DINM):"MODIFIED",1:"STANDARD")
  1. W " DATA DICTIONARY #"_DFF_" -- "_$O(^DD(DFF,0,"NM",0))_" "_$S(DIDHJ:"SUB-",1:"")_"FILE "
  1. S DIC=^DIC(DUB,0,"GL") D
  1. .N X,Y
  1. TODAY .S W=$$OUT^DIALOGU(DT,"FMTE","2D")_" "_$$EZBLD^DIALOG(7095,DC) W ?(IOM-$L(W)-1),W ;**CCO/NI TODAY'S DATE, 'PAGE'
  1. S M=IOM\2,S=" ",W="" I $D(^DD("SITE")) S W="SITE: "_^("SITE")_" "
  1. I $D(^%ZOSF("UCI"))#2 X ^("UCI") S W=W_"UCI: "_Y
  1. W ! I DHIT["DIDX" W W,?(IOM-$L(M1)-1),M1 S W="",$P(W,"-",IOM)="" W !,W S W="" G Q^DIDH
  1. W "STORED IN ",DIC F I=1:1 Q:'$D(DIDHI(I)) W "D",I-1,",",DIDHI(I),","
  1. I 'DIDHJ D
  1. .I $O(@(DIC_"0)"))'>0 W " *** NO DATA STORED YET ***" Q
  1. .S I=$P(^(0),U,4) W:I " ("_I_" ENTR"_$S(I=1:"Y)",1:"IES)")
  1. W " ",W,?(IOM-$L(M1)-1),M1 D:DHIT'["DIDG"
  1. .W !!,"DATA",?14,"NAME",?36,"GLOBAL",?50,"DATA",!,"ELEMENT",?14,"TITLE",?36,"LOCATION",?50,"TYPE"
  1. G W ! F I=1:1:IOM-1 W "-"
  1. S W="" Q:DC>1!$G(DIDRANGE)
  1. FIRST F DG=0:0 S DG=$O(^DIC(DA,"ALANG",DG)) Q:'DG I $D(^(DG,0)) S DIWR=$P(^(0),U) I $D(^DI(.85,DG,0)) W !,$P(^(0),U)," FILE NAME: ",DIWR ;**SHOW FOREIGN FILE NAMES
  1. PAGE1 I 'DIDHJ,'$$WP^DIUTL($NA(^DIC(DA,"%D"))) S M="^" Q
  1. I DIDHJ D I M=U Q
  1. .S W=DIDHJ(DIDHJ-1),W=$NA(^DD(W,+$O(^DD(W,"SB",DFF,"")))) I '$$WP^DIUTL($NA(@W@(21))) S M=U Q
  1. .I $D(@W@(23)) W !,"TECHNICAL DESCRIPTION:",! I '$$WP^DIUTL($NA(@W@(23))) S M=U
  1. .F I=8,9 I $D(@W@(I)) W !,?15,$P("READ^WRITE",U,I-7)," ACCESS: ",^(I)
  1. I DHIT["DIDG" D Q
  1. . D XR^DIDH Q:M=U
  1. . N DIDPG S DIDPG("H")="W """" D H^DIDH S:M=U PAGE(U)=1"
  1. . D LIST^DIKCP(DA,"","C15",.DIDPG) Q:M=U
  1. . D WRLN^DIKCP1("",0,.DIDPG)
  1. Q:DHIT["DIDX"!(M=U) W !
  1. F %=1:1:4 S X=$P("SCR^DIC^ACT^DIK",U,%) I $G(^DD(DA,0,X))]"" W !,$P("FILE SCREEN (SCR-node) ^SPECIAL LOOKUP ROUTINE ^POST-SELECTION ACTION ^COMPILED CROSS-REFERENCE ROUTINE",U,%)_": " S W=^(X) D W^DIDH G Q:M=U
  1. W:$P($G(^DD(DA,0,"DI")),U)["Y" !,"THIS IS AN ARCHIVE FILE."
  1. W:$P($G(^DD(DA,0,"DI")),U,2)["Y" !,"EDITING OF FILE IS NOT ALLOWED."
  1. F N="DD","RD","WR","DEL","LAYGO","AUDIT" I $D(^DIC(DA,0,N)) W !?(Z+Z+14-$L(N)),N," ACCESS: ",^(N)
  1. I $O(^DIC(DA,"%",0)) W !!?3,"APPLICATION GROUP(S): " S (%,N)=0 F S N=$O(^DIC(DA,"%",N)) Q:'N S X=$G(^(N,0)) D:X]"" ;p14
  1. . I ($L(X)+$X)+1>IOM W ",",!?25 S %=0
  1. . W $S(%:", ",1:""),X S %=%+1
  1. AFOF I $D(^VA(200,"AFOF",DA)) W !!?8,"(NOTE: Kernel's File Access Security applies to this File.)",!
  1. I $O(^DD(DA,0,"ID",""))]"" W !,"IDENTIFIED BY: "
  1. S X=0 F S X=$O(^DD(DA,0,"ID",X)) Q:X="" Q:'$D(^DD(DA,X,0)) S I1=$P(^(0),U)_" (#"_X_")"_$S($P(^(0),U,2)["R":"[R]",1:"") W:($L(I1)+$X)+1>IOM ! W ?15,I1 I $O(^DD(DA,0,"ID",X)) W ", "
  1. S:X="" X=-1
  1. ;
  1. ;Print "WRITE" identifiers
  1. I '$D(DINM) S X=" " F S X=$O(^DD(DA,0,"ID",X)) Q:X="" D Q:M=U
  1. . N DIDLN,DIDPG
  1. . S DIDLN(1)=$G(^DD(DA,0,"ID",X)) Q:DIDLN(1)?."^"
  1. . S DIDLN(0)=""""_X_""": "
  1. . S DIDLN(0)=$J("",15-$L(DIDLN(0)))_DIDLN(0)
  1. . S DIDPG("H")="W """" D H^DIDH S:M=U PAGE(U)=1"
  1. . D WRPHI^DIKCP1(.DIDLN,IOM-16,0,15,1,.DIDPG)
  1. Q:M=U
  1. ;
  1. I $D(^DD("KEY","B",DA)) D
  1. . N DIDPG
  1. . S DIDPG("H")="W """" D H^DIDH S:M=U PAGE(U)=1"
  1. . D PRINT^DIKKP(DA,"","C20",.DIDPG)
  1. D POINT^DIDH Q:M=U D TRIG^DIDH,XR^DIDH Q:M=U
  1. I $D(^DD("IX","B",DA)) D Q:M=U W !
  1. . N DIDPG
  1. . S DIDPG("H")="W """" D H^DIDH S:M=U PAGE(U)=1"
  1. . D LIST^DIKCP(DA,"","C15",.DIDPG)
  1. CREATED W !! S N=$G(^DIC(DA,"%A")),Y=$P(N,U,2) I Y X ^DD("DD") W ?3,"CREATED ON: "_Y I $S($D(^VA(200,0)):1,1:$D(^DIC(3,0))),^(0)["NEW PERSON"!(^(0)["USER")!(^(0)["EMPLOY"),$D(^(+N,0)) W " by "_$P(^(0),U)
  1. S Y=+$G(^DIC(DA,"%MSC")) I Y X ^DD("DD") W " LAST MODIFIED: "_Y
  1. Q Q
  1. W W:$X+$L(W)+3>IOM !,?$S(IOM-$L(W)-5<M:IOM-5-$L(W),1:M),S S %Y=$E(W,IOM-$X,999) W $E(W,1,IOM-$X-1),S Q:%Y="" S W=%Y G W
  1. Q
  1. WR ;
  1. S W="TRIGGERED by the "_$P(^(0),U)_" field"
  1. UP1 S W=W_" of the "_$O(^DD(%,0,"NM",0))
  1. I $D(^DD(%,0,"UP")) S %=^("UP") S W=W_" sub-field" G UP1
  1. S W=W_" File"
  1. W1 S DDV1="" W ?DDL2 F K=1:1 S DDV=$P(W," ",K)_" ",DDV1=DDV1_DDV W:$L(DDV)+$X>IOM !?DDL2 W DDV Q:$L(DDV1)>$L(W)
  1. I $Y+6>IOSL S DC=DC+1 D DIDH1
  1. K DDV,DDV1 Q
  1. DE ;
  1. W !?DDL1,$P("DESCRIPTION:^TECHNICAL DESCR:",U,%Y=23+1)
  1. I '$$WP^DIUTL($NA(^DD(F(Z),DJ(Z),%Y)),DDL2+1) S M="^"
  1. Q