source: FOIAVistA/tag/r/REGISTRATION-DGQE-DG-DPT-GRPX-VAD-VAF-VAS-VAT-VAU--VA-VIC--DGBT--DGJ--DGYA--VALM/DGROHLQ2.m@ 636

Last change on this file since 636 was 628, checked in by George Lilly, 14 years ago

initial load of FOIAVistA 6/30/08 version

File size: 2.3 KB
Line 
1DGROHLQ2 ;DJH/AMA - ROM HL7 BUILD QRF SEGMENT ; 24 Jun 2003 3:53 PM
2 ;;5.3;Registration;**533**;Aug 13, 1993
3 ;
4 ;
5QRF(DGSSN,DGDOB,DGFLD,DGHL) ;QRF HL7 segment API
6 ;This function wraps the data retrieval and segment crateion APIs and
7 ;returns a formatted QRF segment. Called from BLDQRY^DGROHLQ
8 ;
9 ; Input:
10 ; DGSSN - (required) Patient's Social Security Number
11 ; DGDOB - (required) Patient's Date of Birth in FileMan format
12 ; DGFLD - (optional) List of comma-separated fields (sequence #'s)
13 ; to include. Defaults to all required fields (1).
14 ; DGHL - VistA HL7 environment array
15 ;
16 ; Output:
17 ; Function Value - QRF segment on success, "" on failure
18 ;
19 N DGQRF,DGVAL
20 ;
21 S DGQRF=""
22 I $G(DGSSN),$G(DGDOB) D
23 . S DGFLD=$$CKSTR^DGROHLUT("1",DGFLD) ;validate field string
24 . S DGFLD=","_DGFLD_","
25 . I $$QRFVAL(DGFLD,DGSSN,DGDOB,.DGVAL) D
26 . . S DGQRF=$$BLDSEG^DGROHLUT("QRF",.DGVAL,.DGHL)
27 Q DGQRF
28 ;
29QRFVAL(DGFLD,DGSSN,DGDOB,DGVAL) ;build QRF field value array
30 ;
31 ; Input:
32 ; DGFLD - (required) Fields string
33 ; DGSSN - (required) Patient's Social Security Number
34 ; DGDOB - (required) Patient's Date of Birth
35 ;
36 ; Output:
37 ; Function Value - 1 on success, 0 on failure
38 ; DGVAL - QRF field array [SUB1:field, SUB2:repetition,
39 ; SUB3:component, SUB4:sub-component]
40 ;
41 N DGRSLT
42 ;
43 S DGRSLT=0
44 I $G(DGFLD)]"",$G(DGSSN),$G(DGDOB) D
45 . ;
46 . ; seq 1 (required) Where Subj Filter
47 . I DGFLD[",1," D
48 . . S DGVAL(1)="ROM"
49 . ;
50 . ; seq 2 (optional) When Data Start Date/Time
51 . I DGFLD[",2," D
52 . . S DGVAL(2)=""
53 . ;
54 . ; seq 3 (optional) When Data End Date/Time
55 . I DGFLD[",3," D
56 . . S DGVAL(3)=""
57 . ;
58 . ; seq 4 (optional) What User Qualifier
59 . I DGFLD[",4," D
60 . . S DGVAL(4)=DGSSN
61 . ;
62 . ; seq 5 (optional) Other Query Subj Filter
63 . I DGFLD[",5," D
64 . . S DGVAL(5)=$$FMTHL7^XLFDT(DGDOB)
65 . ;
66 . ;- seq 6 (optional) Which Date/Time Qualifier
67 . I DGFLD[",6," D
68 . . S DGVAL(6)=""
69 . ;
70 . ; seq 7 (optional) Which Date/Time Status Qualifier
71 . I DGFLD[",7," D
72 . . S DGVAL(7)=""
73 . ;
74 . ; seq 8 (optional) Date/Time Selection Qualifier
75 . I DGFLD[",8," D
76 . . S DGVAL(8)=""
77 . ;
78 . ; seq 9 (optional) When Quantity/Timing Qualifier
79 . I DGFLD[",9," D
80 . . S DGVAL(9)=""
81 . ;
82 . S DGRSLT=1
83 I 'DGRSLT K DGVAL
84 Q DGRSLT
Note: See TracBrowser for help on using the repository browser.