 ### Patient Family Advisory Council

- [ Patient Stories](#patient-stories)
- [ Boston Medical Center Patient Family Advisory Council (PFAC) Application](#boston-medical-center-patient-family-advisory-council-(pfac)-application)
 
  ## What is the BMC PFAC? 

The PFAC is comprised of patient/family advisors who volunteer their time and ideas to inform improvements at BMC. Members of the PFAC represent diverse experiences, perspectives, and identities. The rich perspectives that members bring to the PFAC lead to nuanced and multifaceted approaches to healthcare improvement.

## PFAC Mission

To support the hospital’s mission of providing exceptional and accessible care for all through enhanced partnership between patients, families, caregivers, and staff.

The PFAC draws on multiple insights to provide guidance, feedback, and direction to BMC teams, including:

- Lived experiences of health conditions and BMC services
- Shared value system
- Research evidence, best practice, and literature

#### Annual Reports

[2024 PFAC Report](https://www.bmc.org/sites/default/files/2025-01/2024%20BMC%20Annual%20PFAC%20Report.pdf "Boston Medical Center Patient Family Advisory Council (PFAC) Annual Report 2024")

[2023 PFAC Report](https://www.bmc.org/sites/default/files/2023-11/2023%20BMC%20Annual%20PFAC%20Report.pdf "Boston Medical Center Patient Family Advisory Council (PFAC) Annual Report 2023")

[2022 PFAC Report](https://www.bmc.org/sites/default/files/2023-11/2022-09-30%20-%20HCFA%20PFAC%20report%20-%20BMC%20-%20v2%20-%20pdf.pdf "Boston Medical Center Patient Family Advisory Council (PFAC) Annual Report 2022")



 ## Patient Stories

Hear from some of our PFAC members about why they joined and what they love about PFAC.

 ### [Darrin's Story](/node/3217/patient-family-advisory-council-patient-stories#darrin's-story)

Read More

 

 ![Darrin's Story](https://assets.bmc.org/transform/33f618f9-44a3-495d-b93a-3493719d8637/343760408_725016082744894_6355350895676772823_n) 

  ### [Monique's Story](/node/3217/patient-family-advisory-council-patient-stories#monique's-story)

Read More

 

 ![Monique's Story](https://assets.bmc.org/transform/1a0f793a-912d-4b8c-af86-33d8addc6fb0/monique) 

  ### [Sebra's Story](/node/3217/patient-family-advisory-council-patient-stories#sebra's-story)

Read More

 

 ![Sebra's Story](https://assets.bmc.org/transform/8e2d828d-362a-43f0-9112-ad0d833245d0/sebra) 

  ### [Charlie's Story](/node/3217/patient-family-advisory-council-patient-stories#charlie's-story)

Read More

 

 ![Charlie's Story](https://assets.bmc.org/transform/a765133e-b9d8-4d73-992e-dfc4081a5a5b/charlie) 

  ### [Mark's Story](/node/3217/patient-family-advisory-council-patient-stories#mark's-story)

Read More

 

 ![Mark's Story](/sites/default/files/inline-images/Screen%20Shot%202024-02-08%20at%2010.27.55%20AM.png) 

 



 

 ## Boston Medical Center Patient Family Advisory Council (PFAC) Application

     
                    form input, form select {
    min-height: 1rem;
    padding: calc(.75rem - 1px) calc(1rem - 1px);
}
                 
                    // initialize our variables
                    var captchaReady = 0;
                    var wFORMSReady = 0;
                    var isConditionalSubmitEnabled = false;

                    // when wForms is loaded call this
                    var wformsReadyCallback = function () {
                        // using this var to denote if wForms is loaded
                        wFORMSReady = 1;
                        isConditionalSubmitEnabled = document.getElementById('submit_button').hasAttribute('data-condition');
                        // call our recaptcha function which is dependent on both
                        // wForms and an async call to google
                        // note the meat of this function wont fire until both
                        // wFORMSReady = 1 and captchaReady = 1
                        onloadCallback();
                    }
                    var gCaptchaReadyCallback = function() {
                        // using this var to denote if captcha is loaded
                        captchaReady = 1;
                        isConditionalSubmitEnabled = document.getElementById('submit_button').hasAttribute('data-condition');
                        // call our recaptcha function which is dependent on both
                        // wForms and an async call to google
                        // note the meat of this function wont fire until both
                        // wFORMSReady = 1 and captchaReady = 1
                        onloadCallback();
                    };

                    // add event listener to fire when wForms is fully loaded
                    document.addEventListener("wFORMSLoaded", wformsReadyCallback);

                    var enableSubmitButton = function() {
                        var submitButton = document.getElementById('submit_button');
                        var explanation = document.getElementById('disabled-explanation');
                        var isConditionalSubmitConditionMet = wFORMS.behaviors.condition.isConditionalSubmitConditionMet;
                        if (
                            submitButton != null &&
                            (isConditionalSubmitEnabled && isConditionalSubmitConditionMet) ||
                            !isConditionalSubmitEnabled
                        )
                        {
                            submitButton.removeAttribute('disabled');
                            if (explanation != null) {
                                explanation.style.display = 'none';
                            }
                        }
                    };
                    var disableSubmitButton = function() {
                        var submitButton = document.getElementById('submit_button');
                        var explanation = document.getElementById('disabled-explanation');
                        if (submitButton != null) {
                            submitButton.disabled = true;
                            if (explanation != null) {
                                explanation.style.display = 'block';
                            }
                        }
                    };

                    // call this on both captcha async complete and wforms fully
                    // initialized since we can't be sure which will complete first
                    // and we need both done for this to function just check that they are
                    // done to fire the functionality
                    var onloadCallback = function () {
                        // if our captcha is ready (async call completed)
                        // and wFORMS is completely loaded then we are ready to add
                        // the captcha to the page
                        if (captchaReady && wFORMSReady) {
                            // Prevent both concurrent and sequential executions
                            if (window.isCreatingCaptcha || window.hasCaptchaRendered) {
                                return;
                            }
                            window.isCreatingCaptcha = true;

                            try {
                                var submitButton = document.getElementById('submit_button');
                                var formContainer = submitButton.closest('form') || submitButton.closest('.wFormContainer');
                                var faCaptcha = null;

                                if (formContainer) {
                                    faCaptcha = formContainer.querySelector('#google-captcha');
                                }

                                // Also check if captcha was appended to body as fallback (look for FA-specific structure)
                                if (!faCaptcha) {
                                    var bodyCaptchas = document.querySelectorAll('body > #google-captcha');
                                    for (var i = 0; i < bodyCaptchas.length; i++) {
                                        // Verify it's a FormAssembly captcha by checking for specific structure
                                        if (bodyCaptchas[i].querySelector('.captcha .oneField .g-recaptcha')) {
                                            faCaptcha = bodyCaptchas[i];
                                            break;
                                        }
                                    }
                                }

                                if (faCaptcha) { 
                                    if (faCaptcha.parentNode) {
                                        faCaptcha.parentNode.removeChild(faCaptcha);
                                    } 
                                }

                            // Now create a new captcha container
                            var captchaContainer = document.createElement('div');
                            captchaContainer.id = 'google-captcha';
                            
                            var captchaDiv = document.createElement('div');
                            captchaDiv.className = 'captcha';
                            
                            var oneFieldDiv = document.createElement('div');
                            oneFieldDiv.className = 'oneField';
                            
                            var recaptchaElement = document.createElement('div');
                            recaptchaElement.id = 'g-recaptcha-render-div';
                            recaptchaElement.className = 'g-recaptcha';
                            
                            var errorDiv = document.createElement('div');
                            errorDiv.className = 'g-captcha-error';
                            
                            var helpDiv = document.createElement('div');
                            helpDiv.className = 'captchaHelp';
                            helpDiv.innerHTML = 'reCAPTCHA helps prevent automated form spam.<br>';
                            
                            var disabledDiv = document.createElement('div');
                            disabledDiv.id = 'disabled-explanation';
                            disabledDiv.className = 'captchaHelp';
                            disabledDiv.style.display = 'block';
                            disabledDiv.innerHTML = 'The submit button will be disabled until you complete the CAPTCHA.';
                            
                            oneFieldDiv.appendChild(recaptchaElement);
                            oneFieldDiv.appendChild(errorDiv);
                            oneFieldDiv.appendChild(document.createElement('br'));
                            captchaDiv.appendChild(oneFieldDiv);
                            captchaDiv.appendChild(helpDiv);
                            captchaDiv.appendChild(disabledDiv);
                            captchaContainer.appendChild(document.createElement('br'));
                            captchaContainer.appendChild(captchaDiv);
                            
                            if (submitButton && submitButton.parentNode) {
                                submitButton.parentNode.insertBefore(captchaContainer, submitButton);
                            } else {
                                // Fallback: append to body if submit button not found.
                                document.body.appendChild(captchaContainer);
                            }
                        } finally {
                            window.isCreatingCaptcha = false;
                        }
                            
                            grecaptcha.enterprise.render('g-recaptcha-render-div', {
                                'sitekey': '6LfMg_EaAAAAAMhDNLMlgqDChzmtYHlx1yU2y7GI',
                                'theme': 'light',
                                'size': 'normal',
                                'callback': 'enableSubmitButton',
                                'expired-callback': 'disableSubmitButton'
                            });
                            window.hasCaptchaRendered = true;
                            var oldRecaptchaCheck = parseInt('1');
                            if (oldRecaptchaCheck === -1) {
                                var standardCaptcha = document.getElementById("tfa_captcha_text");
                                standardCaptcha = standardCaptcha.parentNode.parentNode.parentNode;
                                standardCaptcha.parentNode.removeChild(standardCaptcha);
                            }

                            if (!wFORMS.instances['paging']) {
                                document.getElementById("g-recaptcha-render-div").parentNode.parentNode.parentNode.style.display = "block";
                                //document.getElementById("g-recaptcha-render-div").parentNode.parentNode.parentNode.removeAttribute("hidden");
                            }
                            document.getElementById("g-recaptcha-render-div").getAttributeNode('id').value = 'tfa_captcha_text';

                            var captchaError = '';
                            if (captchaError == '1') {
                                var errMsgText = 'The CAPTCHA was not completed successfully.';
                                var errMsgDiv = document.createElement('div');
                                errMsgDiv.id = "tfa_captcha_text-E";
                                errMsgDiv.className = "err errMsg";
                                errMsgDiv.innerText = errMsgText;
                                var loc = document.querySelector('.g-captcha-error');
                                loc.insertBefore(errMsgDiv, loc.childNodes[0]);

                                /* See wFORMS.behaviors.paging.applyTo for origin of this code */
                                if (wFORMS.instances['paging']) {
                                    var b = wFORMS.instances['paging'][0];
                                    var pp = base2.DOM.Element.querySelector(document, wFORMS.behaviors.paging.CAPTCHA_ERROR);
                                    if (pp) {
                                        var lastPage = 1;
                                        for (var i = 1; i < 100; i++) {
                                            if (b.behavior.isLastPageIndex(i)) {
                                                lastPage = i;
                                                break;
                                            }
                                        }
                                        b.jumpTo(lastPage);
                                    }
                                }
                            }
                        }
                    }
                  
                    document.addEventListener("DOMContentLoaded", function() {
                        var warning = document.getElementById("javascript-warning");
                        if (warning != null) {
                            warning.parentNode.removeChild(warning);
                        }
                        var oldRecaptchaCheck = parseInt('1');
                        if (oldRecaptchaCheck !== -1) {
                            var explanation = document.getElementById('disabled-explanation');
                            var submitButton = document.getElementById('submit_button');
                            if (submitButton != null) {
                                submitButton.disabled = true;
                                if (explanation != null) {
                                    explanation.style.display = 'block';
                                }
                            }
                        }
                    });
                 
        document.addEventListener("FA__DOMContentLoaded", function(){
            const FORM_TIME_START = Math.floor((new Date).getTime()/1000);
            let formElement = document.getElementById("tfa_0");
            if (null === formElement) {
                formElement = document.getElementById("0");
            }
            let appendJsTimerElement = function(){
                let formTimeDiff = Math.floor((new Date).getTime()/1000) - FORM_TIME_START;
                let cumulatedTimeElement = document.getElementById("tfa_dbCumulatedTime");
                if (null !== cumulatedTimeElement) {
                    let cumulatedTime = parseInt(cumulatedTimeElement.value);
                    if (null !== cumulatedTime && cumulatedTime > 0) {
                        formTimeDiff += cumulatedTime;
                    }
                }
                let jsTimeInput = document.createElement("input");
                jsTimeInput.setAttribute("type", "hidden");
                jsTimeInput.setAttribute("value", formTimeDiff.toString());
                jsTimeInput.setAttribute("name", "tfa_dbElapsedJsTime");
                jsTimeInput.setAttribute("id", "tfa_dbElapsedJsTime");
                jsTimeInput.setAttribute("autocomplete", "off");
                if (null !== formElement) {
                    formElement.appendChild(jsTimeInput);
                }
            };
            if (null !== formElement) {
                if(formElement.addEventListener){
                    formElement.addEventListener('submit', appendJsTimerElement, false);
                } else if(formElement.attachEvent){
                    formElement.attachEvent('onsubmit', appendJsTimerElement);
                }
            }
        });
          
        wFORMS.behaviors.prefill.skip = false;
     

 
                #tfa_1,
                *[id^="tfa_1["] {
                    width: 702px !important;
                }
                #tfa_1-D,
                *[id^="tfa_1["][class~="field-container-D"] {
                    width: auto !important;
                }
            
                #tfa_3,
                *[id^="tfa_3["] {
                    width: 702px !important;
                }
                #tfa_3-D,
                *[id^="tfa_3["][class~="field-container-D"] {
                    width: auto !important;
                }
            
                #tfa_5,
                *[id^="tfa_5["] {
                    width: 702px !important;
                }
                #tfa_5-D,
                *[id^="tfa_5["][class~="field-container-D"] {
                    width: auto !important;
                }
            
                #tfa_21,
                *[id^="tfa_21["] {
                    width: 670px !important;
                }
                #tfa_21-D,
                *[id^="tfa_21["][class~="field-container-D"] {
                    width: auto !important;
                }
            
                #tfa_23,
                *[id^="tfa_23["] {
                    width: 670px !important;
                }
                #tfa_23-D,
                *[id^="tfa_23["][class~="field-container-D"] {
                    width: auto !important;
                }
            
                #tfa_25,
                *[id^="tfa_25["] {
                    width: 670px !important;
                }
                #tfa_25-D,
                *[id^="tfa_25["][class~="field-container-D"] {
                    width: auto !important;
                }
            
                #tfa_27,
                *[id^="tfa_27["] {
                    width: 670px !important;
                }
                #tfa_27-D,
                *[id^="tfa_27["][class~="field-container-D"] {
                    width: auto !important;
                }
            
                #tfa_29,
                *[id^="tfa_29["] {
                    width: 670px !important;
                }
                #tfa_29-D,
                *[id^="tfa_29["][class~="field-container-D"] {
                    width: auto !important;
                }
            
                #tfa_21,
                *[id^="tfa_21["] {
                    height: 135px !important
                }
                #tfa_21-D,
                *[id^="tfa_21["][class~="field-container-D"] {
                    height: auto !important;
                }
                #tfa_21-L,
                label[id^="tfa_21["],
                *[id^="tfa_21["][id$="-L"] {
                    height: auto !important;
                }
            
                #tfa_23,
                *[id^="tfa_23["] {
                    height: 135px !important
                }
                #tfa_23-D,
                *[id^="tfa_23["][class~="field-container-D"] {
                    height: auto !important;
                }
                #tfa_23-L,
                label[id^="tfa_23["],
                *[id^="tfa_23["][id$="-L"] {
                    height: auto !important;
                }
            
                #tfa_25,
                *[id^="tfa_25["] {
                    height: 135px !important
                }
                #tfa_25-D,
                *[id^="tfa_25["][class~="field-container-D"] {
                    height: auto !important;
                }
                #tfa_25-L,
                label[id^="tfa_25["],
                *[id^="tfa_25["][id$="-L"] {
                    height: auto !important;
                }
            
                #tfa_27,
                *[id^="tfa_27["] {
                    height: 135px !important
                }
                #tfa_27-D,
                *[id^="tfa_27["][class~="field-container-D"] {
                    height: auto !important;
                }
                #tfa_27-L,
                label[id^="tfa_27["],
                *[id^="tfa_27["][id$="-L"] {
                    height: auto !important;
                }
            
                #tfa_29,
                *[id^="tfa_29["] {
                    height: 135px !important
                }
                #tfa_29-D,
                *[id^="tfa_29["][class~="field-container-D"] {
                    height: auto !important;
                }
                #tfa_29-L,
                label[id^="tfa_29["],
                *[id^="tfa_29["][id$="-L"] {
                    height: auto !important;
                }
            

### Boston Medical Center Patient Family Advisory Council (PFAC) Application

**First and Last Name**  




**Email Address**  




**Phone Number**  




**Phone Number Type**  
HomeMobileWork



**Are you applying as a BMC patient or a family member / caregiver?** Please note that we are only accepting applications from people who represent at least one of these roles.  
PatientFamily member / caregiver



**Why are you interested in joining BMC's Patient Family Advisory Council?**  




**What is an area of patient care that is particularly important to you?**  




**Please provide a brief overview of your experiences as a patient, family member, or caregiver at BMC**  




**We believe that all patient family advisory councils, and all committees, should reflect the diversity of patients and families who receive care at BMC. Please share anything about yourself that you think would add to the diversity of our PFAC. Please consider diversity to include any of the following or more: race, ethnicity, gender, sexual orientation, disability, spiritual, economic, educational, etc.**   




**BMC strives to provide exceptional care without exception. What does this mean to you?**   




  


Thank you for your interest! We will be in touch soon. 

  


Please contact the Patient Experience team with any questions at 617-414-5903 or <PatientExperience@bmc.org>.





  




  


reCAPTCHA helps prevent automated form spam.  


The submit button will be disabled until you complete the CAPTCHA.