source: qrda/C0Q/trunk/p/C0Q1P2.m@ 1487

Last change on this file since 1487 was 1487, checked in by Sam Habiel, 12 years ago

computered finding for BMI percentile; updated init routine

File size: 3.3 KB
Line 
1C0Q1P2 ; VEN/SMH - Kids utilities for C0Q 1.0 patch 1 ; 7/16/12 11:05am
2 ;;1.0;QUALITY MEASURES;*1*;July 13, 2112;
3 ; Licensed under package license. See Documentation
4 ;
5 ; PEPs: PRE, TRAN, POST
6 ;
7PRE ; Unified Pre; PEP
8 D PREREM
9 QUIT
10TRAN ; Unified Tran; PEP
11 QUIT
12POST ; Unified Post; PEP
13 D POSTREM
14 QUIT
15 ;
16 ; Rest of entry points are private
17 ;
18 ;
19ARRAY(MODE,ARRAY) ;List of exchange entries used by delete and install
20 ;
21 N LN S LN=1
22 ;
23 ; NQF 0024-alt-core_wt-kids
24 ; NB: Commented out. Reminder needs to be re-done to include BMI %tile
25 ; S ARRAY(LN,1)="MU NQF0024 BMI_MK"
26 ; I MODE S ARRAY(LN,2)="07/06/2011@15:11:46"
27 ; S LN=LN+1
28 ;
29 ; NQF 0013-core-HTN
30 S ARRAY(LN,1)="MU NQF0013 HTN_MK"
31 I MODE S ARRAY(LN,2)="07/06/2011@15:08:53"
32 S LN=LN+1
33 ;
34 ; NQF 0028a-core-tobacco-access
35 ; NQF 0028b-core-tobaocc-intervention
36 ; Both are in the first; dialog is in the second.
37 S ARRAY(LN,1)="MU NQF0028 TOBACCO_MK"
38 I MODE S ARRAY(LN,2)="07/06/2011@15:14:49"
39 S LN=LN+1
40 S ARRAY(LN,1)="MU NQF0028AB MANAGEMENT DI"
41 I MODE S ARRAY(LN,2)="06/08/2011@16:50:31"
42 S LN=LN+1
43 ;
44 ; NQF 0041-alt-core-flu
45 S ARRAY(LN,1)="MU NQF0041 FLU_MK"
46 I MODE S ARRAY(LN,2)="07/06/2011@15:26:59"
47 S LN=LN+1
48 ;
49 ; NQF 0059-option1-DM-Hbalc
50 ; NQF 0061-option3-DM-BP
51 ; NQF 0064-option2-DM-LDL
52 ; All are in One Reminder Exchange entry
53 S ARRAY(LN,1)="MU NQF0059_61_64_SMH"
54 I MODE S ARRAY(LN,2)="07/16/2012@10:46:17"
55 S LN=LN+1
56 Q
57 ;
58 ;===============================================================
59DELEI ;If the Exchange File entry already exists delete it.
60 N ARRAY,IC,IND,LIST,LUVALUE,NUM
61 D ARRAY(1,.ARRAY)
62 S IC=0
63 F S IC=$O(ARRAY(IC)) Q:'IC D
64 .S LUVALUE(1)=ARRAY(IC,1)
65 .D FIND^DIC(811.8,"","","U",.LUVALUE,"","","","","LIST")
66 .I '$D(LIST) Q
67 .S NUM=$P(LIST("DILIST",0),U,1)
68 .I NUM'=0 D
69 ..F IND=1:1:NUM D
70 ... N DA,DIK
71 ... S DIK="^PXD(811.8,"
72 ... S DA=LIST("DILIST",2,IND)
73 ... D ^DIK
74 Q
75 ;
76 ;===============================================================
77EXFINC(Y) ;Return a 1 if the Exchange file entry is in the list to
78 ;include in the build. This is used in the build to determine which
79 ;entries to include.
80 N ARRAY,FOUND,IEN,IC,LUVALUE
81 D ARRAY(1,.ARRAY)
82 S FOUND=0
83 S IC=0
84 F S IC=+$O(ARRAY(IC)) Q:(IC=0)!(FOUND) D
85 . M LUVALUE=ARRAY(IC)
86 . S IEN=+$$FIND1^DIC(811.8,"","KU",.LUVALUE)
87 . I IEN=Y S FOUND=1 Q
88 Q FOUND
89 ;
90PREREM ;
91 D DELEI
92 Q
93POSTREM ;
94 D SMEXINS
95 Q
96 ;===============================================================
97SMEXINS ;Silent mode install.
98 N ARRAY,IC,IEN,LUVALUE,PXRMINST
99 S PXRMINST=1
100 D ARRAY(1,.ARRAY)
101 S IC=0
102 F S IC=$O(ARRAY(IC)) Q:'IC D
103 .M LUVALUE=ARRAY(IC)
104 .S IEN=+$$FIND1^DIC(811.8,"","KU",.LUVALUE)
105 .I IEN'=0 D
106 .. N TEXT
107 .. I LUVALUE(1)["PARAMETER" S TEXT="Installing entry "_LUVALUE(1)
108 .. E S TEXT="Installing reminder exchange entry "_LUVALUE(1)
109 .. D BMES^XPDUTL(TEXT)
110 .. D INSTALL^PXRMEXSI(IEN,"I",1)
111 Q
112 ;
113CRPL(PLNAME,C0QERR) ; Private ; $$ ; Create Patient List
114 ; Input: PLNAME: By Value: Patient List Name
115 ; C0QERR: By Ref: Error Array
116 ; Output: IEN of Patient List, or -1 for error
117 N C0QFDA,C0QIENS ; FDA, return IEN
118 S C0QFDA(810.5,"?+1,",.01)=PLNAME ; Patient List Name
119 S C0QFDA(810.5,"?+1,",.07)="`"_DUZ ; Creator
120 S C0QFDA(810.5,"?+1,",.08)="PUB" ; Type: Public
121 S C0QFDA(810.5,"?+1,",100)="L" ; Class: Local
122 D UPDATE^DIE("E",$NA(C0QFDA),$NA(C0QIENS),$NA(C0QERR)) ; External Flag
123 I $G(C0QIENS(1)) QUIT C0QIENS(1)
124 E QUIT -1
Note: See TracBrowser for help on using the repository browser.