/** * 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 { Annotation } from './annotation'; import { Code } from './code'; import { CodeableConcept } from './codeableConcept'; import { CodeableReference } from './codeableReference'; import { DateTime } from './dateTime'; import { DeviceUsageAdherence } from './deviceUsageAdherence'; 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 { Timing } from './timing'; import { Uri } from './uri'; /** * A record of a device being used by a patient where the record is the result of a report from the patient or a clinician. */ export interface DeviceUsage { /** * This is a DeviceUsage resource */ resourceType: 'DeviceUsage'; 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; /** * An external identifier for this statement such as an IRI. */ identifier?: Array; /** * A plan, proposal or order that is fulfilled in whole or in part by this DeviceUsage. */ basedOn?: Array; status?: Code; /** * This attribute indicates a category for the statement - The device statement may be made in an inpatient or outpatient settting (inpatient | outpatient | community | patientspecified). */ category?: Array; patient: Reference; /** * Allows linking the DeviceUsage to the underlying Request, or to other information that supports or is used to derive the DeviceUsage. */ derivedFrom?: Array; context?: Reference; timingTiming?: Timing; timingPeriod?: Period; /** * How often the device was used. */ timingDateTime?: string; dateAsserted?: Date; usageStatus?: CodeableConcept; /** * The reason for asserting the usage status - for example forgot, lost, stolen, broken. */ usageReason?: Array; adherence?: DeviceUsageAdherence; informationSource?: Reference; device: CodeableReference; /** * Reason or justification for the use of the device. A coded concept, or another resource whose existence justifies this DeviceUsage. */ reason?: Array; bodySite?: CodeableReference; /** * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. */ note?: Array; }