{"id":2012,"date":"2026-08-01T13:56:14","date_gmt":"2026-08-01T13:56:14","guid":{"rendered":"https:\/\/ranchofamilyappointments.com\/home\/?p=2012"},"modified":"2026-08-01T13:56:21","modified_gmt":"2026-08-01T13:56:21","slug":"toussiant","status":"publish","type":"post","link":"https:\/\/ranchofamilyappointments.com\/home\/toussiant\/","title":{"rendered":"toussiant"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2012\" class=\"elementor elementor-2012\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d9985f3 e-con-full e-flex e-con e-parent\" data-id=\"d9985f3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-63bd7ae elementor-widget elementor-widget-html\" data-id=\"63bd7ae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700&family=Lora:ital,wght@0,400;0,500;1,400&display=swap\" rel=\"stylesheet\">\n\n<style>\n  \/* --- Scoped reset so we don't inherit \/ leak WordPress theme styles --- *\/\n  #rfmg-scheduler, #rfmg-scheduler * , #rfmg-scheduler *::before, #rfmg-scheduler *::after { box-sizing: border-box; }\n  #rfmg-scheduler { font-family: 'Lora', Georgia, serif; color: #1A2E2A; line-height: 1.4; -webkit-font-smoothing: antialiased; }\n  #rfmg-scheduler p { margin: 0; }\n  #rfmg-scheduler a { text-decoration: none; }\n  #rfmg-scheduler button { font: inherit; background: none; border: none; margin: 0; }\n\n  @keyframes rfmg-shimmer { 0% { background-position: -300px 0; } 100% { background-position: 300px 0; } }\n  #rfmg-scheduler .rfmg-shimmer { background: linear-gradient(90deg, #ECECEC 0%, #F6F6F6 40%, #ECECEC 80%); background-size: 600px 100%; animation: rfmg-shimmer 1.3s ease-in-out infinite; }\n\n  #rfmg-scheduler .rfmg-page { background:#F7F9F8; padding:32px 16px; display:flex; justify-content:center; }\n  #rfmg-scheduler .rfmg-card { width:70%; max-width:960px; background:#FFFFFF; border-radius:16px; box-shadow:0 2px 12px rgba(0,0,0,0.08); padding:28px; }\n\n  #rfmg-scheduler .rfmg-header { display:flex; align-items:flex-start; gap:16px; margin-bottom:22px; }\n  #rfmg-scheduler .rfmg-photo { width:64px; height:64px; flex-shrink:0; border-radius:12px; object-fit:cover; background:#EAF1EF; display:flex; align-items:center; justify-content:center; color:#016756; }\n  #rfmg-scheduler .rfmg-initials { font-family:'Poppins',sans-serif; font-weight:600; font-size:22px; color:#016756; }\n  #rfmg-scheduler .rfmg-name { font-family:'Poppins',sans-serif; font-size:20px; font-weight:600; color:#1A2E2A; line-height:1.25; }\n  #rfmg-scheduler .rfmg-sub { margin-top:3px; font-size:14px; color:#666666; }\n  #rfmg-scheduler .rfmg-badges { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }\n  #rfmg-scheduler .rfmg-badge { font-family:'Poppins',sans-serif; font-size:12px; font-weight:500; padding:4px 12px; border-radius:100px; }\n\n  #rfmg-scheduler .rfmg-choose { margin-bottom:8px; font-family:'Poppins',sans-serif; font-size:13px; font-weight:500; color:#666666; letter-spacing:0.02em; }\n\n  #rfmg-scheduler .rfmg-tabs { display:flex; gap:8px; margin-bottom:22px; }\n  #rfmg-scheduler .rfmg-tab { flex:1; text-align:center; padding:12px 6px; border-radius:8px; border:1px solid #E5E5E5; background:#FFFFFF; color:#666666; font-family:'Poppins',sans-serif; font-weight:500; font-size:14px; cursor:pointer; transition:all 150ms ease-out; user-select:none; }\n  #rfmg-scheduler .rfmg-tab[aria-selected=\"true\"] { border-color:#016756; background:#016756; color:#FFFFFF; font-weight:600; }\n\n  #rfmg-scheduler .rfmg-select-wrap { position:relative; margin-bottom:22px; }\n  #rfmg-scheduler .rfmg-select { display:none; width:100%; appearance:none; -webkit-appearance:none; font-family:'Poppins',sans-serif; font-size:16px; font-weight:500; color:#1A2E2A; padding:14px 40px 14px 16px; border-radius:8px; border:1px solid #E5E5E5; background:#FFFFFF; }\n  #rfmg-scheduler .rfmg-select-chev { position:absolute; right:16px; top:50%; transform:translateY(-50%); pointer-events:none; }\n\n  #rfmg-scheduler .rfmg-widget-box { border:1px solid #E5E5E5; border-radius:12px; background:#FFFFFF; min-height:300px; overflow:hidden; }\n  #rfmg-scheduler .rfmg-caption { margin:0 0 14px; font-size:13px; color:#666666; }\n\n  #rfmg-scheduler .rfmg-center { padding:48px 24px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; }\n  #rfmg-scheduler .rfmg-center p { font-size:15px; color:#333333; max-width:340px; }\n  #rfmg-scheduler .rfmg-btn-gold { display:inline-flex; align-items:center; font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; padding:14px 28px; border-radius:100px; background:#EDAF3D; color:#1A2E2A; }\n  #rfmg-scheduler .rfmg-btn-green { display:inline-flex; align-items:center; gap:8px; font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; padding:14px 28px; border-radius:100px; background:#016756; color:#FFFFFF; }\n  #rfmg-scheduler .rfmg-link-green { font-family:'Poppins',sans-serif; font-size:13px; color:#016756; text-decoration:underline; cursor:pointer; }\n\n  #rfmg-scheduler .rfmg-skeleton { padding:20px; display:flex; gap:10px; overflow-x:auto; }\n  #rfmg-scheduler .rfmg-day-col { flex:1; min-width:80px; }\n\n  #rfmg-scheduler .rfmg-footer { margin-top:16px; font-size:13px; color:#666666; text-align:center; }\n  #rfmg-scheduler .rfmg-footer a { color:#016756; font-weight:500; cursor:pointer; }\n\n  \/* Epic renders its own markup inside here; give it room to breathe. *\/\n  #rfmg-scheduler .rfmg-epic-mount { padding:16px 20px 20px; }\n  #rfmg-scheduler #ucsdOSWidget { min-height:240px; }\n\n  .rfmg-hidden { display:none !important; }\n\n  @media (max-width: 640px) {\n    #rfmg-scheduler .rfmg-header { flex-direction: column; }\n    #rfmg-scheduler .rfmg-badges { justify-content: flex-start; }\n    #rfmg-scheduler .rfmg-tabs { display: none; }\n    #rfmg-scheduler .rfmg-select { display: block; }\n    #rfmg-scheduler .rfmg-card { width: 100%; padding: 20px; }\n    #rfmg-scheduler .rfmg-day-col { min-width: 92px; }\n  }\n<\/style>\n\n<div id=\"rfmg-scheduler\">\n  <div class=\"rfmg-page\">\n    <div class=\"rfmg-card\">\n\n      <!-- Provider header -->\n      <div class=\"rfmg-header\">\n        <div class=\"rfmg-photo\" id=\"rfmg-photo\">\n          <svg width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#016756\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"><\/path><circle cx=\"12\" cy=\"7\" r=\"4\"><\/circle><\/svg>\n        <\/div>\n        <div style=\"flex:1; min-width:0;\">\n          <p class=\"rfmg-name\" id=\"rfmg-name\">Ruth Toussiant<\/p>\n          <p class=\"rfmg-sub\" id=\"rfmg-sub\">Nurse Practitioner &middot; Sun City Office<\/p>\n          <div class=\"rfmg-badges\" id=\"rfmg-badges\"><\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Visit type selector -->\n      <p class=\"rfmg-choose\">Choose a visit type<\/p>\n      <div class=\"rfmg-tabs\" id=\"rfmg-tabs\" role=\"tablist\" aria-label=\"Visit type\"><\/div>\n      <div class=\"rfmg-select-wrap\">\n        <select class=\"rfmg-select\" id=\"rfmg-select\" aria-label=\"Visit type\"><\/select>\n        <svg class=\"rfmg-select-chev\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#666666\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\n      <\/div>\n\n      <!-- NOTE: a start-date filter was tested and removed \u2014 Epic's Open\n           Scheduling widget ignores a start-date embed param; the search\n           always begins today unless the patient uses the widget's own date\n           box. A provider filter was also tried and removed here (this page\n           is dedicated to one provider) \u2014 it lives on the location pages. -->\n\n      <!-- Availability widget -->\n      <div class=\"rfmg-widget-box\">\n\n        <!-- instant: shown until a visit type is picked (keeps the page instant) -->\n        <div class=\"rfmg-state\" data-state=\"instant\">\n          <div class=\"rfmg-center\">\n            <svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#999999\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"><\/rect><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"><\/line><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"><\/line><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"><\/line><\/svg>\n            <p>Choose a visit type above to see open appointment times.<\/p>\n          <\/div>\n        <\/div>\n\n        <!-- loading: shimmer skeleton while the Epic SDK loads + renders -->\n        <div class=\"rfmg-state rfmg-hidden\" data-state=\"loading\">\n          <div class=\"rfmg-skeleton\" id=\"rfmg-skeleton\"><\/div>\n        <\/div>\n\n        <!-- epic: the real Epic Open Scheduling widget mounts here -->\n        <div class=\"rfmg-state rfmg-hidden\" data-state=\"epic\">\n          <div class=\"rfmg-epic-mount\">\n            <p class=\"rfmg-caption\" id=\"rfmg-caption\"><\/p>\n            <div id=\"ucsdOSWidget\"><\/div>\n          <\/div>\n        <\/div>\n\n        <!-- unconfigured: visit type has no Epic mapping yet -->\n        <div class=\"rfmg-state rfmg-hidden\" data-state=\"unconfigured\">\n          <div class=\"rfmg-center\">\n            <svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#999999\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"><\/rect><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"><\/line><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"><\/line><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"><\/line><\/svg>\n            <p>Online scheduling for this visit type isn&rsquo;t available yet. Please call to book.<\/p>\n            <a class=\"rfmg-btn-green\" data-phone-link href=\"#\"><\/a>\n          <\/div>\n        <\/div>\n\n        <!-- error: SDK failed to load -->\n        <div class=\"rfmg-state rfmg-hidden\" data-state=\"error\">\n          <div class=\"rfmg-center\">\n            <p>We couldn&rsquo;t load the scheduling widget right now. You can still book by phone.<\/p>\n            <a class=\"rfmg-btn-green\" data-phone-link href=\"#\"><\/a>\n          <\/div>\n        <\/div>\n\n      <\/div>\n\n      <p class=\"rfmg-footer\">Not finding a time? <a data-see-others>See other providers at this clinic<\/a><\/p>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\n(function () {\n  \"use strict\";\n\n  \/* ========================= CONFIG \u2014 edit me ========================= *\/\n  var CONFIG = {\n    provider: {\n      name: 'Ruth Toussiant',\n      title: 'Nurse Practitioner',\n      location: 'Sun City Office',\n      timezone: 'Pacific time',\n      photoUrl: '',            \/\/ set a headshot URL; leave '' to fall back to initials\n      initials: 'RT'           \/\/ shown in the photo circle when photoUrl is blank\n    },\n\n    acceptingNewPatients: true,   \/\/ controls the \"Accepting new patients\" badge\n    telehealthAvailable: true,    \/\/ controls the \"Telehealth available\" badge\n\n    clinicPhone: '(951) 676-4193',          \/\/ TODO: replace with the real clinic number\n    seeOtherProvidersUrl: '#',              \/\/ TODO: link to your \"all providers\" page\n\n    epic: {\n      sdkUrl:  'https:\/\/mychart.ranchofamilymed.com\/rfm\/Scripts\/lib\/Widget\/widget_sdk.js',\n      baseUrl: 'https:\/\/mychart.ranchofamilymed.com\/rfm',\n      apiKey:  'cxawEqfoR672923',\n      \/\/ This provider's Epic department + provider ID (per-provider \u2014 change\n      \/\/ together with CONFIG.provider\/acceptingNewPatients\/telehealthAvailable\n      \/\/ \/clinicPhone\/visitTypes above for each generated page).\n      baseParams: { dept: '54706023', id: '144247', payor: '-3', useloginsession: '1' },\n      \/\/ Recreate a clean widget instance on each visit-type change and turn\n      \/\/ off the widget's saved state, so switching tabs reliably re-renders.\n      disableLocalStorage: true\n    },\n\n    \/\/ Only the tabs that apply to THIS provider \u2014 omit an entry entirely if\n    \/\/ they don't offer that visit type (rather than including it with no\n    \/\/ epic code). `epic.vt` codes vary by provider (e.g. behavioral-health\n    \/\/ providers use a different code for Virtual visit than medical staff).\n    visitTypes: [\n      { key: 'office', label: 'Office visit', epic: { vt: '534041' } },\n      { key: 'first', label: 'First time visit', epic: { vt: '534405' } },\n      { key: 'physical', label: 'Physical exam', epic: { vt: '534125' } },\n      { key: 'virtual', label: 'Virtual visit', epic: { vt: '534442' } }\n    ]\n  };\n  \/* =================================================================== *\/\n\n  var root = document.getElementById('rfmg-scheduler');\n  if (!root) return;\n\n  var qs = new URLSearchParams(window.location.search);\n  var urlVisit = qs.get('visit') || '';\n\n  var $  = function (sel) { return root.querySelector(sel); };\n  var $$ = function (sel) { return Array.prototype.slice.call(root.querySelectorAll(sel)); };\n\n  var phoneDigits = String(CONFIG.clinicPhone || '').replace(\/[^\\d+]\/g, '');\n  var selectedKey = null;\n  var sdkPromise  = null;   \/\/ cached SDK load\n  var observer    = null;   \/\/ watches the Epic mount for first render\n  var revealTimer = null;\n\n  \/* ---------- header ---------- *\/\n  function renderHeader() {\n    $('#rfmg-name').textContent = CONFIG.provider.name;\n    $('#rfmg-sub').innerHTML = escapeHtml(CONFIG.provider.title) + ' &middot; ' + escapeHtml(CONFIG.provider.location);\n\n    if (CONFIG.provider.photoUrl) {\n      var box = $('#rfmg-photo');\n      box.innerHTML = '';\n      var img = document.createElement('img');\n      img.className = 'rfmg-photo';\n      img.alt = CONFIG.provider.name;\n      img.src = CONFIG.provider.photoUrl;\n      box.replaceWith(img);\n    } else if (CONFIG.provider.initials) {\n      $('#rfmg-photo').innerHTML = '<span class=\"rfmg-initials\">' + escapeHtml(CONFIG.provider.initials) + '<\/span>';\n    }\n\n    var badges = [];\n    if (CONFIG.acceptingNewPatients) badges.push({ label: 'Accepting new patients', bg: 'rgba(1,103,86,0.1)', color: '#016756' });\n    if (CONFIG.telehealthAvailable)  badges.push({ label: 'Telehealth available',    bg: 'rgba(10,99,142,0.1)', color: '#0A638E' });\n    var wrap = $('#rfmg-badges');\n    wrap.innerHTML = '';\n    badges.forEach(function (b) {\n      var span = document.createElement('span');\n      span.className = 'rfmg-badge';\n      span.style.background = b.bg;\n      span.style.color = b.color;\n      span.textContent = b.label;\n      wrap.appendChild(span);\n    });\n  }\n\n  \/* ---------- visit-type tabs + mobile select ---------- *\/\n  function visibleVisitTypes() {\n    return CONFIG.visitTypes; \/\/ every listed entry is shown; see CONFIG comment above\n  }\n\n  function renderVisitTypes() {\n    var types = visibleVisitTypes();\n    var tabs = $('#rfmg-tabs');\n    var select = $('#rfmg-select');\n    tabs.innerHTML = '';\n    select.innerHTML = '';\n\n    var placeholder = document.createElement('option');\n    placeholder.value = '';\n    placeholder.textContent = 'Choose a visit type\u2026';\n    placeholder.disabled = true;\n    placeholder.selected = true;\n    select.appendChild(placeholder);\n\n    types.forEach(function (v) {\n      var btn = document.createElement('button');\n      btn.className = 'rfmg-tab';\n      btn.type = 'button';\n      btn.setAttribute('role', 'tab');\n      btn.setAttribute('aria-selected', String(v.key === selectedKey));\n      btn.textContent = v.label;\n      btn.addEventListener('click', function () { selectVisit(v.key); });\n      tabs.appendChild(btn);\n\n      var opt = document.createElement('option');\n      opt.value = v.key;\n      opt.textContent = v.label;\n      select.appendChild(opt);\n    });\n\n    select.value = selectedKey || '';\n    select.addEventListener('change', function (e) { selectVisit(e.target.value); });\n  }\n\n  function syncTabSelection() {\n    var types = visibleVisitTypes();\n    $$('.rfmg-tab').forEach(function (btn, i) {\n      btn.setAttribute('aria-selected', String(types[i] && types[i].key === selectedKey));\n    });\n    $('#rfmg-select').value = selectedKey || '';\n  }\n\n  \/* ---------- state switching ---------- *\/\n  function showState(name) {\n    $$('.rfmg-state').forEach(function (el) {\n      el.classList.toggle('rfmg-hidden', el.getAttribute('data-state') !== name);\n    });\n  }\n\n  function buildSkeleton() {\n    var host = $('#rfmg-skeleton');\n    if (host.childElementCount) return;\n    for (var c = 0; c < 5; c++) {\n      var col = document.createElement('div');\n      col.className = 'rfmg-day-col';\n      col.innerHTML =\n        '<div class=\"rfmg-shimmer\" style=\"height:14px;border-radius:4px;margin-bottom:10px;\"><\/div>' +\n        '<div class=\"rfmg-shimmer\" style=\"height:36px;border-radius:8px;margin-bottom:8px;\"><\/div>' +\n        '<div class=\"rfmg-shimmer\" style=\"height:36px;border-radius:8px;margin-bottom:8px;\"><\/div>' +\n        '<div class=\"rfmg-shimmer\" style=\"height:36px;border-radius:8px;\"><\/div>';\n      host.appendChild(col);\n    }\n  }\n\n  \/* ---------- Epic SDK ---------- *\/\n  function loadEpicSdk() {\n    if (sdkPromise) return sdkPromise;\n    sdkPromise = new Promise(function (resolve, reject) {\n      if (window.mychartWidget) { resolve(); return; }\n      var s = document.createElement('script');\n      s.src = CONFIG.epic.sdkUrl;\n      s.async = true;\n      s.onload = function () {\n        window.mychartWidget ? resolve() : reject(new Error('SDK loaded but mychartWidget missing'));\n      };\n      s.onerror = function () { sdkPromise = null; reject(new Error('Failed to load Epic SDK')); };\n      document.head.appendChild(s);\n    });\n    return sdkPromise;\n  }\n\n  function buildParams(visit) {\n    return Object.assign({}, CONFIG.epic.baseParams, visit.epic);\n  }\n\n  function renderEpicWidget(visit) {\n    var params = buildParams(visit);\n\n    \/\/ Recreate a clean mount node so each render is a brand-new Epic instance.\n    \/\/ Clearing innerHTML alone leaves widget state that keeps the old start date,\n    \/\/ so the `start` seed only takes effect on a genuinely fresh instance.\n    var old = document.getElementById('ucsdOSWidget');\n    var mount = document.createElement('div');\n    mount.id = 'ucsdOSWidget';\n    old.parentNode.replaceChild(mount, old);\n\n    \/\/ Reveal the Epic pane as soon as it renders content (or after a timeout).\n    if (observer) observer.disconnect();\n    clearTimeout(revealTimer);\n    var revealed = false;\n    var reveal = function () { if (!revealed) { revealed = true; showState('epic'); } };\n\n    observer = new MutationObserver(function () { if (mount.childElementCount > 0) { reveal(); observer.disconnect(); } });\n    observer.observe(mount, { childList: true, subtree: true });\n    revealTimer = setTimeout(reveal, 10000); \/\/ fallback: show whatever Epic produced\n\n    var cfg = {\n      url: CONFIG.epic.baseUrl,\n      apiKey: CONFIG.epic.apiKey,\n      widgetType: 'openscheduling',\n      containerId: 'ucsdOSWidget',\n      additionalParams: params\n    };\n    if (CONFIG.epic.disableLocalStorage) cfg.isLocalStorageEnabled = false;\n\n    try {\n      window.mychartWidget.renderWidget(cfg);\n    } catch (err) {\n      clearTimeout(revealTimer);\n      showState('error');\n    }\n  }\n\n  \/* ---------- selection flow ---------- *\/\n  function currentVisit() {\n    return CONFIG.visitTypes.filter(function (v) { return v.key === selectedKey; })[0];\n  }\n\n  function loadVisit(visit) {\n    $('#rfmg-caption').textContent = CONFIG.provider.location + ' \u00b7 ' + CONFIG.provider.timezone;\n    if (!visit.epic) { showState('unconfigured'); return; }\n    buildSkeleton();\n    showState('loading');\n    loadEpicSdk()\n      .then(function () { renderEpicWidget(visit); })\n      .catch(function () { showState('error'); });\n  }\n\n  function selectVisit(key) {\n    if (!key || key === selectedKey) return;\n    selectedKey = key;\n    syncTabSelection();\n    var visit = currentVisit();\n    if (visit) loadVisit(visit);\n  }\n\n  \/* ---------- misc wiring ---------- *\/\n  function wireStaticLinks() {\n    $$('[data-phone-link]').forEach(function (a) {\n      a.setAttribute('href', 'tel:' + phoneDigits);\n      a.innerHTML =\n        '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#FFFFFF\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z\"><\/path><\/svg>' +\n        ' Book by phone: ' + escapeHtml(CONFIG.clinicPhone);\n    });\n    $$('[data-see-others]').forEach(function (a) { a.setAttribute('href', CONFIG.seeOtherProvidersUrl); });\n  }\n\n  function escapeHtml(s) {\n    return String(s).replace(\/[&<>\"']\/g, function (c) {\n      return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[c];\n    });\n  }\n\n  \/* ---------- init ---------- *\/\n  renderHeader();\n  renderVisitTypes();\n  wireStaticLinks();\n  showState('instant');\n\n  \/\/ Deep link: ?visit=office (etc.) auto-selects that tab if it's visible.\n  if (urlVisit && visibleVisitTypes().some(function (v) { return v.key === urlVisit; })) {\n    selectVisit(urlVisit);\n  }\n})();\n<\/script>\n<!-- ============================= PASTE END ============================= -->\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Ruth Toussiant Nurse Practitioner &middot; Sun City Office Choose a visit type Choose a visit type above to see open appointment times. Online scheduling for this visit type isn&rsquo;t available yet. Please call to book. We couldn&rsquo;t load the scheduling widget right now. You can still book by phone. Not finding a time? See other [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2012","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/ranchofamilyappointments.com\/home\/wp-json\/wp\/v2\/posts\/2012","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ranchofamilyappointments.com\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ranchofamilyappointments.com\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ranchofamilyappointments.com\/home\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ranchofamilyappointments.com\/home\/wp-json\/wp\/v2\/comments?post=2012"}],"version-history":[{"count":4,"href":"https:\/\/ranchofamilyappointments.com\/home\/wp-json\/wp\/v2\/posts\/2012\/revisions"}],"predecessor-version":[{"id":2016,"href":"https:\/\/ranchofamilyappointments.com\/home\/wp-json\/wp\/v2\/posts\/2012\/revisions\/2016"}],"wp:attachment":[{"href":"https:\/\/ranchofamilyappointments.com\/home\/wp-json\/wp\/v2\/media?parent=2012"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ranchofamilyappointments.com\/home\/wp-json\/wp\/v2\/categories?post=2012"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ranchofamilyappointments.com\/home\/wp-json\/wp\/v2\/tags?post=2012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}