Da Vinci Health Record Exchange (HRex)
1.0.0 - STU R1 US

This page is part of the Da Vinci Health Record Exchange (v1.0.0: STU1) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: HRex Consent Profile

Official URL: http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-consent Version: 1.0.0
Standards status: Draft Maturity Level: 0 Computable Name: HRexConsent

The HRex Consent Profile defines the constraints for representing a member’s to the sharing of their healthcare information to other organizations.

Consent allows sharing the fact that a patient has authorized the sharing of data between two participants. Sharing the existence of consent is often a pre-requisite to being able to share information. This profile is leveraged by the $member-match operation, but can also be used by Da Vinci implementation guides in other ways.

Formal Views of Profile Content

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

This structure is derived from Consent

Summary

Mandatory: 13 elements
Must-Support: 19 elements
Fixed Value: 2 elements
Prohibited: 7 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Consent.category is sliced based on the value of pattern:$this
  • The element Consent.policy is sliced based on the value of value:uri
  • The element Consent.provision.actor is sliced based on the value of pattern:role

Maturity: 0

This structure is derived from Consent

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent 0..*ConsentA healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... status S1..1codedraft | proposed | active | rejected | inactive | entered-in-error
Fixed Value: active
... scope S1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: patient-privacy
... Slices for category 1..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Slice: Unordered, Open by pattern:$this
.... category:disclosure S0..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: IDSCL
... performer S1..1Reference(US Core Patient Profile | RelatedPerson | US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile)Who is agreeing to the policy and rules
... source[x] S1..1Reference(DocumentReference)Source from which this consent is taken
... Slices for policy 0..*BackboneElementPolicies covered by this consent
Slice: Unordered, Open by value:uri
.... policy:hrex S1..*BackboneElementPolicies covered by this consent
..... uri:hrex S1..1uriSpecific policy covered by this consent
Binding: HRex Consent Policy ValueSet (required)
... provision S1..1BackboneElementConstraints to the base Consent.policyRule
.... type S1..1codedeny | permit
Fixed Value: permit
.... period S1..1PeriodTimeframe for this rule
..... start S1..1dateTimeStarting time with inclusive boundary
..... end S1..1dateTimeEnd time with inclusive boundary, if not ongoing
.... Slices for actor 0..*BackboneElementWho|what controlled by this rule (or group, by role)
Slice: Unordered, Open by pattern:role
..... actor:source S1..*BackboneElementAuthorized to disclose
...... role S1..1CodeableConceptHow the actor is involved
Required Pattern: At least the following
....... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
........ system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
........ code1..1codeSymbol in syntax defined by the system
Fixed Value: performer
...... reference S1..1Reference(HRex Organization Profile)Resource for the actor (or group, by role)
..... actor:recipient S1..*BackboneElementAuthorized to receive information
...... role S1..1CodeableConceptHow the actor is involved
Required Pattern: At least the following
....... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
........ system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
........ code1..1codeSymbol in syntax defined by the system
Fixed Value: IRCP
...... reference S1..1Reference(HRex Organization Profile)Resource for the actor (or group, by role)
.... action 1..1CodeableConceptActions controlled by this rule
Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentaction
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: disclose
.... securityLabel 0..0
.... purpose 0..0
.... class 0..0
.... code 0..0
.... dataPeriod 0..0
.... data 0..0
.... provision 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent I0..*ConsentA healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... id Σ0..1stringLogical 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
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierIdentifier for this record (external references)

Example General: {"system":"urn:ietf:rfc:3986","value":"Local eCMS identifier"}
... status ?!SΣ1..1codedraft | proposed | active | rejected | inactive | entered-in-error
Binding: ConsentState (required): Indicates the state of the consent.


Fixed Value: active
... scope ?!SΣ1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.


Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: patient-privacy
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... Slices for category Σ1..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Slice: Unordered, Open by pattern:$this
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.


