Guide d’Implémentation FHIR – Pré-admission Hospitalière en Ligne
0.1.0 - ci-build FRANCE

Guide d’Implémentation FHIR – Pré-admission Hospitalière en Ligne - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

## Resource Profile: Fr Preadmission Consent Profile

Official URL: http://hl7.fr/fhir/fr/preadmission/StructureDefinition/preadmission-consent-fr | Version: 0.1.0
Draft as of 2026-02-24 | Computable Name: PreadmissionConsentFr

Profil Consent pour les consentements lors de la préadmission

# Consentements dans le cadre de la préadmission hospitalière

Les consentements relatifs à la préadmission hospitalière doivent être exprimés par des ressources `Consent` distinctes conformes à FHIR R4, chacune couvrant un aspect spécifique tel que la consultation du DMP, l’alimentation du DMP, le traitement des données personnelles (RGPD) ou le partage d’informations personnelles avec un autre logiciel (par exemple, un portail de préadmission pour contacter le patient par SMS ou e-mail). En raison des catégories différentes utilisées (`57016-8` pour le RGPD et `59284-0` pour les autres consentements), les consentements RGPD doivent être séparés des autres consentements dans des ressources `Consent` distinctes. Il est recommandé d’utiliser une ressource `Consent` par type de consentement pour une clarté maximale, bien que les consentements DMP et partage avec un logiciel puissent être regroupés dans une même ressource si nécessaire, car ils partagent la même catégorie (`59284-0`).

## Structure de la ressource `Consent`

Chaque consentement est structuré par des provisions. Une provision définit l’action pour laquelle le patient consent ou refuse un traitement. Chaque provision comporte un code (définissant le contenu du consentement) et un purpose (précisant la finalité de l’action). Une ressource `Consent` contient généralement une seule provision pour représenter un consentement spécifique (par exemple, RGPD ou consultation DMP). Dans certains cas, une ressource peut contenir plusieurs provisions si elles partagent la même catégorie (par exemple, consultation et alimentation du DMP).

## Définition des champs `scope` et `category`

Les champs `scope` et `category` aident à classifier le consentement de façon uniforme :

- `scope` :
  - scope.coding.system : `http://terminology.hl7.org/CodeSystem/consentscope`
  - scope.coding.code : `patient-privacy`
    Cela indique que le consentement concerne la confidentialité des informations du patient.
- `category` :
  - category.coding.system : `http://loinc.org`
  - category.coding.code :
    - `59284-0` (Consent Document) pour les consentements liés à l’alimentation du DMP, la consultation du DMP, et le partage avec un logiciel.
    - `57016-8` (Privacy Policy Acknowledgment Document) pour le consentement RGPD.
      Ces codes LOINC standardisés identifient le type de document de consentement. En raison de ces catégories différentes, une ressource `Consent` ne peut pas combiner le RGPD avec les autres consentements ; ils doivent être séparés en ressources distinctes.

Ces valeurs sont appliquées systématiquement afin d’assurer une classification conforme aux standards d’interopérabilité FHIR R4.

## Types de consentements et leurs champs

### Recueil des consentements liés à Mon Espace Santé

Le recueil des consentements des patients est défini conformément aux dispositions de l’article R. 1111-46 du Code de la santé publique, tel que précisé dans l’annexe 4 disponible sur Légifrance :
https://www.legifrance.gouv.fr/jorf/article_jo/JORFARTI000048368264

Ce dispositif encadre les conditions de recueil, de conservation et de traçabilité du consentement des personnes concernées, afin de garantir le respect de leurs droits en matière d’information, de confidentialité et de protection des données de santé.

Le recueil du consentement doit être effectué à chaque nouvel épisode de soin, afin de s’assurer que le patient est pleinement informé et consentant pour chaque prise en charge.

### Consentement pour la consultation du DMP

