| 1 | C0Q1P2 ; VEN/SMH - Kids utilities for C0Q 1.0 patch 2 ; 8/3/12 11:13am | 
|---|
| 2 | ;;1.0;QUALITY MEASURES;**2**;July 13, 2112; | 
|---|
| 3 | ; Licensed under package license. See Documentation for license and | 
|---|
| 4 | ; usage conditions. | 
|---|
| 5 | ; | 
|---|
| 6 | ; PEPs: PRE, POST | 
|---|
| 7 | ; | 
|---|
| 8 | PRE ; Unified Pre; PEP | 
|---|
| 9 | D PREREM | 
|---|
| 10 | QUIT | 
|---|
| 11 | POST ; Unified Post; PEP | 
|---|
| 12 | D POSTREM | 
|---|
| 13 | QUIT | 
|---|
| 14 | ; | 
|---|
| 15 | ; Rest of entry points are private | 
|---|
| 16 | ; | 
|---|
| 17 | ; | 
|---|
| 18 | ARRAY(MODE,ARRAY)       ;List of exchange entries used by delete and install | 
|---|
| 19 | ; | 
|---|
| 20 | N LN S LN=1 | 
|---|
| 21 | ; | 
|---|
| 22 | ; NQF 0024-alt-core_wt-kids | 
|---|
| 23 | S ARRAY(LN,1)="MU NQF0024-ALL" | 
|---|
| 24 | I MODE S ARRAY(LN,2)="07/31/2012@17:49:03" | 
|---|
| 25 | S LN=LN+1 | 
|---|
| 26 | ; | 
|---|
| 27 | ; NQF 0013-core-HTN | 
|---|
| 28 | S ARRAY(LN,1)="MU NQF0013 HTN_MK" | 
|---|
| 29 | I MODE S ARRAY(LN,2)="07/06/2011@15:08:53" | 
|---|
| 30 | S LN=LN+1 | 
|---|
| 31 | ; | 
|---|
| 32 | ; NQF 0028a-core-tobacco-access | 
|---|
| 33 | ; NQF 0028b-core-tobaocc-intervention | 
|---|
| 34 | S ARRAY(LN,1)="MU NQF0028 TOBACCO_MK" | 
|---|
| 35 | I MODE S ARRAY(LN,2)="07/06/2011@15:14:49" | 
|---|
| 36 | S LN=LN+1 | 
|---|
| 37 | ; | 
|---|
| 38 | ; NQF 0041-alt-core-flu | 
|---|
| 39 | S ARRAY(LN,1)="MU NQF0041 FLU_MK" | 
|---|
| 40 | I MODE S ARRAY(LN,2)="07/06/2011@15:26:59" | 
|---|
| 41 | S LN=LN+1 | 
|---|
| 42 | ; | 
|---|
| 43 | ; NQF 0059-option1-DM-Hbalc | 
|---|
| 44 | ; NQF 0061-option3-DM-BP | 
|---|
| 45 | ; NQF 0064-option2-DM-LDL | 
|---|
| 46 | ; All are in One Reminder Exchange entry | 
|---|
| 47 | S ARRAY(LN,1)="MU NQF0059_61_64_SMH" | 
|---|
| 48 | I MODE S ARRAY(LN,2)="07/16/2012@10:46:17" | 
|---|
| 49 | S LN=LN+1 | 
|---|
| 50 | ; | 
|---|
| 51 | ; Inpatient Education Reminders (popularly known as ED-1 and ED-2) | 
|---|
| 52 | ; NQF 0495 | 
|---|
| 53 | ; NQF 0497 | 
|---|
| 54 | S ARRAY(LN,1)="MU NQF 0495 ED-1" | 
|---|
| 55 | I MODE S ARRAY(LN,2)="07/17/2012@11:47:55" | 
|---|
| 56 | S LN=LN+1 | 
|---|
| 57 | S ARRAY(LN,1)="MU NQF 0497 ED-2" | 
|---|
| 58 | I MODE S ARRAY(LN,2)="07/17/2012@11:50:23" | 
|---|
| 59 | S LN=LN+1 | 
|---|
| 60 | ; | 
|---|
| 61 | ; MU Stroke Measures | 
|---|
| 62 | ; NQF 0435 | 
|---|
| 63 | ; NQF 0436 | 
|---|
| 64 | ; NQF 0437 | 
|---|
| 65 | ; NQF 0438 | 
|---|
| 66 | ; NQF 0439 | 
|---|
| 67 | ; NQF 0440 | 
|---|
| 68 | ; NQF 0441 | 
|---|
| 69 | ; NB: Contains two Labs! Must rematch if not on your system. | 
|---|
| 70 | ; Installation will become talkative | 
|---|
| 71 | S ARRAY(LN,1)="MU STROKE 2.3.4.5.6.8.10 SMH" | 
|---|
| 72 | I MODE S ARRAY(LN,2)="07/18/2012@10:33:53" | 
|---|
| 73 | S LN=LN+1 | 
|---|
| 74 | ; | 
|---|
| 75 | ; MU VTE Measures | 
|---|
| 76 | ; NQF 0371 | 
|---|
| 77 | ; NQF 0372 | 
|---|
| 78 | ; NQF 0373 | 
|---|
| 79 | ; NQF 0374 | 
|---|
| 80 | ; NQF 0375 | 
|---|
| 81 | ; NQF 0376 | 
|---|
| 82 | ; NB: Contains several labs. Must rematch if not on your system. | 
|---|
| 83 | ; Installation will become talkative | 
|---|
| 84 | S ARRAY(LN,1)="MU VTE 1.2.3.4.5.6 SMH" | 
|---|
| 85 | I MODE S ARRAY(LN,2)="07/20/2012@09:48:30" | 
|---|
| 86 | S LN=LN+1 | 
|---|
| 87 | ; | 
|---|
| 88 | ; | 
|---|
| 89 | ; NQF 0421-core-adult-weight | 
|---|
| 90 | ; NB: B/c of the presence of patient lists, measures sent as part of | 
|---|
| 91 | ; an extract. | 
|---|
| 92 | S ARRAY(LN,1)="MU NQF0421 ADULT BMI SMH" | 
|---|
| 93 | I MODE S ARRAY(LN,2)="07/26/2012@11:00:17" | 
|---|
| 94 | S LN=LN+1 | 
|---|
| 95 | ; | 
|---|
| 96 | ; NQF 0038-alt-core-childImms | 
|---|
| 97 | ; NB: Again because of Patient Lists, measures sent as part of an extract | 
|---|
| 98 | S ARRAY(LN,1)="MU NQF0038 CHILD IMM SMH" | 
|---|
| 99 | I MODE S ARRAY(LN,2)="07/27/2012@17:48:33" | 
|---|
| 100 | S LN=LN+1 | 
|---|
| 101 | ; | 
|---|
| 102 | ; CPRS Management Dialogs for Outpatient Stuff | 
|---|
| 103 | ; MU NQF0421 BMI DI | 
|---|
| 104 | ; MU NQF0041 INFLUENZA MANAGEMENT DI | 
|---|
| 105 | ; MU NQF0038 IMMUNE MANAGEMENT DI | 
|---|
| 106 | ; MU NQF0028AB MANAGEMENT DI | 
|---|
| 107 | ; MU SMOKING STATUS DI | 
|---|
| 108 | S ARRAY(LN,1)="MU CPRS HELP DIS" | 
|---|
| 109 | I MODE S ARRAY(LN,2)="08/01/2012@18:32:29" | 
|---|
| 110 | S LN=LN+1 | 
|---|
| 111 | ; | 
|---|
| 112 | QUIT | 
|---|
| 113 | ; | 
|---|
| 114 | ; | 
|---|
| 115 | ;=============================================================== | 
|---|
| 116 | DELEI   ;If the Exchange File entry already exists delete it. | 
|---|
| 117 | N ARRAY,IC,IND,LIST,LUVALUE,NUM | 
|---|
| 118 | D ARRAY(1,.ARRAY) | 
|---|
| 119 | S IC=0 | 
|---|
| 120 | F  S IC=$O(ARRAY(IC)) Q:'IC  D | 
|---|
| 121 | .S LUVALUE(1)=ARRAY(IC,1) | 
|---|
| 122 | .D FIND^DIC(811.8,"","","U",.LUVALUE,"","","","","LIST") | 
|---|
| 123 | .I '$D(LIST) Q | 
|---|
| 124 | .S NUM=$P(LIST("DILIST",0),U,1) | 
|---|
| 125 | .I NUM'=0 D | 
|---|
| 126 | ..F IND=1:1:NUM D | 
|---|
| 127 | ... N DA,DIK | 
|---|
| 128 | ... S DIK="^PXD(811.8," | 
|---|
| 129 | ... S DA=LIST("DILIST",2,IND) | 
|---|
| 130 | ... D ^DIK | 
|---|
| 131 | Q | 
|---|
| 132 | ; | 
|---|
| 133 | ;=============================================================== | 
|---|
| 134 | EXFINC(Y)       ;Return a 1 if the Exchange file entry is in the list to | 
|---|
| 135 | ;include in the build. This is used in the build to determine which | 
|---|
| 136 | ;entries to include. | 
|---|
| 137 | N ARRAY,FOUND,IEN,IC,LUVALUE | 
|---|
| 138 | D ARRAY(1,.ARRAY) | 
|---|
| 139 | S FOUND=0 | 
|---|
| 140 | S IC=0 | 
|---|
| 141 | F  S IC=+$O(ARRAY(IC)) Q:(IC=0)!(FOUND)  D | 
|---|
| 142 | . M LUVALUE=ARRAY(IC) | 
|---|
| 143 | . S IEN=+$$FIND1^DIC(811.8,"","KU",.LUVALUE) | 
|---|
| 144 | . I IEN=Y S FOUND=1 Q | 
|---|
| 145 | Q FOUND | 
|---|
| 146 | ; | 
|---|
| 147 | PREREM  ; | 
|---|
| 148 | D DELEI | 
|---|
| 149 | Q | 
|---|
| 150 | POSTREM ; | 
|---|
| 151 | D SMEXINS | 
|---|
| 152 | Q | 
|---|
| 153 | ;=============================================================== | 
|---|
| 154 | SMEXINS ;Silent mode install. | 
|---|
| 155 | N ARRAY,IC,IEN,LUVALUE,PXRMINST | 
|---|
| 156 | S PXRMINST=1 | 
|---|
| 157 | D ARRAY(1,.ARRAY) | 
|---|
| 158 | S IC=0 | 
|---|
| 159 | F  S IC=$O(ARRAY(IC)) Q:'IC  D | 
|---|
| 160 | .M LUVALUE=ARRAY(IC) | 
|---|
| 161 | .S IEN=+$$FIND1^DIC(811.8,"","KU",.LUVALUE) | 
|---|
| 162 | .I IEN'=0 D | 
|---|
| 163 | .. N TEXT | 
|---|
| 164 | .. I LUVALUE(1)["PARAMETER" S TEXT="Installing entry "_LUVALUE(1) | 
|---|
| 165 | .. E  S TEXT="Installing reminder exchange entry "_LUVALUE(1) | 
|---|
| 166 | .. D BMES^XPDUTL(TEXT) | 
|---|
| 167 | .. D INSTALL^PXRMEXSI(IEN,"I",1) | 
|---|
| 168 | Q | 
|---|
| 169 | ; | 
|---|