- VAFCMGB ;ALB/JRP,PTD-DEMOGRAPHIC MERGE SCREEN BUILDER ;18-OCT-1996
- ;;5.3;Registration;**149,479**;Aug 13, 1993
- ;
- ;NOTE: The VAFCMGB* routines contain line tags used to build the
- ; display screen of a List Manager interface. All line tags
- ; assume that the following variables are defined and contained
- ; in the local partition.
- ;
- ;Input : VAFCDFN - Pointer to entry in PATIENT file (#2) to merge
- ; data into
- ; VAFCARR - Array contain data to merge (full global reference)
- ; VAFCARR() should be set as follows:
- ; VAFCARR(File,Field) = Value
- ; Where File = File number Value is from
- ; Field = Field number Value is from
- ; Value = Info to merge
- ; Notes: Dates must be in FileMan format
- ; : Special considerations for Value
- ; "@" - Displays <DELETE> and deletes
- ; local value if merged
- ; "^text" - Displays text and ignores
- ; field if merged
- ; NULL - Displays <UNSPECIFIED> and
- ; ignores field if merged
- ; Doesn't exist - Displays <UNSPECIFIED>
- ; and ignores field
- ; if merged
- ; VAFCFROM - Text denoting where merge data cam from (1-35)
- ; VAFCEVDT - Date/time merge data was instantiated (FileMan)
- ; VAFCDOTS - Flag indicating if progress dots should be printed
- ; 0 = No
- ; 1 = Yes
- ; All variables set by List Manager Interface
- ;Output : Display area and variables required List Manager interface
- ; Display
- ; VALMAR(Line,0) = Line of text in display
- ; Indexes
- ; VALMAR("IDX",Line,Entry) = ""
- ; VALMAR("E2F",Entry,N) = File^Field
- ; N => Allows for multiple fields per entry (starts with 1)
- ; VALMAR("E2G",Entry) = Group entry is contained in
- ; VALMAR("GRP",Group) = First line of group in display
- ; Note: The E2F and E2G indexes are only set if the data
- ; to merge does not match the local data
- ;Notes : Existance/validity of input variables is assumed
- ; : Dates are converted to internal format for comparison
- ; : Phone # are converted to HL7 format for comparison & display
- ;
- BLDALL ;Main entry point to build entire List Manager display
- ;
- ;Input : See note above
- ;Output : See note above
- ;
- ;Declare variables
- N LASTNTRY
- ;Build logical group 1
- D GROUP1^VAFCMGB0
- ;White space
- S LASTNTRY=+$O(@VALMAR@("IDX",VALMCNT-1,0))
- S @VALMAR@(VALMCNT,0)=" "
- S @VALMAR@("IDX",VALMCNT,LASTNTRY)=""
- S VALMCNT=VALMCNT+1
- ;Build logical group 2
- D GROUP2^VAFCMGB1
- ;White space
- ;S LASTNTRY=+$O(@VALMAR@("IDX",VALMCNT-1,0))
- ;S @VALMAR@(VALMCNT,0)=" "
- ;S @VALMAR@("IDX",VALMCNT,LASTNTRY)=""
- ;S VALMCNT=VALMCNT+1
- ;Build logical group 3
- D GROUP3^VAFCMGB2
- ;White space - eliminated with **479
- ;S LASTNTRY=+$O(@VALMAR@("IDX",VALMCNT-1,0))
- ;S @VALMAR@(VALMCNT,0)=" "
- ;S @VALMAR@("IDX",VALMCNT,LASTNTRY)=""
- ;S VALMCNT=VALMCNT+1
- ;S @VALMAR@(VALMCNT,0)=" "
- ;S @VALMAR@("IDX",VALMCNT,LASTNTRY)=""
- ;S VALMCNT=VALMCNT+1
- ;Build logical group 4
- D GROUP4^VAFCMGB3
- ;Done
- Q
- ;
- RBLDGRP(GROUP) ;Rebuild specified group in List Manager display
- ;
- ;Input : GROUP - Number denoting which logical group in display
- ; should be rebuilt
- ; Groups 1, 2, 3, and 4 are currently supported
- ; See above note on input variables
- ;Output : See above note on output
- ;
- ;Check input
- S GROUP=+$G(GROUP)
- ;Declare variables
- N VALMCNT
- ;Get starting line number of group
- S VALMCNT=+$G(@VALMAR@("GRP",GROUP))
- ;Rebuild logical group 1 - done
- I (GROUP=1) D GROUP1^VAFCMGB0 Q
- ;Rebuild logical group 2 - done
- I (GROUP=2) D GROUP2^VAFCMGB1 Q
- ;Rebuild logical group 3 - done
- I (GROUP=3) D GROUP3^VAFCMGB2 Q
- ;Rebuild logical group 4 - done
- I (GROUP=4) D GROUP4^VAFCMGB3 Q
- ;Done - did nothing
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HVAFCMGB 4412 printed Feb 19, 2025@00:27:50 Page 2
- VAFCMGB ;ALB/JRP,PTD-DEMOGRAPHIC MERGE SCREEN BUILDER ;18-OCT-1996
- +1 ;;5.3;Registration;**149,479**;Aug 13, 1993
- +2 ;
- +3 ;NOTE: The VAFCMGB* routines contain line tags used to build the
- +4 ; display screen of a List Manager interface. All line tags
- +5 ; assume that the following variables are defined and contained
- +6 ; in the local partition.
- +7 ;
- +8 ;Input : VAFCDFN - Pointer to entry in PATIENT file (#2) to merge
- +9 ; data into
- +10 ; VAFCARR - Array contain data to merge (full global reference)
- +11 ; VAFCARR() should be set as follows:
- +12 ; VAFCARR(File,Field) = Value
- +13 ; Where File = File number Value is from
- +14 ; Field = Field number Value is from
- +15 ; Value = Info to merge
- +16 ; Notes: Dates must be in FileMan format
- +17 ; : Special considerations for Value
- +18 ; "@" - Displays <DELETE> and deletes
- +19 ; local value if merged
- +20 ; "^text" - Displays text and ignores
- +21 ; field if merged
- +22 ; NULL - Displays <UNSPECIFIED> and
- +23 ; ignores field if merged
- +24 ; Doesn't exist - Displays <UNSPECIFIED>
- +25 ; and ignores field
- +26 ; if merged
- +27 ; VAFCFROM - Text denoting where merge data cam from (1-35)
- +28 ; VAFCEVDT - Date/time merge data was instantiated (FileMan)
- +29 ; VAFCDOTS - Flag indicating if progress dots should be printed
- +30 ; 0 = No
- +31 ; 1 = Yes
- +32 ; All variables set by List Manager Interface
- +33 ;Output : Display area and variables required List Manager interface
- +34 ; Display
- +35 ; VALMAR(Line,0) = Line of text in display
- +36 ; Indexes
- +37 ; VALMAR("IDX",Line,Entry) = ""
- +38 ; VALMAR("E2F",Entry,N) = File^Field
- +39 ; N => Allows for multiple fields per entry (starts with 1)
- +40 ; VALMAR("E2G",Entry) = Group entry is contained in
- +41 ; VALMAR("GRP",Group) = First line of group in display
- +42 ; Note: The E2F and E2G indexes are only set if the data
- +43 ; to merge does not match the local data
- +44 ;Notes : Existance/validity of input variables is assumed
- +45 ; : Dates are converted to internal format for comparison
- +46 ; : Phone # are converted to HL7 format for comparison & display
- +47 ;
- BLDALL ;Main entry point to build entire List Manager display
- +1 ;
- +2 ;Input : See note above
- +3 ;Output : See note above
- +4 ;
- +5 ;Declare variables
- +6 NEW LASTNTRY
- +7 ;Build logical group 1
- +8 DO GROUP1^VAFCMGB0
- +9 ;White space
- +10 SET LASTNTRY=+$ORDER(@VALMAR@("IDX",VALMCNT-1,0))
- +11 SET @VALMAR@(VALMCNT,0)=" "
- +12 SET @VALMAR@("IDX",VALMCNT,LASTNTRY)=""
- +13 SET VALMCNT=VALMCNT+1
- +14 ;Build logical group 2
- +15 DO GROUP2^VAFCMGB1
- +16 ;White space
- +17 ;S LASTNTRY=+$O(@VALMAR@("IDX",VALMCNT-1,0))
- +18 ;S @VALMAR@(VALMCNT,0)=" "
- +19 ;S @VALMAR@("IDX",VALMCNT,LASTNTRY)=""
- +20 ;S VALMCNT=VALMCNT+1
- +21 ;Build logical group 3
- +22 DO GROUP3^VAFCMGB2
- +23 ;White space - eliminated with **479
- +24 ;S LASTNTRY=+$O(@VALMAR@("IDX",VALMCNT-1,0))
- +25 ;S @VALMAR@(VALMCNT,0)=" "
- +26 ;S @VALMAR@("IDX",VALMCNT,LASTNTRY)=""
- +27 ;S VALMCNT=VALMCNT+1
- +28 ;S @VALMAR@(VALMCNT,0)=" "
- +29 ;S @VALMAR@("IDX",VALMCNT,LASTNTRY)=""
- +30 ;S VALMCNT=VALMCNT+1
- +31 ;Build logical group 4
- +32 DO GROUP4^VAFCMGB3
- +33 ;Done
- +34 QUIT
- +35 ;
- RBLDGRP(GROUP) ;Rebuild specified group in List Manager display
- +1 ;
- +2 ;Input : GROUP - Number denoting which logical group in display
- +3 ; should be rebuilt
- +4 ; Groups 1, 2, 3, and 4 are currently supported
- +5 ; See above note on input variables
- +6 ;Output : See above note on output
- +7 ;
- +8 ;Check input
- +9 SET GROUP=+$GET(GROUP)
- +10 ;Declare variables
- +11 NEW VALMCNT
- +12 ;Get starting line number of group
- +13 SET VALMCNT=+$GET(@VALMAR@("GRP",GROUP))
- +14 ;Rebuild logical group 1 - done
- +15 IF (GROUP=1)
- DO GROUP1^VAFCMGB0
- QUIT
- +16 ;Rebuild logical group 2 - done
- +17 IF (GROUP=2)
- DO GROUP2^VAFCMGB1
- QUIT
- +18 ;Rebuild logical group 3 - done
- +19 IF (GROUP=3)
- DO GROUP3^VAFCMGB2
- QUIT
- +20 ;Rebuild logical group 4 - done
- +21 IF (GROUP=4)
- DO GROUP4^VAFCMGB3
- QUIT
- +22 ;Done - did nothing
- +23 QUIT