- Objectif : Permettre au patient de donner ou de refuser son consentement pour la consultation de son Dossier Médical Partagé (DMP).
- Ressource dédiée : Une ressource `Consent` distincte avec `category` `59284-0`.
- Provisions :
  - Code : `access` (indiquant l’accès aux données du DMP, issu du `CodeSystem` `http://terminology.hl7.org/CodeSystem/consentaction`).
  - Purpose : `TREAT`
    (Ce code, issu du `ValueSet` `http://hl7.org/fhir/ValueSet/v3-PurposeOfUse`, signale que l’accès au DMP a pour finalité la prise en charge clinique.)
  - Validation :
    - `permit` si le consentement est donné.
    - `deny` en cas de refus.
  - Cas d’absence de consentement explicite :
    En l’absence d’une réponse claire (ni consentement ni refus), le champ `provision.type` est laissé vide pour indiquer l’absence de consentement explicite.

### Consentement pour l’alimentation du DMP

- Objectif : Permettre au patient de consentir ou refuser l’alimentation (mise à jour) de son DMP.
- Ressource dédiée : Une ressource `Consent` distincte avec `category` `59284-0`, ou combinée avec la consultation DMP ou le partage avec un logiciel si plusieurs provisions sont nécessaires.
- Provisions :
  - Code : `collect` (indiquant la collecte de données pour le DMP, issu du `CodeSystem` `http://terminology.hl7.org/CodeSystem/consentaction`).
  - Purpose : `TREAT`
    (Ce code précise que l’alimentation du DMP s’inscrit dans la prise en charge clinique.)
  - Validation :
    - `permit` en cas d’accord.
    - `deny` en cas de refus.
  - Cas d’absence de position explicite :
    En l’absence d’une réponse claire (ni consentement ni refus), le champ `provision.type` est laissé vide pour indiquer l’absence de consentement explicite.

### Consentement au RGPD

- Objectif : Permettre au patient de consentir ou refuser le traitement de ses données personnelles dans le cadre du RGPD.
- Ressource dédiée : Une ressource `Consent` distincte avec `category` `57016-8`, séparée des autres consentements en raison de la catégorie différente.
- Provisions :
  - Code : `collect` (indiquant la collecte de données personnelles, issu du `CodeSystem` `http://terminology.hl7.org/CodeSystem/consentaction`).
  - Purpose : `PATREQ`
    (Ce code, issu du `ValueSet` `http://hl7.org/fhir/ValueSet/v3-PurposeOfUse`, indique que le traitement des données repose sur une demande explicite du patient, conformément aux exigences du RGPD.)
  - Validation :
    - `permit` si le consentement est accordé.
    - `deny` en cas de refus.

### Consentement pour le partage des informations personnelles avec un autre logiciel

- Objectif : Permettre au patient de consentir ou refuser le partage de ses informations personnelles (par exemple, numéro de téléphone ou adresse e-mail) avec un logiciel tiers pour des communications directes, telles que l’envoi de SMS ou d’e-mails (par exemple, rappels de rendez-vous ou informations administratives).
- Ressource dédiée : Une ressource `Consent` distincte avec `category` `59284-0`, ou combinée avec les consentements DMP si plusieurs provisions sont nécessaires.
- Provisions :
  - Code : `disclose` (indiquant la divulgation d’informations à un tiers, issu du `CodeSystem` `http://terminology.hl7.org/CodeSystem/consentaction`).
  - Purpose : `PATREQ`
    (Ce code, issu du `ValueSet` `http://hl7.org/fhir/ValueSet/v3-PurposeOfUse`, indique que le partage d’informations est effectué à la demande explicite du patient pour permettre des communications directes.)
  - Validation :
    - `permit` en cas d’autorisation.
    - `deny` en cas de refus.

## Cas particulier : consentements DMP non recueillis

Dans certains cas, le consentement pour la consultation ou l’alimentation du DMP peut ne pas être explicitement exprimé (ni acceptation, ni refus clairement indiqué). Dans ce contexte, il est recommandé de :

- Créer une ressource `Consent` pour documenter l’absence de consentement explicite, avec `category` `59284-0`.
- Laisser le champ `provision.type` vide (non défini) pour indiquer qu’aucune décision formelle n’a été exprimée.

Cette approche permet de garantir une traçabilité précise et de distinguer un refus explicite d’une absence de réponse.

## Résumé des champs à renseigner pour chaque consentement

