Skip to content
  • Wednesday, 15 July 2026
  • 1:48 am
  • Follow Us
Wattman
  • Intake form
  • Master patient index
  • Dermatology
  • Services
  • EHR software
  • Home
  • Profiles and Slicing at a Glance
Reference corner

Reference corner

Whenever a colleague asks which fields a Practitioner resource actually needs, I point them at the R4 resource atlas I maintain here.

FHIR Server & API Solutions
  • Must-Support Elements and What Implementers Actually Do
  • The Extension Model: When a FHIR Resource Is Silent on Your Data
  • Profiles and Slicing at a Glance
  • Reference vs Contained: When to Embed and When to Link
  • Top 5 MPI Engines for Payer-Driven Patient Reconciliation in 2026
R4 Resource Atlas

Profiles and Slicing at a Glance

Jasmine Ward Jul 13, 2026 0
Editorial illustration in cyberpunk-neon style depicting a cyberpunk-neon base Patient resource with US Core profile applied and sliced identifiers

Editorial illustration in cyberpunk-neon style depicting a cyberpunk-neon base Patient resource with US Core profile applied and sliced identifiers

FHIR profiles are how one resource type serves many implementation contexts. US Core Patient, International Patient Summary, and CARIN Blue Button all profile the same base Patient resource with tighter rules for their audience. Slicing is the mechanism that lets those profiles constrain repeating elements. The two together are what turn a general spec into a national implementation guide. The site's R4 resource atlas marks profile support per resource. For the wider FHIR framing, additional FHIR API notes collects supporting material.

What a Profile Does

A profile is a StructureDefinition that tightens the base resource. It can:

  • Raise a cardinality: a 0.. element becomes 1.. for this context
  • Fix a value: Patient.identifier.system must equal a specific URL
  • Bind a value set: Observation.code must come from a US Core value set
  • Add a required extension: an implicit rule becomes explicit
  • Slice a repeating element: split it into named sub-lists with their own rules

Profiles never loosen the base. They only add rules. That constraint is what makes them safe to compose.

Slicing Explained

Slicing is what turns a repeating element into named lists. Patient.identifier is 0..*. In a US Core context, it needs to hold one identifier of type MRN and optionally one of type SSN. Slicing declares that split:

  • Slice one, name = "mrn", cardinality 1..1, type = MRN
  • Slice two, name = "ssn", cardinality 0..1, type = SSN

Discriminator picks the slicing key — usually a fixed value on an inner element, like identifier.type.coding.code. The server uses the discriminator to know which slice each entry belongs to.

What Slicing Solves

Without slicing, "one MRN, optional SSN, no other identifiers" cannot be expressed in a profile. Slicing gives implementers a way to say exactly that. The base spec stays general, the profile stays specific.

Slicing on Observation.component is common for panel-style measurements. Blood pressure has systolic and diastolic slices. That is how a validator knows to reject a blood-pressure Observation missing the systolic component.

When To Reach For a Profile

Reach for a profile when:

  • A jurisdiction or program requires specific fields
  • A workflow needs required extensions the base does not include
  • A repeating element needs named sub-lists with different rules
  • Validation needs to reject payloads that pass the base spec but fail the domain rules

For the extension mechanic that profiles rely on, the extension model: when a FHIR resource is silent on your data is the entry.

Must-Support Is a Profile Concept

The mustSupport flag lives on profile elements. It signals that implementers have to handle the element — but not that senders have to populate it. The distinction is subtle and often misread. For the deeper picture, must-support elements and what implementers actually do covers it.

Where To Read Them

Every profile publishes a StructureDefinition, and the differential view lists exactly what changed from the base. Reading the differential is the fast way to know a profile's rules. The atlas surfaces the profile URLs per resource; the differential is one click away.

The Short Version

Profiles refine, slicing shapes repeating elements, discriminator picks the slicing key, mustSupport signals handler obligation. Once you can read a profile's differential, R4 implementation guides stop feeling opaque. For the base pattern, navigating FHIR R4 resources when you know DomainResource but not much else is the entry.

Cyberpunk-neon diagram of a base Patient resource with a profile applied above it, showing tightened cardinality, added extensions, and sliced identifier list, drawn with neon cyan accents on a dark grid

Sources

  • HL7 canonical R4 profiling chapter defining profiles and - HL7 canonical R4 profiling chapter defining profiles and slicing
FHIR Validator & Compliance
Editorial illustration in cyberpunk-neon style depicting a cyberpunk-neon Must-Support flag routing to a sender (populate) and receiver (must handle)
R4 Resource Atlas
Must-Support Elements and What Implementers Actually Do
Jasmine Ward Jul 14, 2026
Editorial illustration in cyberpunk-neon style depicting a cyberpunk-neon FHIR resource with regular and modifier extensions tagged by canonical URL
R4 Resource Atlas
The Extension Model: When a FHIR Resource Is Silent on Your Data
Jasmine Ward Jul 14, 2026
Editorial illustration in cyberpunk-neon style depicting a cyberpunk-neon side-by-side of Reference between resources vs a contained child resource
R4 Resource Atlas
Reference vs Contained: When to Embed and When to Link
Jasmine Ward Jul 13, 2026
Editorial illustration in cyberpunk-neon style depicting a cyberpunk-neon ten-tile grid of the most common R4 resource types with cyan neon strokes
R4 Resource Atlas
The Ten FHIR Resources You Should Learn First
Jasmine Ward Jul 12, 2026
Editorial illustration in cyberpunk-neon style depicting a cyberpunk-neon FHIR R4 inheritance tree fanning from Resource and DomainResource into module-scoped resources
R4 Resource Atlas
Navigating FHIR R4 Resources When You Know DomainResource But Not Much Else
Jasmine Ward Jul 12, 2026
Medical Forms & FHIR SDC
Editorial illustration in cyberpunk-neon style depicting a cyberpunk-neon Must-Support flag routing to a sender (populate) and receiver (must handle)
R4 Resource Atlas
Must-Support Elements and What Implementers Actually Do
Jasmine Ward Jul 14, 2026
Editorial illustration in cyberpunk-neon style depicting a cyberpunk-neon FHIR resource with regular and modifier extensions tagged by canonical URL
R4 Resource Atlas
The Extension Model: When a FHIR Resource Is Silent on Your Data
Jasmine Ward Jul 14, 2026
Editorial illustration in cyberpunk-neon style depicting a cyberpunk-neon base Patient resource with US Core profile applied and sliced identifiers
R4 Resource Atlas
Profiles and Slicing at a Glance
Jasmine Ward Jul 13, 2026
Editorial illustration in cyberpunk-neon style depicting a cyberpunk-neon side-by-side of Reference between resources vs a contained child resource
R4 Resource Atlas
Reference vs Contained: When to Embed and When to Link
Jasmine Ward Jul 13, 2026