C-CDA on FHIR Implementation Guide STU 1 (v1.0.0)

This page is part of the C-CDA on FHIR Implementation Guide (v1.0.0: STU 1) based on FHIR R3. The current version which supercedes this version is 1.1.0. For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition: CCDA-on-FHIR-Consent

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/ccda/StructureDefinition/CCDA-on-FHIR-Consent

This profile represents information about the patients consent.

The type of consent is conveyed in type. Consents in the header have been finalized and should be on file. This specification does not address how 'Privacy Consent' is represented, but does not preclude the inclusion of Privacy Consent.

The authorization consent is used for referring to consents that are documented elsewhere in the EHR or medical record for a health condition and/or treatment that is described in the document.

This profile builds on Contract.

This profile was published on Sat Apr 07 06:53:01 AEST 2018 as a draft by Lantana Consulting Group.

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

This structure is derived from Contract

Summary

Mandatory: 1 element

This structure is derived from Contract

NameFlagsCard.TypeDescription & Constraintsdoco
.. Contract 0..*
... identifier 0..1Identifieridentifier
... type 1..1CodeableConceptConsent
Required Pattern: {"coding":[{"system":"urn:oid:2.16.840.1.113883.5.6","code":"CONS"}]}
... subType 0..1CodeableConceptType of consent

doco Documentation for this format

This structure is derived from Contract

NameFlagsCard.TypeDescription & Constraintsdoco
.. Contract I0..*Legal Agreement
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..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..1Identifieridentifier
... status ?!Σ0..1codeamended | appended | cancelled | disputed | entered-in-error | executable | executed | negotiable | offered | policy | rejected | renewed | revoked | resolved | terminated
Binding: Contract Resource Status Codes (required)
... issued Σ0..1dateTimeWhen this Contract was issued
... applies Σ0..1PeriodEffective time
... subject Σ0..*Reference(Resource)Contract Target Entity
... topic Σ0..*Reference(Resource)Context of the Contract
... authority 0..*Reference(Organization)Authority under which this Contract has standing
... domain 0..*Reference(Location)Domain in which this Contract applies
... type Σ1..1CodeableConceptConsent
Binding: Contract Type Codes (example)
Required Pattern: {"coding":[{"system":"urn:oid:2.16.840.1.113883.5.6","code":"CONS"}]}
... subType Σ0..1CodeableConceptType of consent
Binding: Contract Subtype Codes (example)
... action 0..*CodeableConceptAction stipulated by this Contract
Binding: Contract Action Codes (example)
... actionReason 0..*CodeableConceptRationale for the stiplulated action
Binding: PurposeOfUse (example)
... decisionType 0..1CodeableConceptDecision by Grantor
Binding: ActConsentDirective (extensible)
... contentDerivative 0..1CodeableConceptContent derived from the basal information
Binding: Contract Content Derivation Codes (example)
... securityLabel Σ0..*CodingSecurity Labels that define affected resources
Binding: All Security Labels (extensible)
... agent I0..*BackboneElementEntity being ascribed responsibility
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... actor 1..1Reference(Contract | Device | Group | Location | Organization | Patient | Practitioner | RelatedPerson | Substance)Contract Agent Type
.... role 0..*CodeableConceptRole type of the agent
Binding: Contract Actor Role Codes (example)
... signer I0..*BackboneElementContract Signatory
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... type 1..1CodingContract Signatory Role
Binding: Contract Signer Type Codes (preferred)
.... party 1..1Reference(Organization | Patient | Practitioner | RelatedPerson)Contract Signatory Party
.... signature 1..*SignatureContract Documentation Signature
... valuedItem I0..*BackboneElementContract Valued Item List
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... entity[x] 0..1CodeableConcept, Reference(Resource)Contract Valued Item Type
.... identifier 0..1IdentifierContract Valued Item Number
.... effectiveTime 0..1dateTimeContract Valued Item Effective Tiem
.... quantity 0..1SimpleQuantityCount of Contract Valued Items
.... unitPrice 0..1MoneyContract Valued Item fee, charge, or cost
.... factor 0..1decimalContract Valued Item Price Scaling Factor
.... points 0..1decimalContract Valued Item Difficulty Scaling Factor
.... net 0..1MoneyTotal Contract Valued Item Value
... term I0..*BackboneElementContract Term List
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... identifier Σ0..1IdentifierContract Term Number
.... issued Σ0..1dateTimeContract Term Issue Date Time
.... applies Σ0..1PeriodContract Term Effective Time
.... type 0..1CodeableConceptContract Term Type or Form
Binding: Contract Term Type Codes (example)
.... subType 0..1CodeableConceptContract Term Type specific classification
Binding: Contract Term Subtype Codes (example)
.... topic Σ0..*Reference(Resource)Context of the Contract term
.... action 0..*CodeableConceptContract Term Activity
Binding: Contract Action Codes (example)
.... actionReason 0..*CodeableConceptPurpose for the Contract Term Action
Binding: PurposeOfUse (example)
.... securityLabel Σ0..*CodingSecurity Labels that define affected terms
Binding: All Security Labels (extensible)
.... agent I0..*BackboneElementContract Term Agent List
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... actor 1..1Reference(Contract | Device | Group | Location | Organization | Patient | Practitioner | RelatedPerson | Substance)Contract Term Agent Subject
..... role 0..*CodeableConceptType of the Contract Term Agent
Binding: Contract Actor Role Codes (example)
.... text 0..1stringHuman readable Contract term text
.... valuedItem I0..*BackboneElementContract Term Valued Item List
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... entity[x] 0..1CodeableConcept, Reference(Resource)Contract Term Valued Item Type
..... identifier 0..1IdentifierContract Term Valued Item Number
..... effectiveTime 0..1dateTimeContract Term Valued Item Effective Tiem
..... quantity 0..1SimpleQuantityContract Term Valued Item Count
..... unitPrice 0..1MoneyContract Term Valued Item fee, charge, or cost
..... factor 0..1decimalContract Term Valued Item Price Scaling Factor
..... points 0..1decimalContract Term Valued Item Difficulty Scaling Factor
..... net 0..1MoneyTotal Contract Term Valued Item Value
.... group 0..*Unknown reference to #Contract.term
Nested Contract Term Group
... binding[x] 0..1Attachment, Reference(Composition | DocumentReference | QuestionnaireResponse)Binding Contract
... friendly I0..*BackboneElementContract Friendly Language
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... content[x] 1..1Attachment, Reference(Composition | DocumentReference | QuestionnaireResponse)Easily comprehended representation of this Contract
... legal I0..*BackboneElementContract Legal Language
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... content[x] 1..1Attachment, Reference(Composition | DocumentReference | QuestionnaireResponse)Contract Legal Text
... rule I0..*BackboneElementComputable Contract Language
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... content[x] 1..1Attachment, Reference(DocumentReference)Computable Contract Rules

