Magentus Practice Management FHIR® Implementation Guide
1.3.2 - Release Australia

This page is part of the Magentus Practice Management FHIR Implementation Guide (v1.3.2: Releases Draft) based on FHIR (HL7® FHIR® Standard) R4. No current official version has been published yet. For a full list of available versions, see the Directory of published versions

Resource Profile: EBookings Consent ( Experimental )

Official URL: http://fhir.geniesolutions.io/StructureDefinition/ebookings-consent Version: 1.3.2
Active as of 2026-10-02 Computable Name: EBookingsConsent

Genie EBookings Consent profile. There are three Consent approaches, and a status for a withdrawn consent.

  1. Consent agreed and attached: This will have the consent document attached and a status of #active. The attachment is required: the ebookings-consent-active-attachment-01 invariant rejects an active consent without sourceAttachment.
  2. Consent to be provided on day of theatre: This will have a status of #proposed, no attachment, and the consent document will be provided on the day of theatre.
  3. No consent decision made: This will have a status of #draft and no consent document is provided.
  4. Consent withdrawn or revoked: This will have a status of #inactive, and the whole sourceAttachment is removed. Not currently supported. inactive is the correct status for a withdrawn or revoked consent, but the platform does not support it yet: it never sets inactive. The platform keeps one Consent per booking, and a change of consent option is a new version of it. When a PMS user removes the form and selects "present on the day", the new version has proposed and no sourceAttachment. That change withdraws the consent on the attached form, but one Consent cannot show both the withdrawal and the new consent expected on the day, so a consumer compares the new version with the previous active one.

Overview

Consent for a theatre booking is carried as a Consent resource that points to the booking's ServiceRequest through provision.data.reference. The Appointment does not reference the Consent. A booking retrieval returns it through _revinclude:iterate=Consent:data, and in a theatre list the Composition section for that booking references it. A booking may carry more than one — typically a procedure consent, with a nested provision for blood transfusion where that applies.

The profile's three consent approaches differ in whether a signed consent form is attached. A fourth status records a withdrawn consent:

Approach status sourceAttachment
Consent agreed, form attached active Required — url references the signed consent form. The ebookings-consent-active-attachment-01 invariant rejects an active consent without it
Consent to be provided on the day of theatre proposed Absent — the form is provided on the day
No consent decision made draft Absent
Consent withdrawn or revoked (not currently supported) inactive Absent — the whole sourceAttachment is removed

sourceAttachment.data is prohibited by this profile (data ..0) — consent forms are never inlined as base64. The signed form is referenced by sourceAttachment.url.

Current behaviour: contentType is always application/pdf. A form uploaded through Genie must be a PDF. A form taken from Gentu is stored with the file type that Gentu gives it, and the platform does not check that it is a PDF. Check the type of the file that you retrieve.

Question Answer
Who hosts the document repository? Magentus, in AWS. It is not a third-party or hospital-hosted repository.
How is the consuming system authorised to retrieve the document? With the same access token used for FHIR API access. There is no separate credential, and no additional network, firewall or OAuth arrangement to implement beyond what is already required to reach the FHIR server.
Where can the URL point? Only to the Magentus document repository origin, over HTTPS. Before it attaches the access token, a client SHALL check that the scheme and host of sourceAttachment.url exactly match that origin. A client SHALL NOT send the token to any other origin. A URL on any other origin is an error, and the client SHALL NOT retrieve it. This stops a changed or malicious URL from sending the FHIR access token to another host. Each environment has its own origin. The examples in this IG use the placeholder origin https://documents.magentus.example.
Is the URL permanent or time-limited? Permanent. It is not a pre-signed or expiring URL, so no mechanism to re-issue an expired URL is needed or provided.
What retention applies? The standard retention policy required for clinical data.

Custody of the document

The consuming system is expected to retrieve the consent form as part of retrieving the booking, and to retain its own copy. The Magentus-hosted repository is not intended to be the consumer's authoritative long-term location for the document, and the FHIR server is not an audit service on the consumer's behalf.

A retained copy is subject to the same privacy handling as all other booking data the consumer downloads — no additional restriction applies to the consent form specifically.

Identifying and re-retrieving a document

There is no separate stable document identifier to persist alongside the URL. The Consent is bound to the booking through its ServiceRequest, and the booking Appointment is the retrieval path (_revinclude:iterate=Consent:data) — a consumer that holds the booking can always reach the current Consent and, through it, the current document.