Consentement | Category Code | Provision Code | Purpose | Type de provision
--- | --- | --- | --- | ---
Consultation du DMP | 59284-0 | access | TREAT | `permit`, `deny` ou vide
Alimentation du DMP | 59284-0 | collect | TREAT | `permit`, `deny` ou vide
RGPD | 57016-8 | collect | PATREQ | `permit` ou `deny`
Partage des informations personnelles | 59284-0 | disclose | PATREQ | `permit` ou `deny`

## Utilisation des codes pour le champ provision.purpose dans les Consent

Dans le cadre de la préadmission hospitalière, nous utilisons des codes issus du `ValueSet` `http://hl7.org/fhir/ValueSet/v3-PurposeOfUse` pour préciser la finalité des provisions dans la ressource `Consent`. Les choix retenus sont :

- TREAT pour la consultation et l’alimentation du DMP
  (Indiquant que le consentement soutient la prise en charge clinique.)
- PATREQ pour le traitement des données personnelles (RGPD) et le partage d’informations personnelles avec un logiciel tiers
  (Indiquant que ces actions reposent sur une demande explicite du patient, conforme au RGPD ou aux préférences de communication du patient.)

## Récupération de la ressource Consent liée à un Appointment ou un Encounter

Pour récupérer les ressources Consent associées à un rendez-vous (Appointment) ou à un séjour (Encounter), il est recommandé d’utiliser le champ Consent.data. Ce champ permet de référencer directement les ressources concernées par le consentement.

> Exemple de requête GET : récupérer les consentements liés à un rendez-vous (Appointment) :
> `GET [base]/Consent?data=Appointment/5678`
> Cette requête retourne tous les consentments associées au rendez-vous d’ID `5678`.

> Exemple de requête GET : récupérer les consentements liés à un séjour (Encounter) : `GET [base]/Consent?data=Encounter/9876` Cette requête retourne tous les consentments associées à l’encounter d’ID `9876`.

Usages:

- Examples for this Profile: Consent/consentement-dmp-alimentation, Consent/consentement-dmp-consultation, Consent/consentement-multi and Consent/consentement-refus-rgpd
- CapabilityStatements using this Profile: Capacités serveur FHIR pour l'IG Preadmission

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Consent | C | 0..* | Consent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | draft | proposed | active | rejected | inactive | entered-in-error Binding: ConsentState (required): Indicates the state of the consent. Fixed Value: active
scope | ?!Σ | 1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource. Required Pattern: At least the following
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/consentscope
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: patient-privacy
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 | Σ | 1..* | CodeableConcept | Classification of the consent statement - for indexing/retrieval Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.
coding | Σ | 1..* | Coding | Code defined by a terminology system Binding: preadmission-consent-category-vs (required)
patient | Σ | 1..1 | Reference(FR Core Patient Profile) | Who the consent applies to
dateTime | Σ | 1..1 | dateTime | When this Consent was created or indexed
provision | Σ | 1..1 | BackboneElement | Constraints to the base Consent.policyRule
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 0..1 | code | deny | permit Binding: ConsentProvisionType (required)
provision |  | 0..* | BackboneElement | Nested Exception Rules
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 0..1 | code | deny | permit Binding: ConsentProvisionType (required)
purpose | Σ | 1..1 | Coding | Context of activities covered by this rule Binding: preadmission-consent-purpose-reason-vs (required)
code | Σ | 1..1 | CodeableConcept | e.g. LOINC or SNOMED CT code, etc. in the content Binding: preadmission-consent-code-vs (required)
Documentation for this format

#### Terminology Bindings

Path | Conformité | ValueSet / Code | URI
Consent.status | required | Fixed Value: active `http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1` From the FHIR Standard
Consent.scope | extensible | Pattern Value: patient-privacy `http://hl7.org/fhir/ValueSet/consent-scope` From the FHIR Standard
Consent.category | extensible | ConsentCategoryCodes `http://hl7.org/fhir/ValueSet/consent-category` From the FHIR Standard
Consent.category.coding | required | PreadmissionConsentCategoryVS `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-category-vs` From this IG
Consent.provision.type | required | ConsentProvisionType `http://hl7.org/fhir/ValueSet/consent-provision-type` From the FHIR Standard
Consent.provision.provision.type | required | ConsentProvisionType `http://hl7.org/fhir/ValueSet/consent-provision-type` From the FHIR Standard
Consent.provision.provision.purpose | required | PreadmissionConsentPurposeReasonVS `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-purpose-reason-vs` From this IG
Consent.provision.provision.code | required | PreadmissionConsentCodeValueSet `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-code-vs` From this IG

