cql-execution
Version:
An execution framework for the Clinical Quality Language (CQL)
621 lines (444 loc) • 16.6 kB
JavaScript
// Generated by CoffeeScript 1.9.3
(function() {
var Address, Attachment, BackboneElement, CORE, CodeableConcept, Coding, ContactPoint, DT, DomainResource, Element, ElementDefinition, Extension, HumanName, Identifier, Narrative, Parameters, Period, Quantity, Range, Ratio, Reference, Resource, SampledData, SecurityEvent, SecurityEventEventComponent, SecurityEventObjectComponent, SecurityEventObjectDetailComponent, SecurityEventParticipantComponent, SecurityEventParticipantNetworkComponent, SecurityEventSourceComponent, Timing,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
DT = require('../cql-datatypes');
CORE = require('./core');
Element = CORE.Element;
Resource = CORE.Resource;
Timing = CORE.Timing;
Period = CORE.Period;
Parameters = CORE.Parameters;
Coding = CORE.Coding;
Resource = CORE.Resource;
Range = CORE.Range;
Quantity = CORE.Quantity;
Attachment = CORE.Attachment;
BackboneElement = CORE.BackboneElement;
DomainResource = CORE.DomainResource;
ContactPoint = CORE.ContactPoint;
ElementDefinition = CORE.ElementDefinition;
Extension = CORE.Extension;
HumanName = CORE.HumanName;
Address = CORE.Address;
Ratio = CORE.Ratio;
SampledData = CORE.SampledData;
Reference = CORE.Reference;
CodeableConcept = CORE.CodeableConcept;
Identifier = CORE.Identifier;
Narrative = CORE.Narrative;
Element = CORE.Element;
/**
Embedded class
@class SecurityEventEventComponent
@exports SecurityEventEventComponent as SecurityEventEventComponent
*/
SecurityEventEventComponent = (function(superClass) {
extend(SecurityEventEventComponent, superClass);
function SecurityEventEventComponent(json) {
this.json = json;
SecurityEventEventComponent.__super__.constructor.call(this, this.json);
}
/**
Identifier for a family of the event.
@returns {CodeableConcept}
*/
SecurityEventEventComponent.prototype.type = function() {
if (this.json['type']) {
return new CodeableConcept(this.json['type']);
}
};
/**
Identifier for the category of event.
@returns {Array} an array of {@link CodeableConcept} objects
*/
SecurityEventEventComponent.prototype.subtype = function() {
var i, item, len, ref, results;
if (this.json['subtype']) {
ref = this.json['subtype'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new CodeableConcept(item));
}
return results;
}
};
/**
Indicator for type of action performed during the event that generated the audit.
@returns {Array} an array of {@link String} objects
*/
SecurityEventEventComponent.prototype.action = function() {
return this.json['action'];
};
/**
The time when the event occurred on the source.
@returns {Array} an array of {@link Date} objects
*/
SecurityEventEventComponent.prototype.dateTime = function() {
if (this.json['dateTime']) {
return DT.DateTime.parse(this.json['dateTime']);
}
};
/**
Indicates whether the event succeeded or failed.
@returns {Array} an array of {@link String} objects
*/
SecurityEventEventComponent.prototype.outcome = function() {
return this.json['outcome'];
};
/**
A free text description of the outcome of the event.
@returns {Array} an array of {@link String} objects
*/
SecurityEventEventComponent.prototype.outcomeDesc = function() {
return this.json['outcomeDesc'];
};
return SecurityEventEventComponent;
})(BackboneElement);
/**
Embedded class
@class SecurityEventParticipantNetworkComponent
@exports SecurityEventParticipantNetworkComponent as SecurityEventParticipantNetworkComponent
*/
SecurityEventParticipantNetworkComponent = (function(superClass) {
extend(SecurityEventParticipantNetworkComponent, superClass);
function SecurityEventParticipantNetworkComponent(json) {
this.json = json;
SecurityEventParticipantNetworkComponent.__super__.constructor.call(this, this.json);
}
/**
An identifier for the network access point of the user device for the audit event.
@returns {Array} an array of {@link String} objects
*/
SecurityEventParticipantNetworkComponent.prototype.identifier = function() {
return this.json['identifier'];
};
/**
An identifier for the type of network access point that originated the audit event.
@returns {Array} an array of {@link String} objects
*/
SecurityEventParticipantNetworkComponent.prototype.type = function() {
return this.json['type'];
};
return SecurityEventParticipantNetworkComponent;
})(BackboneElement);
/**
Embedded class
@class SecurityEventParticipantComponent
@exports SecurityEventParticipantComponent as SecurityEventParticipantComponent
*/
SecurityEventParticipantComponent = (function(superClass) {
extend(SecurityEventParticipantComponent, superClass);
function SecurityEventParticipantComponent(json) {
this.json = json;
SecurityEventParticipantComponent.__super__.constructor.call(this, this.json);
}
/**
Specification of the role(s) the user plays when performing the event. Usually the codes used in this element are local codes defined by the role-based access control security system used in the local context.
@returns {Array} an array of {@link CodeableConcept} objects
*/
SecurityEventParticipantComponent.prototype.role = function() {
var i, item, len, ref, results;
if (this.json['role']) {
ref = this.json['role'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new CodeableConcept(item));
}
return results;
}
};
/**
Direct reference to a resource that identifies the participant.
@returns {Reference}
*/
SecurityEventParticipantComponent.prototype.reference = function() {
if (this.json['reference']) {
return new Reference(this.json['reference']);
}
};
/**
Unique identifier for the user actively participating in the event.
@returns {Array} an array of {@link String} objects
*/
SecurityEventParticipantComponent.prototype.userId = function() {
return this.json['userId'];
};
/**
Alternative Participant Identifier. For a human, this should be a user identifier text string from authentication system. This identifier would be one known to a common authentication system (e.g., single sign-on), if available.
@returns {Array} an array of {@link String} objects
*/
SecurityEventParticipantComponent.prototype.altId = function() {
return this.json['altId'];
};
/**
Human-meaningful name for the user.
@returns {Array} an array of {@link String} objects
*/
SecurityEventParticipantComponent.prototype.name = function() {
return this.json['name'];
};
/**
Indicator that the user is or is not the requestor, or initiator, for the event being audited.
@returns {Array} an array of {@link boolean} objects
*/
SecurityEventParticipantComponent.prototype.requestor = function() {
return this.json['requestor'];
};
/**
Type of media involved. Used when the event is about exporting/importing onto media.
@returns {Coding}
*/
SecurityEventParticipantComponent.prototype.media = function() {
if (this.json['media']) {
return new Coding(this.json['media']);
}
};
/**
Logical network location for application activity, if the activity has a network location.
@returns {SecurityEventParticipantNetworkComponent}
*/
SecurityEventParticipantComponent.prototype.network = function() {
if (this.json['network']) {
return new SecurityEventParticipantNetworkComponent(this.json['network']);
}
};
return SecurityEventParticipantComponent;
})(BackboneElement);
/**
Embedded class
@class SecurityEventSourceComponent
@exports SecurityEventSourceComponent as SecurityEventSourceComponent
*/
SecurityEventSourceComponent = (function(superClass) {
extend(SecurityEventSourceComponent, superClass);
function SecurityEventSourceComponent(json) {
this.json = json;
SecurityEventSourceComponent.__super__.constructor.call(this, this.json);
}
/**
Logical source location within the healthcare enterprise network.
@returns {Array} an array of {@link String} objects
*/
SecurityEventSourceComponent.prototype.site = function() {
return this.json['site'];
};
/**
Identifier of the source where the event originated.
@returns {Array} an array of {@link String} objects
*/
SecurityEventSourceComponent.prototype.identifier = function() {
return this.json['identifier'];
};
/**
Code specifying the type of source where event originated.
@returns {Array} an array of {@link Coding} objects
*/
SecurityEventSourceComponent.prototype.type = function() {
var i, item, len, ref, results;
if (this.json['type']) {
ref = this.json['type'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new Coding(item));
}
return results;
}
};
return SecurityEventSourceComponent;
})(BackboneElement);
/**
Embedded class
@class SecurityEventObjectDetailComponent
@exports SecurityEventObjectDetailComponent as SecurityEventObjectDetailComponent
*/
SecurityEventObjectDetailComponent = (function(superClass) {
extend(SecurityEventObjectDetailComponent, superClass);
function SecurityEventObjectDetailComponent(json) {
this.json = json;
SecurityEventObjectDetailComponent.__super__.constructor.call(this, this.json);
}
/**
Name of the property.
@returns {Array} an array of {@link String} objects
*/
SecurityEventObjectDetailComponent.prototype.type = function() {
return this.json['type'];
};
/**
Property value.
@returns {Array} an array of {@link } objects
*/
SecurityEventObjectDetailComponent.prototype.value = function() {
return this.json['value'];
};
return SecurityEventObjectDetailComponent;
})(BackboneElement);
/**
Embedded class
@class SecurityEventObjectComponent
@exports SecurityEventObjectComponent as SecurityEventObjectComponent
*/
SecurityEventObjectComponent = (function(superClass) {
extend(SecurityEventObjectComponent, superClass);
function SecurityEventObjectComponent(json) {
this.json = json;
SecurityEventObjectComponent.__super__.constructor.call(this, this.json);
}
/**
Identifies a specific instance of the participant object. The reference should always be version specific.
@returns {Identifier}
*/
SecurityEventObjectComponent.prototype.identifier = function() {
if (this.json['identifier']) {
return new Identifier(this.json['identifier']);
}
};
/**
Identifies a specific instance of the participant object. The reference should always be version specific.
@returns {Reference}
*/
SecurityEventObjectComponent.prototype.reference = function() {
if (this.json['reference']) {
return new Reference(this.json['reference']);
}
};
/**
Object type being audited.
@returns {Array} an array of {@link String} objects
*/
SecurityEventObjectComponent.prototype.type = function() {
return this.json['type'];
};
/**
Code representing the functional application role of Participant Object being audited.
@returns {Array} an array of {@link String} objects
*/
SecurityEventObjectComponent.prototype.role = function() {
return this.json['role'];
};
/**
Identifier for the data life-cycle stage for the participant object.
@returns {Array} an array of {@link String} objects
*/
SecurityEventObjectComponent.prototype.lifecycle = function() {
return this.json['lifecycle'];
};
/**
Denotes policy-defined sensitivity for the Participant Object ID such as VIP, HIV status, mental health status or similar topics.
@returns {CodeableConcept}
*/
SecurityEventObjectComponent.prototype.sensitivity = function() {
if (this.json['sensitivity']) {
return new CodeableConcept(this.json['sensitivity']);
}
};
/**
An instance-specific descriptor of the Participant Object ID audited, such as a person's name.
@returns {Array} an array of {@link String} objects
*/
SecurityEventObjectComponent.prototype.name = function() {
return this.json['name'];
};
/**
Text that describes the object in more detail.
@returns {Array} an array of {@link String} objects
*/
SecurityEventObjectComponent.prototype.description = function() {
return this.json['description'];
};
/**
The actual query for a query-type participant object.
@returns {Array} an array of {@link } objects
*/
SecurityEventObjectComponent.prototype.query = function() {
return this.json['query'];
};
/**
Additional Information about the Object.
@returns {Array} an array of {@link SecurityEventObjectDetailComponent} objects
*/
SecurityEventObjectComponent.prototype.detail = function() {
var i, item, len, ref, results;
if (this.json['detail']) {
ref = this.json['detail'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new SecurityEventObjectDetailComponent(item));
}
return results;
}
};
return SecurityEventObjectComponent;
})(BackboneElement);
/**
A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.
@class SecurityEvent
@exports SecurityEvent as SecurityEvent
*/
SecurityEvent = (function(superClass) {
extend(SecurityEvent, superClass);
function SecurityEvent(json) {
this.json = json;
SecurityEvent.__super__.constructor.call(this, this.json);
}
/**
Identifies the name, action type, time, and disposition of the audited event.
@returns {SecurityEventEventComponent}
*/
SecurityEvent.prototype.event = function() {
if (this.json['event']) {
return new SecurityEventEventComponent(this.json['event']);
}
};
/**
A person, a hardware device or software process.
@returns {Array} an array of {@link SecurityEventParticipantComponent} objects
*/
SecurityEvent.prototype.participant = function() {
var i, item, len, ref, results;
if (this.json['participant']) {
ref = this.json['participant'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new SecurityEventParticipantComponent(item));
}
return results;
}
};
/**
Application systems and processes.
@returns {SecurityEventSourceComponent}
*/
SecurityEvent.prototype.source = function() {
if (this.json['source']) {
return new SecurityEventSourceComponent(this.json['source']);
}
};
/**
Specific instances of data or objects that have been accessed.
@returns {Array} an array of {@link SecurityEventObjectComponent} objects
*/
SecurityEvent.prototype.object = function() {
var i, item, len, ref, results;
if (this.json['object']) {
ref = this.json['object'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new SecurityEventObjectComponent(item));
}
return results;
}
};
return SecurityEvent;
})(DomainResource);
module.exports.SecurityEvent = SecurityEvent;
}).call(this);
//# sourceMappingURL=securityevent.js.map