SMART Permission Tickets
0.1.0 - ci-build

SMART Permission Tickets, published by . This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/jmandel/smart-permission-tickets-wip/ and changes regularly. See the Directory of published versions

Logical Model: PermissionTicket - Detailed Descriptions

Draft as of 2025-11-20

Definitions for the PermissionTicket logical model.

Guidance on how to interpret the contents of this table can be foundhere

0. PermissionTicket
Definition

The full payload of a Permission Ticket, including standard JWT claims and the custom permission object.

ShortPermission Ticket (JWT Payload)
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. PermissionTicket.iss
Definition

Issuer (Trust Broker URL)

ShortIssuer (Trust Broker URL)
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
4. PermissionTicket.sub
Definition

Subject (Client ID)

ShortSubject (Client ID)
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
6. PermissionTicket.aud
Definition

Audience (Network/Data Holder)

ShortAudience (Network/Data Holder)
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
8. PermissionTicket.exp
Definition

Expiration Timestamp

ShortExpiration Timestamp
Control0..1
Typeinteger
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
10. PermissionTicket.jti
Definition

Unique Ticket ID

ShortUnique Ticket ID
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
12. PermissionTicket.ticket-context
Definition

Permission Details

ShortPermission Details
Control1..1
TypeBackboneElement
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
14. PermissionTicket.ticket-context.id
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