#### Constraints

Id | Grade | Path(s) | Détails | Requirements
dom-2 | error | Consent | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Consent | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-4 | error | Consent | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() |
dom-5 | error | Consent | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Consent | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ppc-1 | error | Consent | Either a Policy or PolicyRule : policy.exists() or policyRule.exists() |
ppc-2 | error | Consent | IF Scope=privacy, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not() |
ppc-3 | error | Consent | IF Scope=research, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='research').exists().not() |
ppc-4 | error | Consent | IF Scope=adr, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='adr').exists().not() |
ppc-5 | error | Consent | IF Scope=treatment, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not() |

This structure is derived from Consent

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Consent |  | 0..* | Consent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
status |  | 1..1 | code | draft | proposed | active | rejected | inactive | entered-in-error Fixed Value: active
scope |  | 1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) 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/consentscope
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: patient-privacy
category |  |  |  |
coding |  | 1..* | Coding | Code defined by a terminology system Binding: preadmission-consent-category-vs (required)
patient |  | 1..1 | Reference(FR Core Patient Profile) | Who the consent applies to
dateTime |  | 1..1 | dateTime | When this Consent was created or indexed
provision |  | 1..1 | BackboneElement | Constraints to the base Consent.policyRule
type |  | 0..1 | code | deny | permit Binding: ConsentProvisionType (required)
provision |  | 0..* | BackboneElement | Nested Exception Rules
type |  | 0..1 | code | deny | permit Binding: ConsentProvisionType (required)
purpose |  | 1..1 | Coding | Context of activities covered by this rule Binding: preadmission-consent-purpose-reason-vs (required)
code |  | 1..1 | CodeableConcept | e.g. LOINC or SNOMED CT code, etc. in the content Binding: preadmission-consent-code-vs (required)
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformité | ValueSet | URI
Consent.category.coding | required | PreadmissionConsentCategoryVS `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-category-vs` From this IG
Consent.provision.type | required | ConsentProvisionType `http://hl7.org/fhir/ValueSet/consent-provision-type` From the FHIR Standard
Consent.provision.provision.type | required | ConsentProvisionType `http://hl7.org/fhir/ValueSet/consent-provision-type` From the FHIR Standard
Consent.provision.provision.purpose | required | PreadmissionConsentPurposeReasonVS `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-purpose-reason-vs` From this IG
Consent.provision.provision.code | required | PreadmissionConsentCodeValueSet `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-code-vs` From this IG

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Consent | C | 0..* | Consent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Bindings Additionnels | But
AllLanguages | Binding Max
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) Exemple General: {"system":"http://acme.org/identifier/local/eCMS","value":"Local eCMS identifier"}
status | ?!Σ | 1..1 | code | draft | proposed | active | rejected | inactive | entered-in-error Binding: ConsentState (required): Indicates the state of the consent. Fixed Value: active
scope | ?!Σ | 1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource. Required Pattern: At least the following
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/consentscope
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: patient-privacy
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 | Σ | 1..* | CodeableConcept | Classification of the consent statement - for indexing/retrieval 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 | Σ | 1..* | Coding | Code defined by a terminology system Binding: preadmission-consent-category-vs (required)
text | Σ | 0..1 | string | Plain text representation of the concept
patient | Σ | 1..1 | Reference(FR Core Patient Profile) | Who the consent applies to
dateTime | Σ | 1..1 | dateTime | When this Consent was created or indexed
performer | Σ | 0..* | Reference(Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) | Who is agreeing to the policy and rules
organization | Σ | 0..* | Reference(Organization) | Custodian of the consent
source[x] | Σ | 0..1 |  | Source from which this consent is taken
sourceAttachment |  |  | Attachment |
sourceReference |  |  | Reference(Consent | DocumentReference | Contract | QuestionnaireResponse) |
policy |  | 0..* | BackboneElement | Policies covered by this consent
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
authority | C | 0..1 | uri | Enforcement source for policy
uri | C | 0..1 | uri | Specific policy covered by this consent
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 | Constraints to the base Consent.policyRule
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 | Σ | 0..1 | code | deny | permit Binding: ConsentProvisionType (required)
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 (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 | Σ | 0..* | CodeableConcept | e.g. LOINC or SNOMED CT code, etc. in the content Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
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..* | BackboneElement | Nested Exception Rules
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 | Σ | 0..1 | code | deny | permit Binding: ConsentProvisionType (required)
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 | Σ | 1..1 | Coding | Context of activities covered by this rule Binding: preadmission-consent-purpose-reason-vs (required)
class | Σ | 0..* | Coding | e.g. Resource Type, Profile, CDA, etc. Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers.
code | Σ | 1..1 | CodeableConcept | e.g. LOINC or SNOMED CT code, etc. in the content Binding: preadmission-consent-code-vs (required)
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
Documentation for this format

#### Terminology Bindings

Path | Conformité | ValueSet / Code | URI
Consent.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
Bindings Additionnels | But
AllLanguages | Binding Max
Consent.status | required | Fixed Value: active `http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1` From the FHIR Standard
Consent.scope | extensible | Pattern Value: patient-privacy `http://hl7.org/fhir/ValueSet/consent-scope` From the FHIR Standard
Consent.category | extensible | ConsentCategoryCodes `http://hl7.org/fhir/ValueSet/consent-category` From the FHIR Standard
Consent.category.coding | required | PreadmissionConsentCategoryVS `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-category-vs` From this IG
Consent.policyRule | extensible | ConsentPolicyRuleCodes `http://hl7.org/fhir/ValueSet/consent-policy` From the FHIR Standard
Consent.provision.type | required | ConsentProvisionType `http://hl7.org/fhir/ValueSet/consent-provision-type` From the FHIR Standard
Consent.provision.actor.role | extensible | SecurityRoleType `http://hl7.org/fhir/ValueSet/security-role-type` From the FHIR Standard
Consent.provision.action | example | ConsentActionCodes `http://hl7.org/fhir/ValueSet/consent-action` From the FHIR Standard
Consent.provision.securityLabel | extensible | All Security Labels `http://hl7.org/fhir/ValueSet/security-labels` From the FHIR Standard
Consent.provision.purpose | extensible | PurposeOfUse `http://terminology.hl7.org/ValueSet/v3-PurposeOfUse`
Consent.provision.class | extensible | ConsentContentClass `http://hl7.org/fhir/ValueSet/consent-content-class` From the FHIR Standard
Consent.provision.code | example | ConsentContentCodes(a valid code from LOINC) `http://hl7.org/fhir/ValueSet/consent-content-code` From the FHIR Standard
Consent.provision.data.meaning | required | ConsentDataMeaning `http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1` From the FHIR Standard
Consent.provision.provision.type | required | ConsentProvisionType `http://hl7.org/fhir/ValueSet/consent-provision-type` From the FHIR Standard
Consent.provision.provision.actor.role | extensible | SecurityRoleType `http://hl7.org/fhir/ValueSet/security-role-type` From the FHIR Standard
Consent.provision.provision.action | example | ConsentActionCodes `http://hl7.org/fhir/ValueSet/consent-action` From the FHIR Standard
Consent.provision.provision.securityLabel | extensible | All Security Labels `http://hl7.org/fhir/ValueSet/security-labels` From the FHIR Standard
Consent.provision.provision.purpose | required | PreadmissionConsentPurposeReasonVS `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-purpose-reason-vs` From this IG
Consent.provision.provision.class | extensible | ConsentContentClass `http://hl7.org/fhir/ValueSet/consent-content-class` From the FHIR Standard
Consent.provision.provision.code | required | PreadmissionConsentCodeValueSet `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-code-vs` From this IG
Consent.provision.provision.data.meaning | required | ConsentDataMeaning `http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Détails | Requirements
dom-2 | error | Consent | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Consent | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-4 | error | Consent | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() |
dom-5 | error | Consent | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Consent | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ppc-1 | error | Consent | Either a Policy or PolicyRule : policy.exists() or policyRule.exists() |
ppc-2 | error | Consent | IF Scope=privacy, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not() |
ppc-3 | error | Consent | IF Scope=research, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='research').exists().not() |
ppc-4 | error | Consent | IF Scope=adr, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='adr').exists().not() |
ppc-5 | error | Consent | IF Scope=treatment, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not() |

This structure is derived from Consent

Résumé

Mandatory: 4 elements(2 nested mandatory elements)
Fixed: 1 element

Structures

This structure refers to these other structures:

- FR Core Patient Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-patient)

Key Elements View

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Consent | C | 0..* | Consent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | draft | proposed | active | rejected | inactive | entered-in-error Binding: ConsentState (required): Indicates the state of the consent. Fixed Value: active
scope | ?!Σ | 1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource. Required Pattern: At least the following
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/consentscope
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: patient-privacy
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 | Σ | 1..* | CodeableConcept | Classification of the consent statement - for indexing/retrieval Binding: ConsentCategoryCodes (extensible): A classification of the type of consents found in a consent statement.
coding | Σ | 1..* | Coding | Code defined by a terminology system Binding: preadmission-consent-category-vs (required)
patient | Σ | 1..1 | Reference(FR Core Patient Profile) | Who the consent applies to
dateTime | Σ | 1..1 | dateTime | When this Consent was created or indexed
provision | Σ | 1..1 | BackboneElement | Constraints to the base Consent.policyRule
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 0..1 | code | deny | permit Binding: ConsentProvisionType (required)
provision |  | 0..* | BackboneElement | Nested Exception Rules
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ | 0..1 | code | deny | permit Binding: ConsentProvisionType (required)
purpose | Σ | 1..1 | Coding | Context of activities covered by this rule Binding: preadmission-consent-purpose-reason-vs (required)
code | Σ | 1..1 | CodeableConcept | e.g. LOINC or SNOMED CT code, etc. in the content Binding: preadmission-consent-code-vs (required)
Documentation for this format

#### Terminology Bindings

Path | Conformité | ValueSet / Code | URI
Consent.status | required | Fixed Value: active `http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1` From the FHIR Standard
Consent.scope | extensible | Pattern Value: patient-privacy `http://hl7.org/fhir/ValueSet/consent-scope` From the FHIR Standard
Consent.category | extensible | ConsentCategoryCodes `http://hl7.org/fhir/ValueSet/consent-category` From the FHIR Standard
Consent.category.coding | required | PreadmissionConsentCategoryVS `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-category-vs` From this IG
Consent.provision.type | required | ConsentProvisionType `http://hl7.org/fhir/ValueSet/consent-provision-type` From the FHIR Standard
Consent.provision.provision.type | required | ConsentProvisionType `http://hl7.org/fhir/ValueSet/consent-provision-type` From the FHIR Standard
Consent.provision.provision.purpose | required | PreadmissionConsentPurposeReasonVS `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-purpose-reason-vs` From this IG
Consent.provision.provision.code | required | PreadmissionConsentCodeValueSet `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-code-vs` From this IG

#### Constraints

Id | Grade | Path(s) | Détails | Requirements
dom-2 | error | Consent | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Consent | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-4 | error | Consent | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() |
dom-5 | error | Consent | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Consent | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ppc-1 | error | Consent | Either a Policy or PolicyRule : policy.exists() or policyRule.exists() |
ppc-2 | error | Consent | IF Scope=privacy, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not() |
ppc-3 | error | Consent | IF Scope=research, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='research').exists().not() |
ppc-4 | error | Consent | IF Scope=adr, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='adr').exists().not() |
ppc-5 | error | Consent | IF Scope=treatment, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not() |

