| [1595] | 1 | C0PEWD2   ; CCDCCR/GPL - ePrescription utilities; 4/24/09 ; 5/8/12 10:22pm | 
|---|
|  | 2 | ;;1.0;C0P;;Apr 25, 2012;Build 103 | 
|---|
|  | 3 | ;Copyright 2009 George Lilly.  Licensed under the terms of the GNU | 
|---|
|  | 4 | ;General Public License See attached copy of the License. | 
|---|
|  | 5 | ; | 
|---|
|  | 6 | ;This program is free software; you can redistribute it and/or modify | 
|---|
|  | 7 | ;it under the terms of the GNU General Public License as published by | 
|---|
|  | 8 | ;the Free Software Foundation; either version 2 of the License, or | 
|---|
|  | 9 | ;(at your option) any later version. | 
|---|
|  | 10 | ; | 
|---|
|  | 11 | ;This program is distributed in the hope that it will be useful, | 
|---|
|  | 12 | ;but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|---|
|  | 13 | ;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|---|
|  | 14 | ;GNU General Public License for more details. | 
|---|
|  | 15 | ; | 
|---|
|  | 16 | ;You should have received a copy of the GNU General Public License along | 
|---|
|  | 17 | ;with this program; if not, write to the Free Software Foundation, Inc., | 
|---|
|  | 18 | ;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | 
|---|
|  | 19 | ; | 
|---|
|  | 20 | Q | 
|---|
|  | 21 | ; TEST Lines below not intended for End Users. Programmers only. | 
|---|
|  | 22 | ; BEWARE ZWRITE SYNTAX. It may not work in other M Implementations. | 
|---|
|  | 23 | gpltest3        ;  (zduz,zdfn) ; experiment with passing parameters from trigger | 
|---|
|  | 24 | ;W "<br><b>SESSIONID:",zduz,"</b><br><hr>" | 
|---|
|  | 25 | W "<b>eRx</b> pullback trigger processing prototype<hr>",! | 
|---|
|  | 26 | I $D(req4) ZWRITE req4 | 
|---|
|  | 27 | w "<hr>" | 
|---|
|  | 28 | W "XID=",$G(req4("XID",1)),"<br>" | 
|---|
|  | 29 | W "DFN=",$G(req4("DFN",1)),"<br>" | 
|---|
|  | 30 | w "DUZ=",$G(req4("DUZ",1)),"<hr>" | 
|---|
|  | 31 | s DFN=$G(req4("DFN",1)) | 
|---|
|  | 32 | D PSEUDO ; FAKE LOGIN | 
|---|
|  | 33 | D XPAT^C0CCCR(DFN,"MEDALL") | 
|---|
|  | 34 | W "<br>" | 
|---|
|  | 35 | ;D XPAT^C0CCCR(DFN) | 
|---|
|  | 36 | W "<a href=""http://hollywood/dev/CCR/PAT_"_DFN_"_CCR_V1_0_0.xml"" target=""CCR"">Display CCR</a>" | 
|---|
|  | 37 | ;D RIM2RNF^C0CRIMA("GPL",DFN,"ALERTS") | 
|---|
|  | 38 | ;D RNF2HVN^C0CRNF("G1","GPL") | 
|---|
|  | 39 | ;D PARY^C0CXPATH("G1",-1) | 
|---|
|  | 40 | F ZG="ALERTS","MEDS","PROCEDURES" D  ; | 
|---|
|  | 41 | . N GPL,G2 | 
|---|
|  | 42 | . W "<hr>" | 
|---|
|  | 43 | . W "<b>Current CCR "_ZG_"</b><br>",! | 
|---|
|  | 44 | . D RIM2RNF^C0CRIMA("GPL",DFN,ZG) | 
|---|
|  | 45 | . D RNF2HNV^C0CRNF("G2","GPL") | 
|---|
|  | 46 | . D PARY^C0CXPATH("G2",-1) | 
|---|
|  | 47 | Q | 
|---|
|  | 48 | ; | 
|---|
|  | 49 | PSEUDO  ; FAKE LOGIN SETS SOME LOCAL VARIABLE TO FOOL FILEMAN | 
|---|
|  | 50 | S DILOCKTM=3 | 
|---|
|  | 51 | S DISYS=19 | 
|---|
|  | 52 | S DT=3100112 | 
|---|
|  | 53 | S DTIME=9999 | 
|---|
|  | 54 | S DUZ=135 | 
|---|
|  | 55 | S DUZ(0)="" | 
|---|
|  | 56 | S DUZ(1)="" | 
|---|
|  | 57 | S DUZ(2)=67 | 
|---|
|  | 58 | S DUZ("AG")="E" | 
|---|
|  | 59 | S DUZ("BUF")=1 | 
|---|
|  | 60 | S DUZ("LANG")=1 | 
|---|
|  | 61 | ;S IO="/dev/pts/0" | 
|---|
|  | 62 | ;S IO(0)="/dev/pts/0" | 
|---|
|  | 63 | ;S IO(1,"/dev/pts/0")="" | 
|---|
|  | 64 | ;S IO("ERROR")="" | 
|---|
|  | 65 | ;S IO("HOME")="50^/dev/pts/0" | 
|---|
|  | 66 | ;S IO("ZIO")="/dev/pts/0" | 
|---|
|  | 67 | ;S IOBS="$C(8)" | 
|---|
|  | 68 | ;S IOF="!!!!!!!!!!!!!!!!!!!!!!!!,#,$C(27,91,50,74,27,91,72)" | 
|---|
|  | 69 | ;S IOM=80 | 
|---|
|  | 70 | ;S ION="GTM/UNIX TELNET" | 
|---|
|  | 71 | ;S IOS=50 | 
|---|
|  | 72 | ;S IOSL=24 | 
|---|
|  | 73 | ;S IOST="C-VT100" | 
|---|
|  | 74 | ;S IOST(0)=9 | 
|---|
|  | 75 | ;S IOT="VTRM" | 
|---|
|  | 76 | ;S IOXY="W $C(27,91)_((DY+1))_$C(59)_((DX+1))_$C(72)" | 
|---|
|  | 77 | S U="^" | 
|---|
|  | 78 | S X="1;DIC(4.2," | 
|---|
|  | 79 | S XPARSYS="1;DIC(4.2," | 
|---|
|  | 80 | S XQXFLG="^^XUP" | 
|---|
|  | 81 | S Y="DEV^VISTA^hollywood^VISTA:hollywood" | 
|---|
|  | 82 | Q | 
|---|
|  | 83 | ; | 
|---|
|  | 84 | gpltest2(zduz,zdfn)     ; experiment with passing parameters from trigger | 
|---|
|  | 85 | W "<br><b>SESSIONID:",zduz,"</b><br><hr>" | 
|---|
|  | 86 | W "HELLO WORLD<hr>",! | 
|---|
|  | 87 | I $D(req4) ZWRITE req4 | 
|---|
|  | 88 | w "<hr>" | 
|---|
|  | 89 | W "DFN=",$G(req4("DFN",1)),"<br>" | 
|---|
|  | 90 | w "DUZ=",$G(req4("DUZ",1)),"<hr>" | 
|---|
|  | 91 | ;ZWR | 
|---|
|  | 92 | Q | 
|---|
|  | 93 | ; | 
|---|
|  | 94 | gpltest(GPLV1)  ; experiment with sending a CCR to an ewd page | 
|---|
|  | 95 | N ZI | 
|---|
|  | 96 | S ZI="" | 
|---|
|  | 97 | ;W "HELLO WORLD!",! | 
|---|
|  | 98 | ;Q | 
|---|
|  | 99 | F  S ZI=$O(^GPL(ZI)) Q:ZI=""  W ^GPL(ZI),! | 
|---|
|  | 100 | Q | 
|---|
|  | 101 | ; | 
|---|
|  | 102 | TESTSSL ; | 
|---|
|  | 103 | s URL="https://preproduction.newcropaccounts.com/InterfaceV7/NewrxFDB.xml" | 
|---|
|  | 104 | D GET1URL(URL) ; | 
|---|
|  | 105 | Q | 
|---|
|  | 106 | ; | 
|---|
|  | 107 | TEST2   ; | 
|---|
|  | 108 | ; httpPOST(url,payload,mimeType,html,headerArray,timeout,test,rawResponse,respHeaders,sslHost,sslPort) | 
|---|
|  | 109 | ; | 
|---|
|  | 110 | s URL="http://preproduction.newcropaccounts.com/InterfaceV7/Doctor.xml" | 
|---|
|  | 111 | D GET1URL(URL) ; | 
|---|
|  | 112 | s gpl4(2)="<NCScript xmlns=""http://secure.newcropaccounts.com/interfaceV7""" | 
|---|
|  | 113 | s g1="xmlns:NCStandard=" | 
|---|
|  | 114 | s g2="""http://secure.newcropaccounts.com/interfaceV7:NCStandard""" | 
|---|
|  | 115 | s gpl4(2)=gpl4(2)_" "_g1_g2 | 
|---|
|  | 116 | s gpl4(2)=gpl4(2)_" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">" | 
|---|
|  | 117 | k gpl4(0) ; array size node | 
|---|
|  | 118 | s gpl4(3)="<Account ID=""demo"">" | 
|---|
|  | 119 | s gpl4(40)="<Location ID=""DEMOLOC1"">" | 
|---|
|  | 120 | s gpl4(28)="<LicensedPrescriber ID=""DEMOLP1"">" | 
|---|
|  | 121 | s gpl4(55)="<Patient ID=""DEMOPT1"">" | 
|---|
|  | 122 | W $$OUTPUT^C0CXPATH("gpl4(1)","NewCropV7-DOCTOR.xml","/home/dev/CCR/"),! | 
|---|
|  | 123 | S ok=$$httpPOST^%zewdGTM("https://preproduction.newcropaccounts.com/InterfaceV7/RxEntry.aspx",.gpl4,"Content-Type: text/html",.gpl6,"","",.gpl5,.gpl7) | 
|---|
|  | 124 | ZWRITE gpl6 | 
|---|
|  | 125 | q | 
|---|
|  | 126 | ; | 
|---|
|  | 127 | TEST3   ; | 
|---|
|  | 128 | ; httpPOST(url,payload,mimeType,html,headerArray,timeout,test,rawResponse,respHeaders,sslHost,sslPort) | 
|---|
|  | 129 | ; | 
|---|
|  | 130 | s URL="http://preproduction.newcropaccounts.com/InterfaceV7/Doctor.xml" | 
|---|
|  | 131 | D GET1URL(URL) ; | 
|---|
|  | 132 | N I,J | 
|---|
|  | 133 | S J=$O(gpl(""),-1) ; count of things in gpl | 
|---|
|  | 134 | F I=1:1:J S gpl(I)=$$CLEAN^C0PEWDU(gpl(I)) | 
|---|
|  | 135 | K gpl(0) | 
|---|
|  | 136 | S gpl(1)="RxInput="_gpl(1) | 
|---|
|  | 137 | S url="https://preproduction.newcropaccounts.com/InterfaceV7/RxEntry.aspx" | 
|---|
|  | 138 | W $$OUTPUT^C0CXPATH("gpl(1)","NewCropV7-DOCTOR2.xml","/home/dev/CCR/"),! | 
|---|
|  | 139 | ; S ok=$$httpPOST^%zewdGTM("https://preproduction.newcropaccounts.com/InterfaceV7/RxEntry.aspx",.gpl,"application/x-www-form-urlencoded",.gpl6,"","",.gpl5,.gpl7) | 
|---|
|  | 140 | S ok=$$httpPOST^%zewdGTM("https://preproduction.newcropaccounts.com/InterfaceV7/ComposeRX.aspx",.gpl,"application/x-www-form-urlencoded",.gpl6,"","",.gpl5,.gpl7) | 
|---|
|  | 141 | ZWRITE gpl6 | 
|---|
|  | 142 | q | 
|---|
|  | 143 | ; | 
|---|
|  | 144 | TEST    ; | 
|---|
|  | 145 | ;s URL="https://preproduction.newcropaccounts.com/InterfaceV7/NewrxFDB.xml" | 
|---|
|  | 146 | ; D GET1URL(URL) ; | 
|---|
|  | 147 | ;Q | 
|---|
|  | 148 | S URL="http://preproduction.newcropaccounts.com/InterfaceV7/NCScript-RegisterLP.xml" | 
|---|
|  | 149 | D GET1URL(URL) | 
|---|
|  | 150 | S URL="http://preproduction.newcropaccounts.com/InterfaceV7/GenTestRenewalFDB.xml" | 
|---|
|  | 151 | D GET1URL(URL) | 
|---|
|  | 152 | S URL="http://preproduction.newcropaccounts.com/InterfaceV7/NewrxFDB.xml" | 
|---|
|  | 153 | D GET1URL(URL) | 
|---|
|  | 154 | S URL="http://preproduction.newcropaccounts.com/InterfaceV7/NewrxRxNorm.xml" | 
|---|
|  | 155 | D GET1URL(URL) | 
|---|
|  | 156 | S URL="http://preproduction.newcropaccounts.com/InterfaceV7/NewrxExternalDrugOpt1.xml" | 
|---|
|  | 157 | D GET1URL(URL) | 
|---|
|  | 158 | S URL="http://preproduction.newcropaccounts.com/InterfaceV7/NewrxExternalDrugOpt2.xml" | 
|---|
|  | 159 | D GET1URL(URL) | 
|---|
|  | 160 | S URL="http://preproduction.newcropaccounts.com/InterfaceV7/RenewalResponseAccept.xml" | 
|---|
|  | 161 | D GET1URL(URL) | 
|---|
|  | 162 | S URL="http://preproduction.newcropaccounts.com/InterfaceV7/RenewalResponseDeny.xml" | 
|---|
|  | 163 | D GET1URL(URL) | 
|---|
|  | 164 | Q | 
|---|
|  | 165 | ; | 
|---|
|  | 166 | GET1URL0(URL)   ; | 
|---|
|  | 167 | s ok=$$httpGET^%zewdGTM(URL,.gpl) | 
|---|
|  | 168 | D INDEX^C0CXPATH("gpl","gpl2") | 
|---|
|  | 169 | W !,"S URL=""",URL,"""",! | 
|---|
|  | 170 | S G="" | 
|---|
|  | 171 | F  S G=$O(gpl2(G)) Q:G=""  D  ; | 
|---|
|  | 172 | . W " S VDX(""",G,""")=""",gpl2(G),"""",! | 
|---|
|  | 173 | W ! | 
|---|
|  | 174 | Q | 
|---|
|  | 175 | ; | 
|---|
|  | 176 | GET1URL(URL)    ; | 
|---|
|  | 177 | s ok=$$httpGET^%zewdGTM(URL,.gpl) | 
|---|
|  | 178 | W "XML retrieved from Web Service:",! | 
|---|
|  | 179 | ZWRITE gpl | 
|---|
|  | 180 | D INDEX^C0CXPATH("gpl","gpl2",-1,"gplTEMP") | 
|---|
|  | 181 | W "VDX array displayed as a prototype Mumps routine:",! | 
|---|
|  | 182 | W !,"S URL=""",URL,"""",! | 
|---|
|  | 183 | S G="" | 
|---|
|  | 184 | F  S G=$O(gpl2(G)) Q:G=""  D  ; | 
|---|
|  | 185 | . W " S VDX(""",G,""")=""",gpl2(G),"""",! | 
|---|
|  | 186 | W ! | 
|---|
|  | 187 | D VDX2XPG^C0CXPATH("gpl3","gpl2") | 
|---|
|  | 188 | W "Conversion of VDX array to XPG format:",! | 
|---|
|  | 189 | ZWRITE gpl3 | 
|---|
|  | 190 | W "Conversion of XPG array to XML:",! | 
|---|
|  | 191 | D XPG2XML^C0CXPATH("gpl4","gpl3") | 
|---|
|  | 192 | ZWRITE gpl4 | 
|---|
|  | 193 | Q | 
|---|
|  | 194 | ; | 
|---|