.... category:disclosure SΣ0..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.



Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: IDSCL
...... display0..1stringRepresentation defined by the system
...... userSelected0..1booleanIf this coding was chosen directly by the user
..... text0..1stringPlain text representation of the concept
... patient SΣ1..1Reference(US Core Patient Profile)Who the consent applies to
... dateTime Σ0..1dateTimeWhen this Consent was created or indexed
... performer SΣ1..1Reference(US Core Patient Profile | RelatedPerson | US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile)Who is agreeing to the policy and rules
... organization Σ0..*Reference(Organization)Custodian of the consent
... source[x] SΣ1..1Reference(DocumentReference)Source from which this consent is taken
... Slices for policy 0..*BackboneElementPolicies covered by this consent
Slice: Unordered, Open by value:uri
.... policy:All Slices Content/Rules for all slices
..... 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
..... authority I0..1uriEnforcement source for policy
..... uri I0..1uriSpecific policy covered by this consent
.... policy:hrex S1..*BackboneElementPolicies covered by this consent
..... 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
..... authority I0..1uriEnforcement source for policy
..... uri:hrex SI1..1uriSpecific policy covered by this consent
Binding: HRex Consent Policy ValueSet (required)
... policyRule ΣI0..1CodeableConceptRegulation that this consents to
Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples.

... verification Σ0..*BackboneElementConsent Verified by patient or family
.... 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
.... verified Σ1..1booleanHas been verified
.... verifiedWith 0..1Reference(Patient | RelatedPerson)Person who verified
.... verificationDate 0..1dateTimeWhen consent verified
... provision SΣ1..1BackboneElementConstraints to the base Consent.policyRule
.... 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
.... type SΣ1..1codedeny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.


Fixed Value: permit
.... period SΣ1..1PeriodTimeframe for this rule
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... start SΣI1..1dateTimeStarting time with inclusive boundary
..... end SΣI1..1dateTimeEnd time with inclusive boundary, if not ongoing
.... Slices for actor 0..*BackboneElementWho|what controlled by this rule (or group, by role)
Slice: Unordered, Open by pattern:role
..... actor:All Slices Content/Rules for all slices
...... 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
...... role 1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.

...... reference 1..1Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole)Resource for the actor (or group, by role)
..... actor:source S1..*BackboneElementAuthorized to disclose
...... 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
...... role S1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
........ id0..1stringUnique id for inter-element referencing
........ extension0..*ExtensionAdditional content defined by implementations
........ system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
........ version0..1stringVersion of the system - if relevant
........ code1..1codeSymbol in syntax defined by the system
Fixed Value: performer
........ display0..1stringRepresentation defined by the system
........ userSelected0..1booleanIf this coding was chosen directly by the user
....... text0..1stringPlain text representation of the concept
...... reference S1..1Reference(HRex Organization Profile)Resource for the actor (or group, by role)
..... actor:recipient S1..*BackboneElementAuthorized to receive information
...... 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
...... role S1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
........ id0..1stringUnique id for inter-element referencing
........ extension0..*ExtensionAdditional content defined by implementations
........ system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
........ version0..1stringVersion of the system - if relevant
........ code1..1codeSymbol in syntax defined by the system
Fixed Value: IRCP
........ display0..1stringRepresentation defined by the system
........ userSelected0..1booleanIf this coding was chosen directly by the user
....... text0..1stringPlain text representation of the concept
...... reference S1..1Reference(HRex Organization Profile)Resource for the actor (or group, by role)
.... action Σ1..1CodeableConceptActions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.



Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentaction
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: disclose
...... display0..1stringRepresentation defined by the system
...... userSelected0..1booleanIf this coding was chosen directly by the user
..... text0..1stringPlain text representation of the concept

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent I0..*ConsentA healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... status ?!Σ1..1codedraft | proposed | active | rejected | inactive | entered-in-error
Binding: ConsentState (required): Indicates the state of the consent.