Differential View

This structure is derived from Consent

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Consent |  | 0..* | Consent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
status |  | 1..1 | code | draft | proposed | active | rejected | inactive | entered-in-error Fixed Value: active
scope |  | 1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) 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/consentscope
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: patient-privacy
category |  |  |  |
coding |  | 1..* | Coding | Code defined by a terminology system Binding: preadmission-consent-category-vs (required)
patient |  | 1..1 | Reference(FR Core Patient Profile) | Who the consent applies to
dateTime |  | 1..1 | dateTime | When this Consent was created or indexed
provision |  | 1..1 | BackboneElement | Constraints to the base Consent.policyRule
type |  | 0..1 | code | deny | permit Binding: ConsentProvisionType (required)
provision |  | 0..* | BackboneElement | Nested Exception Rules
type |  | 0..1 | code | deny | permit Binding: ConsentProvisionType (required)
purpose |  | 1..1 | Coding | Context of activities covered by this rule Binding: preadmission-consent-purpose-reason-vs (required)
code |  | 1..1 | CodeableConcept | e.g. LOINC or SNOMED CT code, etc. in the content Binding: preadmission-consent-code-vs (required)
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformité | ValueSet | URI
Consent.category.coding | required | PreadmissionConsentCategoryVS `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-category-vs` From this IG
Consent.provision.type | required | ConsentProvisionType `http://hl7.org/fhir/ValueSet/consent-provision-type` From the FHIR Standard
Consent.provision.provision.type | required | ConsentProvisionType `http://hl7.org/fhir/ValueSet/consent-provision-type` From the FHIR Standard
Consent.provision.provision.purpose | required | PreadmissionConsentPurposeReasonVS `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-purpose-reason-vs` From this IG
Consent.provision.provision.code | required | PreadmissionConsentCodeValueSet `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-code-vs` From this IG

