Patient Pre-Visit Checklist Stack
Patient pre-visit checklist pages with MedicalClinic context, HowTo steps, FAQs, and breadcrumbs.
When to use this stack
- Clinic pre-visit checklist pages for new patients
- Appointment preparation instructions for in-person visits
- Patient intake pages explaining forms and arrival timing
What is included
Anchors the clinic identity and contact details.
Structures the pre-visit checklist as step-by-step guidance.
Answers insurance, arrival time, and paperwork questions.
Provides navigation context for the pre-visit checklist page.
Properties across the bundle
Nested properties keep their parent path, such as offers.priceCurrency. Only publish values that match visible page content.
Required properties
- address.addressCountry
- address.addressLocality
- address.addressRegion
- address.postalCode
- address.streetAddress
- itemListElement[].name
- mainEntity[].@type=Question
- mainEntity[].acceptedAnswer.text
- name
- step[].text
- telephone
- url
Recommended properties
- description
- geo.latitude
- geo.longitude
- image
- itemListElement[].item
- mainEntity[].acceptedAnswer.text
- mainEntity[].author.name
- mainEntity[].name
- openingHours
- supply
- tool
- totalTime
Combined JSON-LD
Paste this as one script tag, then replace every example value with data from the live page.
[
{
"@context": "https://schema.org",
"@type": "MedicalClinic",
"@id": "https://www.example.com/clinics/northwind#clinic",
"name": "Northwind Family Clinic",
"url": "https://www.example.com/clinics/northwind",
"telephone": "+1-512-555-0134",
"image": "https://www.example.com/images/clinic-exterior.webp",
"address": {
"@type": "PostalAddress",
"streetAddress": "88 Congress Ave",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701",
"addressCountry": "US"
},
"openingHours": "Mo-Fr 08:00-17:00"
},
{
"@context": "https://schema.org",
"@type": "HowTo",
"@id": "https://www.example.com/clinics/northwind/previsit#howto",
"name": "Patient Pre-Visit Checklist",
"description": "Prepare for your appointment by completing these steps before arrival.",
"totalTime": "PT30M",
"step": [
{
"@type": "HowToStep",
"name": "Complete intake forms",
"text": "Fill out medical history and consent forms online before your visit."
},
{
"@type": "HowToStep",
"name": "Bring identification and insurance",
"text": "Bring a photo ID and your current insurance card."
},
{
"@type": "HowToStep",
"name": "Arrive early",
"text": "Arrive 15 minutes early to check in and verify paperwork."
},
{
"@type": "HowToStep",
"name": "Prepare medication list",
"text": "Bring a list of current medications, dosages, and allergies."
}
]
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Do I need to bring my insurance card?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Bring your insurance card and a photo ID for verification."
}
},
{
"@type": "Question",
"name": "Can I complete forms online?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Forms are available in the patient portal after booking."
}
},
{
"@type": "Question",
"name": "What if I need to reschedule?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Contact the clinic at least 24 hours before your appointment to reschedule."
}
}
]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
{ "@type": "ListItem", "position": 2, "name": "Clinics", "item": "https://www.example.com/clinics" },
{ "@type": "ListItem", "position": 3, "name": "Northwind Family Clinic", "item": "https://www.example.com/clinics/northwind" },
{ "@type": "ListItem", "position": 4, "name": "Pre-Visit Checklist", "item": "https://www.example.com/clinics/northwind/previsit" }
]
}
]Implement and verify
- 01
Start with the live page
Confirm titles, prices, availability, policies, and visible FAQ content before generating markup.
- 02
Add one JSON-LD script
Use the combined example as a template in the document head or before the closing body tag.
- 03
Complete regional details
Fill shipping destinations and timing for every region the page actually serves.
- 04
Link the return policy
Use a stable MerchantReturnPolicy URL and keep its terms synchronized with the page.
- 05
Match visible answers
Add only FAQs that users can read on the same page, with identical answers.
- 06
Validate after changes
Run Rich Results Test after implementation and whenever price, availability, or policy data changes.
Common errors and fixes
- Missing currency or availability
Use ISO currency codes and complete schema.org availability URLs in Offer data.
- Incomplete shipping details
Include shippingDestination.addressCountry and deliveryTime.transitTime with units.
- Return policy is not connected
Reference MerchantReturnPolicy from the Offer and provide a stable public policy URL.
- FAQ answers differ from the page
Keep structured FAQ answers identical to visible answers.
Stack FAQs
Should I include fasting instructions?
If fasting or prep instructions appear on the page, include them as a dedicated HowTo step.
Do I need multiple clinics on one page?
If the checklist applies to multiple clinics, either include one MedicalClinic per location or keep it scoped to the page location.