Fixed Value: active
... scope ?!Σ1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.


Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: patient-privacy
... category:disclosure Σ0..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.



Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: IDSCL
... performer Σ1..1Reference(US Core Patient Profile | RelatedPerson | US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile)Who is agreeing to the policy and rules
... source[x] Σ1..1Reference(DocumentReference)Source from which this consent is taken
... policy:hrex 1..*BackboneElementPolicies covered by this consent
.... uri:hrex I1..1uriSpecific policy covered by this consent
Binding: HRex Consent Policy ValueSet (required)
... provision Σ1..1BackboneElementConstraints to the base Consent.policyRule
.... type Σ1..1codedeny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.


Fixed Value: permit
.... period Σ1..1PeriodTimeframe for this rule
..... start ΣI1..1dateTimeStarting time with inclusive boundary
..... end ΣI1..1dateTimeEnd time with inclusive boundary, if not ongoing
.... actor:source 1..*BackboneElementAuthorized to disclose
..... role 1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: performer
..... reference 1..1Reference(HRex Organization Profile)Resource for the actor (or group, by role)
.... actor:recipient 1..*BackboneElementAuthorized to receive information
..... role 1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: IRCP
..... reference 1..1Reference(HRex Organization Profile)Resource for the actor (or group, by role)

doco Documentation for this format

This structure is derived from Consent

Summary

Mandatory: 13 elements
Must-Support: 19 elements
Fixed Value: 2 elements
Prohibited: 7 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Consent.category is sliced based on the value of pattern:$this
  • The element Consent.policy is sliced based on the value of value:uri
  • The element Consent.provision.actor is sliced based on the value of pattern:role

Maturity: 0

Differential View

This structure is derived from Consent

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent 0..*ConsentA healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... status S1..1codedraft | proposed | active | rejected | inactive | entered-in-error
Fixed Value: active
... scope S1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: patient-privacy
... Slices for category 1..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Slice: Unordered, Open by pattern:$this
.... category:disclosure S0..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: IDSCL
... performer S1..1Reference(US Core Patient Profile | RelatedPerson | US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile)Who is agreeing to the policy and rules
... source[x] S1..1Reference(DocumentReference)Source from which this consent is taken
... Slices for policy 0..*BackboneElementPolicies covered by this consent
Slice: Unordered, Open by value:uri
.... policy:hrex S1..*BackboneElementPolicies covered by this consent
..... uri:hrex S1..1uriSpecific policy covered by this consent
Binding: HRex Consent Policy ValueSet (required)
... provision S1..1BackboneElementConstraints to the base Consent.policyRule
.... type S1..1codedeny | permit
Fixed Value: permit
.... period S1..1PeriodTimeframe for this rule
..... start S1..1dateTimeStarting time with inclusive boundary
..... end S1..1dateTimeEnd time with inclusive boundary, if not ongoing
.... Slices for actor 0..*BackboneElementWho|what controlled by this rule (or group, by role)
Slice: Unordered, Open by pattern:role
..... actor:source S1..*BackboneElementAuthorized to disclose
...... role S1..1CodeableConceptHow the actor is involved
Required Pattern: At least the following
....... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
........ system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
........ code1..1codeSymbol in syntax defined by the system
Fixed Value: performer
...... reference S1..1Reference(HRex Organization Profile)Resource for the actor (or group, by role)
..... actor:recipient S1..*BackboneElementAuthorized to receive information
...... role S1..1CodeableConceptHow the actor is involved
Required Pattern: At least the following
....... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
........ system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
........ code1..1codeSymbol in syntax defined by the system
Fixed Value: IRCP
...... reference S1..1Reference(HRex Organization Profile)Resource for the actor (or group, by role)
.... action 1..1CodeableConceptActions controlled by this rule
Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentaction
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: disclose
.... securityLabel 0..0
.... purpose 0..0
.... class 0..0
.... code 0..0
.... dataPeriod 0..0
.... data 0..0
.... provision 0..0

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Consent I0..*ConsentA healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
... id Σ0..1stringLogical 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
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierIdentifier for this record (external references)