Snapshot View

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Consent | C | 0..* | Consent | A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Bindings Additionnels | But
AllLanguages | Binding Max
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) Exemple General: {"system":"http://acme.org/identifier/local/eCMS","value":"Local eCMS identifier"}
status | ?!Σ | 1..1 | code | draft | proposed | active | rejected | inactive | entered-in-error Binding: ConsentState (required): Indicates the state of the consent. Fixed Value: active
scope | ?!Σ | 1..1 | CodeableConcept | Which of the four areas this resource covers (extensible) Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource. Required Pattern: At least the following
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/consentscope
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: patient-privacy
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 | Σ | 1..* | CodeableConcept | Classification of the consent statement - for indexing/retrieval 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 | Σ | 1..* | Coding | Code defined by a terminology system Binding: preadmission-consent-category-vs (required)
text | Σ | 0..1 | string | Plain text representation of the concept
patient | Σ | 1..1 | Reference(FR Core Patient Profile) | Who the consent applies to
dateTime | Σ | 1..1 | dateTime | When this Consent was created or indexed
performer | Σ | 0..* | Reference(Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) | Who is agreeing to the policy and rules
organization | Σ | 0..* | Reference(Organization) | Custodian of the consent
source[x] | Σ | 0..1 |  | Source from which this consent is taken
sourceAttachment |  |  | Attachment |
sourceReference |  |  | Reference(Consent | DocumentReference | Contract | QuestionnaireResponse) |
policy |  | 0..* | BackboneElement | Policies covered by this consent
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
authority | C | 0..1 | uri | Enforcement source for policy
uri | C | 0..1 | uri | Specific policy covered by this consent
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 | Constraints to the base Consent.policyRule
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 | Σ | 0..1 | code | deny | permit Binding: ConsentProvisionType (required)
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 (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 | Σ | 0..* | CodeableConcept | e.g. LOINC or SNOMED CT code, etc. in the content Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
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..* | BackboneElement | Nested Exception Rules
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 | Σ | 0..1 | code | deny | permit Binding: ConsentProvisionType (required)
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 | Σ | 1..1 | Coding | Context of activities covered by this rule Binding: preadmission-consent-purpose-reason-vs (required)
class | Σ | 0..* | Coding | e.g. Resource Type, Profile, CDA, etc. Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers.
code | Σ | 1..1 | CodeableConcept | e.g. LOINC or SNOMED CT code, etc. in the content Binding: preadmission-consent-code-vs (required)
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
Documentation for this format

#### Terminology Bindings

Path | Conformité | ValueSet / Code | URI
Consent.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
Bindings Additionnels | But
AllLanguages | Binding Max
Consent.status | required | Fixed Value: active `http://hl7.org/fhir/ValueSet/consent-state-codes|4.0.1` From the FHIR Standard
Consent.scope | extensible | Pattern Value: patient-privacy `http://hl7.org/fhir/ValueSet/consent-scope` From the FHIR Standard
Consent.category | extensible | ConsentCategoryCodes `http://hl7.org/fhir/ValueSet/consent-category` From the FHIR Standard
Consent.category.coding | required | PreadmissionConsentCategoryVS `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-category-vs` From this IG
Consent.policyRule | extensible | ConsentPolicyRuleCodes `http://hl7.org/fhir/ValueSet/consent-policy` From the FHIR Standard
Consent.provision.type | required | ConsentProvisionType `http://hl7.org/fhir/ValueSet/consent-provision-type` From the FHIR Standard
Consent.provision.actor.role | extensible | SecurityRoleType `http://hl7.org/fhir/ValueSet/security-role-type` From the FHIR Standard
Consent.provision.action | example | ConsentActionCodes `http://hl7.org/fhir/ValueSet/consent-action` From the FHIR Standard
Consent.provision.securityLabel | extensible | All Security Labels `http://hl7.org/fhir/ValueSet/security-labels` From the FHIR Standard
Consent.provision.purpose | extensible | PurposeOfUse `http://terminology.hl7.org/ValueSet/v3-PurposeOfUse`
Consent.provision.class | extensible | ConsentContentClass `http://hl7.org/fhir/ValueSet/consent-content-class` From the FHIR Standard
Consent.provision.code | example | ConsentContentCodes(a valid code from LOINC) `http://hl7.org/fhir/ValueSet/consent-content-code` From the FHIR Standard
Consent.provision.data.meaning | required | ConsentDataMeaning `http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1` From the FHIR Standard
Consent.provision.provision.type | required | ConsentProvisionType `http://hl7.org/fhir/ValueSet/consent-provision-type` From the FHIR Standard
Consent.provision.provision.actor.role | extensible | SecurityRoleType `http://hl7.org/fhir/ValueSet/security-role-type` From the FHIR Standard
Consent.provision.provision.action | example | ConsentActionCodes `http://hl7.org/fhir/ValueSet/consent-action` From the FHIR Standard
Consent.provision.provision.securityLabel | extensible | All Security Labels `http://hl7.org/fhir/ValueSet/security-labels` From the FHIR Standard
Consent.provision.provision.purpose | required | PreadmissionConsentPurposeReasonVS `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-purpose-reason-vs` From this IG
Consent.provision.provision.class | extensible | ConsentContentClass `http://hl7.org/fhir/ValueSet/consent-content-class` From the FHIR Standard
Consent.provision.provision.code | required | PreadmissionConsentCodeValueSet `http://hl7.fr/fhir/fr/preadmission/ValueSet/preadmission-consent-code-vs` From this IG
Consent.provision.provision.data.meaning | required | ConsentDataMeaning `http://hl7.org/fhir/ValueSet/consent-data-meaning|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Détails | Requirements
dom-2 | error | Consent | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | Consent | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-4 | error | Consent | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() |
dom-5 | error | Consent | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | Consent | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ppc-1 | error | Consent | Either a Policy or PolicyRule : policy.exists() or policyRule.exists() |
ppc-2 | error | Consent | IF Scope=privacy, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not() |
ppc-3 | error | Consent | IF Scope=research, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='research').exists().not() |
ppc-4 | error | Consent | IF Scope=adr, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='adr').exists().not() |
ppc-5 | error | Consent | IF Scope=treatment, there must be a patient : patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not() |

This structure is derived from Consent

Résumé

Mandatory: 4 elements(2 nested mandatory elements)
Fixed: 1 element

Structures

This structure refers to these other structures:

- FR Core Patient Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-patient)

Other representations of profile: CSV, Excel, Schematron