acr-assist-simulator-module
Version:
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.7.4.
96 lines (95 loc) • 13.2 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Diagram } from '../../../core/models/diagram.model';
import { Injectable } from '@angular/core';
import { DiagramService } from './diagram.service';
import { CodableConcept } from '../../../core/elements/models/codableConcept.model';
import { Coding } from '../../../core/elements/models/coding.model';
/**
* @abstract
*/
export class DataElementCreationBaseService {
/**
* @param {?} diagramService
*/
constructor(diagramService) {
this.diagramService = diagramService;
}
/**
* @param {?} diagramJSON
* @return {?}
*/
returnDiagram(diagramJSON) {
const /** @type {?} */ metadataDiagram = new Diagram();
metadataDiagram.displaySequence = diagramJSON.Attr.DisplaySequence;
metadataDiagram.keyDiagram = diagramJSON.Attr.IsKeyDiagram ? diagramJSON.Attr.IsKeyDiagram : false;
metadataDiagram.label = diagramJSON.Label;
metadataDiagram.location = diagramJSON.Location;
return metadataDiagram;
}
/**
* @param {?} data
* @param {?} dataElement
* @return {?}
*/
populateBasicData(data, dataElement) {
dataElement.dataElementType = this.elementType;
dataElement.displaySequence = data.Attr.DisplaySequence;
dataElement.id = data.Attr.Id;
dataElement.isRequired = data.Attr.IsRequired === 'true' ? true : false;
dataElement.label = data.Label;
dataElement.hint = data.Hint;
dataElement.cdeId = data.Attr.CdeId;
if (data.Diagrams) {
dataElement.diagrams = this.diagramService.returnDiagrams(data.Diagrams.Diagram);
}
dataElement.currentValue = undefined;
dataElement.defaultValue = undefined;
dataElement.isEditable = data.Attr.Editable === 'false' ? false : true;
dataElement.hasprefilled = data.Attr.Hasprefilled === 'true' ? true : false;
dataElement.output = data.Attr.Output === 'true' ? true : false;
dataElement.unit = data.Attr.Unit !== undefined ? data.Attr.Unit : '';
dataElement.sourceFilled = data.Attr.SourceFilled;
dataElement.displaySequenceOverrider = data.Attr.DisplaySequence;
dataElement.isRequiredOverrider = data.Attr.IsRequired === 'true' ? true : false;
if (data.CodableConcept !== undefined) {
dataElement.codableConcept = new CodableConcept();
dataElement.codableConcept.name = data.CodableConcept.Attr.Name;
if (data.CodableConcept.Coding !== undefined && data.CodableConcept.Coding.length > 0) {
for (const /** @type {?} */ coding of data.CodableConcept.Coding) {
const /** @type {?} */ _coding = new Coding();
_coding.codingSystem.value = coding.System.Attr.Value;
_coding.codingVersion.value = coding.Version.Attr.Value;
_coding.codingCode.value = coding.Code.Attr.Value;
_coding.codingDisplay.value = coding.Display.Attr.Value;
// if (coding.UserSelected !== undefined) {
_coding.codingUserSelected.value = coding.UserSelected !== undefined ? coding.UserSelected.Attr.Value : null;
// }
dataElement.codableConcept.coding.push(_coding);
}
}
}
}
}
DataElementCreationBaseService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
DataElementCreationBaseService.ctorParameters = () => [
{ type: DiagramService }
];
function DataElementCreationBaseService_tsickle_Closure_declarations() {
/** @type {?} */
DataElementCreationBaseService.prototype.elementType;
/** @type {?} */
DataElementCreationBaseService.prototype.diagramService;
/**
* @abstract
* @param {?} data
* @return {?}
*/
DataElementCreationBaseService.prototype.createElement = function (data) { };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbGVtZW50LWNyZWF0aW9uLWJhc2Utc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Fjci1hc3Npc3Qtc2ltdWxhdG9yLW1vZHVsZS8iLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9hY3ItYXNzaXN0LXNpbXVsYXRvci9zaGFyZWQvc2VydmljZXMvZGF0YS1lbGVtZW50LWNyZWF0aW9uLWJhc2Utc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7QUFJcEUsTUFBTTs7OztJQUdKLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtLQUVqRDs7Ozs7SUFFTyxhQUFhLENBQUMsV0FBZ0I7UUFDcEMsdUJBQU0sZUFBZSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDdEMsZUFBZSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUNuRSxlQUFlLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ25HLGVBQWUsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUMxQyxlQUFlLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUM7UUFDaEQsTUFBTSxDQUFDLGVBQWUsQ0FBQzs7Ozs7OztJQUd6QixpQkFBaUIsQ0FB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SSxDQUFDLEtBQUssQ0FBQztvQkFDdEQsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO29CQUN4RCxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7b0JBQ2xELE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzs7b0JBRXRELE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDOztvQkFHL0csV0FBVyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUNqRDthQUNGO1NBQ0Y7S0FDRjs7O1lBekRGLFVBQVU7Ozs7WUFMRixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUVsZW1lbnRDcmVhdGlvblNlcnZpY2UgfSBmcm9tICcuL2RhdGFlbGVtZW50LWNyZWF0aW9uLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlRGF0YUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2VsZW1lbnRzL21vZGVscy9iYXNlLWRhdGEtZWxlbWVudC5tb2RlbCc7XHJcbmltcG9ydCB7IENob2ljZURhdGFFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9lbGVtZW50cy9tb2RlbHMvY2hvaWNlLWRhdGEtZWxlbWVudC1tb2RlbCc7XHJcbmltcG9ydCB7IERpYWdyYW0gfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscy9kaWFncmFtLm1vZGVsJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWFncmFtU2VydmljZSB9IGZyb20gJy4vZGlhZ3JhbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29kYWJsZUNvbmNlcHQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2VsZW1lbnRzL21vZGVscy9jb2RhYmxlQ29uY2VwdC5tb2RlbCc7XHJcbmltcG9ydCB7IENvZGluZyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvZWxlbWVudHMvbW9kZWxzL2NvZGluZy5tb2RlbCc7XHJcbmltcG9ydCB7IENvZGluZ1N5c3RlbSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvZWxlbWVudHMvbW9kZWxzL2NvZGluZ1N5c3RlbS5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYXRhRWxlbWVudENyZWF0aW9uQmFzZVNlcnZpY2UgaW1wbGVtZW50cyBEYXRhRWxlbWVudENyZWF0aW9uU2VydmljZSB7XHJcbiAgZWxlbWVudFR5cGU6IHN0cmluZztcclxuICBhYnN0cmFjdCBjcmVhdGVFbGVtZW50KGRhdGE6IGFueSk6IEJhc2VEYXRhRWxlbWVudDtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWdyYW1TZXJ2aWNlOiBEaWFncmFtU2VydmljZSkge1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmV0dXJuRGlhZ3JhbShkaWFncmFtSlNPTjogYW55KTogRGlhZ3JhbSB7XHJcbiAgICBjb25zdCBtZXRhZGF0YURpYWdyYW0gPSBuZXcgRGlhZ3JhbSgpO1xyXG4gICAgbWV0YWRhdGFEaWFncmFtLmRpc3BsYXlTZXF1ZW5jZSA9IGRpYWdyYW1KU09OLkF0dHIuRGlzcGxheVNlcXVlbmNlO1xyXG4gICAgbWV0YWRhdGFEaWFncmFtLmtleURpYWdyYW0gPSBkaWFncmFtSlNPTi5BdHRyLklzS2V5RGlhZ3JhbSA/IGRpYWdyYW1KU09OLkF0dHIuSXNLZXlEaWFncmFtIDogZmFsc2U7XHJcbiAgICBtZXRhZGF0YURpYWdyYW0ubGFiZWwgPSBkaWFncmFtSlNPTi5MYWJlbDtcclxuICAgIG1ldGFkYXRhRGlhZ3JhbS5sb2NhdGlvbiA9IGRpYWdyYW1KU09OLkxvY2F0aW9uO1xyXG4gICAgcmV0dXJuIG1ldGFkYXRhRGlhZ3JhbTtcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlQmFzaWNEYXRhKGRhdGE6IGFueSwgZGF0YUVsZW1lbnQ6IEJhc2VEYXRhRWxlbWVudCkge1xyXG4gICAgZGF0YUVsZW1lbnQuZGF0YUVsZW1lbnRUeXBlID0gdGhpcy5lbGVtZW50VHlwZTtcclxuICAgIGRhdGFFbGVtZW50LmRpc3BsYXlTZXF1ZW5jZSA9IGRhdGEuQXR0ci5EaXNwbGF5U2VxdWVuY2U7XHJcbiAgICBkYXRhRWxlbWVudC5pZCA9IGRhdGEuQXR0ci5JZDtcclxuICAgIGRhdGFFbGVtZW50LmlzUmVxdWlyZWQgPSBkYXRhLkF0dHIuSXNSZXF1aXJlZCA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgZGF0YUVsZW1lbnQubGFiZWwgPSBkYXRhLkxhYmVsO1xyXG4gICAgZGF0YUVsZW1lbnQuaGludCA9IGRhdGEuSGludDtcclxuICAgIGRhdGFFbGVtZW50LmNkZUlkID0gZGF0YS5BdHRyLkNkZUlkO1xyXG4gICAgaWYgKGRhdGEuRGlhZ3JhbXMpIHtcclxuICAgICAgZGF0YUVsZW1lbnQuZGlhZ3JhbXMgPSB0aGlzLmRpYWdyYW1TZXJ2aWNlLnJldHVybkRpYWdyYW1zKGRhdGEuRGlhZ3JhbXMuRGlhZ3JhbSk7XHJcbiAgICB9XHJcbiAgICBkYXRhRWxlbWVudC5jdXJyZW50VmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICBkYXRhRWxlbWVudC5kZWZhdWx0VmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICBkYXRhRWxlbWVudC5pc0VkaXRhYmxlID0gZGF0YS5BdHRyLkVkaXRhYmxlID09PSAnZmFsc2UnID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgZGF0YUVsZW1lbnQuaGFzcHJlZmlsbGVkID0gZGF0YS5BdHRyLkhhc3ByZWZpbGxlZCA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgZGF0YUVsZW1lbnQub3V0cHV0ID0gZGF0YS5BdHRyLk91dHB1dCA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgZGF0YUVsZW1lbnQudW5pdCA9IGRhdGEuQXR0ci5Vbml0ICE9PSB1bmRlZmluZWQgPyBkYXRhLkF0dHIuVW5pdCA6ICcnO1xyXG4gICAgZGF0YUVsZW1lbnQuc291cmNlRmlsbGVkID0gZGF0YS5BdHRyLlNvdXJjZUZpbGxlZDtcclxuXHJcbiAgICBkYXRhRWxlbWVudC5kaXNwbGF5U2VxdWVuY2VPdmVycmlkZXIgPSBkYXRhLkF0dHIuRGlzcGxheVNlcXVlbmNlO1xyXG4gICAgZGF0YUVsZW1lbnQuaXNSZXF1aXJlZE92ZXJyaWRlciA9IGRhdGEuQXR0ci5Jc1JlcXVpcmVkID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2U7XHJcblxyXG4gICAgaWYgKGRhdGEuQ29kYWJsZUNvbmNlcHQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBkYXRhRWxlbWVudC5jb2RhYmxlQ29uY2VwdCA9IG5ldyBDb2RhYmxlQ29uY2VwdCgpO1xyXG4gICAgICBkYXRhRWxlbWVudC5jb2RhYmxlQ29uY2VwdC5uYW1lID0gZGF0YS5Db2RhYmxlQ29uY2VwdC5BdHRyLk5hbWU7XHJcbiAgICAgIGlmIChkYXRhLkNvZGFibGVDb25jZXB0LkNvZGluZyAhPT0gdW5kZWZpbmVkICYmIGRhdGEuQ29kYWJsZUNvbmNlcHQuQ29kaW5nLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGNvZGluZyBvZiBkYXRhLkNvZGFibGVDb25jZXB0LkNvZGluZykge1xyXG4gICAgICAgICAgY29uc3QgX2NvZGluZyA9IG5ldyBDb2RpbmcoKTtcclxuICAgICAgICAgIF9jb2RpbmcuY29kaW5nU3lzdGVtLnZhbHVlID0gY29kaW5nLlN5c3RlbS5BdHRyLlZhbHVlO1xyXG4gICAgICAgICAgX2NvZGluZy5jb2RpbmdWZXJzaW9uLnZhbHVlID0gY29kaW5nLlZlcnNpb24uQXR0ci5WYWx1ZTtcclxuICAgICAgICAgIF9jb2RpbmcuY29kaW5nQ29kZS52YWx1ZSA9IGNvZGluZy5Db2RlLkF0dHIuVmFsdWU7XHJcbiAgICAgICAgICBfY29kaW5nLmNvZGluZ0Rpc3BsYXkudmFsdWUgPSBjb2RpbmcuRGlzcGxheS5BdHRyLlZhbHVlO1xyXG4gICAgICAgICAgLy8gaWYgKGNvZGluZy5Vc2VyU2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBfY29kaW5nLmNvZGluZ1VzZXJTZWxlY3RlZC52YWx1ZSA9IGNvZGluZy5Vc2VyU2VsZWN0ZWQgIT09IHVuZGVmaW5lZCA/IGNvZGluZy5Vc2VyU2VsZWN0ZWQuQXR0ci5WYWx1ZSA6IG51bGw7XHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgZGF0YUVsZW1lbnQuY29kYWJsZUNvbmNlcHQuY29kaW5nLnB1c2goX2NvZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==