Detect a change by the Consent version, not by the URL. The platform keeps one Consent per booking, and every change of consent option is a new version of that resource (same id, new meta.versionId). A new meta.versionId is the reliable signal that the consent or its form may have changed. Retrieve the form again when it changes.

By design, a replaced form gets a new URL, so a URL that differs from one previously seen indicates a different document. Use that as a hint only.

Current behaviour: a form uploaded through Genie always gets a new URL. A form taken from Gentu gets a URL made from the Gentu attachment id, so it gets a new URL only when a different Gentu attachment is linked. The platform does not prevent a change to the document behind an existing URL. This is why the Consent version, not the URL, is the signal to rely on.

Updates and withdrawal

When a consent form is updated or replaced, Magentus issues a new version of the Consent resource that carries it. By design, the new document also gets a new URL. The consumer detects the change from the new Consent version, and is not expected to detect document changes by polling the URL.

If consent is withdrawn or revoked, Consent.status becomes inactive and the whole sourceAttachment is removed. Removing only url would not conform, because url is required whenever sourceAttachment is present. The platform keeps the form, but this IG does not guarantee that it stays retrievable, so the consuming system is expected to keep its own copy of any consent form it received.

Not currently supported: inactive is the correct way to mark a withdrawn consent, and this profile allows it, but the platform does not set it yet. The platform keeps one Consent per booking, and a change of consent option is a new version of that resource (same id, new meta.versionId). When a PMS user removes the form and selects "present on the day", the new version has status of proposed and no sourceAttachment. That change withdraws the consent given on the attached form, but one Consent cannot show both the withdrawal and the new consent expected on the day. A consumer detects it by comparing the new version with the previous one, in which status was active.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

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, ebookings-consent-active-attachment-01
... id SΣ 0..1 id Logical id of this artifact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code #active for provided consent document, #proposed for provided on day of theatre, #draft for undecided consent approach, and #inactive for withdrawn or revoked consent (not currently supported).
Binding: EBookings Consent Status ValueSet (required)
... scope ?!SΣ 1..1 CodeableConcept Fixed: treatment
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.
.... coding SΣ 1..1 Coding Code defined by a terminology system

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: treatment
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
... category SΣ 1..1 CodeableConcept Fixed: Consent Document
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.
.... coding SΣ 1..1 Coding Code defined by a terminology system

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 59284-0
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
... patient SΣ 1..1 Reference(EBookings Patient) Patient the consent applies to
.... reference ΣC 1..1 string Relative reference to Patient
... dateTime SΣ 1..1 dateTime When this consent was created
... performer SΣ 0..1 Reference(AU Base RelatedPerson | EBookings Patient) Patient or related person agreeing to the policy
.... reference ΣC 0..1 string Relative reference to Patient
.... display Σ 0..1 string Name of related person
... organization SΣ 1..1 Reference(Genie Organization) Practice that is custodian of the consent
.... reference ΣC 0..1 string Reference to practice organization
.... display Σ 0..1 string Practice organization name
... Slices for source[x] Σ 0..1 Source from which this consent is taken
Slice: Unordered, Open by type:$this
.... sourceAttachment Attachment
.... sourceReference Reference(Consent | DocumentReference | Contract | QuestionnaireResponse)
.... source[x]:sourceAttachment SΣ 0..1 Attachment Consent form (pdf)
..... contentType Σ 1..1 code Fixed: application/pdf
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Required Pattern: application/pdf
..... url Σ 1..1 url Persistent url to attachment file
Example General: http://www.acme.com/logo-small.png
... policy 1..1 BackboneElement Consent policy
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... authority SC 1..1 uri Authority of the consent policy (e.g. the hospital or health group URL)
.... uri SC 1..1 uri Unique identifier of the consent policy
... provision Σ 1..1 BackboneElement Consent for procedure
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type SΣ 1..1 code permit | deny
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
.... actor S 1..1 BackboneElement Healthcare provider being consented to perform the treatment
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role 1..1 CodeableConcept healthcare provider
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleClass
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: PROV
....... display 1..1 string Representation defined by the system
Fixed Value: healthcare provider
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... reference 1..1 Reference(EBookings VMO | Genie PractitionerRole) Resource for the healthcare provider
...... reference ΣC 1..1 string Relative reference to PractitionerRole
.... code SΣ 1..1 CodeableConcept Procedure being consented
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
..... text Σ 1..1 string Procedure name
.... data SΣ 1..1 BackboneElement Service request being consented
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... meaning Σ 1..1 code dependents
Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions.
Required Pattern: dependents
..... reference Σ 1..1 Reference(EBookings ServiceRequest) Relative reference to ServiceRequest
.... provision 0..1 BackboneElement Addition consent for blood transfusion
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type SΣ 1..1 code permit | deny
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
..... code SΣ 1..1 CodeableConcept Blood transfusion being consented
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
...... coding SΣ 1..1 Coding Code defined by a terminology system

