Backend Service

This commit is contained in:
2019-04-07 22:14:29 +00:00
parent 32fe842765
commit 54980cee87
4 changed files with 70 additions and 11 deletions
+60 -2
View File
@@ -21,6 +21,8 @@ long PracticeLogin(CVars in, CVars &out);
long PracticeSessionCheck(long practice_id, long practice_users_id, const char *sessionid, int create);
long provider_createmember(CVars in, CVars &out);
long provider_acceptmember(CVars in, CVars &out);
long provider_linkIdemember(CVars in, CVars &out);
void GenerateLongID(char * number, int sz, int seed);
long providers_call(CVars in, CVars &out) {
long ret = PHP_API_BAD_PARAM;
@@ -42,6 +44,11 @@ long providers_call(CVars in, CVars &out) {
// create chart from provider side now
return provider_chart(in, out);
break;
case MERMS_PROVIDERS_LINKMEMBER:
return provider_linkIdemember(in, out);
break;
case EXISTING_CARD:
REQ_LONG(in, "paymentid", 0, -1); // now we have to make sure the payment id is valid for this customer
@@ -90,6 +97,57 @@ try{
//000
long provider_linkIdemember(CVars in, CVars &out) {
long ret = PHP_API_BAD_PARAM;
logfmt(logINFO, "Provider provider_linkIdemember()");
long qret = 0;
try {
REQ_LONG(in, "practice_id", 0, -1);
REQ_LONG(in, "practice_user_id", 0, -1);
REQ_STRING(in, "patient_link_id", 5, 15, "(.*)");
out["member_id"] = "0";
qret = (load_db_record(out, "SELECT *, id AS member_id FROM members WHERE acc_link = '%s'", in["patient_link_id"].c_str()) == true);
if (qret) {
logfmt(logINFO, "Provider provider_linkIdemember() QERT=>%lu", qret);
if (load_db_record(out, "SELECT * from patients WHERE practice_id =%lu AND member_id=%lu ", in["practice_id"].Long(), out["member_id"].Long()) == true) {
out["message"] = "Member already linked";
} else {
CVars x;
char vname[15];
GenerateLongID(vname, sizeof (vname), 10);
//snprintf(vname, sizeof (vname), "ME%05d", i);
out["long_id"] = vname;
x["practice_id"] = in["practice_id"];
x["practice_id"].set_valid(true);
x["practice_user_id"] = in["practice_user_id"];
x["practice_user_id"].set_valid(true);
x["member_id"] = out["member_id"];
x["member_id"].set_valid(true);
x["long_id"] = vname;
x["long_id"].set_valid(true);
out["patient_id"] = insert_db_record(DBS_VALID, "patients", "patients_id_seq", x);
out["message"] = "Member add completed";
}
} else {
out["message"] = "Link Id not found";
}
} catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL Provider provider_linkIdemember");
}
logfmt(logINFO, "/Provider provider_linkIdemember()");
return ret;
}
@@ -170,7 +228,7 @@ long provider_createmember(CVars in, CVars &out){
logfmt(logINFO, "/Provider CreateMember()");
return ret;
}
void GenerateLongID(char * number, int sz, int seed);
long provider_acceptmember(CVars in, CVars &out){
long ret = PHP_API_BAD_PARAM;
@@ -198,7 +256,7 @@ long provider_acceptmember(CVars in, CVars &out){
x["long_id"] = vname;
x["long_id"].set_valid(true);
out["patient_id_id"] = insert_db_record(DBS_VALID, "patients", "patients_id_seq", x);
out["patient_id"] = insert_db_record(DBS_VALID, "patients", "patients_id_seq", x);