National Directory of Healthcare Providers & Services (NDH) Implementation Guide
2.0.0 - draft United States of America flag

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

Resource Profile: NDH Restriction

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.

Background & Scope

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:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Consent 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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:restrictFhirPath 0..* Expression NDH usage restriction fhir path
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-restrictFhirPath
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... scope ?!SΣ 1..1 CodeableConcept Which of the four areas this resource covers (extensible)
Binding: NDH Consent Scope Value Set (extensible)
... category 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)
... dateTime SΣ 0..1 dateTime indicates when the restriction was last updated
... policy S 0..* BackboneElement Policies covered by this consent
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... uri SC 0..1 uri Specific policy covered by this restriction
... policyRule SΣC 0..1 CodeableConcept Regulation that this consents to
Binding: Consent Policy Rules Value Set (extensible)
... provision SΣ 0..1 BackboneElement defines access rights for restricted content
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type SΣ 0..1 code deny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
.... actor S 1..* BackboneElement Who|what controlled by this rule (or group, by role)
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role S 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
..... reference S 1..1 Reference(NDH CareTeam Profile | NDH Organization Profile | NDH Practitioner Profile | NDH PractitionerRole) definedUserOrGroup
.... action SΣ 0..1 CodeableConcept reasonType
Binding: ConsentActionCodes (extensible)
.... securityLabel SΣ 0..* Coding userType
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... purpose SΣ 0..* Coding reasonName
Binding: PurposeOfUse (3.1.0) (extensible)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Consent.statusrequiredConsentState
http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1
From the FHIR Standard
Consent.scopeextensibleConsentScopeNdhVS(a valid code from NDH ConsentScopeCodes Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentScopeNdhVS
From this IG
Consent.categoryextensibleConsentCategoryNdhVS(a valid code from National Healthcare Directory Consent Category Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentCategoryNdhVS
From this IG
Consent.policyRuleextensibleConsentPolicyRulesVS(a valid code from National Healthcare Directory ConsentPolicyRules Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentPolicyRulesVS
From this IG
Consent.provision.typerequiredConsentProvisionType
http://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1
From the FHIR Standard
Consent.provision.actor.roleextensibleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
From the FHIR Standard
Consent.provision.actionextensibleConsentActionCodes
http://hl7.org/fhir/ValueSet/consent-action
From the FHIR Standard
Consent.provision.securityLabelextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
Consent.provision.purposeextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0
Consent.provision.data.meaningrequiredConsentDataMeaning
http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
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()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
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()

This structure is derived from Consent

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Consent Consent
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:restrictFhirPath 0..* Expression NDH usage restriction fhir path
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-restrictFhirPath
... identifier 0..0
... status S 1..1 code Indicates the current state of this restriction
... category 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)
... patient 0..0
... dateTime S 0..1 dateTime indicates when the restriction was last updated
... performer 0..0
... organization 0..0
... source[x] 0..0
... policy S 0..* BackboneElement Policies covered by this consent
.... authority 0..0
.... uri S 0..1 uri Specific policy covered by this restriction
... policyRule S 0..1 CodeableConcept Regulation that this consents to
Binding: Consent Policy Rules Value Set (extensible)
... verification 0..0
... provision S 0..1 BackboneElement defines access rights for restricted content
.... type S 0..1 code deny | permit
.... period 0..0
.... actor S 1..* BackboneElement Who|what controlled by this rule (or group, by role)
..... role S 1..1 CodeableConcept How the actor is involved
..... reference S 1..1 Reference(NDH CareTeam Profile | NDH Organization Profile | NDH Practitioner Profile | NDH PractitionerRole) definedUserOrGroup
.... action S 0..1 CodeableConcept reasonType
Binding: ConsentActionCodes (extensible)
.... securityLabel S 0..* Coding userType
.... purpose S 0..* Coding reasonName
Binding: PurposeOfUse (3.1.0) (extensible)
.... class 0..0
.... code 0..0
.... dataPeriod 0..0
.... data S 0..0
.... provision 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Consent.scopeextensibleConsentScopeNdhVS(a valid code from NDH ConsentScopeCodes Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentScopeNdhVS
From this IG
Consent.categoryextensibleConsentCategoryNdhVS(a valid code from National Healthcare Directory Consent Category Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentCategoryNdhVS
From this IG
Consent.policyRuleextensibleConsentPolicyRulesVS(a valid code from National Healthcare Directory ConsentPolicyRules Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentPolicyRulesVS
From this IG
Consent.provision.actionextensibleConsentActionCodes
http://hl7.org/fhir/ValueSet/consent-action
From the FHIR Standard
Consent.provision.purposeextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Consent 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
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 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
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:restrictFhirPath 0..* Expression NDH usage restriction fhir path
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-restrictFhirPath
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code Indicates the current state of this restriction
Binding: ConsentState (required): Indicates the state of the consent.
... scope ?!SΣ 1..1 CodeableConcept Which of the four areas this resource covers (extensible)
Binding: NDH Consent Scope Value Set (extensible)
... category 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)
... dateTime SΣ 0..1 dateTime indicates when the restriction was last updated
... policy S 0..* BackboneElement Policies covered by this consent
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... uri SC 0..1 uri Specific policy covered by this restriction
... policyRule SΣC 0..1 CodeableConcept Regulation that this consents to
Binding: Consent Policy Rules Value Set (extensible)
... provision SΣ 0..1 BackboneElement defines access rights for restricted content
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type SΣ 0..1 code deny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
.... actor S 1..* BackboneElement Who|what controlled by this rule (or group, by role)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role S 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
..... reference S 1..1 Reference(NDH CareTeam Profile | NDH Organization Profile | NDH Practitioner Profile | NDH PractitionerRole) definedUserOrGroup
.... action SΣ 0..1 CodeableConcept reasonType
Binding: ConsentActionCodes (extensible)
.... securityLabel SΣ 0..* Coding userType
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... purpose SΣ 0..* Coding reasonName
Binding: PurposeOfUse (3.1.0) (extensible)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Consent.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Consent.statusrequiredConsentState
http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1
From the FHIR Standard
Consent.scopeextensibleConsentScopeNdhVS(a valid code from NDH ConsentScopeCodes Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentScopeNdhVS
From this IG
Consent.categoryextensibleConsentCategoryNdhVS(a valid code from National Healthcare Directory Consent Category Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentCategoryNdhVS
From this IG
Consent.policyRuleextensibleConsentPolicyRulesVS(a valid code from National Healthcare Directory ConsentPolicyRules Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentPolicyRulesVS
From this IG
Consent.provision.typerequiredConsentProvisionType
http://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1
From the FHIR Standard
Consent.provision.actor.roleextensibleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
From the FHIR Standard
Consent.provision.actionextensibleConsentActionCodes
http://hl7.org/fhir/ValueSet/consent-action
From the FHIR Standard
Consent.provision.securityLabelextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
Consent.provision.purposeextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0
Consent.provision.data.meaningrequiredConsentDataMeaning
http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
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()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
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()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Consent 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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:restrictFhirPath 0..* Expression NDH usage restriction fhir path
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-restrictFhirPath
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... scope ?!SΣ 1..1 CodeableConcept Which of the four areas this resource covers (extensible)
Binding: NDH Consent Scope Value Set (extensible)
... category 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)
... dateTime SΣ 0..1 dateTime indicates when the restriction was last updated
... policy S 0..* BackboneElement Policies covered by this consent
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... uri SC 0..1 uri Specific policy covered by this restriction
... policyRule SΣC 0..1 CodeableConcept Regulation that this consents to
Binding: Consent Policy Rules Value Set (extensible)
... provision SΣ 0..1 BackboneElement defines access rights for restricted content
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type SΣ 0..1 code deny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
.... actor S 1..* BackboneElement Who|what controlled by this rule (or group, by role)
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role S 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
..... reference S 1..1 Reference(NDH CareTeam Profile | NDH Organization Profile | NDH Practitioner Profile | NDH PractitionerRole) definedUserOrGroup
.... action SΣ 0..1 CodeableConcept reasonType
Binding: ConsentActionCodes (extensible)
.... securityLabel SΣ 0..* Coding userType
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... purpose SΣ 0..* Coding reasonName
Binding: PurposeOfUse (3.1.0) (extensible)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Consent.statusrequiredConsentState
http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1
From the FHIR Standard
Consent.scopeextensibleConsentScopeNdhVS(a valid code from NDH ConsentScopeCodes Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentScopeNdhVS
From this IG
Consent.categoryextensibleConsentCategoryNdhVS(a valid code from National Healthcare Directory Consent Category Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentCategoryNdhVS
From this IG
Consent.policyRuleextensibleConsentPolicyRulesVS(a valid code from National Healthcare Directory ConsentPolicyRules Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentPolicyRulesVS
From this IG
Consent.provision.typerequiredConsentProvisionType
http://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1
From the FHIR Standard
Consent.provision.actor.roleextensibleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
From the FHIR Standard
Consent.provision.actionextensibleConsentActionCodes
http://hl7.org/fhir/ValueSet/consent-action
From the FHIR Standard
Consent.provision.securityLabelextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
Consent.provision.purposeextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0
Consent.provision.data.meaningrequiredConsentDataMeaning
http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
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()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
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()

Differential View

This structure is derived from Consent

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Consent Consent
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:restrictFhirPath 0..* Expression NDH usage restriction fhir path
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-restrictFhirPath
... identifier 0..0
... status S 1..1 code Indicates the current state of this restriction
... category 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)
... patient 0..0
... dateTime S 0..1 dateTime indicates when the restriction was last updated
... performer 0..0
... organization 0..0
... source[x] 0..0
... policy S 0..* BackboneElement Policies covered by this consent
.... authority 0..0
.... uri S 0..1 uri Specific policy covered by this restriction
... policyRule S 0..1 CodeableConcept Regulation that this consents to
Binding: Consent Policy Rules Value Set (extensible)
... verification 0..0
... provision S 0..1 BackboneElement defines access rights for restricted content
.... type S 0..1 code deny | permit
.... period 0..0
.... actor S 1..* BackboneElement Who|what controlled by this rule (or group, by role)
..... role S 1..1 CodeableConcept How the actor is involved
..... reference S 1..1 Reference(NDH CareTeam Profile | NDH Organization Profile | NDH Practitioner Profile | NDH PractitionerRole) definedUserOrGroup
.... action S 0..1 CodeableConcept reasonType
Binding: ConsentActionCodes (extensible)
.... securityLabel S 0..* Coding userType
.... purpose S 0..* Coding reasonName
Binding: PurposeOfUse (3.1.0) (extensible)
.... class 0..0
.... code 0..0
.... dataPeriod 0..0
.... data S 0..0
.... provision 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Consent.scopeextensibleConsentScopeNdhVS(a valid code from NDH ConsentScopeCodes Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentScopeNdhVS
From this IG
Consent.categoryextensibleConsentCategoryNdhVS(a valid code from National Healthcare Directory Consent Category Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentCategoryNdhVS
From this IG
Consent.policyRuleextensibleConsentPolicyRulesVS(a valid code from National Healthcare Directory ConsentPolicyRules Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentPolicyRulesVS
From this IG
Consent.provision.actionextensibleConsentActionCodes
http://hl7.org/fhir/ValueSet/consent-action
From the FHIR Standard
Consent.provision.purposeextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Consent 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
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 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
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:restrictFhirPath 0..* Expression NDH usage restriction fhir path
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-restrictFhirPath
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code Indicates the current state of this restriction
Binding: ConsentState (required): Indicates the state of the consent.
... scope ?!SΣ 1..1 CodeableConcept Which of the four areas this resource covers (extensible)
Binding: NDH Consent Scope Value Set (extensible)
... category 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)
... dateTime SΣ 0..1 dateTime indicates when the restriction was last updated
... policy S 0..* BackboneElement Policies covered by this consent
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... uri SC 0..1 uri Specific policy covered by this restriction
... policyRule SΣC 0..1 CodeableConcept Regulation that this consents to
Binding: Consent Policy Rules Value Set (extensible)
... provision SΣ 0..1 BackboneElement defines access rights for restricted content
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type SΣ 0..1 code deny | permit
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
.... actor S 1..* BackboneElement Who|what controlled by this rule (or group, by role)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role S 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
..... reference S 1..1 Reference(NDH CareTeam Profile | NDH Organization Profile | NDH Practitioner Profile | NDH PractitionerRole) definedUserOrGroup
.... action SΣ 0..1 CodeableConcept reasonType
Binding: ConsentActionCodes (extensible)
.... securityLabel SΣ 0..* Coding userType
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... purpose SΣ 0..* Coding reasonName
Binding: PurposeOfUse (3.1.0) (extensible)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Consent.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Consent.statusrequiredConsentState
http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1
From the FHIR Standard
Consent.scopeextensibleConsentScopeNdhVS(a valid code from NDH ConsentScopeCodes Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentScopeNdhVS
From this IG
Consent.categoryextensibleConsentCategoryNdhVS(a valid code from National Healthcare Directory Consent Category Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentCategoryNdhVS
From this IG
Consent.policyRuleextensibleConsentPolicyRulesVS(a valid code from National Healthcare Directory ConsentPolicyRules Code System)
http://hl7.org/fhir/us/ndh/ValueSet/ConsentPolicyRulesVS
From this IG
Consent.provision.typerequiredConsentProvisionType
http://hl7.org/fhir/ValueSet/consent-provision-type|4.0.1
From the FHIR Standard
Consent.provision.actor.roleextensibleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
From the FHIR Standard
Consent.provision.actionextensibleConsentActionCodes
http://hl7.org/fhir/ValueSet/consent-action
From the FHIR Standard
Consent.provision.securityLabelextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
Consent.provision.purposeextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse|3.1.0
Consent.provision.data.meaningrequiredConsentDataMeaning
http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
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()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
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()

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Search Parameter defined by FHIR Search Parameter Registry and used by the NDH IG

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