Required Pattern: At least the following
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 10415-8
....... display 1..1 string Representation defined by the system
Fixed Value: Transfuse blood exchange transfusion [Volume]
....... userSelected 0..1 boolean If this coding was chosen directly by the user

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Consent.status Base required EBookings Consent Status ValueSet 📦1.3.2 This IG
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.source[x]:sourceAttachment.​contentType Base required MimeType 📍4.0.1 FHIR Std.
Consent.provision.type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.actor.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.code Base example Consent Content Codes 📍4.0.1 FHIR Std.
Consent.provision.data.​meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.
Consent.provision.provision.​type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.provision.​code Base example Consent Content Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()
ebookings-consent-active-attachment-01 error Consent sourceAttachment SHALL be present when status is active status = 'active' implies source.ofType(Attachment).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()

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: ebookings-consent-active-attachment-01
... id S 0..1 id Logical id of this artifact
... status S 1..1 code #active for provided consent document, #proposed for provided on day of theatre, #draft for undecided consent approach, and #inactive for withdrawn or revoked consent (not currently supported).
Binding: EBookings Consent Status ValueSet (required)
... scope S 1..1 CodeableConcept Fixed: treatment
.... coding S 1..1 Coding Code defined by a terminology system
Required Pattern: At least the following
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: treatment
... category S 1..1 CodeableConcept Fixed: Consent Document
.... coding S 1..1 Coding Code defined by a terminology system
Required Pattern: At least the following
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 59284-0
... patient S 1..1 Reference(EBookings Patient) Patient the consent applies to
.... reference 1..1 string Relative reference to Patient
... dateTime S 1..1 dateTime When this consent was created
... performer S 0..1 Reference(AU Base RelatedPerson | EBookings Patient) Patient or related person agreeing to the policy
.... reference 0..1 string Relative reference to Patient
.... display 0..1 string Name of related person
... organization S 1..1 Reference(Genie Organization) Practice that is custodian of the consent
.... reference 0..1 string Reference to practice organization
.... display 0..1 string Practice organization name
... Slices for source[x] 0..1 Attachment, Reference(Consent | DocumentReference | Contract | QuestionnaireResponse) Source from which this consent is taken
Slice: Unordered, Open by type:$this
.... source[x]:sourceAttachment S 0..1 Attachment Consent form (pdf)
..... contentType 1..1 code Fixed: application/pdf
Required Pattern: application/pdf
..... data 0..0 Prohibited — consent forms are never inlined
..... url 1..1 url Persistent url to attachment file
... policy 1..1 BackboneElement Consent policy
.... authority S 1..1 uri Authority of the consent policy (e.g. the hospital or health group URL)
.... uri S 1..1 uri Unique identifier of the consent policy
... provision 1..1 BackboneElement Consent for procedure
.... type S 1..1 code permit | deny
.... actor S 1..1 BackboneElement Healthcare provider being consented to perform the treatment
..... role 1..1 CodeableConcept healthcare provider
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleClass
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: PROV
....... display 1..1 string Representation defined by the system
Fixed Value: healthcare provider
..... reference 1..1 Reference(EBookings VMO | Genie PractitionerRole) Resource for the healthcare provider
...... reference 1..1 string Relative reference to PractitionerRole
.... code S 1..1 CodeableConcept Procedure being consented
..... text 1..1 string Procedure name
.... data S 1..1 BackboneElement Service request being consented
..... meaning 1..1 code dependents
Required Pattern: dependents
..... reference 1..1 Reference(EBookings ServiceRequest) Relative reference to ServiceRequest
.... provision 0..1 BackboneElement Addition consent for blood transfusion
..... type S 1..1 code permit | deny
..... code S 1..1 CodeableConcept Blood transfusion being consented
...... coding S 1..1 Coding Code defined by a terminology system
Required Pattern: At least the following
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 10415-8
....... display 1..1 string Representation defined by the system
Fixed Value: Transfuse blood exchange transfusion [Volume]

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Consent.status Base required EBookings Consent Status ValueSet 📦1.3.2 This IG

