1 | DGROUT2 ;DJH/AMA - ROM UTILITIES CONTINUED ; 28 Apr 2004 12:28 PM
|
---|
2 | ;;5.3;Registration;**533,572**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | ; This routine contains generic calls for use throughout DGRO*.
|
---|
5 | ;
|
---|
6 | QUIT ;no direct entry
|
---|
7 | ;
|
---|
8 | GETPAT(DGDFN,DGPAT) ;retrieve patient identifying information
|
---|
9 | ;Used to obtain identifying information for a patient in the
|
---|
10 | ;PATIENT (#2) file and place it in an array format.
|
---|
11 | ; Called from BLDQRY^DGROHLQ
|
---|
12 | ;
|
---|
13 | ; NOTE: Direct global reference of patient's zero node in the
|
---|
14 | ; PATIENT (#2) file is supported by DBIA #10035
|
---|
15 | ;
|
---|
16 | ; Input:
|
---|
17 | ; DGDFN - (required) ien of patient in PATIENT (#2) file
|
---|
18 | ;
|
---|
19 | ; Output:
|
---|
20 | ; Function Value - returns 1 on success, 0 on failure
|
---|
21 | ; DGPAT - output array containing patient identifying information
|
---|
22 | ; on success, pass by reference. Array subscripts are:
|
---|
23 | ; "DFN" - ien PATIENT (#2) file
|
---|
24 | ; "NAME" - patient name
|
---|
25 | ; "SSN" - patient Social Security Number
|
---|
26 | ; "DOB" - patient date of birth (FM format)
|
---|
27 | ; "SEX" - patient sex
|
---|
28 | ;
|
---|
29 | N DGNODE,RESULT
|
---|
30 | ;
|
---|
31 | S RESULT=0
|
---|
32 | I $G(DGDFN)>0,$D(^DPT(DGDFN,0)) D
|
---|
33 | . S DGPAT("DFN")=DGDFN
|
---|
34 | . S DGPAT("NAME")=$$GET1^DIQ(2,DGDFN,.01)
|
---|
35 | . S DGPAT("SEX")=$$GET1^DIQ(2,DGDFN,.02)
|
---|
36 | . S DGPAT("DOB")=$$GET1^DIQ(2,DGDFN,.03,"I") ;* DG*5.3*572
|
---|
37 | . S DGPAT("SSN")=$$GET1^DIQ(2,DGDFN,.09)
|
---|
38 | . S RESULT=1 ;success
|
---|
39 | ;
|
---|
40 | Q RESULT
|
---|
41 | ;
|
---|
42 | GETDFN(DGICN,DGDOB,DGSSN) ;Convert ICN to DFN after verifying DOB and SSN
|
---|
43 | ;Called from RCVQRY^DGROHLR
|
---|
44 | ; Supported DBIA #2701: The supported DBIA is used to retrieve the
|
---|
45 | ; pointer (DFN) to the PATIENT (#2) file for a
|
---|
46 | ; given ICN.
|
---|
47 | ;
|
---|
48 | ; Input:
|
---|
49 | ; DGICN - Integrated Control Number with or without checksum
|
---|
50 | ; DGDOB - Date of Birth in FileMan format
|
---|
51 | ; DGSSN - Social Security Number with no delimiters
|
---|
52 | ;
|
---|
53 | ; Output:
|
---|
54 | ; Function Value - DFN on success, 0 on failure
|
---|
55 | ;
|
---|
56 | N DGDFN ;pointer to patient
|
---|
57 | N DGDPT ;patient data array
|
---|
58 | N DGRSLT ;function value
|
---|
59 | ;
|
---|
60 | S DGRSLT=0
|
---|
61 | S DGICN=+$G(DGICN)
|
---|
62 | S DGDOB=+$G(DGDOB)
|
---|
63 | S DGSSN=+$G(DGSSN)
|
---|
64 | I DGICN D ;drops out of block on first failure ;DG*5.3*572 removed SSN & DOB
|
---|
65 | . S DGDFN=+$$GETDFN^MPIF001(DGICN)
|
---|
66 | . Q:(DGDFN'>0)
|
---|
67 | . S DGRSLT=DGDFN
|
---|
68 | Q DGRSLT
|
---|