/** * FHIR Version R5 * The following is auto generated resource definition. * * OpenAPI spec version: 3.0.1 * * * NOTE: This class is auto generated by the swagger code generator program. * https://github.com/swagger-api/swagger-codegen.git * Do not edit the class manually. */ import { Attachment } from './attachment'; import { Code } from './code'; import { CodeableConcept } from './codeableConcept'; import { ConsentPolicyBasis } from './consentPolicyBasis'; import { ConsentProvision } from './consentProvision'; import { ConsentVerification } from './consentVerification'; import { Extension } from './extension'; import { Id } from './id'; import { Identifier } from './identifier'; import { Meta } from './meta'; import { Narrative } from './narrative'; import { Period } from './period'; import { Reference } from './reference'; import { ResourceList } from './resourceList'; import { Uri } from './uri'; /** * A record of a healthcare consumer’s choices or choices made on their behalf by a third party, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time. */ export interface Consent { /** * This is a Consent resource */ resourceType: 'Consent'; id?: Id; meta?: Meta; implicitRules?: Uri; language?: Code; text?: Narrative; /** * These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning. */ contained?: Array; /** * May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. */ extension?: Array; /** * May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). */ modifierExtension?: Array; /** * Unique identifier for this copy of the Consent Statement. */ identifier?: Array; status?: Code; /** * A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements. */ category?: Array; subject?: Reference; date?: string; period?: Period; /** * The entity responsible for granting the rights listed in a Consent Directive. */ grantor?: Array; /** * The entity responsible for complying with the Consent Directive, including any obligations or limitations on authorizations and enforcement of prohibitions. */ grantee?: Array; /** * The actor that manages the consent through its lifecycle. */ manager?: Array; /** * The actor that controls/enforces the access according to the consent. */ controller?: Array; /** * The source on which this consent statement is based. The source might be a scanned original paper form. */ sourceAttachment?: Array; /** * A reference to a consent that links back to such a source, a reference to a document repository (e.g. XDS) that stores the original consent document. */ sourceReference?: Array; /** * A set of codes that indicate the regulatory basis (if any) that this consent supports. */ regulatoryBasis?: Array; policyBasis?: ConsentPolicyBasis; /** * A Reference to the human readable policy explaining the basis for the Consent. */ policyText?: Array; /** * Whether a treatment instruction (e.g. artificial respiration: yes or no) was verified with the patient, his/her family or another authorized person. */ verification?: Array; decision?: Code; /** * An exception to the base policy of this consent. An exception can be an addition or removal of access permissions. */ provision?: Array; }