Constraints

Id Grade Path(s) Description Expression
ebookings-consent-active-attachment-01 error Consent sourceAttachment SHALL be present when status is active status = 'active' implies source.ofType(Attachment).exists()
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, ebookings-consent-active-attachment-01
... id SΣ 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
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Identifier for this record (external references)

Example General: {"system":"http://acme.org/identifier/local/eCMS","value":"Local eCMS identifier"}
... status ?!SΣ 1..1 code #active for provided consent document, #proposed for provided on day of theatre, #draft for undecided consent approach, and #inactive for withdrawn or revoked consent (not currently supported).
Binding: EBookings Consent Status ValueSet (required)
... scope ?!SΣ 1..1 CodeableConcept Fixed: treatment
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 1..1 Coding Code defined by a terminology system

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: treatment
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... category SΣ 1..1 CodeableConcept Fixed: Consent Document
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 1..1 Coding Code defined by a terminology system

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 59284-0
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... patient SΣ 1..1 Reference(EBookings Patient) Patient the consent applies to
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Relative reference to Patient
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... dateTime SΣ 1..1 dateTime When this consent was created
... performer SΣ 0..1 Reference(AU Base RelatedPerson | EBookings Patient) Patient or related person agreeing to the policy
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Relative reference to Patient
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Name of related person
... organization SΣ 1..1 Reference(Genie Organization) Practice that is custodian of the consent
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Reference to practice organization
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Practice organization name
... Slices for source[x] Σ 0..1 Source from which this consent is taken
Slice: Unordered, Open by type:$this
.... sourceAttachment Attachment
.... sourceReference Reference(Consent | DocumentReference | Contract | QuestionnaireResponse)
.... source[x]:sourceAttachment SΣ 0..1 Attachment Consent form (pdf)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType Σ 1..1 code Fixed: application/pdf
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Required Pattern: application/pdf
..... language Σ 0..1 code Human language of the content (BCP-47)
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding

Example General: en-AU
..... url Σ 1..1 url Persistent url to attachment file
Example General: http://www.acme.com/logo-small.png
..... size Σ 0..1 unsignedInt Number of bytes of content (if url provided)
..... hash Σ 0..1 base64Binary Hash of the data (sha-1, base64ed)
..... title Σ 0..1 string Label to display in place of the data
Example General: Official Corporate Logo
..... creation Σ 0..1 dateTime Date attachment was first created
... policy 1..1 BackboneElement Consent policy
.... 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
.... authority SC 1..1 uri Authority of the consent policy (e.g. the hospital or health group URL)
.... uri SC 1..1 uri Unique identifier of the consent policy
... policyRule ΣC 0..1 CodeableConcept Regulation that this consents to
Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples.
... verification Σ 0..* BackboneElement Consent Verified by patient or family
.... 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
.... verified Σ 1..1 boolean Has been verified
.... verifiedWith 0..1 Reference(Patient | RelatedPerson) Person who verified
.... verificationDate 0..1 dateTime When consent verified
... provision Σ 1..1 BackboneElement Consent for procedure
.... 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Σ 1..1 code permit | deny
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
.... period Σ 0..1 Period Timeframe for this rule
.... actor S 1..1 BackboneElement Healthcare provider being consented to perform the treatment
..... 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 1..1 CodeableConcept healthcare provider
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleClass
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: PROV
....... display 1..1 string Representation defined by the system
Fixed Value: healthcare provider
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... reference 1..1 Reference(EBookings VMO | Genie PractitionerRole) Resource for the healthcare provider
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC 1..1 string Relative reference to PractitionerRole
...... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
...... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
...... display Σ 0..1 string Text alternative for the resource
.... action Σ 0..* CodeableConcept Actions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.
.... securityLabel Σ 0..* Coding Security Labels that define affected resources
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... purpose Σ 0..* Coding Context of activities covered by this rule
Binding: PurposeOfUse (3.1.0) (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.
.... class Σ 0..* Coding e.g. Resource Type, Profile, CDA, etc.
Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers.
.... code SΣ 1..1 CodeableConcept Procedure being consented
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ 0..* Coding Code defined by a terminology system
..... text Σ 1..1 string Procedure name
.... dataPeriod Σ 0..1 Period Timeframe for data controlled by this rule
.... data SΣ 1..1 BackboneElement Service request being consented
..... 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
..... meaning Σ 1..1 code dependents
Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions.
Required Pattern: dependents
..... reference Σ 1..1 Reference(EBookings ServiceRequest) Relative reference to ServiceRequest
.... provision 0..1 BackboneElement Addition consent for blood transfusion
..... 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Σ 1..1 code permit | deny
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
..... period Σ 0..1 Period Timeframe for this rule
..... actor 0..* 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 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
...... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
..... action Σ 0..* CodeableConcept Actions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.
..... securityLabel Σ 0..* Coding Security Labels that define affected resources
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
..... purpose Σ 0..* Coding Context of activities covered by this rule
Binding: PurposeOfUse (3.1.0) (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.
..... class Σ 0..* Coding e.g. Resource Type, Profile, CDA, etc.
Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers.
..... code SΣ 1..1 CodeableConcept Blood transfusion being consented
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding SΣ 1..1 Coding Code defined by a terminology system

Required Pattern: At least the following
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 10415-8
....... display 1..1 string Representation defined by the system
Fixed Value: Transfuse blood exchange transfusion [Volume]
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
..... dataPeriod Σ 0..1 Period Timeframe for data controlled by this rule
..... data Σ 0..* BackboneElement Data controlled by this rule
...... 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
...... meaning Σ 1..1 code instance | related | dependents | authoredby
Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions.
...... reference Σ 1..1 Reference(Resource) The actual data reference
..... provision 0..* See provision (Consent) Nested Exception Rules

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Consent.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Consent.status Base required EBookings Consent Status ValueSet 📦1.3.2 This IG
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.patient.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Consent.performer.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Consent.organization.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Consent.source[x]:sourceAttachment.​contentType Base required MimeType 📍4.0.1 FHIR Std.
Consent.source[x]:sourceAttachment.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
Consent.policyRule Base extensible Consent PolicyRule Codes 📍4.0.1 FHIR Std.
Consent.provision.type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.actor.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.actor.​reference.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Consent.provision.action Base example Consent Action Codes 📍4.0.1 FHIR Std.
Consent.provision.securityLabel Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Consent.provision.purpose Base extensible PurposeOfUse 📍3.1.0 THO v7.4
Consent.provision.class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.code Base example Consent Content Codes 📍4.0.1 FHIR Std.
Consent.provision.data.​meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.
Consent.provision.provision.​type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.provision.​actor.role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.provision.​action Base example Consent Action Codes 📍4.0.1 FHIR Std.
Consent.provision.provision.​securityLabel Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Consent.provision.provision.​purpose Base extensible PurposeOfUse 📍3.1.0 THO v7.4
Consent.provision.provision.​class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.provision.​code Base example Consent Content Codes 📍4.0.1 FHIR Std.
Consent.provision.provision.​data.meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()
ebookings-consent-active-attachment-01 error Consent sourceAttachment SHALL be present when status is active status = 'active' implies source.ofType(Attachment).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()

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, ebookings-consent-active-attachment-01
... id SΣ 0..1 id Logical id of this artifact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code #active for provided consent document, #proposed for provided on day of theatre, #draft for undecided consent approach, and #inactive for withdrawn or revoked consent (not currently supported).
Binding: EBookings Consent Status ValueSet (required)
... scope ?!SΣ 1..1 CodeableConcept Fixed: treatment
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.
.... coding SΣ 1..1 Coding Code defined by a terminology system

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: treatment
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
... category SΣ 1..1 CodeableConcept Fixed: Consent Document
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.
.... coding SΣ 1..1 Coding Code defined by a terminology system

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 59284-0
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
... patient SΣ 1..1 Reference(EBookings Patient) Patient the consent applies to
.... reference ΣC 1..1 string Relative reference to Patient
... dateTime SΣ 1..1 dateTime When this consent was created
... performer SΣ 0..1 Reference(AU Base RelatedPerson | EBookings Patient) Patient or related person agreeing to the policy
.... reference ΣC 0..1 string Relative reference to Patient
.... display Σ 0..1 string Name of related person
... organization SΣ 1..1 Reference(Genie Organization) Practice that is custodian of the consent
.... reference ΣC 0..1 string Reference to practice organization
.... display Σ 0..1 string Practice organization name
... Slices for source[x] Σ 0..1 Source from which this consent is taken
Slice: Unordered, Open by type:$this
.... sourceAttachment Attachment
.... sourceReference Reference(Consent | DocumentReference | Contract | QuestionnaireResponse)
.... source[x]:sourceAttachment SΣ 0..1 Attachment Consent form (pdf)
..... contentType Σ 1..1 code Fixed: application/pdf
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Required Pattern: application/pdf
..... url Σ 1..1 url Persistent url to attachment file
Example General: http://www.acme.com/logo-small.png
... policy 1..1 BackboneElement Consent policy
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... authority SC 1..1 uri Authority of the consent policy (e.g. the hospital or health group URL)
.... uri SC 1..1 uri Unique identifier of the consent policy
... provision Σ 1..1 BackboneElement Consent for procedure
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type SΣ 1..1 code permit | deny
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
.... actor S 1..1 BackboneElement Healthcare provider being consented to perform the treatment
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role 1..1 CodeableConcept healthcare provider
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleClass
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: PROV
....... display 1..1 string Representation defined by the system
Fixed Value: healthcare provider
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... reference 1..1 Reference(EBookings VMO | Genie PractitionerRole) Resource for the healthcare provider
...... reference ΣC 1..1 string Relative reference to PractitionerRole
.... code SΣ 1..1 CodeableConcept Procedure being consented
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
..... text Σ 1..1 string Procedure name
.... data SΣ 1..1 BackboneElement Service request being consented
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... meaning Σ 1..1 code dependents
Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions.
Required Pattern: dependents
..... reference Σ 1..1 Reference(EBookings ServiceRequest) Relative reference to ServiceRequest
.... provision 0..1 BackboneElement Addition consent for blood transfusion
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type SΣ 1..1 code permit | deny
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
..... code SΣ 1..1 CodeableConcept Blood transfusion being consented
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
...... coding SΣ 1..1 Coding Code defined by a terminology system

Required Pattern: At least the following
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 10415-8
....... display 1..1 string Representation defined by the system
Fixed Value: Transfuse blood exchange transfusion [Volume]
....... userSelected 0..1 boolean If this coding was chosen directly by the user

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Consent.status Base required EBookings Consent Status ValueSet 📦1.3.2 This IG
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.source[x]:sourceAttachment.​contentType Base required MimeType 📍4.0.1 FHIR Std.
Consent.provision.type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.actor.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.code Base example Consent Content Codes 📍4.0.1 FHIR Std.
Consent.provision.data.​meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.
Consent.provision.provision.​type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.provision.​code Base example Consent Content Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()
ebookings-consent-active-attachment-01 error Consent sourceAttachment SHALL be present when status is active status = 'active' implies source.ofType(Attachment).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

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: ebookings-consent-active-attachment-01
... id S 0..1 id Logical id of this artifact
... status S 1..1 code #active for provided consent document, #proposed for provided on day of theatre, #draft for undecided consent approach, and #inactive for withdrawn or revoked consent (not currently supported).
Binding: EBookings Consent Status ValueSet (required)
... scope S 1..1 CodeableConcept Fixed: treatment
.... coding S 1..1 Coding Code defined by a terminology system
Required Pattern: At least the following
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: treatment
... category S 1..1 CodeableConcept Fixed: Consent Document
.... coding S 1..1 Coding Code defined by a terminology system
Required Pattern: At least the following
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 59284-0
... patient S 1..1 Reference(EBookings Patient) Patient the consent applies to
.... reference 1..1 string Relative reference to Patient
... dateTime S 1..1 dateTime When this consent was created
... performer S 0..1 Reference(AU Base RelatedPerson | EBookings Patient) Patient or related person agreeing to the policy
.... reference 0..1 string Relative reference to Patient
.... display 0..1 string Name of related person
... organization S 1..1 Reference(Genie Organization) Practice that is custodian of the consent
.... reference 0..1 string Reference to practice organization
.... display 0..1 string Practice organization name
... Slices for source[x] 0..1 Attachment, Reference(Consent | DocumentReference | Contract | QuestionnaireResponse) Source from which this consent is taken
Slice: Unordered, Open by type:$this
.... source[x]:sourceAttachment S 0..1 Attachment Consent form (pdf)
..... contentType 1..1 code Fixed: application/pdf
Required Pattern: application/pdf
..... data 0..0 Prohibited — consent forms are never inlined
..... url 1..1 url Persistent url to attachment file
... policy 1..1 BackboneElement Consent policy
.... authority S 1..1 uri Authority of the consent policy (e.g. the hospital or health group URL)
.... uri S 1..1 uri Unique identifier of the consent policy
... provision 1..1 BackboneElement Consent for procedure
.... type S 1..1 code permit | deny
.... actor S 1..1 BackboneElement Healthcare provider being consented to perform the treatment
..... role 1..1 CodeableConcept healthcare provider
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleClass
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: PROV
....... display 1..1 string Representation defined by the system
Fixed Value: healthcare provider
..... reference 1..1 Reference(EBookings VMO | Genie PractitionerRole) Resource for the healthcare provider
...... reference 1..1 string Relative reference to PractitionerRole
.... code S 1..1 CodeableConcept Procedure being consented
..... text 1..1 string Procedure name
.... data S 1..1 BackboneElement Service request being consented
..... meaning 1..1 code dependents
Required Pattern: dependents
..... reference 1..1 Reference(EBookings ServiceRequest) Relative reference to ServiceRequest
.... provision 0..1 BackboneElement Addition consent for blood transfusion
..... type S 1..1 code permit | deny
..... code S 1..1 CodeableConcept Blood transfusion being consented
...... coding S 1..1 Coding Code defined by a terminology system
Required Pattern: At least the following
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 10415-8
....... display 1..1 string Representation defined by the system
Fixed Value: Transfuse blood exchange transfusion [Volume]

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Consent.status Base required EBookings Consent Status ValueSet 📦1.3.2 This IG

Constraints

Id Grade Path(s) Description Expression
ebookings-consent-active-attachment-01 error Consent sourceAttachment SHALL be present when status is active status = 'active' implies source.ofType(Attachment).exists()

Snapshot ViewView

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, ebookings-consent-active-attachment-01
... id SΣ 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
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Identifier for this record (external references)

Example General: {"system":"http://acme.org/identifier/local/eCMS","value":"Local eCMS identifier"}
... status ?!SΣ 1..1 code #active for provided consent document, #proposed for provided on day of theatre, #draft for undecided consent approach, and #inactive for withdrawn or revoked consent (not currently supported).
Binding: EBookings Consent Status ValueSet (required)
... scope ?!SΣ 1..1 CodeableConcept Fixed: treatment
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 1..1 Coding Code defined by a terminology system

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/consentscope
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: treatment
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... category SΣ 1..1 CodeableConcept Fixed: Consent Document
Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 1..1 Coding Code defined by a terminology system

Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 59284-0
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... patient SΣ 1..1 Reference(EBookings Patient) Patient the consent applies to
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Relative reference to Patient
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... dateTime SΣ 1..1 dateTime When this consent was created
... performer SΣ 0..1 Reference(AU Base RelatedPerson | EBookings Patient) Patient or related person agreeing to the policy
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Relative reference to Patient
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Name of related person
... organization SΣ 1..1 Reference(Genie Organization) Practice that is custodian of the consent
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Reference to practice organization
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Practice organization name
... Slices for source[x] Σ 0..1 Source from which this consent is taken
Slice: Unordered, Open by type:$this
.... sourceAttachment Attachment
.... sourceReference Reference(Consent | DocumentReference | Contract | QuestionnaireResponse)
.... source[x]:sourceAttachment SΣ 0..1 Attachment Consent form (pdf)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... contentType Σ 1..1 code Fixed: application/pdf
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Required Pattern: application/pdf
..... language Σ 0..1 code Human language of the content (BCP-47)
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding

Example General: en-AU
..... url Σ 1..1 url Persistent url to attachment file
Example General: http://www.acme.com/logo-small.png
..... size Σ 0..1 unsignedInt Number of bytes of content (if url provided)
..... hash Σ 0..1 base64Binary Hash of the data (sha-1, base64ed)
..... title Σ 0..1 string Label to display in place of the data
Example General: Official Corporate Logo
..... creation Σ 0..1 dateTime Date attachment was first created
... policy 1..1 BackboneElement Consent policy
.... 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
.... authority SC 1..1 uri Authority of the consent policy (e.g. the hospital or health group URL)
.... uri SC 1..1 uri Unique identifier of the consent policy
... policyRule ΣC 0..1 CodeableConcept Regulation that this consents to
Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples.
... verification Σ 0..* BackboneElement Consent Verified by patient or family
.... 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
.... verified Σ 1..1 boolean Has been verified
.... verifiedWith 0..1 Reference(Patient | RelatedPerson) Person who verified
.... verificationDate 0..1 dateTime When consent verified
... provision Σ 1..1 BackboneElement Consent for procedure
.... 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Σ 1..1 code permit | deny
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
.... period Σ 0..1 Period Timeframe for this rule
.... actor S 1..1 BackboneElement Healthcare provider being consented to perform the treatment
..... 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 1..1 CodeableConcept healthcare provider
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleClass
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: PROV
....... display 1..1 string Representation defined by the system
Fixed Value: healthcare provider
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... reference 1..1 Reference(EBookings VMO | Genie PractitionerRole) Resource for the healthcare provider
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC 1..1 string Relative reference to PractitionerRole
...... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
...... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
...... display Σ 0..1 string Text alternative for the resource
.... action Σ 0..* CodeableConcept Actions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.
.... securityLabel Σ 0..* Coding Security Labels that define affected resources
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... purpose Σ 0..* Coding Context of activities covered by this rule
Binding: PurposeOfUse (3.1.0) (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.
.... class Σ 0..* Coding e.g. Resource Type, Profile, CDA, etc.
Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers.
.... code SΣ 1..1 CodeableConcept Procedure being consented
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ 0..* Coding Code defined by a terminology system
..... text Σ 1..1 string Procedure name
.... dataPeriod Σ 0..1 Period Timeframe for data controlled by this rule
.... data SΣ 1..1 BackboneElement Service request being consented
..... 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
..... meaning Σ 1..1 code dependents
Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions.
Required Pattern: dependents
..... reference Σ 1..1 Reference(EBookings ServiceRequest) Relative reference to ServiceRequest
.... provision 0..1 BackboneElement Addition consent for blood transfusion
..... 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Σ 1..1 code permit | deny
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
..... period Σ 0..1 Period Timeframe for this rule
..... actor 0..* 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 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
...... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
..... action Σ 0..* CodeableConcept Actions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.
..... securityLabel Σ 0..* Coding Security Labels that define affected resources
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
..... purpose Σ 0..* Coding Context of activities covered by this rule
Binding: PurposeOfUse (3.1.0) (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.
..... class Σ 0..* Coding e.g. Resource Type, Profile, CDA, etc.
Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers.
..... code SΣ 1..1 CodeableConcept Blood transfusion being consented
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding SΣ 1..1 Coding Code defined by a terminology system

Required Pattern: At least the following
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 10415-8
....... display 1..1 string Representation defined by the system
Fixed Value: Transfuse blood exchange transfusion [Volume]
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
..... dataPeriod Σ 0..1 Period Timeframe for data controlled by this rule
..... data Σ 0..* BackboneElement Data controlled by this rule
...... 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
...... meaning Σ 1..1 code instance | related | dependents | authoredby
Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions.
...... reference Σ 1..1 Reference(Resource) The actual data reference
..... provision 0..* See provision (Consent) Nested Exception Rules

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Consent.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Consent.status Base required EBookings Consent Status ValueSet 📦1.3.2 This IG
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Consent Category Codes 📍4.0.1 FHIR Std.
Consent.patient.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Consent.performer.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Consent.organization.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Consent.source[x]:sourceAttachment.​contentType Base required MimeType 📍4.0.1 FHIR Std.
Consent.source[x]:sourceAttachment.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
Consent.policyRule Base extensible Consent PolicyRule Codes 📍4.0.1 FHIR Std.
Consent.provision.type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.actor.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.actor.​reference.type Base extensible ResourceType 📍4.0.1 FHIR Std.
Consent.provision.action Base example Consent Action Codes 📍4.0.1 FHIR Std.
Consent.provision.securityLabel Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Consent.provision.purpose Base extensible PurposeOfUse 📍3.1.0 THO v7.4
Consent.provision.class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.code Base example Consent Content Codes 📍4.0.1 FHIR Std.
Consent.provision.data.​meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.
Consent.provision.provision.​type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.provision.​actor.role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.provision.​action Base example Consent Action Codes 📍4.0.1 FHIR Std.
Consent.provision.provision.​securityLabel Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Consent.provision.provision.​purpose Base extensible PurposeOfUse 📍3.1.0 THO v7.4
Consent.provision.provision.​class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.provision.​code Base example Consent Content Codes 📍4.0.1 FHIR Std.
Consent.provision.provision.​data.meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()
ebookings-consent-active-attachment-01 error Consent sourceAttachment SHALL be present when status is active status = 'active' implies source.ofType(Attachment).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()

 

Other representations of profile: CSV, Excel, Schematron