ShortUnique id for inter-element referencing
Control0..1
Typestring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
16. PermissionTicket.ticket-context.extension
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on PermissionTicket.ticket_context.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 18. PermissionTicket.ticket-context.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    20. PermissionTicket.ticket-context.subject
    Definition

    The Patient or Subject of the data

    ShortThe Patient or Subject of the data
    Control1..1
    TypeBackboneElement
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    22. PermissionTicket.ticket-context.subject.id
    Definition

    Resource ID


    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

    ShortResource IDUnique id for inter-element referencing
    Control0..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    24. PermissionTicket.ticket-context.subject.extension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

    ShortAdditional content defined by implementations
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Alternate Namesextensions, user content
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    SlicingThis element introduces a set of slices on PermissionTicket.ticket_context.subject.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 26. PermissionTicket.ticket-context.subject.modifierExtension
      Definition

      May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

      ShortExtensions that cannot be ignored even if unrecognized
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
      Summarytrue
      Requirements

      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

      Alternate Namesextensions, user content, modifiers
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      28. PermissionTicket.ticket-context.subject.type
      Definition

      Type of subject match (e.g., 'match' or 'reference')

      ShortType of subject match (e.g., 'match' or 'reference')
      Control0..1
      Typecode
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      30. PermissionTicket.ticket-context.subject.traits
      Definition

      Demographic traits for matching

      ShortDemographic traits for matching
      Control0..1
      TypePatient
      32. PermissionTicket.ticket-context.subject.resourceType
      Definition

      Resource Type (e.g. Patient)

      ShortResource Type (e.g. Patient)
      Control0..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      34. PermissionTicket.ticket-context.subject.identifier
      Definition

      Business Identifier

      ShortBusiness Identifier
      NoteThis is a business identifier, not a resource identifier (see discussion)
      Control0..*
      TypeIdentifier
      36. PermissionTicket.ticket-context.actor
      Definition

      The Requesting Agent

      ShortThe Requesting Agent
      Control0..1
      TypeBackboneElement
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      38. PermissionTicket.ticket-context.actor.id
      Definition

      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

      ShortUnique id for inter-element referencing
      Control0..1
      Typestring
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      40. PermissionTicket.ticket-context.actor.extension
      Definition

      May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

      ShortAdditional content defined by implementations
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Alternate Namesextensions, user content
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      SlicingThis element introduces a set of slices on PermissionTicket.ticket_context.actor.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 42. PermissionTicket.ticket-context.actor.modifierExtension
        Definition

        May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

        Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

        ShortExtensions that cannot be ignored even if unrecognized
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TypeExtension
        Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
        Summarytrue
        Requirements

        Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

        Alternate Namesextensions, user content, modifiers
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        44. PermissionTicket.ticket-context.actor.resourceType
        Definition

        Type of actor (PractitionerRole, RelatedPerson, Organization)

        ShortType of actor (PractitionerRole, RelatedPerson, Organization)
        Control1..1
        Typestring
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        46. PermissionTicket.ticket-context.actor.name
        Definition

        Name of the actor

        ShortName of the actor
        Control0..*
        TypeHumanName
        48. PermissionTicket.ticket-context.actor.telecom
        Definition

        Contact details

        ShortContact details
        Control0..*
        TypeContactPoint
        50. PermissionTicket.ticket-context.actor.identifier
        Definition

        Actor identifiers (NPI, etc)

        ShortActor identifiers (NPI, etc)
        NoteThis is a business identifier, not a resource identifier (see discussion)
        Control0..*
        TypeIdentifier
        52. PermissionTicket.ticket-context.actor.relationship
        Definition

        Relationship to subject

        ShortRelationship to subject
        Control0..*
        TypeCodeableConcept
        54. PermissionTicket.ticket-context.actor.type
        Definition

        Organization type

        ShortOrganization type
        Control0..*
        TypeCodeableConcept
        56. PermissionTicket.ticket-context.actor.contained
        Definition

        Embedded resources

        ShortEmbedded resources
        Control0..*
        TypeResource
        58. PermissionTicket.ticket-context.context
        Definition

        The Trigger Event

        ShortThe Trigger Event
        Control0..1
        TypeBackboneElement
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        60. PermissionTicket.ticket-context.context.id
        Definition

        Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

        ShortUnique id for inter-element referencing
        Control0..1
        Typestring
        Is Modifierfalse
        XML FormatIn the XML format, this property is represented as an attribute.
        Summaryfalse
        62. PermissionTicket.ticket-context.context.extension
        Definition

        May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

        ShortAdditional content defined by implementations
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TypeExtension
        Is Modifierfalse
        Summaryfalse
        Alternate Namesextensions, user content
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        SlicingThis element introduces a set of slices on PermissionTicket.ticket_context.context.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 64. PermissionTicket.ticket-context.context.modifierExtension
          Definition

          May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

          Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

          ShortExtensions that cannot be ignored even if unrecognized
          Comments

          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

          Control0..*
          TypeExtension
          Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
          Summarytrue
          Requirements

          Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

          Alternate Namesextensions, user content, modifiers
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          66. PermissionTicket.ticket-context.context.type
          Definition

          Type of context (e.g. ActReason)

          ShortType of context (e.g. ActReason)
          Control1..1
          TypeCoding
          68. PermissionTicket.ticket-context.context.focus
          Definition

          Clinical Focus (e.g. Condition)

          ShortClinical Focus (e.g. Condition)
          Control0..1
          TypeCoding
          70. PermissionTicket.ticket-context.context.identifier
          Definition

          Issuer-specific identifiers (Case ID, etc)

          ShortIssuer-specific identifiers (Case ID, etc)
          NoteThis is a business identifier, not a resource identifier (see discussion)
          Control0..*
          TypeIdentifier
          72. PermissionTicket.ticket-context.capability
          Definition

          Access Capabilities

          ShortAccess Capabilities
          Control1..1
          TypeBackboneElement
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          74. PermissionTicket.ticket-context.capability.id
          Definition

          Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

          ShortUnique id for inter-element referencing
          Control0..1
          Typestring
          Is Modifierfalse
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          76. PermissionTicket.ticket-context.capability.extension
          Definition

          May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

          ShortAdditional content defined by implementations
          Comments

          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

          Control0..*
          TypeExtension
          Is Modifierfalse
          Summaryfalse
          Alternate Namesextensions, user content
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          SlicingThis element introduces a set of slices on PermissionTicket.ticket_context.capability.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 78. PermissionTicket.ticket-context.capability.modifierExtension
            Definition

            May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

            Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

            ShortExtensions that cannot be ignored even if unrecognized
            Comments

            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

            Control0..*
            TypeExtension
            Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
            Summarytrue
            Requirements

            Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

            Alternate Namesextensions, user content, modifiers
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            80. PermissionTicket.ticket-context.capability.scopes
            Definition

            SMART Scopes (e.g. patient/Immunization.read)

            ShortSMART Scopes (e.g. patient/Immunization.read)
            Control0..*
            Typestring
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            82. PermissionTicket.ticket-context.capability.periods
            Definition

            Time restrictions (Service Date)

            ShortTime restrictions (Service Date)
            Control0..*
            TypePeriod
            84. PermissionTicket.ticket-context.capability.locations
            Definition

            Allowed Locations (Jurisdictions)

            ShortAllowed Locations (Jurisdictions)
            Control0..*
            TypeAddress
            86. PermissionTicket.ticket-context.capability.organizations
            Definition

            Allowed Organizations

            ShortAllowed Organizations
            Control0..*
            TypeOrganization

            Guidance on how to interpret the contents of this table can be foundhere

            0. PermissionTicket
            Definition

            The full payload of a Permission Ticket, including standard JWT claims and the custom permission object.

            ShortPermission Ticket (JWT Payload)
            Logical ModelInstances of this logical model are not marked to be the target of a Reference
            2. PermissionTicket.iss
            Definition

            Issuer (Trust Broker URL)

            ShortIssuer (Trust Broker URL)
            Control1..1
            Typestring
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            4. PermissionTicket.sub
            Definition

            Subject (Client ID)

            ShortSubject (Client ID)
            Control1..1
            Typestring
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            6. PermissionTicket.aud
            Definition

            Audience (Network/Data Holder)

            ShortAudience (Network/Data Holder)
            Control1..1
            Typestring
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            8. PermissionTicket.exp
            Definition

            Expiration Timestamp

            ShortExpiration Timestamp
            Control0..1
            Typeinteger
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            10. PermissionTicket.jti
            Definition

            Unique Ticket ID

            ShortUnique Ticket ID
            Control0..1
            Typestring
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            12. PermissionTicket.ticket-context
            Definition

            Permission Details

            ShortPermission Details
            Control1..1
            TypeBackboneElement
            14. PermissionTicket.ticket-context.subject
            Definition

            The Patient or Subject of the data

            ShortThe Patient or Subject of the data
            Control1..1
            TypeBackboneElement
            16. PermissionTicket.ticket-context.subject.type
            Definition

            Type of subject match (e.g., 'match' or 'reference')

            ShortType of subject match (e.g., 'match' or 'reference')
            Control0..1
            Typecode
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            18. PermissionTicket.ticket-context.subject.traits
            Definition

            Demographic traits for matching

            ShortDemographic traits for matching
            Control0..1
            TypePatient
            20. PermissionTicket.ticket-context.subject.resourceType
            Definition

            Resource Type (e.g. Patient)

            ShortResource Type (e.g. Patient)
            Control0..1
            Typestring
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            22. PermissionTicket.ticket-context.subject.id
            Definition

            Resource ID

            ShortResource ID
            Control0..1
            Typestring
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            24. PermissionTicket.ticket-context.subject.identifier
            Definition

            Business Identifier

            ShortBusiness Identifier
            NoteThis is a business identifier, not a resource identifier (see discussion)
            Control0..*
            TypeIdentifier
            26. PermissionTicket.ticket-context.actor
            Definition

            The Requesting Agent

            ShortThe Requesting Agent
            Control0..1
            TypeBackboneElement
            28. PermissionTicket.ticket-context.actor.resourceType
            Definition

            Type of actor (PractitionerRole, RelatedPerson, Organization)

            ShortType of actor (PractitionerRole, RelatedPerson, Organization)
            Control1..1
            Typestring
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            30. PermissionTicket.ticket-context.actor.name
            Definition

            Name of the actor

            ShortName of the actor
            Control0..*
            TypeHumanName
            32. PermissionTicket.ticket-context.actor.telecom
            Definition

            Contact details

            ShortContact details
            Control0..*
            TypeContactPoint
            34. PermissionTicket.ticket-context.actor.identifier
            Definition

            Actor identifiers (NPI, etc)

            ShortActor identifiers (NPI, etc)
            NoteThis is a business identifier, not a resource identifier (see discussion)
            Control0..*
            TypeIdentifier
            36. PermissionTicket.ticket-context.actor.relationship
            Definition

            Relationship to subject

            ShortRelationship to subject
            Control0..*
            TypeCodeableConcept
            38. PermissionTicket.ticket-context.actor.type
            Definition

            Organization type

            ShortOrganization type
            Control0..*
            TypeCodeableConcept
            40. PermissionTicket.ticket-context.actor.contained
            Definition

            Embedded resources

            ShortEmbedded resources
            Control0..*
            TypeResource
            42. PermissionTicket.ticket-context.context
            Definition

            The Trigger Event

            ShortThe Trigger Event
            Control0..1
            TypeBackboneElement
            44. PermissionTicket.ticket-context.context.type
            Definition

            Type of context (e.g. ActReason)

            ShortType of context (e.g. ActReason)
            Control1..1
            TypeCoding
            46. PermissionTicket.ticket-context.context.focus
            Definition

            Clinical Focus (e.g. Condition)

            ShortClinical Focus (e.g. Condition)
            Control0..1
            TypeCoding
            48. PermissionTicket.ticket-context.context.identifier
            Definition

            Issuer-specific identifiers (Case ID, etc)

            ShortIssuer-specific identifiers (Case ID, etc)
            NoteThis is a business identifier, not a resource identifier (see discussion)
            Control0..*
            TypeIdentifier
            50. PermissionTicket.ticket-context.capability
            Definition

            Access Capabilities

            ShortAccess Capabilities
            Control1..1
            TypeBackboneElement
            52. PermissionTicket.ticket-context.capability.scopes
            Definition

            SMART Scopes (e.g. patient/Immunization.read)

            ShortSMART Scopes (e.g. patient/Immunization.read)
            Control0..*
            Typestring
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            54. PermissionTicket.ticket-context.capability.periods
            Definition

            Time restrictions (Service Date)

            ShortTime restrictions (Service Date)
            Control0..*
            TypePeriod
            56. PermissionTicket.ticket-context.capability.locations
            Definition

            Allowed Locations (Jurisdictions)

            ShortAllowed Locations (Jurisdictions)
            Control0..*
            TypeAddress
            58. PermissionTicket.ticket-context.capability.organizations
            Definition

            Allowed Organizations

            ShortAllowed Organizations
            Control0..*
            TypeOrganization

            Guidance on how to interpret the contents of this table can be foundhere

            0. PermissionTicket
            Definition

            The full payload of a Permission Ticket, including standard JWT claims and the custom permission object.

            ShortPermission Ticket (JWT Payload)
            Control0..*
            Is Modifierfalse
            Logical ModelInstances of this logical model are not marked to be the target of a Reference
            2. PermissionTicket.iss
            Definition

            Issuer (Trust Broker URL)

            ShortIssuer (Trust Broker URL)
            Control1..1
            Typestring
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            4. PermissionTicket.sub
            Definition

            Subject (Client ID)

            ShortSubject (Client ID)
            Control1..1
            Typestring
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            6. PermissionTicket.aud
            Definition

            Audience (Network/Data Holder)

            ShortAudience (Network/Data Holder)
            Control1..1
            Typestring
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            8. PermissionTicket.exp
            Definition

            Expiration Timestamp

            ShortExpiration Timestamp
            Control0..1
            Typeinteger
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            10. PermissionTicket.jti
            Definition

            Unique Ticket ID

            ShortUnique Ticket ID
            Control0..1
            Typestring
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            12. PermissionTicket.ticket-context
            Definition

            Permission Details

            ShortPermission Details
            Control1..1
            TypeBackboneElement
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            14. PermissionTicket.ticket-context.id
            Definition

            Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

            ShortUnique id for inter-element referencing
            Control0..1
            Typestring
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            16. PermissionTicket.ticket-context.extension
            Definition

            May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

            ShortAdditional content defined by implementations
            Comments

            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

            Control0..*
            TypeExtension
            Is Modifierfalse
            Summaryfalse
            Alternate Namesextensions, user content
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            SlicingThis element introduces a set of slices on PermissionTicket.ticket_context.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 18. PermissionTicket.ticket-context.modifierExtension
              Definition

              May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

              Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

              ShortExtensions that cannot be ignored even if unrecognized
              Comments

              There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

              Control0..*
              TypeExtension
              Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
              Summarytrue
              Requirements

              Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

              Alternate Namesextensions, user content, modifiers
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
              20. PermissionTicket.ticket-context.subject
              Definition

              The Patient or Subject of the data

              ShortThe Patient or Subject of the data
              Control1..1
              TypeBackboneElement
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              22. PermissionTicket.ticket-context.subject.id
              Definition

              Resource ID

              ShortResource ID
              Control0..1
              Typestring
              Is Modifierfalse
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              XML FormatIn the XML format, this property is represented as an attribute.
              Summaryfalse
              24. PermissionTicket.ticket-context.subject.extension
              Definition

              May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

              ShortAdditional content defined by implementations
              Comments

              There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

              Control0..*
              TypeExtension
              Is Modifierfalse
              Summaryfalse
              Alternate Namesextensions, user content
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
              SlicingThis element introduces a set of slices on PermissionTicket.ticket_context.subject.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
              • value @ url
              • 26. PermissionTicket.ticket-context.subject.modifierExtension
                Definition

                May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                ShortExtensions that cannot be ignored even if unrecognized
                Comments

                There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                Control0..*
                TypeExtension
                Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                Summarytrue
                Requirements

                Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                Alternate Namesextensions, user content, modifiers
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                28. PermissionTicket.ticket-context.subject.type
                Definition

                Type of subject match (e.g., 'match' or 'reference')

                ShortType of subject match (e.g., 'match' or 'reference')
                Control0..1
                Typecode
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                30. PermissionTicket.ticket-context.subject.traits
                Definition

                Demographic traits for matching

                ShortDemographic traits for matching
                Control0..1
                TypePatient
                32. PermissionTicket.ticket-context.subject.resourceType
                Definition

                Resource Type (e.g. Patient)

                ShortResource Type (e.g. Patient)
                Control0..1
                Typestring
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                34. PermissionTicket.ticket-context.subject.identifier
                Definition

                Business Identifier

                ShortBusiness Identifier
                NoteThis is a business identifier, not a resource identifier (see discussion)
                Control0..*
                TypeIdentifier
                36. PermissionTicket.ticket-context.actor
                Definition

                The Requesting Agent

                ShortThe Requesting Agent
                Control0..1
                TypeBackboneElement
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                38. PermissionTicket.ticket-context.actor.id
                Definition

                Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                ShortUnique id for inter-element referencing
                Control0..1
                Typestring
                Is Modifierfalse
                XML FormatIn the XML format, this property is represented as an attribute.
                Summaryfalse
                40. PermissionTicket.ticket-context.actor.extension
                Definition

                May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                ShortAdditional content defined by implementations
                Comments

                There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                Control0..*
                TypeExtension
                Is Modifierfalse
                Summaryfalse
                Alternate Namesextensions, user content
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                SlicingThis element introduces a set of slices on PermissionTicket.ticket_context.actor.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                • value @ url
                • 42. PermissionTicket.ticket-context.actor.modifierExtension
                  Definition

                  May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                  Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                  ShortExtensions that cannot be ignored even if unrecognized
                  Comments

                  There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                  Control0..*
                  TypeExtension
                  Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                  Summarytrue
                  Requirements

                  Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                  Alternate Namesextensions, user content, modifiers
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  44. PermissionTicket.ticket-context.actor.resourceType
                  Definition

                  Type of actor (PractitionerRole, RelatedPerson, Organization)

                  ShortType of actor (PractitionerRole, RelatedPerson, Organization)
                  Control1..1
                  Typestring
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  46. PermissionTicket.ticket-context.actor.name
                  Definition

                  Name of the actor

                  ShortName of the actor
                  Control0..*
                  TypeHumanName
                  48. PermissionTicket.ticket-context.actor.telecom
                  Definition

                  Contact details

                  ShortContact details
                  Control0..*
                  TypeContactPoint
                  50. PermissionTicket.ticket-context.actor.identifier
                  Definition

                  Actor identifiers (NPI, etc)

                  ShortActor identifiers (NPI, etc)
                  NoteThis is a business identifier, not a resource identifier (see discussion)
                  Control0..*
                  TypeIdentifier
                  52. PermissionTicket.ticket-context.actor.relationship
                  Definition

                  Relationship to subject

                  ShortRelationship to subject
                  Control0..*
                  TypeCodeableConcept
                  54. PermissionTicket.ticket-context.actor.type
                  Definition

                  Organization type

                  ShortOrganization type
                  Control0..*
                  TypeCodeableConcept
                  56. PermissionTicket.ticket-context.actor.contained
                  Definition

                  Embedded resources

                  ShortEmbedded resources
                  Control0..*
                  TypeResource
                  58. PermissionTicket.ticket-context.context
                  Definition

                  The Trigger Event

                  ShortThe Trigger Event
                  Control0..1
                  TypeBackboneElement
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  60. PermissionTicket.ticket-context.context.id
                  Definition

                  Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                  ShortUnique id for inter-element referencing
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  XML FormatIn the XML format, this property is represented as an attribute.
                  Summaryfalse
                  62. PermissionTicket.ticket-context.context.extension
                  Definition

                  May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                  ShortAdditional content defined by implementations
                  Comments

                  There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                  Control0..*
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  Alternate Namesextensions, user content
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  SlicingThis element introduces a set of slices on PermissionTicket.ticket_context.context.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • value @ url
                  • 64. PermissionTicket.ticket-context.context.modifierExtension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                    ShortExtensions that cannot be ignored even if unrecognized
                    Comments

                    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                    Control0..*
                    TypeExtension
                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                    Summarytrue
                    Requirements

                    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                    Alternate Namesextensions, user content, modifiers
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    66. PermissionTicket.ticket-context.context.type
                    Definition

                    Type of context (e.g. ActReason)

                    ShortType of context (e.g. ActReason)
                    Control1..1
                    TypeCoding
                    68. PermissionTicket.ticket-context.context.focus
                    Definition

                    Clinical Focus (e.g. Condition)

                    ShortClinical Focus (e.g. Condition)
                    Control0..1
                    TypeCoding
                    70. PermissionTicket.ticket-context.context.identifier
                    Definition

                    Issuer-specific identifiers (Case ID, etc)

                    ShortIssuer-specific identifiers (Case ID, etc)
                    NoteThis is a business identifier, not a resource identifier (see discussion)
                    Control0..*
                    TypeIdentifier
                    72. PermissionTicket.ticket-context.capability
                    Definition

                    Access Capabilities

                    ShortAccess Capabilities
                    Control1..1
                    TypeBackboneElement
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    74. PermissionTicket.ticket-context.capability.id
                    Definition

                    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                    ShortUnique id for inter-element referencing
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    76. PermissionTicket.ticket-context.capability.extension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                    ShortAdditional content defined by implementations
                    Comments

                    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                    Control0..*
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Alternate Namesextensions, user content
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    SlicingThis element introduces a set of slices on PermissionTicket.ticket_context.capability.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                    • value @ url
                    • 78. PermissionTicket.ticket-context.capability.modifierExtension
                      Definition

                      May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                      ShortExtensions that cannot be ignored even if unrecognized
                      Comments

                      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                      Control0..*
                      TypeExtension
                      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                      Summarytrue
                      Requirements

                      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                      Alternate Namesextensions, user content, modifiers
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      80. PermissionTicket.ticket-context.capability.scopes
                      Definition

                      SMART Scopes (e.g. patient/Immunization.read)

                      ShortSMART Scopes (e.g. patient/Immunization.read)
                      Control0..*
                      Typestring
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      82. PermissionTicket.ticket-context.capability.periods
                      Definition

                      Time restrictions (Service Date)

                      ShortTime restrictions (Service Date)
                      Control0..*
                      TypePeriod
                      84. PermissionTicket.ticket-context.capability.locations
                      Definition

                      Allowed Locations (Jurisdictions)

                      ShortAllowed Locations (Jurisdictions)
                      Control0..*
                      TypeAddress
                      86. PermissionTicket.ticket-context.capability.organizations
                      Definition

                      Allowed Organizations

                      ShortAllowed Organizations
                      Control0..*
                      TypeOrganization