doco Documentation for this format

This structure is derived from Contract

Summary

Mandatory: 1 element

Differential View

This structure is derived from Contract

NameFlagsCard.TypeDescription & Constraintsdoco
.. Contract 0..*
... identifier 0..1Identifieridentifier
... type 1..1CodeableConceptConsent
Required Pattern: {"coding":[{"system":"urn:oid:2.16.840.1.113883.5.6","code":"CONS"}]}
... subType 0..1CodeableConceptType of consent

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Contract I0..*Legal Agreement
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..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..1Identifieridentifier
... status ?!Σ0..1codeamended | appended | cancelled | disputed | entered-in-error | executable | executed | negotiable | offered | policy | rejected | renewed | revoked | resolved | terminated
Binding: Contract Resource Status Codes (required)
... issued Σ0..1dateTimeWhen this Contract was issued
... applies Σ0..1PeriodEffective time
... subject Σ0..*Reference(Resource)Contract Target Entity
... topic Σ0..*Reference(Resource)Context of the Contract
... authority 0..*Reference(Organization)Authority under which this Contract has standing
... domain 0..*Reference(Location)Domain in which this Contract applies
... type Σ1..1CodeableConceptConsent
Binding: Contract Type Codes (example)
Required Pattern: {"coding":[{"system":"urn:oid:2.16.840.1.113883.5.6","code":"CONS"}]}
... subType Σ0..1CodeableConceptType of consent
Binding: Contract Subtype Codes (example)
... action 0..*CodeableConceptAction stipulated by this Contract
Binding: Contract Action Codes (example)
... actionReason 0..*CodeableConceptRationale for the stiplulated action
Binding: PurposeOfUse (example)
... decisionType 0..1CodeableConceptDecision by Grantor
Binding: ActConsentDirective (extensible)
... contentDerivative 0..1CodeableConceptContent derived from the basal information
Binding: Contract Content Derivation Codes (example)
... securityLabel Σ0..*CodingSecurity Labels that define affected resources
Binding: All Security Labels (extensible)
... agent I0..*BackboneElementEntity being ascribed responsibility
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... actor 1..1Reference(Contract | Device | Group | Location | Organization | Patient | Practitioner | RelatedPerson | Substance)Contract Agent Type
.... role 0..*CodeableConceptRole type of the agent
Binding: Contract Actor Role Codes (example)
... signer I0..*BackboneElementContract Signatory
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... type 1..1CodingContract Signatory Role
Binding: Contract Signer Type Codes (preferred)
.... party 1..1Reference(Organization | Patient | Practitioner | RelatedPerson)Contract Signatory Party
.... signature 1..*SignatureContract Documentation Signature
... valuedItem I0..*BackboneElementContract Valued Item List
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... entity[x] 0..1CodeableConcept, Reference(Resource)Contract Valued Item Type
.... identifier 0..1IdentifierContract Valued Item Number
.... effectiveTime 0..1dateTimeContract Valued Item Effective Tiem
.... quantity 0..1SimpleQuantityCount of Contract Valued Items
.... unitPrice 0..1MoneyContract Valued Item fee, charge, or cost
.... factor 0..1decimalContract Valued Item Price Scaling Factor
.... points 0..1decimalContract Valued Item Difficulty Scaling Factor
.... net 0..1MoneyTotal Contract Valued Item Value
... term I0..*BackboneElementContract Term List
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... identifier Σ0..1IdentifierContract Term Number
.... issued Σ0..1dateTimeContract Term Issue Date Time
.... applies Σ0..1PeriodContract Term Effective Time
.... type 0..1CodeableConceptContract Term Type or Form
Binding: Contract Term Type Codes (example)
.... subType 0..1CodeableConceptContract Term Type specific classification
Binding: Contract Term Subtype Codes (example)
.... topic Σ0..*Reference(Resource)Context of the Contract term
.... action 0..*CodeableConceptContract Term Activity
Binding: Contract Action Codes (example)
.... actionReason 0..*CodeableConceptPurpose for the Contract Term Action
Binding: PurposeOfUse (example)
.... securityLabel Σ0..*CodingSecurity Labels that define affected terms
Binding: All Security Labels (extensible)
.... agent I0..*BackboneElementContract Term Agent List
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... actor 1..1Reference(Contract | Device | Group | Location | Organization | Patient | Practitioner | RelatedPerson | Substance)Contract Term Agent Subject
..... role 0..*CodeableConceptType of the Contract Term Agent
Binding: Contract Actor Role Codes (example)
.... text 0..1stringHuman readable Contract term text
.... valuedItem I0..*BackboneElementContract Term Valued Item List
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... entity[x] 0..1CodeableConcept, Reference(Resource)Contract Term Valued Item Type
..... identifier 0..1IdentifierContract Term Valued Item Number
..... effectiveTime 0..1dateTimeContract Term Valued Item Effective Tiem
..... quantity 0..1SimpleQuantityContract Term Valued Item Count
..... unitPrice 0..1MoneyContract Term Valued Item fee, charge, or cost
..... factor 0..1decimalContract Term Valued Item Price Scaling Factor
..... points 0..1decimalContract Term Valued Item Difficulty Scaling Factor
..... net 0..1MoneyTotal Contract Term Valued Item Value
.... group 0..*Unknown reference to #Contract.term
Nested Contract Term Group
... binding[x] 0..1Attachment, Reference(Composition | DocumentReference | QuestionnaireResponse)Binding Contract
... friendly I0..*BackboneElementContract Friendly Language
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... content[x] 1..1Attachment, Reference(Composition | DocumentReference | QuestionnaireResponse)Easily comprehended representation of this Contract
... legal I0..*BackboneElementContract Legal Language
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... content[x] 1..1Attachment, Reference(Composition | DocumentReference | QuestionnaireResponse)Contract Legal Text
... rule I0..*BackboneElementComputable Contract Language
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... content[x] 1..1Attachment, Reference(DocumentReference)Computable Contract Rules

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathNameConformanceValueSet
Contract.languageCommon LanguagesextensibleCommon Languages
Contract.statusContract Resource Status CodesrequiredContract Resource Status Codes
Contract.typeContract Type CodesexampleContract Type Codes
Contract.subTypeContract Subtype CodesexampleContract Subtype Codes
Contract.actionContract Action CodesexampleContract Action Codes
Contract.actionReasonPurposeOfUseexamplePurposeOfUse
Contract.decisionTypeActConsentDirectiveextensibleActConsentDirective
Contract.contentDerivativeContract Content Derivation CodesexampleContract Content Derivation Codes
Contract.securityLabelAll Security LabelsextensibleAll Security Labels
Contract.agent.roleContract Actor Role CodesexampleContract Actor Role Codes
Contract.signer.typeContract Signer Type CodespreferredContract Signer Type Codes
Contract.term.typeContract Term Type CodesexampleContract Term Type Codes
Contract.term.subTypeContract Term Subtype CodesexampleContract Term Subtype Codes
Contract.term.actionContract Action CodesexampleContract Action Codes
Contract.term.actionReasonPurposeOfUseexamplePurposeOfUse
Contract.term.securityLabelAll Security LabelsextensibleAll Security Labels
Contract.term.agent.roleContract Actor Role CodesexampleContract Actor Role Codes

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2ContractIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1ContractIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4ContractIf 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-3ContractIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
ele-1Contract.agentAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Contract.signerAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Contract.valuedItemAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Contract.termAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Contract.term.agentAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Contract.term.valuedItemAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Contract.friendlyAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Contract.legalAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Contract.ruleAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
.