1 | GMRCP50 ;ISP/TDP - PRE INSTALL FOR GMRC*3*50 ; 11/29/2005
|
---|
2 | ;;3.0;CONSULT/REQUEST TRACKING;**50**;DEC 27, 1997;Build 8
|
---|
3 | Q
|
---|
4 | EN ;Entry point for manual start from programmer's prompt
|
---|
5 | N DIR,DIROUT,DIRUT,DTOUT,DUOUT,NMFLG,X,Y
|
---|
6 | S DIR(0)="Y"
|
---|
7 | S DIR("A")="Print Full Patient Names on pre-install report"
|
---|
8 | S DIR("B")="YES"
|
---|
9 | S DIR("?")="Answer 'NO' to print patients' initials and last 6 of SSN."
|
---|
10 | S DIR("?",1)="Answer 'YES' to print patients' full name and last 4 of SSN."
|
---|
11 | D ^DIR I (($G(DIROUT))!($G(DIRUT))!($G(DUOUT))!($G(DTOUT))) Q
|
---|
12 | S NMFLG=Y
|
---|
13 | PRE ;Start of Pre-init of patch GMRC*3*50
|
---|
14 | N GMRCTTL,GMRCITL
|
---|
15 | K ^TMP("GMRCP50",$J),^TMP("GMRCP50 IFC",$J)
|
---|
16 | I '$D(NMFLG) N NMFLG D
|
---|
17 | . S NMFLG=$O(XPDQUES(""))
|
---|
18 | . S NMFLG=$G(XPDQUES(NMFLG))
|
---|
19 | D BMES^XPDUTL("Starting Pre-init...")
|
---|
20 | D BMES^XPDUTL(" Searching for ampersand (""&"") in the SIGNIFICANT FINDINGS (#15) field")
|
---|
21 | D MES^XPDUTL(" of the REQUEST/CONSULTATION (#123) file.")
|
---|
22 | D MES^XPDUTL(" ")
|
---|
23 | D SEARCH
|
---|
24 | I GMRCTTL!(GMRCITL) D MSG^GMRCP50A
|
---|
25 | D BMES^XPDUTL("Pre-init complete.")
|
---|
26 | Q
|
---|
27 | SEARCH ;Search SIGNIFICANT FINDINGS (#15) field of the REQUEST/CONSULTATION
|
---|
28 | ;(#123) file for ampersand ("&").
|
---|
29 | N GMRC0,GMRC40,GMRCACT,GMRCACDT,GMRCADT,GMRCAIEN,GMRCCIEN,GMRCCOM
|
---|
30 | N GMRCCPRS,GMRCDFN,GMRCDFN1,GMRCDONE,GMRCDT,GMRCIEN,GMRCIFC,GMRCSVC
|
---|
31 | N GMRCSSN,GMRCSSN1,GMRCWHO
|
---|
32 | S (GMRCDT,GMRCITL,GMRCTTL)=0
|
---|
33 | F S GMRCDT=$O(^GMR(123,"B",GMRCDT)) Q:GMRCDT="" D
|
---|
34 | . S GMRCIEN=""
|
---|
35 | . F S GMRCIEN=$O(^GMR(123,"B",GMRCDT,GMRCIEN)) Q:GMRCIEN="" D
|
---|
36 | .. S GMRCDONE=0
|
---|
37 | .. S GMRC0=$G(^GMR(123,GMRCIEN,0)) I $P(GMRC0,U,19)'="&" Q
|
---|
38 | .. S GMRCIFC="GMRCP50"
|
---|
39 | .. I $P($G(^GMR(123,GMRCIEN,12)),U,5)="P" S GMRCIFC="GMRCP50 IFC"
|
---|
40 | .. S GMRCDFN=+$P(GMRC0,U,2) S:GMRCDFN GMRCSSN=$P($G(^DPT(GMRCDFN,0)),U,9),GMRCDFN=$P($G(^DPT(GMRCDFN,0)),U,1)
|
---|
41 | .. S GMRCSSN1="("_$E(GMRCDFN,1)_$E(GMRCSSN,6,9)_")"
|
---|
42 | .. S GMRCDFN1=GMRCDFN
|
---|
43 | .. I (GMRCDFN=0)!(GMRCDFN="") S GMRCDFN="PATIENT UNKNOWN"
|
---|
44 | .. S GMRCDFN=GMRCDFN_" "_GMRCSSN1
|
---|
45 | .. S GMRCSVC=+$P(GMRC0,U,5) S:GMRCSVC GMRCSVC=$P($G(^GMR(123.5,GMRCSVC,0)),U,1)
|
---|
46 | .. I (GMRCSVC=0)!(GMRCSVC="") S GMRCSVC="SERVICE UNKNOWN"
|
---|
47 | .. S GMRCCPRS=+$P(GMRC0,U,12) S:GMRCCPRS GMRCCPRS=$P($G(^ORD(100.01,GMRCCPRS,0)),U,1)
|
---|
48 | .. I (GMRCCPRS=0)!(GMRCCPRS="") S GMRCCPRS="STATUS UNKNOWN"
|
---|
49 | .. D ACTIVITY
|
---|
50 | .. S ^TMP(GMRCIFC,$J,GMRCDFN,GMRCDT,GMRCIEN,0)=GMRCIEN_U_GMRCSVC_U_GMRCCPRS_U_GMRCACT_U_GMRCACDT_U_GMRCWHO
|
---|
51 | .. I 'NMFLG D
|
---|
52 | ... S ^TMP(GMRCIFC,$J,GMRCDFN,0)="("_$E($P(GMRCDFN1,",",2),1)_$E($P($P(GMRCDFN1,",",2)," ",2),1)_$E(GMRCDFN1,1)_$E(GMRCSSN,4,9)_")"
|
---|
53 | .. W !," Consult entry "_GMRCIEN_" has an ampersand (""&"") as the Significant Finding."
|
---|
54 | .. S GMRCTTL=GMRCTTL+1
|
---|
55 | .. I GMRCIFC="GMRCP50 IFC" S GMRCITL=GMRCITL+1
|
---|
56 | D MES^XPDUTL(" ")
|
---|
57 | D BMES^XPDUTL(GMRCTTL_" total consults contain an ampersand as the Significant Finding.")
|
---|
58 | Q
|
---|
59 | ACTIVITY ;Search thru all Request Processing Activities and return any
|
---|
60 | ;Significant Findings or Administrative Completions.
|
---|
61 | N GMRCSIG,GMRCFLG
|
---|
62 | S GMRCSIG=$O(^GMR(123.1,"B","SIG FINDING UPDATE",""))
|
---|
63 | S GMRCFLG=0
|
---|
64 | ACT1 S (GMRCACDT,GMRCACT,GMRCADT,GMRCWHO)=""
|
---|
65 | F S GMRCADT=$O(^GMR(123,GMRCIEN,40,"B",GMRCADT),-1) Q:GMRCADT="" D Q:GMRCDONE
|
---|
66 | . S GMRCAIEN=""
|
---|
67 | . F S GMRCAIEN=$O(^GMR(123,GMRCIEN,40,"B",GMRCADT,GMRCAIEN)) Q:GMRCAIEN="" D Q:GMRCDONE
|
---|
68 | .. S GMRC40=$G(^GMR(123,GMRCIEN,40,GMRCAIEN,0)) I $P(GMRC40,U,2)'=GMRCSIG Q
|
---|
69 | .. S GMRCACT=+$P(GMRC40,U,2) S:GMRCACT GMRCACT=$P($G(^GMR(123.1,GMRCACT,0)),U,1)
|
---|
70 | .. I (GMRCACT=0)!(GMRCACT="") S GMRCACT="ACTIVITY UNKNOWN"
|
---|
71 | .. S GMRCACDT=+$P(GMRC40,U,3)
|
---|
72 | .. S GMRCWHO=+$P(GMRC40,U,4) S:'GMRCWHO GMRCWHO=+$P(GMRC40,U,5)
|
---|
73 | .. I 'GMRCWHO S GMRCWHO=$P($G(^GMR(123,GMRCIEN,40,GMRCAIEN,2)),U,2) S:'GMRCWHO GMRCWHO=$P($G(^GMR(123,GMRCIEN,40,GMRCAIEN,2)),U,1)
|
---|
74 | .. S:+GMRCWHO GMRCWHO=$P($G(^VA(200,GMRCWHO,0)),U,1)
|
---|
75 | .. I (GMRCWHO=0)!(GMRCWHO="") S GMRCWHO="RESP. PERSON UNKNOWN"
|
---|
76 | .. D COMMENT
|
---|
77 | .. S GMRCDONE=1
|
---|
78 | I 'GMRCDONE,'GMRCFLG S GMRCSIG=$O(^GMR(123.1,"B","COMPLETE/UPDATE","")),GMRCFLG=1 D ACT1
|
---|
79 | Q
|
---|
80 | COMMENT ;Gather comment for Activity
|
---|
81 | I '$D(^GMR(123,GMRCIEN,40,GMRCAIEN,1,0)) Q
|
---|
82 | S GMRCCIEN=0
|
---|
83 | F S GMRCCIEN=$O(^GMR(123,GMRCIEN,40,GMRCAIEN,1,GMRCCIEN)) Q:GMRCCIEN="" D
|
---|
84 | . S GMRCCOM=$G(^GMR(123,GMRCIEN,40,GMRCAIEN,1,GMRCCIEN,0))
|
---|
85 | . I GMRCCOM="" S GMRCCOM="NO COMMENT AVAILABLE"
|
---|
86 | . S ^TMP(GMRCIFC,$J,GMRCDFN,GMRCDT,GMRCIEN,GMRCCIEN)=GMRCCOM
|
---|
87 | Q
|
---|