Your old code:
INSERT INTO medical_visit_tab(mv_id, visit_date, charge, visit_coord_role_cui, problem, solution, person)
(SELECT ID, VISIT_DATE, CHARGE, VISIT_COORDINATOR_ROLE_CUI
FROM oraheal.medical_visit
WHERE p_chronic_cui is NULL
AND s_therapy_cui is NULL),
medicalProb_tableType((SELECT medicalProbType(p_problem_cui,p_acute_cui)
FROM oraheal.medical_visit
WHERE p_chronic_cui is NULL
AND s_therapy_cui is NULL),
medicalSolu_tableType((SELECT medicalSolutionType(s_carer_id, s_drug_cui, s_drug_cost, s_drug_targetchemical_cui1, s_drug_targetchemical_cui2)
FROM oraheal.medical_visit
WHERE s_therapy_cui is NULL
AND p_chronic_cui is NULL),
(SELECT TREAT(REF(a) as REF patientType)
FROM patient_tab a, oraheal.medical_visit o
WHERE a.name = o.name));
Missing VALUE and wrong number of (. You open 11 times with '(' and you close 10 timeswith ')'.
Guess thats should be:
INSERT INTO medical_visit_tab (mv_id, visit_date, charge, visit_coord_role_cui, problem, solution, person) VALUES
((SELECT ID, VISIT_DATE, CHARGE, VISIT_COORDINATOR_ROLE_CUI
FROM oraheal.medical_visit
WHERE p_chronic_cui is NULL
AND s_therapy_cui is NULL),
medicalProb_tableType(SELECT medicalProbType(p_problem_cui,p_acute_cui)
FROM oraheal.medical_visit
WHERE p_chronic_cui is NULL
AND s_therapy_cui is NULL),
medicalSolu_tableType(SELECT medicalSolutionType(s_carer_id, s_drug_cui, s_drug_cost, s_drug_targetchemical_cui1, s_drug_targetchemical_cui2)
FROM oraheal.medical_visit
WHERE s_therapy_cui is NULL
AND p_chronic_cui is NULL),
(SELECT TREAT(REF(a) as REF patientType)
FROM patient_tab a, oraheal.medical_visit o
WHERE a.name = o.name));