Example General: {"system":"urn:ietf:rfc:3986","value":"Local eCMS identifier"}
... status ?!SΣ1..1codedraft | proposed | active | rejected | inactive | entered-in-error
Binding: ConsentState (required): Indicates the state of the consent.


Fixed Value: active
... scope ?!SΣ1..1CodeableConceptWhich of the four areas this resource covers (extensible)
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.


Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: patient-privacy
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... Slices for category Σ1..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Slice: Unordered, Open by pattern:$this
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.


.... category:disclosure SΣ0..*CodeableConceptClassification of the consent statement - for indexing/retrieval
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.



Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ActCode
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: IDSCL
...... display0..1stringRepresentation defined by the system
...... userSelected0..1booleanIf this coding was chosen directly by the user
..... text0..1stringPlain text representation of the concept
... patient SΣ1..1Reference(US Core Patient Profile)Who the consent applies to
... dateTime Σ0..1dateTimeWhen this Consent was created or indexed
... performer SΣ1..1Reference(US Core Patient Profile | RelatedPerson | US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile)Who is agreeing to the policy and rules
... organization Σ0..*Reference(Organization)Custodian of the consent
... source[x] SΣ1..1Reference(DocumentReference)Source from which this consent is taken
... Slices for policy 0..*BackboneElementPolicies covered by this consent
Slice: Unordered, Open by value:uri
.... policy:All Slices Content/Rules for all slices
..... 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
..... authority I0..1uriEnforcement source for policy
..... uri I0..1uriSpecific policy covered by this consent
.... policy:hrex S1..*BackboneElementPolicies covered by this consent
..... 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
..... authority I0..1uriEnforcement source for policy
..... uri:hrex SI1..1uriSpecific policy covered by this consent
Binding: HRex Consent Policy ValueSet (required)
... policyRule ΣI0..1CodeableConceptRegulation that this consents to
Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples.

... verification Σ0..*BackboneElementConsent Verified by patient or family
.... 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
.... verified Σ1..1booleanHas been verified
.... verifiedWith 0..1Reference(Patient | RelatedPerson)Person who verified
.... verificationDate 0..1dateTimeWhen consent verified
... provision SΣ1..1BackboneElementConstraints to the base Consent.policyRule
.... 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
.... type SΣ1..1codedeny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.


Fixed Value: permit
.... period SΣ1..1PeriodTimeframe for this rule
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... start SΣI1..1dateTimeStarting time with inclusive boundary
..... end SΣI1..1dateTimeEnd time with inclusive boundary, if not ongoing
.... Slices for actor 0..*BackboneElementWho|what controlled by this rule (or group, by role)
Slice: Unordered, Open by pattern:role
..... actor:All Slices Content/Rules for all slices
...... 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
...... role 1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.

...... reference 1..1Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole)Resource for the actor (or group, by role)
..... actor:source S1..*BackboneElementAuthorized to disclose
...... 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
...... role S1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
........ id0..1stringUnique id for inter-element referencing
........ extension0..*ExtensionAdditional content defined by implementations
........ system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
........ version0..1stringVersion of the system - if relevant
........ code1..1codeSymbol in syntax defined by the system
Fixed Value: performer
........ display0..1stringRepresentation defined by the system
........ userSelected0..1booleanIf this coding was chosen directly by the user
....... text0..1stringPlain text representation of the concept
...... reference S1..1Reference(HRex Organization Profile)Resource for the actor (or group, by role)
..... actor:recipient S1..*BackboneElementAuthorized to receive information
...... 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
...... role S1..1CodeableConceptHow the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.


