National Directory of Healthcare Providers & Services (NDH) Implementation Guide, published by HL7 International / Patient Administration. This guide is not an authorized publication; it is the continuous build for version 2.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-us-ndh/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Restriction | Version: 2.0.0 | |||
Standards status: Trial-use | Computable Name: NdhRestriction | |||
Copyright/Legal: HL7 International |
his profile sets minimum expectations for searching for and fetching information associated with a restriction. It identifies which elements, extensions, vocabularies and value sets SHALL be restricted in the Consent resource when using this profile.
The FHIR specification contains a security meta tag which can be used to inform systems of the sensitivity of resources. The tag can be used by access control mechanisms to ensure content isn’t exposed inappropriately. However, the security meta tag can only indicate sensitivity at the resource level, and provides relatively little context about the restriction.
We anticipate that the operational policies and legal agreements of NDH will offer clarity regarding the data stakeholders can access. These policies, if needed, will mandate stakeholders to preserve the privacy and confidentiality of any sensitive data within local downstream environments. In order to ensure this, we have integrated this 'Restriction' profile, which is based on the 'Consent' resource. The purpose of this profile is to communicate any limitations associated with an entire specific resource instance, or certain elements of a specific resource instance for the purpose of resource instance collection or acquisition. A resource instance that contains restricted elements will always have the relevant restriction resource(s) as contained resources. However, restriction resource(s) can be queried independently of a resource instance. For instance:
The entirety of a particular women's shelter HealthcareService resource instance can be restricted. See the example below: HealthcareService/HealthcareServiceWomenShelterAll
The location and phone number of a specific women's shelter HealthcareService resource instance can be restricted. See the example below: HealthcareService/HealthcareServiceWomenShelter
Usages:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Consent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5 |
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
0..* | Expression | NDH usage restriction fhir path URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-restrictFhirPath | |
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() ![]() |
?!SΣ | 1..1 | code | Indicates the current state of this restriction Binding: ConsentState (required): Indicates the state of the consent. |
![]() ![]() ![]() |
?!SΣ | 1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) Binding: NDH Consent Scope Value Set (extensible) |
![]() ![]() ![]() |
SΣ | 1..* | CodeableConcept | describes the type of restriction (e.g. the data may be further disclosed by the downstream workflow environment
per the terms of a Data Use Agreement) Binding: NDH Consent Category Value Set (extensible) |
![]() ![]() ![]() |
SΣ | 0..1 | dateTime | indicates when the restriction was last updated |
![]() ![]() ![]() |
S | 0..* | BackboneElement | Policies covered by this consent |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
SC | 0..1 | uri | Specific policy covered by this restriction |
![]() ![]() ![]() |
SΣC | 0..1 | CodeableConcept | Regulation that this consents to Binding: Consent Policy Rules Value Set (extensible) |
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | defines access rights for restricted content |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
SΣ | 0..1 | code | deny | permit Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. |
![]() ![]() ![]() ![]() |
S | 1..* | BackboneElement | Who|what controlled by this rule (or group, by role) |
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Reference(NDH CareTeam Profile | NDH Organization Profile | NDH Practitioner Profile | NDH PractitionerRole) | definedUserOrGroup |
![]() ![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | reasonType Binding: ConsentActionCodes (extensible) |
![]() ![]() ![]() ![]() |
SΣ | 0..* | Coding | userType Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. |
![]() ![]() ![]() ![]() |
SΣ | 0..* | Coding | reasonName Binding: PurposeOfUse (3.1.0) (extensible) |
![]() |
Path | Conformance | ValueSet | URI |
Consent.status | required | ConsentStatehttp://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1 From the FHIR Standard | |
Consent.scope | extensible | ConsentScopeNdhVS(a valid code from NDH ConsentScopeCodes Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentScopeNdhVS From this IG | |
Consent.category | extensible | ConsentCategoryNdhVS(a valid code from National Healthcare Directory Consent Category Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentCategoryNdhVS From this IG | |
Consent.policyRule | extensible | ConsentPolicyRulesVS(a valid code from National Healthcare Directory ConsentPolicyRules Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentPolicyRulesVS From this IG | |
Consent.provision.type | required | ConsentProvisionTypehttp://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1 From the FHIR Standard | |
Consent.provision.actor.role | extensible | SecurityRoleTypehttp://hl7.org/fhir/ValueSet/security-role-type From the FHIR Standard | |
Consent.provision.action | extensible | ConsentActionCodeshttp://hl7.org/fhir/ValueSet/consent-action From the FHIR Standard | |
Consent.provision.securityLabel | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labels From the FHIR Standard | |
Consent.provision.purpose | extensible | PurposeOfUsehttp://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0 | |
Consent.provision.data.meaning | required | ConsentDataMeaninghttp://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1 From the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Consent | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Consent | If 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-4 | error | Consent | If 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-5 | error | Consent | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Consent | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ppc-1 | error | Consent | Either a Policy or PolicyRule : policy.exists() or policyRule.exists() | |
ppc-2 | error | Consent | IF Scope=privacy, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not() | |
ppc-3 | error | Consent | IF Scope=research, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='research').exists().not() | |
ppc-4 | error | Consent | IF Scope=adr, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='adr').exists().not() | |
ppc-5 | error | Consent | IF Scope=treatment, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not() |
This structure is derived from Consent
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
Consent | |||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
0..* | Expression | NDH usage restriction fhir path URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-restrictFhirPath | |
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
S | 1..1 | code | Indicates the current state of this restriction |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) Binding: NDH Consent Scope Value Set (extensible) |
![]() ![]() ![]() |
S | 1..* | CodeableConcept | describes the type of restriction (e.g. the data may be further disclosed by the downstream workflow environment
per the terms of a Data Use Agreement) Binding: NDH Consent Category Value Set (extensible) |
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
S | 0..1 | dateTime | indicates when the restriction was last updated |
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
S | 0..* | BackboneElement | Policies covered by this consent |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
S | 0..1 | uri | Specific policy covered by this restriction |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Regulation that this consents to Binding: Consent Policy Rules Value Set (extensible) |
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
S | 0..1 | BackboneElement | defines access rights for restricted content |
![]() ![]() ![]() ![]() |
S | 0..1 | code | deny | permit |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
S | 1..* | BackboneElement | Who|what controlled by this rule (or group, by role) |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | CodeableConcept | How the actor is involved |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Reference(NDH CareTeam Profile | NDH Organization Profile | NDH Practitioner Profile | NDH PractitionerRole) | definedUserOrGroup |
![]() ![]() ![]() ![]() |
S | 0..1 | CodeableConcept | reasonType Binding: ConsentActionCodes (extensible) |
![]() ![]() ![]() ![]() |
S | 0..* | Coding | userType |
![]() ![]() ![]() ![]() |
S | 0..* | Coding | reasonName Binding: PurposeOfUse (3.1.0) (extensible) |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
S | 0..0 | ||
![]() ![]() ![]() ![]() |
0..0 | |||
![]() |
Path | Conformance | ValueSet | URI |
Consent.scope | extensible | ConsentScopeNdhVS(a valid code from NDH ConsentScopeCodes Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentScopeNdhVS From this IG | |
Consent.category | extensible | ConsentCategoryNdhVS(a valid code from National Healthcare Directory Consent Category Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentCategoryNdhVS From this IG | |
Consent.policyRule | extensible | ConsentPolicyRulesVS(a valid code from National Healthcare Directory ConsentPolicyRules Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentPolicyRulesVS From this IG | |
Consent.provision.action | extensible | ConsentActionCodeshttp://hl7.org/fhir/ValueSet/consent-action From the FHIR Standard | |
Consent.provision.purpose | extensible | PurposeOfUsehttp://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0 |
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | Consent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5 | ||||
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
0..* | Expression | NDH usage restriction fhir path URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-restrictFhirPath | |||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
?!SΣ | 1..1 | code | Indicates the current state of this restriction Binding: ConsentState (required): Indicates the state of the consent. | ||||
![]() ![]() ![]() |
?!SΣ | 1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) Binding: NDH Consent Scope Value Set (extensible) | ||||
![]() ![]() ![]() |
SΣ | 1..* | CodeableConcept | describes the type of restriction (e.g. the data may be further disclosed by the downstream workflow environment
per the terms of a Data Use Agreement) Binding: NDH Consent Category Value Set (extensible) | ||||
![]() ![]() ![]() |
SΣ | 0..1 | dateTime | indicates when the restriction was last updated | ||||
![]() ![]() ![]() |
S | 0..* | BackboneElement | Policies covered by this consent | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
SC | 0..1 | uri | Specific policy covered by this restriction | ||||
![]() ![]() ![]() |
SΣC | 0..1 | CodeableConcept | Regulation that this consents to Binding: Consent Policy Rules Value Set (extensible) | ||||
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | defines access rights for restricted content | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | code | deny | permit Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. | ||||
![]() ![]() ![]() ![]() |
S | 1..* | BackboneElement | Who|what controlled by this rule (or group, by role) | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. | ||||
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Reference(NDH CareTeam Profile | NDH Organization Profile | NDH Practitioner Profile | NDH PractitionerRole) | definedUserOrGroup | ||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | reasonType Binding: ConsentActionCodes (extensible) | ||||
![]() ![]() ![]() ![]() |
SΣ | 0..* | Coding | userType Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
![]() ![]() ![]() ![]() |
SΣ | 0..* | Coding | reasonName Binding: PurposeOfUse (3.1.0) (extensible) | ||||
![]() |
Path | Conformance | ValueSet | URI | |||
Consent.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages From the FHIR Standard
| ||||
Consent.status | required | ConsentStatehttp://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1 From the FHIR Standard | ||||
Consent.scope | extensible | ConsentScopeNdhVS(a valid code from NDH ConsentScopeCodes Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentScopeNdhVS From this IG | ||||
Consent.category | extensible | ConsentCategoryNdhVS(a valid code from National Healthcare Directory Consent Category Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentCategoryNdhVS From this IG | ||||
Consent.policyRule | extensible | ConsentPolicyRulesVS(a valid code from National Healthcare Directory ConsentPolicyRules Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentPolicyRulesVS From this IG | ||||
Consent.provision.type | required | ConsentProvisionTypehttp://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1 From the FHIR Standard | ||||
Consent.provision.actor.role | extensible | SecurityRoleTypehttp://hl7.org/fhir/ValueSet/security-role-type From the FHIR Standard | ||||
Consent.provision.action | extensible | ConsentActionCodeshttp://hl7.org/fhir/ValueSet/consent-action From the FHIR Standard | ||||
Consent.provision.securityLabel | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labels From the FHIR Standard | ||||
Consent.provision.purpose | extensible | PurposeOfUsehttp://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0 | ||||
Consent.provision.data.meaning | required | ConsentDataMeaninghttp://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1 From the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Consent | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Consent | If 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-4 | error | Consent | If 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-5 | error | Consent | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Consent | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ppc-1 | error | Consent | Either a Policy or PolicyRule : policy.exists() or policyRule.exists() | |
ppc-2 | error | Consent | IF Scope=privacy, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not() | |
ppc-3 | error | Consent | IF Scope=research, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='research').exists().not() | |
ppc-4 | error | Consent | IF Scope=adr, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='adr').exists().not() | |
ppc-5 | error | Consent | IF Scope=treatment, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not() |
This structure is derived from Consent
Summary
Mandatory: 0 element(1 nested mandatory element)
Must-Support: 21 elements
Prohibited: 13 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Key Elements View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Consent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5 |
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
0..* | Expression | NDH usage restriction fhir path URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-restrictFhirPath | |
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() ![]() |
?!SΣ | 1..1 | code | Indicates the current state of this restriction Binding: ConsentState (required): Indicates the state of the consent. |
![]() ![]() ![]() |
?!SΣ | 1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) Binding: NDH Consent Scope Value Set (extensible) |
![]() ![]() ![]() |
SΣ | 1..* | CodeableConcept | describes the type of restriction (e.g. the data may be further disclosed by the downstream workflow environment
per the terms of a Data Use Agreement) Binding: NDH Consent Category Value Set (extensible) |
![]() ![]() ![]() |
SΣ | 0..1 | dateTime | indicates when the restriction was last updated |
![]() ![]() ![]() |
S | 0..* | BackboneElement | Policies covered by this consent |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
SC | 0..1 | uri | Specific policy covered by this restriction |
![]() ![]() ![]() |
SΣC | 0..1 | CodeableConcept | Regulation that this consents to Binding: Consent Policy Rules Value Set (extensible) |
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | defines access rights for restricted content |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
SΣ | 0..1 | code | deny | permit Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. |
![]() ![]() ![]() ![]() |
S | 1..* | BackboneElement | Who|what controlled by this rule (or group, by role) |
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Reference(NDH CareTeam Profile | NDH Organization Profile | NDH Practitioner Profile | NDH PractitionerRole) | definedUserOrGroup |
![]() ![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | reasonType Binding: ConsentActionCodes (extensible) |
![]() ![]() ![]() ![]() |
SΣ | 0..* | Coding | userType Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. |
![]() ![]() ![]() ![]() |
SΣ | 0..* | Coding | reasonName Binding: PurposeOfUse (3.1.0) (extensible) |
![]() |
Path | Conformance | ValueSet | URI |
Consent.status | required | ConsentStatehttp://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1 From the FHIR Standard | |
Consent.scope | extensible | ConsentScopeNdhVS(a valid code from NDH ConsentScopeCodes Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentScopeNdhVS From this IG | |
Consent.category | extensible | ConsentCategoryNdhVS(a valid code from National Healthcare Directory Consent Category Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentCategoryNdhVS From this IG | |
Consent.policyRule | extensible | ConsentPolicyRulesVS(a valid code from National Healthcare Directory ConsentPolicyRules Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentPolicyRulesVS From this IG | |
Consent.provision.type | required | ConsentProvisionTypehttp://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1 From the FHIR Standard | |
Consent.provision.actor.role | extensible | SecurityRoleTypehttp://hl7.org/fhir/ValueSet/security-role-type From the FHIR Standard | |
Consent.provision.action | extensible | ConsentActionCodeshttp://hl7.org/fhir/ValueSet/consent-action From the FHIR Standard | |
Consent.provision.securityLabel | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labels From the FHIR Standard | |
Consent.provision.purpose | extensible | PurposeOfUsehttp://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0 | |
Consent.provision.data.meaning | required | ConsentDataMeaninghttp://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1 From the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Consent | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Consent | If 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-4 | error | Consent | If 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-5 | error | Consent | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Consent | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ppc-1 | error | Consent | Either a Policy or PolicyRule : policy.exists() or policyRule.exists() | |
ppc-2 | error | Consent | IF Scope=privacy, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not() | |
ppc-3 | error | Consent | IF Scope=research, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='research').exists().not() | |
ppc-4 | error | Consent | IF Scope=adr, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='adr').exists().not() | |
ppc-5 | error | Consent | IF Scope=treatment, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not() |
Differential View
This structure is derived from Consent
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
Consent | |||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
0..* | Expression | NDH usage restriction fhir path URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-restrictFhirPath | |
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
S | 1..1 | code | Indicates the current state of this restriction |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) Binding: NDH Consent Scope Value Set (extensible) |
![]() ![]() ![]() |
S | 1..* | CodeableConcept | describes the type of restriction (e.g. the data may be further disclosed by the downstream workflow environment
per the terms of a Data Use Agreement) Binding: NDH Consent Category Value Set (extensible) |
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
S | 0..1 | dateTime | indicates when the restriction was last updated |
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
S | 0..* | BackboneElement | Policies covered by this consent |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
S | 0..1 | uri | Specific policy covered by this restriction |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Regulation that this consents to Binding: Consent Policy Rules Value Set (extensible) |
![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() |
S | 0..1 | BackboneElement | defines access rights for restricted content |
![]() ![]() ![]() ![]() |
S | 0..1 | code | deny | permit |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
S | 1..* | BackboneElement | Who|what controlled by this rule (or group, by role) |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | CodeableConcept | How the actor is involved |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Reference(NDH CareTeam Profile | NDH Organization Profile | NDH Practitioner Profile | NDH PractitionerRole) | definedUserOrGroup |
![]() ![]() ![]() ![]() |
S | 0..1 | CodeableConcept | reasonType Binding: ConsentActionCodes (extensible) |
![]() ![]() ![]() ![]() |
S | 0..* | Coding | userType |
![]() ![]() ![]() ![]() |
S | 0..* | Coding | reasonName Binding: PurposeOfUse (3.1.0) (extensible) |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
S | 0..0 | ||
![]() ![]() ![]() ![]() |
0..0 | |||
![]() |
Path | Conformance | ValueSet | URI |
Consent.scope | extensible | ConsentScopeNdhVS(a valid code from NDH ConsentScopeCodes Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentScopeNdhVS From this IG | |
Consent.category | extensible | ConsentCategoryNdhVS(a valid code from National Healthcare Directory Consent Category Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentCategoryNdhVS From this IG | |
Consent.policyRule | extensible | ConsentPolicyRulesVS(a valid code from National Healthcare Directory ConsentPolicyRules Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentPolicyRulesVS From this IG | |
Consent.provision.action | extensible | ConsentActionCodeshttp://hl7.org/fhir/ValueSet/consent-action From the FHIR Standard | |
Consent.provision.purpose | extensible | PurposeOfUsehttp://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0 |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | Consent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5 | ||||
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
0..* | Expression | NDH usage restriction fhir path URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-restrictFhirPath | |||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
?!SΣ | 1..1 | code | Indicates the current state of this restriction Binding: ConsentState (required): Indicates the state of the consent. | ||||
![]() ![]() ![]() |
?!SΣ | 1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) Binding: NDH Consent Scope Value Set (extensible) | ||||
![]() ![]() ![]() |
SΣ | 1..* | CodeableConcept | describes the type of restriction (e.g. the data may be further disclosed by the downstream workflow environment
per the terms of a Data Use Agreement) Binding: NDH Consent Category Value Set (extensible) | ||||
![]() ![]() ![]() |
SΣ | 0..1 | dateTime | indicates when the restriction was last updated | ||||
![]() ![]() ![]() |
S | 0..* | BackboneElement | Policies covered by this consent | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
SC | 0..1 | uri | Specific policy covered by this restriction | ||||
![]() ![]() ![]() |
SΣC | 0..1 | CodeableConcept | Regulation that this consents to Binding: Consent Policy Rules Value Set (extensible) | ||||
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | defines access rights for restricted content | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | code | deny | permit Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent. | ||||
![]() ![]() ![]() ![]() |
S | 1..* | BackboneElement | Who|what controlled by this rule (or group, by role) | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | CodeableConcept | How the actor is involved Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations. | ||||
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Reference(NDH CareTeam Profile | NDH Organization Profile | NDH Practitioner Profile | NDH PractitionerRole) | definedUserOrGroup | ||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | reasonType Binding: ConsentActionCodes (extensible) | ||||
![]() ![]() ![]() ![]() |
SΣ | 0..* | Coding | userType Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
![]() ![]() ![]() ![]() |
SΣ | 0..* | Coding | reasonName Binding: PurposeOfUse (3.1.0) (extensible) | ||||
![]() |
Path | Conformance | ValueSet | URI | |||
Consent.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages From the FHIR Standard
| ||||
Consent.status | required | ConsentStatehttp://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1 From the FHIR Standard | ||||
Consent.scope | extensible | ConsentScopeNdhVS(a valid code from NDH ConsentScopeCodes Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentScopeNdhVS From this IG | ||||
Consent.category | extensible | ConsentCategoryNdhVS(a valid code from National Healthcare Directory Consent Category Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentCategoryNdhVS From this IG | ||||
Consent.policyRule | extensible | ConsentPolicyRulesVS(a valid code from National Healthcare Directory ConsentPolicyRules Code System)http://hl7.org/fhir/us/ndh/ValueSet/ConsentPolicyRulesVS From this IG | ||||
Consent.provision.type | required | ConsentProvisionTypehttp://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1 From the FHIR Standard | ||||
Consent.provision.actor.role | extensible | SecurityRoleTypehttp://hl7.org/fhir/ValueSet/security-role-type From the FHIR Standard | ||||
Consent.provision.action | extensible | ConsentActionCodeshttp://hl7.org/fhir/ValueSet/consent-action From the FHIR Standard | ||||
Consent.provision.securityLabel | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labels From the FHIR Standard | ||||
Consent.provision.purpose | extensible | PurposeOfUsehttp://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0 | ||||
Consent.provision.data.meaning | required | ConsentDataMeaninghttp://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1 From the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Consent | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Consent | If 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-4 | error | Consent | If 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-5 | error | Consent | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Consent | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ppc-1 | error | Consent | Either a Policy or PolicyRule : policy.exists() or policyRule.exists() | |
ppc-2 | error | Consent | IF Scope=privacy, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not() | |
ppc-3 | error | Consent | IF Scope=research, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='research').exists().not() | |
ppc-4 | error | Consent | IF Scope=adr, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='adr').exists().not() | |
ppc-5 | error | Consent | IF Scope=treatment, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not() |
This structure is derived from Consent
Summary
Mandatory: 0 element(1 nested mandatory element)
Must-Support: 21 elements
Prohibited: 13 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Other representations of profile: CSV, Excel, Schematron
Since there is no direct individual url for each Search Parameter defined by FHIR Serach Parameter Registry, we have provided the following links for you to access more information about them.
SearchParameter Name | Type |
---|---|
action | token |
actor | reference |
categary | token |
purpose | token |
security-lable | token |
scope | token |
status | token |