SMART App Launch
2.2.0-ballot - CI-Build International flag

This page is part of the Smart App Launch Implementation Guide (v2.2.0-ballot: STU 2.2 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 2.1.0. For a full list of available versions, see the Directory of published versions

Resource Profile: Patient Access Brand (Organization) Profile

Official URL: http://hl7.org/fhir/smart-app-launch/StructureDefinition/patient-access-brand Version: 2.2.0-ballot
Active as of 2023-03-05 Computable Name: PatientAccessBrand

Profile on Organization to convey a Patient Access Brand.

For background and context, see Patient Access Brands Overview.

In addition to the core data elements on Organization, two key extensions are used in this profile:

Notes:

  • 0..1 MS partOf Conveys that an affiliate Brand response for providing this Brand’s patient access. The hierarchy of “access provided by” links SHALL NOT exceed a depth of two (i.e., a Brand either includes portal details or links directly to a Brand that provides them).

  • 0..* MS identifier Conveys identifiers that apps can use to link this Brand across publishers or with external data sets. EHRs SHALL support customer-supplied identifiers (system and value).

    • It is RECOMMENDED that each Brand include an identifier where system is urn:ietf:rfc: 3986 (meaning the identifier is a URL) and value is the HTTPS URL for the Brand’s primary web presence, omitting any “www.” prefix from the domain and omitting any path component. For example, since the main web presence of Boston Children’s Hospital is https://www.childrenshospital.org/, a recommended identifier would be: {"system": "urn:ietf:rfc:3986","value": "https://childrenshospital.org"}

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Organization

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization 0..*OrganizationPatient Access Brand
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... brand S0..*(Complex)Brand Details
URL: http://hl7.org/fhir/StructureDefinition/organization-brand
... portal S0..*(Complex)Portal Details
URL: http://hl7.org/fhir/StructureDefinition/organization-portal
... Slices for type S0..*CodeableConceptKind of organization
Slice: Unordered, Open by value:$this
.... type:pab S0..*CodeableConceptCategories of patient access offered
Binding: Patient Access Category Value Set (required)
... name S1..1stringPrimary brand name to display on a card
... alias S0..*stringAliases (e.g., former names like "Partners Healthcare") for filtering/search
... telecom S1..1ContactPointThe primary public website for the Brand.
... address S0..*AddressLocations (e.g., zip codes and/or street addresses) associated with the Brand.
... partOf S0..1Reference(Organization)Affiliated "parent brand", if this Brand is part of a larger health system
... endpoint S0..*Reference(Patient Access Endpoint Profile) {b}Endpoint associated with this brand
.... reference S0..1stringRelative URL to an Endpoint within the Patient Access Brands Bundle

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Organization.type:pabrequiredPatientAccessCategoryValueSet (a valid code from Patient Access Category Code System)
NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C0..*OrganizationPatient Access Brand
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... brand S0..*(Complex)Brand Details
URL: http://hl7.org/fhir/StructureDefinition/organization-brand
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣC0..*IdentifierUnique identifier for the brand
... active ?!Σ0..1booleanWhether the organization's record is still in active use
... Slices for type SΣ0..*CodeableConceptKind of organization
Slice: Unordered, Open by value:$this
Binding: OrganizationType (example): Used to categorize the organization.


.... type:pab SΣ0..*CodeableConceptCategories of patient access offered
Binding: Patient Access Category Value Set (required)
... name SΣC1..1stringPrimary brand name to display on a card
... alias S0..*stringAliases (e.g., former names like "Partners Healthcare") for filtering/search
... telecom SC1..1ContactPointThe primary public website for the Brand.
... address SC0..*AddressLocations (e.g., zip codes and/or street addresses) associated with the Brand.
... partOf SΣ0..1Reference(Organization)Affiliated "parent brand", if this Brand is part of a larger health system
... endpoint S0..*Reference(Patient Access Endpoint Profile) {b}Endpoint associated with this brand
.... reference SΣC0..1stringRelative URL to an Endpoint within the Patient Access Brands Bundle

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Organization.typeexampleOrganizationType
Organization.type:pabrequiredPatientAccessCategoryValueSet (a valid code from Patient Access Category Code System)

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()
org-3errorOrganization.telecomThe telecom of an organization can never be of use 'home'
: where(use = 'home').empty()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C0..*OrganizationPatient Access Brand
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... brand S0..*(Complex)Brand Details
URL: http://hl7.org/fhir/StructureDefinition/organization-brand
... portal S0..*(Complex)Portal Details
URL: http://hl7.org/fhir/StructureDefinition/organization-portal
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣC0..*IdentifierUnique identifier for the brand
... active ?!Σ0..1booleanWhether the organization's record is still in active use
... Slices for type SΣ0..*CodeableConceptKind of organization
Slice: Unordered, Open by value:$this
Binding: OrganizationType (example): Used to categorize the organization.


.... type:pab SΣ0..*CodeableConceptCategories of patient access offered
Binding: Patient Access Category Value Set (required)
... name SΣC1..1stringPrimary brand name to display on a card
... alias S0..*stringAliases (e.g., former names like "Partners Healthcare") for filtering/search
... telecom SC1..1ContactPointThe primary public website for the Brand.
... address SC0..*AddressLocations (e.g., zip codes and/or street addresses) associated with the Brand.
... partOf SΣ0..1Reference(Organization)Affiliated "parent brand", if this Brand is part of a larger health system
... contact 0..*BackboneElementContact for the organization for a certain purpose
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... purpose 0..1CodeableConceptThe type of contact
Binding: ContactEntityType (extensible): The purpose for which you would contact a contact party.

.... name 0..1HumanNameA name associated with the contact
.... telecom 0..*ContactPointContact details (telephone, email, etc.) for a contact
.... address 0..1AddressVisiting or postal addresses for the contact
... endpoint S0..*Reference(Patient Access Endpoint Profile) {b}Endpoint associated with this brand
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC0..1stringRelative URL to an Endpoint within the Patient Access Brands Bundle
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Organization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Organization.typeexampleOrganizationType
Organization.type:pabrequiredPatientAccessCategoryValueSet (a valid code from Patient Access Category Code System)
Organization.contact.purposeextensibleContactEntityType
Organization.endpoint.typeextensibleResourceType

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()
org-3errorOrganization.telecomThe telecom of an organization can never be of use 'home'
: where(use = 'home').empty()

This structure is derived from Organization

Summary

Mandatory: 2 elements
Must-Support: 12 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Organization.type is sliced based on the value of value:$this

Differential View

This structure is derived from Organization

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization 0..*OrganizationPatient Access Brand
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... brand S0..*(Complex)Brand Details
URL: http://hl7.org/fhir/StructureDefinition/organization-brand
... portal S0..*(Complex)Portal Details
URL: http://hl7.org/fhir/StructureDefinition/organization-portal
... Slices for type S0..*CodeableConceptKind of organization
Slice: Unordered, Open by value:$this
.... type:pab S0..*CodeableConceptCategories of patient access offered
Binding: Patient Access Category Value Set (required)
... name S1..1stringPrimary brand name to display on a card
... alias S0..*stringAliases (e.g., former names like "Partners Healthcare") for filtering/search
... telecom S1..1ContactPointThe primary public website for the Brand.
... address S0..*AddressLocations (e.g., zip codes and/or street addresses) associated with the Brand.
... partOf S0..1Reference(Organization)Affiliated "parent brand", if this Brand is part of a larger health system
... endpoint S0..*Reference(Patient Access Endpoint Profile) {b}Endpoint associated with this brand
.... reference S0..1stringRelative URL to an Endpoint within the Patient Access Brands Bundle

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Organization.type:pabrequiredPatientAccessCategoryValueSet (a valid code from Patient Access Category Code System)

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C0..*OrganizationPatient Access Brand
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... brand S0..*(Complex)Brand Details
URL: http://hl7.org/fhir/StructureDefinition/organization-brand
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣC0..*IdentifierUnique identifier for the brand
... active ?!Σ0..1booleanWhether the organization's record is still in active use
... Slices for type SΣ0..*CodeableConceptKind of organization
Slice: Unordered, Open by value:$this
Binding: OrganizationType (example): Used to categorize the organization.


.... type:pab SΣ0..*CodeableConceptCategories of patient access offered
Binding: Patient Access Category Value Set (required)
... name SΣC1..1stringPrimary brand name to display on a card
... alias S0..*stringAliases (e.g., former names like "Partners Healthcare") for filtering/search
... telecom SC1..1ContactPointThe primary public website for the Brand.
... address SC0..*AddressLocations (e.g., zip codes and/or street addresses) associated with the Brand.
... partOf SΣ0..1Reference(Organization)Affiliated "parent brand", if this Brand is part of a larger health system
... endpoint S0..*Reference(Patient Access Endpoint Profile) {b}Endpoint associated with this brand
.... reference SΣC0..1stringRelative URL to an Endpoint within the Patient Access Brands Bundle

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Organization.typeexampleOrganizationType
Organization.type:pabrequiredPatientAccessCategoryValueSet (a valid code from Patient Access Category Code System)

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()
org-3errorOrganization.telecomThe telecom of an organization can never be of use 'home'
: where(use = 'home').empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C0..*OrganizationPatient Access Brand
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... brand S0..*(Complex)Brand Details
URL: http://hl7.org/fhir/StructureDefinition/organization-brand
... portal S0..*(Complex)Portal Details
URL: http://hl7.org/fhir/StructureDefinition/organization-portal
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣC0..*IdentifierUnique identifier for the brand
... active ?!Σ0..1booleanWhether the organization's record is still in active use
... Slices for type SΣ0..*CodeableConceptKind of organization
Slice: Unordered, Open by value:$this
Binding: OrganizationType (example): Used to categorize the organization.


.... type:pab SΣ0..*CodeableConceptCategories of patient access offered
Binding: Patient Access Category Value Set (required)
... name SΣC1..1stringPrimary brand name to display on a card
... alias S0..*stringAliases (e.g., former names like "Partners Healthcare") for filtering/search
... telecom SC1..1ContactPointThe primary public website for the Brand.
... address SC0..*AddressLocations (e.g., zip codes and/or street addresses) associated with the Brand.
... partOf SΣ0..1Reference(Organization)Affiliated "parent brand", if this Brand is part of a larger health system
... contact 0..*BackboneElementContact for the organization for a certain purpose
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... purpose 0..1CodeableConceptThe type of contact
Binding: ContactEntityType (extensible): The purpose for which you would contact a contact party.

.... name 0..1HumanNameA name associated with the contact
.... telecom 0..*ContactPointContact details (telephone, email, etc.) for a contact
.... address 0..1AddressVisiting or postal addresses for the contact
... endpoint S0..*Reference(Patient Access Endpoint Profile) {b}Endpoint associated with this brand
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC0..1stringRelative URL to an Endpoint within the Patient Access Brands Bundle
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Organization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Organization.typeexampleOrganizationType
Organization.type:pabrequiredPatientAccessCategoryValueSet (a valid code from Patient Access Category Code System)
Organization.contact.purposeextensibleContactEntityType
Organization.endpoint.typeextensibleResourceType

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()
org-3errorOrganization.telecomThe telecom of an organization can never be of use 'home'
: where(use = 'home').empty()

This structure is derived from Organization

Summary

Mandatory: 2 elements
Must-Support: 12 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Organization.type is sliced based on the value of value:$this

 

Other representations of profile: CSV, Excel, Schematron