DDSIT ;SFISC/MKO-INPUT TRANSFORMS ;09:07 AM  24 Oct 1994
 ;;22.2;VA FileMan;;Jan 05, 2016;Build 42
 ;;Per VA Directive 6402, this routine should not be modified.
 ;;Submitted to OSEHRA 5 January 2015 by the VISTA Expertise Network.
 ;;Based on Medsphere Systems Corporation's MSC FileMan 1051.
 ;;Licensed under the terms of the Apache License, Version 2.0.
 ;
PFIELD ;Input transform for the PARENT FIELD field of the PAGE multiple
 ;of the Form file.
 N DDSMF
 S DDSMF=$$GETFLD^DDSLIB($P(X,","),$P(X,",",2),$P(X,",",3),DA(1))
 G QUIT
 ;
PLINK ;Input transform for POINTER LINK field of the BLOCK multiple of
 ;the PAGE MULTIPLE of the Form file.
 N DDP,DDSCD,DDSERR,DDS
 ;
 S DDP=$P($G(^DIST(.403,DA(2),0)),U,8)
 I 'DDP D  G QUIT
 . N P
 . S P(1)="PRIMARY FILE",P(2)="FORM"
 . D BLD^DIALOG(3011,.P)
 ;
 S DDS=DA(2)_U_$P(^DIST(.403,DA(2),0),U)
 D:X?1"FO(".E FO^DDSPTR(DDP,X,DA(2),DA(1))
 D:X'?1"FO(".E DD^DDSPTR(DDP,X,DA)
 G QUIT
 ;
CEXPR ;Input transform for COMPUTED EXPRESSION field
 N DDP,DDSX,DDSNEXP
 S DDP=$P($G(^DIST(.404,DA(1),0)),U,2)
 D PARSE^DDSCOMP(DDP,X,DA(1),.DDSNEXP) G:$G(DIERR) QUIT
 ;
 S DDSX=X,X=DDSNEXP D ^DIM S:$D(X) X=DDSX
 Q
 ;
QUIT ;Check error and quit
 I $G(DIERR) N DDSERR D MSG^DIALOG("AB",.DDSERR),EN^DDIOL(.DDSERR) K X
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDDSIT   1293     printed  Sep 23, 2025@20:19:25                                                                                                                                                                                                       Page 2
DDSIT     ;SFISC/MKO-INPUT TRANSFORMS ;09:07 AM  24 Oct 1994
 +1       ;;22.2;VA FileMan;;Jan 05, 2016;Build 42
 +2       ;;Per VA Directive 6402, this routine should not be modified.
 +3       ;;Submitted to OSEHRA 5 January 2015 by the VISTA Expertise Network.
 +4       ;;Based on Medsphere Systems Corporation's MSC FileMan 1051.
 +5       ;;Licensed under the terms of the Apache License, Version 2.0.
 +6       ;
PFIELD    ;Input transform for the PARENT FIELD field of the PAGE multiple
 +1       ;of the Form file.
 +2        NEW DDSMF
 +3        SET DDSMF=$$GETFLD^DDSLIB($PIECE(X,","),$PIECE(X,",",2),$PIECE(X,",",3),DA(1))
 +4        GOTO QUIT
 +5       ;
PLINK     ;Input transform for POINTER LINK field of the BLOCK multiple of
 +1       ;the PAGE MULTIPLE of the Form file.
 +2        NEW DDP,DDSCD,DDSERR,DDS
 +3       ;
 +4        SET DDP=$PIECE($GET(^DIST(.403,DA(2),0)),U,8)
 +5        IF 'DDP
               Begin DoDot:1
 +6                NEW P
 +7                SET P(1)="PRIMARY FILE"
                   SET P(2)="FORM"
 +8                DO BLD^DIALOG(3011,.P)
               End DoDot:1
               GOTO QUIT
 +9       ;
 +10       SET DDS=DA(2)_U_$PIECE(^DIST(.403,DA(2),0),U)
 +11       if X?1"FO(".E
               DO FO^DDSPTR(DDP,X,DA(2),DA(1))
 +12       if X'?1"FO(".E
               DO DD^DDSPTR(DDP,X,DA)
 +13       GOTO QUIT
 +14      ;
CEXPR     ;Input transform for COMPUTED EXPRESSION field
 +1        NEW DDP,DDSX,DDSNEXP
 +2        SET DDP=$PIECE($GET(^DIST(.404,DA(1),0)),U,2)
 +3        DO PARSE^DDSCOMP(DDP,X,DA(1),.DDSNEXP)
           if $GET(DIERR)
               GOTO QUIT
 +4       ;
 +5        SET DDSX=X
           SET X=DDSNEXP
           DO ^DIM
           if $DATA(X)
               SET X=DDSX
 +6        QUIT 
 +7       ;
QUIT      ;Check error and quit
 +1        IF $GET(DIERR)
               NEW DDSERR
               DO MSG^DIALOG("AB",.DDSERR)
               DO EN^DDIOL(.DDSERR)
               KILL X
 +2        QUIT