immun updates (#4145)
[openemr.git] / interface / weno / jsonScript.php
blob404e409fc0f1327fbcacbdceea812538b6d737ed
1 <?php
3 /**
4 * weno rx mark tx.
6 * @package OpenEMR
7 * @link http://www.open-emr.org
8 * @author Sherwin Gaddis <sherwingaddis@gmail.com>
9 * @author Brady Miller <brady.g.miller@gmail.com>
10 * @copyright Copyright (c) 2016-2017 Sherwin Gaddis <sherwingaddis@gmail.com>
11 * @copyright Copyright (c) 2017-2018 Brady Miller <brady.g.miller@gmail.com>
12 * @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
15 require_once("../globals.php");
16 require_once($srcdir . "/patient.inc");
18 use OpenEMR\Common\Crypto\CryptoGen;
19 use OpenEMR\Common\Csrf\CsrfUtils;
20 use OpenEMR\Rx\Weno\TransmitData;
22 if (!CsrfUtils::verifyCsrfToken($_GET["csrf_token_form"])) {
23 CsrfUtils::csrfNotVerified();
26 $date = date("Y-m-d");
27 $pid = $GLOBALS['pid'];
28 $uid = $_SESSION['authUserID'];
30 //Randomly generate number for each order unique ID
31 $i = rand() . rand() . rand();
32 $fillData = filter_input(INPUT_GET, "getJson");
34 $fill = explode(",", $fillData);
36 $id = $fill[0]; //setting the pharmacy ID for later
38 array_shift($fill); //removing the pharmacy from the array
40 //created a loop in case
41 foreach ($fill as $data) {
42 // Collect patient data
43 $pInfo = getPatientData($pid);
44 if ($pInfo['sex'] == "Male") {
45 $sex = "M";
47 if ($pInfo['sex'] == "Female") {
48 $sex = "F";
51 // Collect provider data
52 $prInfo = new TransmitData();
53 $proData = $prInfo->getProviderFacility($uid);
55 // Collect pharmacy data
56 $pharmData = $prInfo->findPharmacy($id);
58 // Collect drug data
59 $drugData = $prInfo->oneDrug($data);
61 // Set up crypto object
62 $cryptoGen = new CryptoGen();
64 // Build the array
65 $completeArray = array(
66 array(
67 "patient" => array(
68 "lname" => $pInfo['lname'],
69 "fname" => $pInfo['fname'],
70 "street" => $pInfo['street'],
71 "city" => $pInfo['city'],
72 "state" => $pInfo['state'],
73 "postal" => $pInfo['postal_code'],
74 "DOB" => $pInfo['DOB'],
75 "Sex" => $sex
78 array(
79 "provider" => array(
80 "provlname" => $proData[0]['fname'],
81 "provfname" => $proData[0]['lname'],
82 "provnpi" => $proData[0]['npi'],
83 "facilityfax" => preg_replace("/[^0-9]/", "", $proData[0]['fax']),
84 "facilityphone" => preg_replace("/[^0-9]/", "", $proData[0]['phone']),
85 "facilityname" => $proData[0]['name'],
86 "facilitystreet" => $proData[0]['street'],
87 "facilitycity" => $proData[0]['city'],
88 "facilitystate" => $proData[0]['state'],
89 "facilityzip" => $proData[0]['postal_code'],
90 "qualifier" => $GLOBALS['weno_provider_id'] . ':' . $proData[0]['weno_prov_id'],
91 "wenoAccountId" => $GLOBALS['weno_account_id'],
92 "wenoAccountPass" => (($cryptoGen->cryptCheckStandard($GLOBALS['weno_account_pass'])) ? $cryptoGen->decryptStandard($GLOBALS['weno_account_pass']) : $GLOBALS['weno_account_pass']),
93 "wenoClinicId" => $GLOBALS['weno_provider_id'] . ':' . $proData[0]['weno_prov_id']
96 array(
97 "pharmacy" => array(
98 "storename" => $pharmData[0]['name'],
99 "storenpi" => $pharmData[0]['npi'],
100 "pharmacy" => $pharmData[0]['ncpdp'],
101 "pharmacyPhone" => $pharmData[1][0]['area_code'] . $pharmData[1][0]['prefix'] . $pharmData[1][0]['number'],
102 "pharmacyFax" => $pharmData[1][1]['area_code'] . $pharmData[1][1]['prefix'] . $pharmData[1][1]['number']
105 array(
106 "script" => array(
107 "drugName" => trim($drugData['drug']),
108 "drug_NDC" => $drugData['drug_id'],
109 "dateAdded" => $drugData['date_Added'],
110 "quantity" => $drugData['quantity'],
111 "refills" => $drugData['refills'],
112 "dateModified" => $drugData['date_Modified'],
113 "note" => $drugData['note'],
114 "take" => $drugData['dosage'],
115 "strength" => $drugData['strength'],
116 "route" => $drugData['route'],
117 "potency" => $drugData['potency_unit_code'],
118 "qualifier" => $drugData['drug_db_code_qualifier'],
119 "dea_sched" => $drugData['dea_schedule']
124 // Convert the array to json
125 $completeJson = json_encode($completeArray);
127 // echo json
128 echo $completeJson;