Required Pattern: At least the following
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
........ id0..1stringUnique id for inter-element referencing
........ extension0..*ExtensionAdditional content defined by implementations
........ system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
........ version0..1stringVersion of the system - if relevant
........ code1..1codeSymbol in syntax defined by the system
Fixed Value: IRCP
........ display0..1stringRepresentation defined by the system
........ userSelected0..1booleanIf this coding was chosen directly by the user
....... text0..1stringPlain text representation of the concept
...... reference S1..1Reference(HRex Organization Profile)Resource for the actor (or group, by role)
.... action Σ1..1CodeableConceptActions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.



Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentaction
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: disclose
...... display0..1stringRepresentation defined by the system
...... userSelected0..1booleanIf this coding was chosen directly by the user
..... text0..1stringPlain text representation of the concept

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
Consent.languagepreferredCommonLanguages
Max Binding: AllLanguages
Consent.statusrequiredFixed Value: active
Consent.scopeextensiblePattern: patient-privacy
Consent.categoryextensibleConsentCategoryCodes
Consent.category:disclosureextensiblePattern: IDSCL
Consent.policy:hrex.uri:hrexrequiredHRexConsentPolicy
Consent.policyRuleextensibleConsentPolicyRuleCodes
Consent.provision.typerequiredFixed Value: permit
Consent.provision.actor.roleextensibleSecurityRoleType
Consent.provision.actor:source.roleextensiblePattern: performer
Consent.provision.actor:recipient.roleextensiblePattern: IRCP
Consent.provision.actionexamplePattern: disclose
Consent.provision.data.meaningrequiredConsentDataMeaning

Constraints

IdGradePathDetailsRequirements
dom-2errorConsentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConsentIf 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-4errorConsentIf 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-5errorConsentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeConsentA resource should have narrative for robust management
: text.`div`.exists()
ppc-1errorConsentEither a Policy or PolicyRule
: policy.exists() or policyRule.exists()
ppc-2errorConsentIF Scope=privacy, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3errorConsentIF Scope=research, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4errorConsentIF Scope=adr, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5errorConsentIF Scope=treatment, there must be a patient
: patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()
ele-1errorConsent.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.scopeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.category:disclosureAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.patientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.dateTimeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.organizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.source[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.policyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.policy.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.policy.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.policy.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.policy.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.policy.authorityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.policy.uriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.policy:hrexAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.policy:hrex.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.policy:hrex.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.policy:hrex.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.policy:hrex.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.policy:hrex.authorityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.policy:hrex.uri:hrexAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.policyRuleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.verificationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.verification.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.verification.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.verification.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.verification.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.verification.verifiedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.verification.verifiedWithAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.verification.verificationDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provisionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.period.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.period.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.period.startAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.period.endAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actor.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.actor.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.actor.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.actor.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.actor.roleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actor.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actor:sourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actor:source.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.actor:source.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.actor:source.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.actor:source.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.actor:source.roleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actor:source.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actor:recipientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actor:recipient.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.actor:recipient.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.actor:recipient.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.actor:recipient.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.actor:recipient.roleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actor:recipient.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.actionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.data.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.data.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.data.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorConsent.provision.data.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorConsent.provision.data.meaningAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorConsent.provision.data.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

Notes:

HRex recognizes two consent policies:

  • http://hl7.org/fhir/us/davinci-hrex/StructureDefinition-hrex-consent.html#regular - Access is granted to all patient information that is not considered to be ‘sensitive’ according to U.S. state or federal regulation.
  • http://hl7.org/fhir/us/davinci-hrex/StructureDefinition-hrex-consent.html#sensitive - Access is granted to all patient information, including that considered to be ‘sensitive’ according to U.S. state or federal regulation.

Systems are not required to support both types of consent, but if using consent, are expected to recognize and use at least one of the two.

Consent.patient and Consent.performer are captured separately to track who actually provides the consent. Typically both will be the same, but in some cases, consent might be issued by a relative, an institution or even a provider.

Both the ‘performer’ and ‘recipient’ actors for disclosure repeat. The performer SHALL include the target payer for the $member-match and the recipient SHALL include the initiator of the $member-match. However, additional performers and recipients might be listed, including a ‘mutual’ consent where initiator and target payer are both listed as performers and recipients, thus authorizing each to share information with the other.