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

DIO3.m

Go to the documentation of this file.
  1. DIO3 ;SFISC/GFT - TTLS, SUBTTLS ;22JUN2016
  1. ;;22.2;VA FileMan;**3**;Jan 05, 2016;Build 17
  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. ;GFT;**2,999,1005,1047,1055**;
  1. ;
  1. SUB ;
  1. N TYPE,V ;**CCO/NI This whole subroutine re-written for 'TOTAL', 'SUBTOTAL', 'COUNT', SUBCOUNT', ETC.
  1. I '$D(DNP) W:$X !
  1. I 'A F X=1:1:$G(DIONOSUB) W !
  1. K X
  1. I $D(^UTILITY($J,"SV",A+1)) F Y="S","N","Q","H","L" S C=Y_"(V)" F V=0:0 S V=$O(@C) Q:V="" I $D(^UTILITY($J,"SV",A+1,V,Y)) S @C=^(Y),^(Y)=$S(Y="H":-99999999,Y="L":99999999,1:0)
  1. S %X="" F S %X=$O(^UTILITY($J,"T",%X)) Q:%X="" D
  1. .S Z=^(%X),V=$P(Z,U,2) Q:$D(V(V))
  1. .S V(V)="",TYPE=$P(Z,U,4)
  1. U .F I=1:1:6 S DE=$P($T(@I),";",4),Y=DE_"(V)" I $D(@Y)#2 S Y=@Y,C=$P(Z,U,5) D @I
  1. .I '$D(DNP),$D(X)>9 W ?%X F I=1:1:Z W "-"
  1. S Z=A I $D(A(A)) F DE="S","N" S I=DE_"(V)" F V=0:0 S V=$O(@I) Q:V="" S Y=@I I '$D(DNP)!Y S:'$D(V(V)) ^(DE)=$G(^UTILITY($J,"SV",A,V,DE))+Y S @I=0,Z=0 X A(A)
  1. S X=-1 G K:$D(X)<9!Z F I=0:0 S I=$O(X(I)),X=X+1 Q:I=""
  1. I X+$Y>IOSL X ^UTILITY($J,1)
  1. EGP F I=0:0 S I=$O(X(I)) Q:I="" W:$X ! D
  1. .N TITLE
  1. .S TITLE=$$EZBLD^DIALOG($P($T(@I),";",6))
  1. .I A>0 S TITLE=$$EZBLD^DIALOG(7098,TITLE)
  1. .W:'$G(DIONOSUB) TITLE," " S X="" F S X=$O(X(I,X)) Q:X="" W ?X,X(I,X)
  1. W !
  1. K K Z,X,V,C Q
  1. ;
  1. 1 ;;TOTAL;S;;7090
  1. I $P(Z,U,6)]"" X $P(Z,U,6,99) S S(V)=Y
  1. S ^(DE)=$S($S(A:$D(^UTILITY($J,"SV",A,V,DE)),1:$D(^DOSV(0,IO(0),0,V,DE))):^(DE),1:0)+Y
  1. Q:TYPE["D" Q:TYPE["F"&(Y=0) ;TOTALS FOR DATES AND (USUALLY) FREE-TEXT DON'T MAKE SENSE
  1. O I C]""!$P(Z,U,3) D ;Q
  1. .N F,OUTRANSF
  1. .S F=$G(^DOSV(0,IO(0),"F",I))
  1. .S OUTRANSF="Q"
  1. .I $P($G(^DD(+F,+$P(F,U,2),0)),U,2)["O" S OUTRANSF=$G(^(2))
  1. .X OUTRANSF
  1. .S @("Y=$J(Y,+Z"_C_")")
  1. S X(I,%X)=Y
  1. Q
  1. 2 ;;COUNT;N;;7089
  1. S ^(DE)=$S($S(A:$D(^UTILITY($J,"SV",A,V,DE)),1:$D(^DOSV(0,IO(0),0,V,DE))):^(DE),1:0)+Y
  1. S C=$P(",0",U,C]"") G O
  1. 3 ;;MEAN;N;;7088
  1. Q:TYPE["D"!'Y!$L($P(Z,U,6))!'$D(S(V)) Q:TYPE["F"!A&(S(V)=0) S Y=$J(S(V)/Y,0,2) G O
  1. 4 ;;MINIMUM;L;;7087
  1. S ^(DE)=$S('$D(^(DE)):Y,^(DE)>Y:Y,1:^(DE)),L(V)=99999999 G M
  1. 5 ;;MAXIMUM;H;;7086
  1. S ^(DE)=$S('$D(^(DE)):Y,^(DE)<Y:Y,1:^(DE)),H(V)=-99999999
  1. M Q:Y[9999999!(N(V)<2) D D:TYPE["D" G O
  1. 6 ;;DEV.;Q;;7085
  1. Q:TYPE["D" S ^(DE)=$G(^(DE))+Y,Q(V)=0 Q:N(V)<2 S DE=Y-((S(V)*S(V))/N(V))/(N(V)-1),Y=1+DE/2 Q:DE'>0
  1. L S %=Y,Y=DE/%+%/2 G L:Y<%,O
  1. ;
  1. DT D D:Y W Y Q
  1. D X ^DD("DD") Q ;**CCO/NI DATE FORMAT
  1. N W !
  1. T Q