Every Wednesday, Sunny Martinson visits Richard Starr. He’s 80 years old and taught middle school woodshop for 40 years. He lives in Thetford, in a house he designed and largely built himself.
“There wasn’t a plan. I added and added and added — my wife added her contributions too,” Starr said.
Inside, the house is full of light. The walls are decorated with photographs Starr made, the ceiling has exposed wood rafters, and a spiral staircase leads upstairs.
“I’m happy to be here,” he said.
Advertisement
These days, Starr sleeps on the first floor. His wife died a few years ago and it’s hard for him to get upstairs, where his computer is, or to the basement, where his workshop is.
He has issues with his memory and earlier this year, a home aid moved in. But they can’t provide medical care, so Martinson comes to help Starr with his medications.
She’s the community nurse for the town of Thetford. It’s a role she’s been in for a year, after retiring from working as a triage nurse at Dartmouth Hitchcock Medical Center.
More from Brave Little State: The long wait for primary care in Vermont
On a recent visit, she brought Starr the newspaper, with a list of community events. They talked about adding a railing to his staircase, and she looked at his blood pressure readings. She’s become a big part of his life.
Advertisement
“Last fall his refrigerator broke, so I helped him get a new refrigerator. Or this driveway is impossible, and he didn’t even have anyone to plow it until January, he had no snow tires for the car,” she said. “So I mean I’m doing more than just filling the pill box.”
Lexi Krupp
/
Vermont Public
Advertisement
Sunny Martinson works with about 30 clients regularly. Some she sees every week, like Starr. For others, it’s less often. In the eight years since Thetford started its community nurse program, over 250 residents have called on the nurse.
And all this stuff she does for Starr — he doesn’t pay for it. That’s the case for all of her clients, and for anyone in the town of Thetford — working with Martinson is totally free.
The role is not meant to replace a doctor. But it helps fill in gaps our health care system just isn’t set up for.
“Right now the health care system is reactive. Something has to happen, and then you call 911, and then you go,” said Kristin Barnum, who runs a nonprofit called Community Nurse Connection. “But these community nurses are health coaches, health advocates, to prevent bad things from happening.”
“These community nurses are health coaches, health advocates, to prevent bad things from happening.”
Kristin Barnum, Community Nurse Connection
Advertisement
The nonprofit is based in Lebanon, New Hampshire, and supports about a dozen community nurse programs in the region.
These all look a little different: In Thetford, Martinson works for a nonprofit, and the position is largely grant funded. In Tunbridge, the community nurse is a town employee, paid for with taxpayer dollars. And in Lyme, New Hampshire, the job is run through a church — it’s been that way for years.
These positions are mostly part time — they cost an average of $30,000 a year. But Barnum thinks this saves towns money in the long run by preventing unnecessary 911 calls and expensive trips to the hospital.
“It’s a very inexpensive way to take care and keep older adults safe and in their towns,” she said.
Advertisement
Lexi Krupp
/
Vermont Public
Community nurses can fill gaps in the health care system that the traditional health care system isn’t set up for. They often act as advocates for patients.
And more towns are looking to replicate this model, like in Strafford, where Sheila Keating started working as the town’s first community nurse last year.
“Having the liaison between community and healthcare is just so important,” said Keating, who’s been a nurse for 30 years. “I never realized how important until I actually started doing this job.”
Advertisement
The towns of Hartford and Putney are in the middle of hiring for nurse positions, both new roles. A group in Windsor is planning a community nurse program, too.
And besides saving money in preventing emergency medical care, these programs offer another big benefit — reducing isolation.
That’s been true for Martinson’s clients, in Thetford.
She left Starr’s house after about an hour. She was going to follow up with his doctor, and offered to get his guitar restrung.
“I’ll bring my mandolin over and we can do some duets,” she said.
Advertisement
Then, she was going to stop in to see an 89 year old down the road. She’d picked up asparagus from a nearby farmstand to bring her.
“Sometimes there are real medical needs, but more than anything you keep hearing about people who were isolated in rural Vermont — boy, are they isolated,” Martinson said.
“I think they just like to have people visit,” she said.
Have questions, comments or tips? Send us a message.
Roads will turn slippery mid-morning through mid-afternoon
Advertisement
Hour-by-hour: See when to expect steady snow Tuesday in Vermont, New York
Roads will turn slippery mid-morning through mid-afternoon
Advertisement
NBC5 First Warning Meteorologist
Advertisement
NBC5 meteorologists expect a burst of steady snow to arrive Tuesday morning in Vermont and northern New York, lasting through the early-mid afternoon. Deteriorating road conditions will lead to slow travel for several hours, with some improvement expected by the evening commute.Watch the video above to see the timeline for your area.
NBC5 meteorologists expect a burst of steady snow to arrive Tuesday morning in Vermont and northern New York, lasting through the early-mid afternoon.
Advertisement
Deteriorating road conditions will lead to slow travel for several hours, with some improvement expected by the evening commute.
Watch the video above to see the timeline for your area.
Advertisement
`;
}
function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}
Advertisement
function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;
function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});
var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}
Advertisement
function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}
var location = { zip: window.DEFAULT_ZIPCODE };
try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}
var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;
if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}
Advertisement
function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;
var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);
if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.mynbc5.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.mynbc5.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}
function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;
var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}
Advertisement
var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}
var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}
var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}
var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}
function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;
if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);
for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex
`;
}
Advertisement
function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}
function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;
function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});
var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}
function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}
var location = { zip: window.DEFAULT_ZIPCODE };
try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}
var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;
Advertisement
if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}
function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;
var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);
if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.mynbc5.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.mynbc5.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}
function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;
Advertisement
var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}
var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}
var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}
var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}
var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}
function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;
if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);
for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex
You know TV personality Alton Brown as the quirky host of hit reality cooking shows such as “Iron Chef America” and “Cutthroat Kitchen.” Now the culinary commentator and author takes the stage solo at Rutland’s Paramount Theatre for a no-frills show of his talents, trading the glitz and glamour of Hollywood for a more intimate showcase of food science, humor and heart.
Girl Almighty
Friday 10
Diana Whitney Credit: Courtesy of Beowulf Sheehan
Queer author and educator Diana Whitney launches her patriarchy-smashing poetry collection, Girl Trouble, in conversation with fellow writer Eve Alexandra at Next Stage Arts in Putney. Listeners hear unflinching takes on growing up female, adolescent trauma, rape culture and modern movements of resilience before roaring onto the dance floor to channel the grit and grace of feminism.
It’s no surprise that we stan Local News Day (see page 13). Journalism leaders and advocates fill Montpelier’s Kellogg-Hubbard Library for a fact-forward fête celebrating the value of civic transparency and trusted community information. A documentary screening and a panel discussion explore media ecosystems and spur dialogue about how to sustain an essential public resource.
Scale model makers and Lego lovers connect at CAN-AM Con at Williston’s National Guard Armory, where seminars and vendors complement a display contest honoring late Japanese producer Shunsaku Tamiya. Junior builders and veterans show off their finest constructions from any Tamiya kit for consideration in categories such as Best of Class and People’s Choice.
The Current — Stowe’s center for contemporary art — invites philanthropic partygoers to the Lodge at Spruce Peak for Gala ’54: After Hours. The annual fundraiser boasts silent and live auctions, a cocktail reception, and chef-crafted food stations, all inspired by New York City’s glamorous Studio 54 era. Then revelers hit the dance floor to boogie oogie oogie in their flashiest disco dress.
See gallery listing at sevendaysvt.com/art
Piste de Résistance
Saturday 11 & Sunday 12
Gather Outdoors Credit: Courtesy
Music and winter culture festival Gather Outdoors takes Stratton Mountain Resort by storm with a superlative lineup of jam bands and electronic artists, including Philadelphia legends the Disco Biscuits and rising star Karina Rykman. The high-energy mountainside affair fuses plein air recreation with an immersive club atmosphere for an unforgettable end to the ski season.
Reading the Room
Tuesday 14
Bianca Stone Credit: Courtesy
Vermont poet laureate Bianca Stone continues her “State of Poetry” tour with a stop at Phoenix Books in Burlington. Stone leads an analytical deep dive into the craft of late Nobel Prize-winning writer — and the nation’s 12th poet laureate — Louise Glück, underscoring the vital cultural impact of her contributions to American literature.