Personal Health Records
1.0.0-ballot2 - STU 1 ballot International flag

Personal Health Records, published by HL7 International / Patient Empowerment. This guide is not an authorized publication; it is the continuous build for version 1.0.0-ballot2 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/personal-health-record-format-ig/ and changes regularly. See the Directory of published versions

Logical Model: Social Media Post

Official URL: http://hl7.org/fhir/uv/phr/StructureDefinition/SocialMedia Version: 1.0.0-ballot2
Standards status: Trial-use Active as of 2026-03-27 Maturity Level: 1 Computable Name: SocialMedia

A logical model representing a social media post from platforms such as Facebook, Instagram, Twitter/X, Tumblr, etc. Captures the post content, media attachments, and metadata. Relevant for patient-reported outcomes, behavioral health context, and longitudinal health narratives.

Usages:

  • This Logical Model is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. SocialMedia 0..* Base Social Media Post
... subject 1..1 Reference(Patient) The patient who authored or owns the post
... platform 0..1 CodeableConcept Social media platform (e.g. Facebook, Instagram, Twitter/X, Tumblr)
... postDateTime 0..1 dateTime Date and time the post was published
... body 0..1 markdown Text body or description of the post
... url 0..1 url URL link to the original post
... media 0..* BackboneElement Media attachments on the post
.... type 0..1 CodeableConcept Type of media (e.g. image, video, audio, link)
.... url 0..1 url URL of the media resource
.... description 0..1 string Alt text or description of the media
... tag 0..* string Tags or hashtags associated with the post
... visibility 0..1 CodeableConcept Visibility or privacy setting (e.g. public, friends-only, private)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. SocialMedia 0..* Base Social Media Post
... subject 1..1 Reference(Patient) The patient who authored or owns the post
... platform 0..1 CodeableConcept Social media platform (e.g. Facebook, Instagram, Twitter/X, Tumblr)
... postDateTime 0..1 dateTime Date and time the post was published
... body 0..1 markdown Text body or description of the post
... url 0..1 url URL link to the original post
... media 0..* BackboneElement Media attachments on the post
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type 0..1 CodeableConcept Type of media (e.g. image, video, audio, link)
.... url 0..1 url URL of the media resource
.... description 0..1 string Alt text or description of the media
... tag 0..* string Tags or hashtags associated with the post
... visibility 0..1 CodeableConcept Visibility or privacy setting (e.g. public, friends-only, private)

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Summary

Mandatory: 0 element(1 nested mandatory element)

Maturity: 1

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. SocialMedia 0..* Base Social Media Post
... subject 1..1 Reference(Patient) The patient who authored or owns the post
... platform 0..1 CodeableConcept Social media platform (e.g. Facebook, Instagram, Twitter/X, Tumblr)
... postDateTime 0..1 dateTime Date and time the post was published
... body 0..1 markdown Text body or description of the post
... url 0..1 url URL link to the original post
... media 0..* BackboneElement Media attachments on the post
.... type 0..1 CodeableConcept Type of media (e.g. image, video, audio, link)
.... url 0..1 url URL of the media resource
.... description 0..1 string Alt text or description of the media
... tag 0..* string Tags or hashtags associated with the post
... visibility 0..1 CodeableConcept Visibility or privacy setting (e.g. public, friends-only, private)

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. SocialMedia 0..* Base Social Media Post
... subject 1..1 Reference(Patient) The patient who authored or owns the post
... platform 0..1 CodeableConcept Social media platform (e.g. Facebook, Instagram, Twitter/X, Tumblr)
... postDateTime 0..1 dateTime Date and time the post was published
... body 0..1 markdown Text body or description of the post
... url 0..1 url URL link to the original post
... media 0..* BackboneElement Media attachments on the post
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type 0..1 CodeableConcept Type of media (e.g. image, video, audio, link)
.... url 0..1 url URL of the media resource
.... description 0..1 string Alt text or description of the media
... tag 0..* string Tags or hashtags associated with the post
... visibility 0..1 CodeableConcept Visibility or privacy setting (e.g. public, friends-only, private)

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Summary

Mandatory: 0 element(1 nested mandatory element)

Maturity: 1

 

Other representations of profile: CSV, Excel