"
+ },
+ "dateWritten": "2019-02-10T12:37:13.000-05:00",
+ "status": "stopped",
+ "dateEnded": "2019-02-20T09:48:43.000-05:00",
+ "patient": {
+ "reference": "Patient/26494257",
+ "display": "TEST, BMEDTIMEA"
+ },
+ "prescriber": {
+ "reference": "Practitioner/24699304",
+ "display": "OIAKWSQ MTMPO, XSHOVU E"
+ },
+ "encounter": {
+ "reference": "Encounter/80367166"
+ },
+ "note": "Order Comment: Maximum infusion rate: \r\nFor patients <66 kg, max infusion rate = 15 mg/kg/hr [round UP to nearest 1/2 hour] \r\nFor patients >/=66 kg, max infusion rate = 1000 mg/hr",
+ "medicationCodeableConcept": {
+ "text": "200 ML Vancomycin 5 MG/ML Injection",
+ "coding": [
+ {
+ "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
+ "code": "1807508"
+ }
+ ]
+ },
+ "dosageInstruction": [
+ {
+ "text": "200 ML 5 mg/mL, IV, Q8hr",
+ "_text": {
+ "extension": [
+ {
+ "url": "https://fhir-ehr.cerner.com/dstu2/StructureDefinition/patient-friendly-display",
+ "valueString": "200 Milligram/ML intravenous every 8 hours. Refills: 0."
+ }
+ ]
+ },
+ "timing": {
+ "repeat": {
+ "boundsPeriod": {
+ "start": "2019-02-13T16:00:00.000-05:00",
+ "end": "2019-02-20T09:48:43.000-05:00"
+ }
+ },
+ "code": {
+ "text": "Q8hr"
+ }
+ },
+ "route": {
+ "coding": [
+ {
+ "system": "http://snomed.info/sct",
+ "code": "47625008",
+ "display": "Intravenous route (qualifier value)",
+ "userSelected": false
+ }
+ ],
+ "text": "IV"
+ },
+ "doseQuantity": {
+ "value": 5,
+ "unit": "mg/mL",
+ "system": "http://unitsofmeasure.org",
+ "code": "mg/mL"
+ }
+ }
+ ],
+ "dispenseRequest": {
+ "validityPeriod": {
+ "start": "2019-02-19T12:37:13.000-05:00"
+ }
+ }
+ }
}
]
-}
\ No newline at end of file
+}
diff --git a/docs/main.js b/docs/main.js
index df0a9f87..9bbb3d9e 100644
--- a/docs/main.js
+++ b/docs/main.js
@@ -2707,10 +2707,8 @@ function getBloodPressureAnnotationFunction(bpDetailsResourceGroup) {
function getMedicationMonitoringAnnotationFunction(rxNormGroup) {
return function (observation, dateRange) {
return rxNormGroup.getResourceSet(dateRange).then(function (rxNorms) {
- // We know that we're only pushing in one RxNorm
- // so it's safe to grab the first (and only) one in
- // the list.
- return _fhir_data_classes_annotated_observation__WEBPACK_IMPORTED_MODULE_0__["AnnotatedObservation"].forMedicationMonitoring(observation, rxNorms[0].orders);
+ var medOrders = [].concat.apply([], rxNorms.map(function (rxNorm) { return rxNorm.orders.resourceList; }));
+ return _fhir_data_classes_annotated_observation__WEBPACK_IMPORTED_MODULE_0__["AnnotatedObservation"].forMedicationMonitoring(observation, medOrders);
});
};
}
@@ -2742,7 +2740,14 @@ var ANNOTATION_CONFIGURATION = [
'makeAnnotatedFunction': function (refGroup) {
return getMedicationMonitoringAnnotationFunction(refGroup);
},
- 'refGroup': 'Vancomycin'
+ 'refGroup': 'Vancomycin Monitoring Reference'
+ },
+ {
+ 'groupName': 'Gentamicin monitoring',
+ 'makeAnnotatedFunction': function (refGroup) {
+ return getMedicationMonitoringAnnotationFunction(refGroup);
+ },
+ 'refGroup': 'Gentamicin Monitoring Reference'
}
];
@@ -3878,7 +3883,7 @@ function getNextSearchResultsPage(smartApi, response, results) {
var responseData = response.data.entry || [];
results = results.concat(responseData.map(function (result) { return new _fhir_resource_set__WEBPACK_IMPORTED_MODULE_7__["RawResource"](result.resource, requestId); }));
// if there are anymore pages, get the next set of results.
- if (response.data.link.some(function (link) { return link.relation === 'next'; })) {
+ if (response.data.link.some(function (linkItem) { return linkItem.relation === 'next'; })) {
return smartApi.patient.api.nextPage({ bundle: response.data })
.then(function (nextResponse) {
return getNextSearchResultsPage(smartApi, nextResponse, results);
@@ -3911,8 +3916,7 @@ function fetchAllFromFhir(smartApi, queryParams) {
* Abstract Class for Fetching and Caching FHIR Resources.
*/
var FhirCache = /** @class */ (function () {
- function FhirCache(smartApiPromise) {
- this.smartApiPromise = smartApiPromise;
+ function FhirCache() {
/**
* Cache of Raw Resources.
* A mapping from the timestamp as a date string to a list of RawResources
@@ -4011,44 +4015,42 @@ var FhirCache = /** @class */ (function () {
* @param dateRange: the Interval to fetch data within.
* @returns an array of Resource objects that extend ResultClassWithTimestamp
*/
- FhirCache.prototype.getResource = function (dateRange) {
+ FhirCache.prototype.getResource = function (smartApi, dateRange) {
var _this = this;
- return this.smartApiPromise.then(function (smartApi) {
- // splits the date range by day and checks if the cache contains that day.
- // Merges days not in the cache into a list of intervals that cover those
- // days.
- var rangesToFetch = luxon__WEBPACK_IMPORTED_MODULE_0__["Interval"].merge(_this.splitDateRangeByDay(dateRange).filter(function (day) {
- var currentTime = luxon__WEBPACK_IMPORTED_MODULE_0__["DateTime"].utc();
- if (day.start.toISODate() === currentTime.toISODate()) {
- // we filter out today if we have refreshed today's results
- // within the last minute.
- return !(_this.timeOfLastRefreshOfTodaysResults &&
- currentTime
- .diff(_this.timeOfLastRefreshOfTodaysResults, 'minutes')
- .minutes < 1);
- // sometimes due to timezone handling we end up with a date that
- // is after today. We do not need to fetch that date.
- }
- else if (day.start.toMillis() > currentTime.toMillis()) {
- return false;
- }
- return !_this.cache.has(day.start.toISODate());
- }));
- // for each date interval, fetch the resource from FHIR and add the data
- // to the cache.
- var fetchPromises = rangesToFetch.map(function (range) {
- return _this.fetchResourceAndAddToCache(smartApi, range);
- });
- // after all date ranges have been fetched from FHIR and added to the
- // cache. Get all data from the cache for the full date range.
- return Promise.all(fetchPromises)
- .then(function (_) {
- return _this.getResourceFromCache(dateRange)
- .map(function (result) { return _this.createFunction(result); })
- .filter(function (result) { return !!result; });
- }, function (rejection) {
- throw rejection;
- });
+ // splits the date range by day and checks if the cache contains that day.
+ // Merges days not in the cache into a list of intervals that cover those
+ // days.
+ var rangesToFetch = luxon__WEBPACK_IMPORTED_MODULE_0__["Interval"].merge(this.splitDateRangeByDay(dateRange).filter(function (day) {
+ var currentTime = luxon__WEBPACK_IMPORTED_MODULE_0__["DateTime"].utc();
+ if (day.start.toISODate() === currentTime.toISODate()) {
+ // we filter out today if we have refreshed today's results
+ // within the last minute.
+ return !(_this.timeOfLastRefreshOfTodaysResults &&
+ currentTime
+ .diff(_this.timeOfLastRefreshOfTodaysResults, 'minutes')
+ .minutes < 1);
+ // sometimes due to timezone handling we end up with a date that
+ // is after today. We do not need to fetch that date.
+ }
+ else if (day.start.toMillis() > currentTime.toMillis()) {
+ return false;
+ }
+ return !_this.cache.has(day.start.toISODate());
+ }));
+ // for each date interval, fetch the resource from FHIR and add the data
+ // to the cache.
+ var fetchPromises = rangesToFetch.map(function (range) {
+ return _this.fetchResourceAndAddToCache(smartApi, range);
+ });
+ // after all date ranges have been fetched from FHIR and added to the
+ // cache. Get all data from the cache for the full date range.
+ return Promise.all(fetchPromises)
+ .then(function (_) {
+ return _this.getResourceFromCache(dateRange)
+ .map(function (result) { return _this.createFunction(result); })
+ .filter(function (result) { return !!result; });
+ }, function (rejection) {
+ throw rejection;
});
};
return FhirCache;
@@ -4060,6 +4062,19 @@ var MedicationCache = /** @class */ (function (_super) {
function MedicationCache() {
return _super !== null && _super.apply(this, arguments) || this;
}
+ MedicationCache.prototype.getResource = function (smartApi, dateRange) {
+ var _this = this;
+ // if we have not alraedy loaded all the results into the cache within the
+ // App Timespan, add them first. This helps with loading time for subsequent
+ // calls for medications.
+ if (!this.resultsLoaded) {
+ this.resultsLoaded =
+ this.fetchResourceAndAddToCache(smartApi, _constants__WEBPACK_IMPORTED_MODULE_1__["APP_TIMESPAN"]);
+ }
+ return this.resultsLoaded.then(function () {
+ return _super.prototype.getResource.call(_this, smartApi, dateRange);
+ });
+ };
/**
* Creates a MedicationAdministration from a RawResource.
* Note: will return undefined if the Medication Encoding extracted from the
@@ -4129,8 +4144,8 @@ var DiagnosticReportCache = /** @class */ (function (_super) {
/** Cache for Observations */
var ObservationCache = /** @class */ (function (_super) {
__extends(ObservationCache, _super);
- function ObservationCache(smartApiPromise, code) {
- var _this = _super.call(this, smartApiPromise) || this;
+ function ObservationCache(code) {
+ var _this = _super.call(this) || this;
_this.code = code;
return _this;
}
@@ -4159,15 +4174,14 @@ var ObservationCache = /** @class */ (function (_super) {
/** Cache for Encounters. */
var EncounterCache = /** @class */ (function () {
- function EncounterCache(smartApiPromise) {
- this.smartApiPromise = smartApiPromise;
+ function EncounterCache() {
}
/**
* Gets all Encounters.
* Note: Encounters cannot be searched by date, so this will return all
* encounters.
*/
- EncounterCache.prototype.getResource = function () {
+ EncounterCache.prototype.getResource = function (smartApi) {
var _this = this;
var currentTime = luxon__WEBPACK_IMPORTED_MODULE_0__["DateTime"].utc();
var cachePromise;
@@ -4181,15 +4195,13 @@ var EncounterCache = /** @class */ (function () {
}
else {
this.lastFhirFetchTime = currentTime;
- cachePromise = this.smartApiPromise.then(function (smartApi) {
- var queryParams = {
- type: _constants__WEBPACK_IMPORTED_MODULE_1__["FhirResourceType"].Encounter,
- };
- return fetchAllFromFhir(smartApi, queryParams).then(function (results) {
- _this.cache = results;
- _this.lastFhirFetchTime = currentTime;
- return results;
- });
+ var queryParams = {
+ type: _constants__WEBPACK_IMPORTED_MODULE_1__["FhirResourceType"].Encounter,
+ };
+ cachePromise = fetchAllFromFhir(smartApi, queryParams).then(function (results) {
+ _this.cache = results;
+ _this.lastFhirFetchTime = currentTime;
+ return results;
});
}
return Promise.resolve(cachePromise)
@@ -4334,10 +4346,8 @@ var AnnotatedMicrobioReport = /** @class */ (function (_super) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnnotatedObservation", function() { return AnnotatedObservation; });
-/* harmony import */ var luxon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! luxon */ "./node_modules/luxon/build/cjs-browser/luxon.js");
-/* harmony import */ var luxon__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(luxon__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var src_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/constants */ "./src/constants.ts");
-/* harmony import */ var _fhir_resource_set__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../fhir-resource-set */ "./src/app/fhir-resource-set.ts");
+/* harmony import */ var src_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/constants */ "./src/constants.ts");
+/* harmony import */ var _fhir_resource_set__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../fhir-resource-set */ "./src/app/fhir-resource-set.ts");
// Copyright 2018 Verily Life Sciences Inc.
//
// Use of this source code is governed by a BSD-style
@@ -4357,7 +4367,6 @@ var __extends = (undefined && undefined.__extends) || (function () {
})();
-
/**
* An Observation with additional information to display in its tooltip.
*/
@@ -4386,31 +4395,16 @@ var AnnotatedObservation = /** @class */ (function (_super) {
* @throws Error if there are two medication orders in MedicationOrderSet
* that contain the timestamp of the observation
*/
- AnnotatedObservation.forMedicationMonitoring = function (observation, medicationOrderSet) {
+ AnnotatedObservation.forMedicationMonitoring = function (observation, medicationOrders) {
// Look in the medication order set's administrations and find the ones
// closest in time to this observation.
var timeSinceLast;
var timeBeforeNext;
var annotations = new Array();
- // Find the medication order set that coincides in time with this
- // administration (if any).
- var containingMedicationOrder;
- for (var _i = 0, _a = medicationOrderSet.resourceList; _i < _a.length; _i++) {
- var order = _a[_i];
- if (luxon__WEBPACK_IMPORTED_MODULE_0__["Interval"]
- .fromDateTimes(order.firstAdministration.timestamp, order.lastAdministration.timestamp)
- .contains(observation.timestamp)) {
- if (containingMedicationOrder) {
- throw Error('Two medication orders contain this monitoring point.');
- }
- containingMedicationOrder = order;
- }
- }
- if (containingMedicationOrder) {
- // Find the spot in the array of administrations where the monitoring
- // would fall, timewise.
- var sortedAdmins = containingMedicationOrder.medicationAdministrationSet.resourceList
- .sort(function (a, b) { return a.medAdministration.timestamp.toMillis() -
+ if (medicationOrders.length > 0) {
+ // Flatten all medication admins within the orders into one list and sort
+ var allAdmins = [].concat.apply([], medicationOrders.map(function (order) { return order.medicationAdministrationSet.resourceList; }));
+ var sortedAdmins = allAdmins.sort(function (a, b) { return a.medAdministration.timestamp.toMillis() -
b.medAdministration.timestamp.toMillis(); });
var idx = 0;
while (idx < sortedAdmins.length &&
@@ -4430,10 +4424,10 @@ var AnnotatedObservation = /** @class */ (function (_super) {
timeBeforeNext =
doseAfterObs.medAdministration.timestamp.diff(observation.timestamp);
annotations.push([
- src_constants__WEBPACK_IMPORTED_MODULE_1__["UI_CONSTANTS"].TIME_SINCE_PREVIOUS_DOSE, timeSinceLast.toFormat('h:mm')
+ src_constants__WEBPACK_IMPORTED_MODULE_0__["UI_CONSTANTS"].TIME_SINCE_PREVIOUS_DOSE, timeSinceLast.toFormat('h:mm')
]);
annotations.push([
- src_constants__WEBPACK_IMPORTED_MODULE_1__["UI_CONSTANTS"].TIME_BEFORE_NEXT_DOSE, timeBeforeNext.toFormat('h:mm')
+ src_constants__WEBPACK_IMPORTED_MODULE_0__["UI_CONSTANTS"].TIME_BEFORE_NEXT_DOSE, timeBeforeNext.toFormat('h:mm')
]);
}
return new AnnotatedObservation(observation, annotations);
@@ -4462,7 +4456,7 @@ var AnnotatedObservation = /** @class */ (function (_super) {
return new AnnotatedObservation(observation, annotations);
};
return AnnotatedObservation;
-}(_fhir_resource_set__WEBPACK_IMPORTED_MODULE_2__["ResultClassWithTimestamp"]));
+}(_fhir_resource_set__WEBPACK_IMPORTED_MODULE_1__["ResultClassWithTimestamp"]));
@@ -5940,11 +5934,10 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _fhir_data_classes_medication_order__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./fhir-data-classes/medication-order */ "./src/app/fhir-data-classes/medication-order.ts");
/* harmony import */ var _fhir_data_classes_microbio_report__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./fhir-data-classes/microbio-report */ "./src/app/fhir-data-classes/microbio-report.ts");
/* harmony import */ var _fhir_data_classes_observation__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./fhir-data-classes/observation */ "./src/app/fhir-data-classes/observation.ts");
-/* harmony import */ var _fhir_resource_set__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./fhir-resource-set */ "./src/app/fhir-resource-set.ts");
-/* harmony import */ var _fhir_service__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./fhir.service */ "./src/app/fhir.service.ts");
-/* harmony import */ var _fhir_config__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./fhir_config */ "./src/app/fhir_config.js");
-/* harmony import */ var _fhir_config__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_fhir_config__WEBPACK_IMPORTED_MODULE_16__);
-/* harmony import */ var _smart_on_fhir_client__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./smart-on-fhir-client */ "./src/app/smart-on-fhir-client.ts");
+/* harmony import */ var _fhir_service__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./fhir.service */ "./src/app/fhir.service.ts");
+/* harmony import */ var _fhir_config__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./fhir_config */ "./src/app/fhir_config.js");
+/* harmony import */ var _fhir_config__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_fhir_config__WEBPACK_IMPORTED_MODULE_15__);
+/* harmony import */ var _smart_on_fhir_client__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./smart-on-fhir-client */ "./src/app/smart-on-fhir-client.ts");
// Copyright 2018 Verily Life Sciences Inc.
//
// Use of this source code is governed by a BSD-style
@@ -5991,7 +5984,6 @@ var __param = (undefined && undefined.__param) || function (paramIndex, decorato
-
var FhirHttpService = /** @class */ (function (_super) {
__extends(FhirHttpService, _super);
function FhirHttpService(debugService, smartOnFhirClient, http, resourceCodeCreator) {
@@ -6002,27 +5994,28 @@ var FhirHttpService = /** @class */ (function (_super) {
// ready. This allows clients of this service to call service methods
// which depend on the API, regardless of whether the API is ready or not.
_this.smartApiPromise = new Promise(function (resolve, reject) { return smartOnFhirClient.oauth2.ready(function (smart) { return resolve(smart); }, function (err) { return reject(err); }); });
- _this.medicationCache = new _fhir_cache__WEBPACK_IMPORTED_MODULE_8__["MedicationCache"](_this.smartApiPromise);
- _this.diagnosticReportCache =
- new _fhir_cache__WEBPACK_IMPORTED_MODULE_8__["DiagnosticReportCache"](_this.smartApiPromise);
- _this.observationCache = new Map();
- _this.encounterCache = new _fhir_cache__WEBPACK_IMPORTED_MODULE_8__["EncounterCache"](_this.smartApiPromise);
return _this;
}
+ FhirHttpService_1 = FhirHttpService;
/**
* Gets observations from a specified date range with a specific LOINC code.
* @param code The LOINC code for which to get observations.
* @param dateRange The time interval observations should fall between.
*/
FhirHttpService.prototype.getObservationsWithCode = function (code, dateRange) {
- var cacheForCode = this.observationCache.get(code);
+ var cacheForCode = FhirHttpService_1.observationCache.get(code);
if (!cacheForCode) {
- cacheForCode = new _fhir_cache__WEBPACK_IMPORTED_MODULE_8__["ObservationCache"](this.smartApiPromise, code);
- this.observationCache.set(code, cacheForCode);
+ cacheForCode = new _fhir_cache__WEBPACK_IMPORTED_MODULE_8__["ObservationCache"](code);
+ FhirHttpService_1.observationCache.set(code, cacheForCode);
}
- return this.loadAllCodes.then(function () {
- return cacheForCode.getResource(dateRange).then(function (results) {
- return results.filter(function (result) { return result.status !== _fhir_data_classes_observation__WEBPACK_IMPORTED_MODULE_13__["ObservationStatus"].EnteredInError; });
+ return Promise.all([this.smartApiPromise, this.loadAllCodes])
+ .then(function (_a) {
+ var smartApi = _a[0], _ = _a[1];
+ return cacheForCode.getResource(smartApi, dateRange)
+ .then(function (results) {
+ return results.filter(function (result) {
+ return result.status !== _fhir_data_classes_observation__WEBPACK_IMPORTED_MODULE_13__["ObservationStatus"].EnteredInError;
+ });
});
});
};
@@ -6037,8 +6030,7 @@ var FhirHttpService = /** @class */ (function (_super) {
* @param dateRange the time interval the observations should fall between
*/
FhirHttpService.prototype.observationsPresentWithCode = function (code, dateRange) {
- var queryParams = new _fhir_cache__WEBPACK_IMPORTED_MODULE_8__["ObservationCache"](this.smartApiPromise, code)
- .getQueryParams(dateRange);
+ var queryParams = new _fhir_cache__WEBPACK_IMPORTED_MODULE_8__["ObservationCache"](code).getQueryParams(dateRange);
return Promise.all([this.smartApiPromise, this.loadAllCodes])
.then(function (_a) {
var smartApi = _a[0], codes = _a[1];
@@ -6054,43 +6046,15 @@ var FhirHttpService = /** @class */ (function (_super) {
* query for.
*/
FhirHttpService.prototype.getMedicationAdministrationsWithCodes = function (codes, dateRange, limitCount) {
- return this.medicationCache.getResource(dateRange).then(function (results) { return results.filter(function (result) { return codes.includes(result.rxNormCode) &&
- result.status !==
- _fhir_data_classes_medication_administration__WEBPACK_IMPORTED_MODULE_10__["MedicationAdministrationStatus"].ENTERED_IN_ERROR; }); });
- };
- /**
- * Determines whether a medication with the given RxNormCode exists.
- *
- * Checks a single response page and only calls the next page if no
- * medications with the given code exist. Cerner's implementation of FHIR
- * does not support searching by RxNormCode, so we need to get all of the
- * medications and filter the response.
- *
- * @param smartApi The resolved smartOnFhirClient which called the original
- * "search"
- * @param response The response of the previous page
- * @param code The RxNormCode to search for
- */
- FhirHttpService.prototype.checkMedicationsPresentNextPage = function (smartApi, response, code) {
- var _this = this;
- var results = response.data.entry || [];
- var resultsWithCode = results.filter(function (result) {
- return code === _fhir_resource_set__WEBPACK_IMPORTED_MODULE_14__["ResultClass"].extractMedicationEncoding(result.resource);
+ return Promise.all([this.smartApiPromise, this.loadAllCodes])
+ .then(function (_a) {
+ var smartApi = _a[0], _ = _a[1];
+ return FhirHttpService_1.medicationCache
+ .getResource(smartApi, dateRange)
+ .then(function (results) { return results.filter(function (result) { return codes.includes(result.rxNormCode) &&
+ result.status !==
+ _fhir_data_classes_medication_administration__WEBPACK_IMPORTED_MODULE_10__["MedicationAdministrationStatus"].ENTERED_IN_ERROR; }); });
});
- if (resultsWithCode.length > 0) {
- return Promise.resolve(true);
- }
- else {
- if (response.data.link.some(function (link) { return link.relation === 'next'; })) {
- return smartApi.patient.api.nextPage({ bundle: response.data })
- .then(function (nextResponse) {
- return _this.checkMedicationsPresentNextPage(smartApi, nextResponse, code);
- });
- }
- else {
- return Promise.resolve(false);
- }
- }
};
/**
* Determines whether their is a medication present with the given code
@@ -6099,13 +6063,9 @@ var FhirHttpService = /** @class */ (function (_super) {
* @param dateRange The date range to get medications for
*/
FhirHttpService.prototype.medicationsPresentWithCode = function (code, dateRange) {
- var _this = this;
- var queryParams = this.medicationCache.getQueryParams(dateRange);
- return Promise.all([this.smartApiPromise, this.loadAllCodes])
- .then(function (_a) {
- var smartApi = _a[0], codes = _a[1];
- return smartApi.patient.api.search(queryParams)
- .then(function (response) { return _this.checkMedicationsPresentNextPage(smartApi, response, code); });
+ return this.getMedicationAdministrationsWithCodes([code], dateRange)
+ .then(function (medAdmins) {
+ return medAdmins.length > 0 ? true : false;
});
};
/**
@@ -6147,13 +6107,14 @@ var FhirHttpService = /** @class */ (function (_super) {
// then filter them down to those which intersect with the date range
// we query, and those that have a start date no earlier than a year
// prior to now.
- return this.encounterCache.getResource().then(function (results) {
- return results
- .filter(function (result) {
- return dateRange.intersection(result.period) !== null;
- })
- .filter(function (result) {
- return result.period.start >= _constants__WEBPACK_IMPORTED_MODULE_3__["EARLIEST_ENCOUNTER_START_DATE"];
+ return this.smartApiPromise.then(function (smartApi) {
+ return FhirHttpService_1.encounterCache.getResource(smartApi).then(function (results) {
+ return results
+ .filter(function (result) {
+ return dateRange.intersection(result.period) !== null;
+ })
+ .filter(function (result) { return result.period.start >=
+ _constants__WEBPACK_IMPORTED_MODULE_3__["EARLIEST_ENCOUNTER_START_DATE"]; });
});
});
};
@@ -6211,7 +6172,7 @@ var FhirHttpService = /** @class */ (function (_super) {
*/
FhirHttpService.prototype.getMicrobioReports = function (codeGroup, dateRange) {
var _this = this;
- if (!_fhir_config__WEBPACK_IMPORTED_MODULE_16__["microbiology"]) {
+ if (!_fhir_config__WEBPACK_IMPORTED_MODULE_15__["microbiology"]) {
console.debug('No microbiology parameters available in the configuration.');
return Promise.resolve([]);
}
@@ -6225,8 +6186,8 @@ var FhirHttpService = /** @class */ (function (_super) {
callParams = callParams.append('item-date', 'ge' + dateRange.start.toFormat('yyyy-MM-dd'));
callParams = callParams.append('item-date', 'le' + dateRange.end.toFormat('yyyy-MM-dd'));
callParams = callParams.append('_format', 'json');
- var authString = btoa(_fhir_config__WEBPACK_IMPORTED_MODULE_16__["microbiology"].username + ':' +
- _fhir_config__WEBPACK_IMPORTED_MODULE_16__["microbiology"].password);
+ var authString = btoa(_fhir_config__WEBPACK_IMPORTED_MODULE_15__["microbiology"].username + ':' +
+ _fhir_config__WEBPACK_IMPORTED_MODULE_15__["microbiology"].password);
var httpHeaders = new _angular_common_http__WEBPACK_IMPORTED_MODULE_0__["HttpHeaders"]({
'Content-Type': 'application/json',
'Accept': 'application/json',
@@ -6234,7 +6195,7 @@ var FhirHttpService = /** @class */ (function (_super) {
});
return _this.http
.get([
- _fhir_config__WEBPACK_IMPORTED_MODULE_16__["microbiology"].url,
+ _fhir_config__WEBPACK_IMPORTED_MODULE_15__["microbiology"].url,
_constants__WEBPACK_IMPORTED_MODULE_3__["FhirResourceType"].DiagnosticReport
].join('/'), { headers: httpHeaders, params: callParams })
.toPromise()
@@ -6256,14 +6217,21 @@ var FhirHttpService = /** @class */ (function (_super) {
FhirHttpService.prototype.getAnnotatedDiagnosticReports = function (codeGroup, dateRange) {
var _this = this;
var codes = codeGroup.resourceCodes;
- return this.diagnosticReportCache.getResource(dateRange).then(function (results) {
- var annotatedReportsArr = results
- .filter(function (result) {
- return codes.includes(result.code) &&
- result.status !== _fhir_data_classes_diagnostic_report__WEBPACK_IMPORTED_MODULE_9__["DiagnosticReportStatus"].EnteredInError;
- })
- .map(function (report) { return _this.addAttachment(report); });
- return Promise.all(annotatedReportsArr);
+ return Promise.all([this.smartApiPromise, this.loadAllCodes])
+ .then(function (_a) {
+ var smartApi = _a[0], _ = _a[1];
+ return FhirHttpService_1.diagnosticReportCache
+ .getResource(smartApi, dateRange)
+ .then(function (results) {
+ var annotatedReportsArr = results
+ .filter(function (result) {
+ return codes.includes(result.code) &&
+ result.status !==
+ _fhir_data_classes_diagnostic_report__WEBPACK_IMPORTED_MODULE_9__["DiagnosticReportStatus"].EnteredInError;
+ })
+ .map(function (report) { return _this.addAttachment(report); });
+ return Promise.all(annotatedReportsArr);
+ });
});
};
/**
@@ -6288,13 +6256,25 @@ var FhirHttpService = /** @class */ (function (_super) {
.catch(function (err) { return err.message; });
});
};
- FhirHttpService = __decorate([
+ var FhirHttpService_1;
+ /** Cache for all MedicationAdministrations. */
+ FhirHttpService.medicationCache = new _fhir_cache__WEBPACK_IMPORTED_MODULE_8__["MedicationCache"]();
+ /** Cache for all DiagnosticReports. */
+ FhirHttpService.diagnosticReportCache = new _fhir_cache__WEBPACK_IMPORTED_MODULE_8__["DiagnosticReportCache"]();
+ /**
+ * Cache for all Observations. Map from LOINCCode to the ObservationCache
+ * for that LOINCCode.
+ */
+ FhirHttpService.observationCache = new Map();
+ /** Cache for all Encounters. */
+ FhirHttpService.encounterCache = new _fhir_cache__WEBPACK_IMPORTED_MODULE_8__["EncounterCache"]();
+ FhirHttpService = FhirHttpService_1 = __decorate([
Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])(),
- __param(1, Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Inject"])(_smart_on_fhir_client__WEBPACK_IMPORTED_MODULE_17__["SMART_ON_FHIR_CLIENT"])),
+ __param(1, Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Inject"])(_smart_on_fhir_client__WEBPACK_IMPORTED_MODULE_16__["SMART_ON_FHIR_CLIENT"])),
__metadata("design:paramtypes", [_debugger_service__WEBPACK_IMPORTED_MODULE_7__["DebuggerService"], Object, _angular_common_http__WEBPACK_IMPORTED_MODULE_0__["HttpClient"], _conceptmappings_resource_code_creator__WEBPACK_IMPORTED_MODULE_5__["ResourceCodeCreator"]])
], FhirHttpService);
return FhirHttpService;
-}(_fhir_service__WEBPACK_IMPORTED_MODULE_15__["FhirService"]));
+}(_fhir_service__WEBPACK_IMPORTED_MODULE_14__["FhirService"]));
@@ -12385,7 +12365,7 @@ var UI_CONSTANTS_TOKEN = new _angular_core__WEBPACK_IMPORTED_MODULE_0__["Injecti
*/
var UI_CONSTANTS = {
SYNTH_DATA: 'This is synthesized data used only for demo purposes.',
- LOINC_VERIFIED_STRING: 'These BCH data mappings were verified 2019-04-30. v.2.0.0.0alpha1',
+ LOINC_VERIFIED_STRING: 'These BCH data mappings were verified 2019-04-30. v.2.0.0.0alpha2',
// Tooltip for adding a card inline
ADD_TIMELINE_HERE: 'Add timeline here',
// Dialog for adding an event to the custom timeline
@@ -12463,8 +12443,8 @@ var UI_CONSTANTS = {
FIRST_DOSE: 'First dose within this timeframe',
LAST_DOSE: 'Last dose within this timeframe',
THIS_DOSE: 'This dose',
- PREVIOUS_DOSE: 'Previous dose within this timeframe',
- NO_PREVIOUS_DOSE: 'No previous dose within this timeframe',
+ PREVIOUS_DOSE: 'Previous dose within this timeframe (for this order)',
+ NO_PREVIOUS_DOSE: 'No previous dose within this timeframe (for this order).',
DOSAGE_INSTRUCTIONS: 'Dosage Instructions'
};
diff --git a/docs/main.js.map b/docs/main.js.map
index 24162b9e..32954f03 100644
--- a/docs/main.js.map
+++ b/docs/main.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/cardcontainer/cardcontainer.component.css","webpack:///./src/app/cardcontainer/cardcontainer.component.html","webpack:///./src/app/cardcontainer/cardcontainer.component.ts","webpack:///./src/app/cardtypes/card/card.component.css","webpack:///./src/app/cardtypes/card/card.component.html","webpack:///./src/app/cardtypes/card/card.component.ts","webpack:///./src/app/cardtypes/customizable-timeline/customizable-timeline-dialog/customizable-timeline-dialog.component.css","webpack:///./src/app/cardtypes/customizable-timeline/customizable-timeline-dialog/customizable-timeline-dialog.component.html","webpack:///./src/app/cardtypes/customizable-timeline/customizable-timeline-dialog/customizable-timeline-dialog.component.ts","webpack:///./src/app/cardtypes/customizable-timeline/customizable-timeline.component.css","webpack:///./src/app/cardtypes/customizable-timeline/customizable-timeline.component.html","webpack:///./src/app/cardtypes/customizable-timeline/customizable-timeline.component.ts","webpack:///./src/app/cardtypes/legendstyles.css","webpack:///./src/app/cardtypes/multigraphcard/multigraphcard.component.css","webpack:///./src/app/cardtypes/multigraphcard/multigraphcard.component.ts","webpack:///./src/app/cardtypes/multigraphcard/multigraphcard.html","webpack:///./src/app/cardtypes/textboxcard/textboxcard.component.html","webpack:///./src/app/cardtypes/textboxcard/textboxcard.component.ts","webpack:///./src/app/clinicalconcepts/bch-microbio-code.ts","webpack:///./src/app/clinicalconcepts/diagnostic-report-code.ts","webpack:///./src/app/clinicalconcepts/display-grouping.ts","webpack:///./src/app/clinicalconcepts/loinc-code.ts","webpack:///./src/app/clinicalconcepts/resource-code-group.ts","webpack:///./src/app/clinicalconcepts/rx-norm-group.ts","webpack:///./src/app/clinicalconcepts/rx-norm.ts","webpack:///./src/app/conceptmappings/annotation-mapping.ts","webpack:///./src/app/conceptmappings/resource-code-creator.ts","webpack:///./src/app/conceptmappings/resource-code-manager.ts","webpack:///./src/app/confirm-save/confirm-save.component.css","webpack:///./src/app/confirm-save/confirm-save.component.html","webpack:///./src/app/confirm-save/confirm-save.component.ts","webpack:///./src/app/data-selector-element/data-selector-element.component.css","webpack:///./src/app/data-selector-element/data-selector-element.component.html","webpack:///./src/app/data-selector-element/data-selector-element.component.ts","webpack:///./src/app/data-selector-menu/data-selector-menu.component.css","webpack:///./src/app/data-selector-menu/data-selector-menu.component.html","webpack:///./src/app/data-selector-menu/data-selector-menu.component.ts","webpack:///./src/app/date_utils.ts","webpack:///./src/app/debugger.service.ts","webpack:///./src/app/debugger/debugger.component.html","webpack:///./src/app/debugger/debugger.component.ts","webpack:///./src/app/delete-dialog/delete-dialog.component.html","webpack:///./src/app/delete-dialog/delete-dialog.component.ts","webpack:///./src/app/fhir-cache.ts","webpack:///./src/app/fhir-data-classes/annotated-diagnostic-report.ts","webpack:///./src/app/fhir-data-classes/annotated-microbio-report.ts","webpack:///./src/app/fhir-data-classes/annotated-observation.ts","webpack:///./src/app/fhir-data-classes/attachment.ts","webpack:///./src/app/fhir-data-classes/diagnostic-report.ts","webpack:///./src/app/fhir-data-classes/dosage.ts","webpack:///./src/app/fhir-data-classes/encounter.ts","webpack:///./src/app/fhir-data-classes/medication-administration.ts","webpack:///./src/app/fhir-data-classes/medication-order.ts","webpack:///./src/app/fhir-data-classes/medication.ts","webpack:///./src/app/fhir-data-classes/microbio-report.ts","webpack:///./src/app/fhir-data-classes/narrative.ts","webpack:///./src/app/fhir-data-classes/observation-interpretation-valueset.ts","webpack:///./src/app/fhir-data-classes/observation-set.ts","webpack:///./src/app/fhir-data-classes/observation.ts","webpack:///./src/app/fhir-data-classes/specimen.ts","webpack:///./src/app/fhir-http.service.ts","webpack:///./src/app/fhir-launch/fhir-launch.component.css","webpack:///./src/app/fhir-launch/fhir-launch.component.html","webpack:///./src/app/fhir-launch/fhir-launch.component.ts","webpack:///./src/app/fhir-resource-set.ts","webpack:///./src/app/fhir.service.ts","webpack:///./src/app/graphdatatypes/customizabledata.ts","webpack:///./src/app/graphdatatypes/diagnosticgraphdata.ts","webpack:///./src/app/graphdatatypes/graphdata.ts","webpack:///./src/app/graphdatatypes/labeled-series.ts","webpack:///./src/app/graphdatatypes/linegraphdata.ts","webpack:///./src/app/graphdatatypes/microbiographdata.ts","webpack:///./src/app/graphdatatypes/stepgraphdata.ts","webpack:///./src/app/graphtypes/axis-group.ts","webpack:///./src/app/graphtypes/axis.ts","webpack:///./src/app/graphtypes/customizable-graph/customizable-graph-annotation.ts","webpack:///./src/app/graphtypes/customizable-graph/customizable-graph.component.ts","webpack:///./src/app/graphtypes/diagnostic-graph/diagnostic-graph.component.ts","webpack:///./src/app/graphtypes/diagnostic-graph/diagnostic-graph.dialog.component.html","webpack:///./src/app/graphtypes/diagnostic-graph/diagnostic-graph.dialog.component.ts","webpack:///./src/app/graphtypes/graph.css","webpack:///./src/app/graphtypes/graph/graph.component.html","webpack:///./src/app/graphtypes/graph/graph.component.ts","webpack:///./src/app/graphtypes/legend-info.ts","webpack:///./src/app/graphtypes/linegraph/linegraph.component.ts","webpack:///./src/app/graphtypes/microbio-graph/microbio-graph.component.ts","webpack:///./src/app/graphtypes/scatterplot/scatterplot.component.ts","webpack:///./src/app/graphtypes/stepgraph/stepgraph.component.ts","webpack:///./src/app/graphtypes/tooltips/annotated-tooltip.ts","webpack:///./src/app/graphtypes/tooltips/diagnostic-tooltips.ts","webpack:///./src/app/graphtypes/tooltips/medication-tooltips.ts","webpack:///./src/app/graphtypes/tooltips/microbio-tooltips.ts","webpack:///./src/app/graphtypes/tooltips/observation-tooltips.ts","webpack:///./src/app/graphtypes/tooltips/tooltip.ts","webpack:///./src/app/help-dialog/help-dialog.component.css","webpack:///./src/app/help-dialog/help-dialog.component.html","webpack:///./src/app/help-dialog/help-dialog.component.ts","webpack:///./src/app/ifu-dialog/ifu-dialog.component.css","webpack:///./src/app/ifu-dialog/ifu-dialog.component.html","webpack:///./src/app/ifu-dialog/ifu-dialog.component.ts","webpack:///./src/app/mock-fhir.service.ts","webpack:///./src/app/number_utils.ts","webpack:///./src/app/result-error.ts","webpack:///./src/app/setup-data.service.ts","webpack:///./src/app/setup/setup.component.css","webpack:///./src/app/setup/setup.component.html","webpack:///./src/app/setup/setup.component.ts","webpack:///./src/app/smart-on-fhir-client.ts","webpack:///./src/app/theme/verily_colors.ts","webpack:///./src/app/timeline-controller/timeline-controller.component.css","webpack:///./src/app/timeline-controller/timeline-controller.component.html","webpack:///./src/app/timeline-controller/timeline-controller.component.ts","webpack:///./src/app/timeline-toolbar/timeline-toolbar.component.html","webpack:///./src/app/timeline-toolbar/timeline-toolbar.component.ts","webpack:///./src/app/unit_utils.ts","webpack:///./src/constants.ts","webpack:///./src/environments/environment.ts","webpack:///./src/environments/environment_file_locations.ts","webpack:///./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\n\nimport {CardcontainerComponent} from './cardcontainer/cardcontainer.component';\nimport {FhirLaunchComponent} from './fhir-launch/fhir-launch.component';\nimport {SetupComponent} from './setup/setup.component';\n\n/* On their end, it's locked down so that the only acceptable redirect\nURL is localhost:8000/. So, we have to do a different path for\nauthentication. */\nconst routes: Routes = [\n {path: 'main', component: CardcontainerComponent},\n {path: 'setup', component: SetupComponent},\n {path: '', component: FhirLaunchComponent}, {path: '**', redirectTo: ''}\n];\n\n\n@NgModule({exports: [RouterModule], imports: [RouterModule.forRoot(routes)]})\n\nexport class AppRoutingModule {\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\n\\nMedTimeLine\\n\\n\"","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport {Component} from '@angular/core';\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n title = 'app';\n}\n","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport 'fhirclient';\n\nimport {HttpClient, HttpClientModule} from '@angular/common/http';\nimport {NgModule} from '@angular/core';\nimport {FlexLayoutModule} from '@angular/flex-layout';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\n// tslint:disable-next-line:max-line-length\nimport {MatAutocompleteModule, MatButtonModule, MatButtonToggleModule, MatCheckboxModule, MatDatepickerModule, MatDialogModule, MatDividerModule, MatExpansionModule, MatGridListModule, MatListModule, MatMenuModule, MatNativeDateModule, MatProgressSpinnerModule, MatRadioModule, MatSnackBarModule, MatStepperModule, MatToolbarModule, MatTooltipModule} from '@angular/material';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatInputModule} from '@angular/material/input';\nimport {BrowserModule} from '@angular/platform-browser';\nimport {NoopAnimationsModule} from '@angular/platform-browser/animations';\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport {ChartsModule} from 'ng2-charts';\nimport {DragulaModule} from 'ng2-dragula';\nimport {NgxDaterangepickerMd} from 'ngx-daterangepicker-material';\nimport {UI_CONSTANTS, UI_CONSTANTS_TOKEN} from 'src/constants';\n\nimport {environment} from '../environments/environment';\n\nimport {AppRoutingModule} from './app-routing.module';\nimport {AppComponent} from './app.component';\nimport {CardcontainerComponent} from './cardcontainer/cardcontainer.component';\nimport {CardComponent} from './cardtypes/card/card.component';\n// tslint:disable-next-line:max-line-length\nimport {CustomizableTimelineDialogComponent} from './cardtypes/customizable-timeline/customizable-timeline-dialog/customizable-timeline-dialog.component';\nimport {CustomizableTimelineComponent} from './cardtypes/customizable-timeline/customizable-timeline.component';\nimport {MultiGraphCardComponent} from './cardtypes/multigraphcard/multigraphcard.component';\nimport {TextboxcardComponent} from './cardtypes/textboxcard/textboxcard.component';\nimport {ResourceCodeCreator} from './conceptmappings/resource-code-creator';\nimport {ResourceCodeManager} from './conceptmappings/resource-code-manager';\nimport {ConfirmSaveComponent} from './confirm-save/confirm-save.component';\nimport {DataSelectorElementComponent} from './data-selector-element/data-selector-element.component';\nimport {DataSelectorMenuComponent} from './data-selector-menu/data-selector-menu.component';\nimport {DebuggerComponent} from './debugger/debugger.component';\nimport {DeleteDialogComponent} from './delete-dialog/delete-dialog.component';\nimport {FhirHttpService} from './fhir-http.service';\nimport {FhirLaunchComponent} from './fhir-launch/fhir-launch.component';\nimport {FhirService} from './fhir.service';\nimport {CustomizableGraphComponent} from './graphtypes/customizable-graph/customizable-graph.component';\nimport {DiagnosticGraphComponent} from './graphtypes/diagnostic-graph/diagnostic-graph.component';\nimport {DiagnosticGraphDialogComponent} from './graphtypes/diagnostic-graph/diagnostic-graph.dialog.component';\nimport {LineGraphComponent} from './graphtypes/linegraph/linegraph.component';\nimport {MicrobioGraphComponent} from './graphtypes/microbio-graph/microbio-graph.component';\nimport {ScatterplotComponent} from './graphtypes/scatterplot/scatterplot.component';\nimport {StepGraphComponent} from './graphtypes/stepgraph/stepgraph.component';\nimport {HelpDialogComponent} from './help-dialog/help-dialog.component';\nimport {IfuDialogComponent} from './ifu-dialog/ifu-dialog.component';\nimport {MockFhirService} from './mock-fhir.service';\nimport {SetupComponent} from './setup/setup.component';\nimport {SMART_ON_FHIR_CLIENT} from './smart-on-fhir-client';\nimport {TimelineControllerComponent} from './timeline-controller/timeline-controller.component';\nimport {TimelineToolbarComponent} from './timeline-toolbar/timeline-toolbar.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n FhirLaunchComponent,\n CardcontainerComponent,\n TextboxcardComponent,\n LineGraphComponent,\n ScatterplotComponent,\n StepGraphComponent,\n MultiGraphCardComponent,\n TimelineControllerComponent,\n CustomizableTimelineComponent,\n CustomizableGraphComponent,\n CustomizableTimelineDialogComponent,\n MicrobioGraphComponent,\n DiagnosticGraphComponent,\n TimelineToolbarComponent,\n DataSelectorElementComponent,\n DataSelectorMenuComponent,\n HelpDialogComponent,\n CardComponent,\n DeleteDialogComponent,\n DebuggerComponent,\n SetupComponent,\n ConfirmSaveComponent,\n IfuDialogComponent,\n DiagnosticGraphDialogComponent,\n ],\n imports: [\n BrowserModule,\n NgbModule,\n MatCardModule,\n MatGridListModule,\n HttpClientModule,\n MatListModule,\n MatDividerModule,\n MatIconModule,\n NoopAnimationsModule,\n FormsModule,\n ReactiveFormsModule,\n MatInputModule,\n MatProgressSpinnerModule,\n MatButtonModule,\n MatAutocompleteModule,\n MatMenuModule,\n MatTooltipModule,\n FlexLayoutModule.withConfig({useColumnBasisZero: false}),\n MatDialogModule,\n MatStepperModule,\n MatToolbarModule,\n MatSnackBarModule,\n MatDatepickerModule,\n NgxDaterangepickerMd.forRoot({}),\n MatButtonToggleModule,\n MatNativeDateModule,\n MatCheckboxModule,\n MatRadioModule,\n ChartsModule,\n DragulaModule.forRoot(),\n AppRoutingModule,\n MatExpansionModule,\n ],\n providers: [\n // This sets up a provider for the smart on fhir client defined by\n // assets/fhir-client.min.js (defined as symbol `FHIR`) so that it can be\n // injected into the service that uses it to allow for easier testing.\n {provide: SMART_ON_FHIR_CLIENT, useValue: FHIR},\n {\n provide: FhirService,\n useClass: environment.useMockServer ? MockFhirService : FhirHttpService\n },\n {provide: ResourceCodeManager, useClass: ResourceCodeManager},\n {provide: ResourceCodeCreator, useClass: ResourceCodeCreator},\n {provide: UI_CONSTANTS_TOKEN, useValue: UI_CONSTANTS},\n ],\n bootstrap: [AppComponent],\n entryComponents: [\n CustomizableTimelineDialogComponent, HelpDialogComponent,\n DeleteDialogComponent, ConfirmSaveComponent, IfuDialogComponent,\n DiagnosticGraphDialogComponent\n ]\n})\nexport class AppModule {\n}\n","module.exports = \".cardContainer {\\n background-color: #202020; /* GREY_900 */\\n display: flex;\\n display: -ms-flexbox; /* For IE10 */\\n padding: 15px;\\n width: 100%;\\n min-height: 100%;\\n height: 100%;\\n flex-direction: column; /* For IE10 */\\n /* Disable selecting/highlighting on the page. */\\n -webkit-touch-callout: none; /* iOS Safari */\\n -webkit-user-select: none; /* Safari */\\n -moz-user-select: none; /* Firefox */\\n -ms-user-select: none; /* Internet Explorer/Edge */\\n user-select: none; /* Chrome and Opera */\\n}\\n\\n.draggable {\\n display: flex;\\n display: -ms-flexbox;\\n height: 100%;\\n flex-direction: column; /* For IE10 */\\n}\\n\\n.flexSpacer {\\n flex: 1 1 0%;\\n -ms-flex: 1 1 0%; /* For IE10 */\\n}\\n\\n::ng-deep .mat-toolbar, .mat-toolbar h1, .mat-toolbar h2, .mat-toolbar h3, .mat-toolbar h4, .mat-toolbar h5, .mat-toolbar h6, .mat-toolbar-row, .mat-toolbar-single-row {\\n display: -ms-flexbox; /* For IE10 */\\n}\\n\\n.mat-toolbar {\\n /* Deep Purple 800 to Pink 900 */\\n background-image: linear-gradient(to right, #4527A0 , #870D4E);\\n color: white;\\n}\\n\\n::ng-deep .gu-unselectable app-data-selector-menu {\\n /* Hide the data selector menus while a card is being dragged. */\\n opacity: 0 !important;\\n}\\n\\n.makeGutters {\\n padding-right: 50px;\\n padding-left: 50px;\\n}\\n\\n::ng-deep .mat-toolbar-single-row {\\n white-space: unset !important;\\n}\\n\\n::ng-deep .timelineToolbarMain {\\n float: right;\\n margin-right: 15px;\\n display: -ms-flexbox; /* For IE10 */\\n}\\n\\n::ng-deep app-card {\\n flex-direction: row;\\n display: flex;\\n display: -ms-flexbox; /* For IE10 */\\n}\\n\\n::ng-deep app-data-selector-menu {\\n flex-direction: row;\\n display: flex;\\n display: -ms-flexbox; /* For IE10 */\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FyZGNvbnRhaW5lci9jYXJkY29udGFpbmVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx5QkFBeUIsRUFBRSxhQUFhO0VBQ3hDLGFBQWE7RUFDYixvQkFBb0IsRUFBRSxhQUFhO0VBQ25DLGFBQWE7RUFDYixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixzQkFBc0IsRUFDTSxhQUFhO0VBQ3pDLGdEQUFnRDtFQUNoRCwyQkFBMkIsRUFBRSxlQUFlO0VBQzVDLHlCQUF5QixFQUFFLFdBQVc7S0FDbkMsc0JBQXNCLEVBQUUsWUFBWTtNQUNuQyxxQkFBcUIsRUFBRSwyQkFBMkI7VUFDOUMsaUJBQWlCLEVBQUUscUJBQXFCO0FBQ2xEOztBQUVBO0VBQ0UsYUFBYTtFQUNiLG9CQUFvQjtFQUNwQixZQUFZO0VBQ1osc0JBQXNCLEVBQ00sYUFBYTtBQUMzQzs7QUFFQTtFQUNFLFlBQVk7RUFDWixnQkFBZ0IsRUFBRSxhQUFhO0FBQ2pDOztBQUVBO0VBQ0Usb0JBQW9CLEVBQUUsYUFBYTtBQUNyQzs7QUFFQTtHQUNHLGdDQUFnQztFQUNqQyw4REFBOEQ7RUFDOUQsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0VBQWdFO0VBQ2hFLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSw2QkFBNkI7QUFDL0I7O0FBRUE7RUFDRSxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLG9CQUFvQixHQUFHLGFBQWE7QUFDdEM7O0FBRUE7RUFDRSxtQkFBbUI7RUFFbkIsYUFBYTtFQUNiLG9CQUFvQixFQUFFLGFBQWE7QUFDckM7O0FBRUE7RUFDRSxtQkFBbUI7RUFFbkIsYUFBYTtFQUNiLG9CQUFvQixFQUFFLGFBQWE7QUFDckMiLCJmaWxlIjoic3JjL2FwcC9jYXJkY29udGFpbmVyL2NhcmRjb250YWluZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jYXJkQ29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjAyMDsgLyogR1JFWV85MDAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8qIEZvciBJRTEwICovXG4gIHBhZGRpbmc6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBGb3IgSUUxMCAqL1xuICAvKiBEaXNhYmxlIHNlbGVjdGluZy9oaWdobGlnaHRpbmcgb24gdGhlIHBhZ2UuICovXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgLyogaU9TIFNhZmFyaSAqL1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsgLyogRmlyZWZveCAqL1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJbnRlcm5ldCBFeHBsb3Jlci9FZGdlICovXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIENocm9tZSBhbmQgT3BlcmEgKi9cbn1cblxuLmRyYWdnYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBGb3IgSUUxMCAqL1xufVxuXG4uZmxleFNwYWNlciB7XG4gIGZsZXg6IDEgMSAwJTtcbiAgLW1zLWZsZXg6IDEgMSAwJTsgLyogRm9yIElFMTAgKi9cbn1cblxuOjpuZy1kZWVwIC5tYXQtdG9vbGJhciwgLm1hdC10b29sYmFyIGgxLCAubWF0LXRvb2xiYXIgaDIsIC5tYXQtdG9vbGJhciBoMywgLm1hdC10b29sYmFyIGg0LCAubWF0LXRvb2xiYXIgaDUsIC5tYXQtdG9vbGJhciBoNiwgLm1hdC10b29sYmFyLXJvdywgLm1hdC10b29sYmFyLXNpbmdsZS1yb3cge1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLyogRm9yIElFMTAgKi9cbn1cblxuLm1hdC10b29sYmFyIHtcbiAgIC8qIERlZXAgUHVycGxlIDgwMCB0byBQaW5rIDkwMCAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM0NTI3QTAgLCAjODcwRDRFKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG46Om5nLWRlZXAgLmd1LXVuc2VsZWN0YWJsZSBhcHAtZGF0YS1zZWxlY3Rvci1tZW51IHtcbiAgLyogSGlkZSB0aGUgZGF0YSBzZWxlY3RvciBtZW51cyB3aGlsZSBhIGNhcmQgaXMgYmVpbmcgZHJhZ2dlZC4gKi9cbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuXG4ubWFrZUd1dHRlcnMge1xuICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG59XG5cbjo6bmctZGVlcCAubWF0LXRvb2xiYXItc2luZ2xlLXJvdyB7XG4gIHdoaXRlLXNwYWNlOiB1bnNldCAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgLnRpbWVsaW5lVG9vbGJhck1haW4ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7ICAvKiBGb3IgSUUxMCAqL1xufVxuXG46Om5nLWRlZXAgYXBwLWNhcmQge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8qIEZvciBJRTEwICovXG59XG5cbjo6bmctZGVlcCBhcHAtZGF0YS1zZWxlY3Rvci1tZW51IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvKiBGb3IgSUUxMCAqL1xufVxuIl19 */\"","module.exports = \"\\n \\n \\n \\n \\n \\n \\n\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n
\\n\"","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport {Component, Inject} from '@angular/core';\nimport {MatDialog, MatDialogRef, MatSnackBar} from '@angular/material';\nimport html2canvas from 'html2canvas';\nimport {DateTime, Interval} from 'luxon';\nimport {DragulaService} from 'ng2-dragula';\nimport {Subscription} from 'rxjs';\nimport {recordGoogleAnalyticsEvent, UI_CONSTANTS_TOKEN} from 'src/constants';\nimport {v4 as uuid} from 'uuid';\n\nimport {environment} from '../../environments/environment';\nimport {ResourceCodeCreator} from '../conceptmappings/resource-code-creator';\nimport {ResourceCodeManager} from '../conceptmappings/resource-code-manager';\nimport {ConfirmSaveComponent} from '../confirm-save/confirm-save.component';\nimport {DeleteDialogComponent} from '../delete-dialog/delete-dialog.component';\nimport {FhirService} from '../fhir.service';\nimport {CustomizableData} from '../graphdatatypes/customizabledata';\nimport {AxisGroup} from '../graphtypes/axis-group';\nimport {ChartType} from '../graphtypes/graph/graph.component';\nimport {SetupDataService} from '../setup-data.service';\n\n@Component({\n selector: 'app-cardcontainer',\n templateUrl: './cardcontainer.component.html',\n styleUrls: ['./cardcontainer.component.css'],\n entryComponents: [DeleteDialogComponent],\n})\nexport class CardcontainerComponent {\n // How long to display the snack bar for.\n private readonly DISPLAY_TIME = 6000;\n\n // Whether or not to display the debugger.\n useDebugger = environment.useDebugger;\n\n /**\n * The format of each object in the array is an object representing a line\n * drawn on the chart, that has a value, text, and class field. The value\n * field represents the x-position of the line to be drawn, while the class\n * represents the class name, and the text represents the text displayed near\n * the line.\n */\n eventlines: Array<{[key: string]: number | string}> = [];\n\n // The concepts that are actually being displayed on the page.\n // We keep track of unique ids for each displayed card, to allow removal on\n // clicking the trashcan icon.\n\n readonly displayedConcepts:\n Array<{[key: string]: AxisGroup | string | CustomizableData}> = [];\n\n // The original concepts to duplicate, if necessary.\n originalConcepts: Promise;\n\n // Hold an instance of this enum so that the HTML template can access it.\n readonly chartType = ChartType;\n\n /**\n * By default make the date range displayed the past seven days.\n */\n dateRange: Interval =\n Interval.fromDateTimes(DateTime.utc().minus({days: 7}), DateTime.utc());\n\n // Holds a subscription to the observable sequence of events emitted by the\n // Dragula Service.\n private readonly subs = new Subscription();\n\n // Holds the most recently removed card from the container, mapping the index\n // of the displayed card to the displayedConcept value.\n private recentlyRemoved:\n [number, {[key: string]: AxisGroup | string | CustomizableData}];\n\n // The reference for the Delete Card Dialog opened.\n private deleteDialogRef: MatDialogRef;\n\n // The reference for the Save Snapshot Dialog opened.\n private saveDialogRef: MatDialogRef;\n\n // A map of custom timeline id to the event lines corresponding to that\n // timeline.\n private eventsForCustomTimelines =\n new Map>();\n\n constructor(\n dragulaService: DragulaService,\n private fhirService: FhirService,\n resourceCodeCreator: ResourceCodeCreator,\n resourceCodeManager: ResourceCodeManager,\n private snackBar: MatSnackBar,\n private deleteDialog: MatDialog,\n readonly setupDataService: SetupDataService,\n private saveDialog: MatDialog,\n @Inject(UI_CONSTANTS_TOKEN) readonly uiConstants: any,\n ) {\n this.setUpCards();\n this.setUpDrag(dragulaService);\n this.originalConcepts =\n resourceCodeManager\n .getDisplayGroupMapping(fhirService, resourceCodeCreator)\n .then((mapping) => {\n /* Load in the concepts to display, flattening them all into a\n * single-depth array. */\n return Array.from(mapping.values())\n .reduce((acc, val) => acc.concat(val), []);\n });\n }\n\n private setUpCards() {\n // Add a textbox at the top of the card list.\n this.addTextbox();\n // Add a custom timeline to the top of the card list.\n this.addCustomTimeline();\n // Add all cards selected at the set-up screen.\n for (const concept of this.setupDataService.selectedConcepts) {\n this.displayedConcepts.push({'id': uuid(), 'concept': concept});\n }\n }\n\n // Ensures that the order of displayed concepts is updated as the user drags\n // cards around.\n private setUpDrag(dragulaService: DragulaService) {\n this.subs.add(dragulaService.drop('graphcards').subscribe((value) => {\n // Rearrange the order of this.displayedConcepts if graph/textbox\n // cards are reordered. We do not use dragulaModel since we cannot use\n // it for separate lists on the configuration panel.\n let originalIndex = this.displayedConcepts.map(x => x.id).indexOf(\n value.el.getAttribute('data-index'));\n const siblingIndex = this.getSiblingIdx(value);\n const elementDisplayed = this.displayedConcepts[originalIndex];\n // Add the element to its new position.\n this.displayedConcepts.splice(siblingIndex, 0, elementDisplayed);\n // Adjust the original position if needed.\n if (siblingIndex < originalIndex) {\n originalIndex++;\n }\n this.displayedConcepts.splice(originalIndex, 1);\n\n recordGoogleAnalyticsEvent(\n 'moveCard', 'moveCard',\n (typeof elementDisplayed === 'string') ?\n (elementDisplayed as string) :\n (elementDisplayed.label as string));\n }));\n }\n\n /**\n * Gets the index of the card below a dragged-and-dropped card's new place.\n */\n private getSiblingIdx(value): number {\n let siblingIndex;\n if (value.sibling === null) {\n // Dragged to bottom of list\n siblingIndex = this.displayedConcepts.length;\n } else {\n const siblingId = value.sibling.getAttribute('data-index');\n siblingIndex = this.displayedConcepts.map(x => x.id).indexOf(siblingId);\n }\n return siblingIndex;\n }\n\n /**\n * Adds a new annotation box to the card panel.\n * @param id: The id of the card above the position of the new annotation box.\n */\n addTextbox(id?: string) {\n const index =\n id ? (this.displayedConcepts.map(x => x.id).indexOf(id) + 1) : 0;\n this.displayedConcepts.splice(index, 0, {id: uuid(), concept: 'textbox'});\n }\n\n /**\n * Adds a new custom timeline to the card panel.\n * @param id: The id of the card above the position of the new annotation box.\n */\n addCustomTimeline(id?: string) {\n const index =\n id ? (this.displayedConcepts.map(x => x.id).indexOf(id) + 1) : 0;\n this.displayedConcepts.splice(\n index, 0, {id: uuid(), concept: 'customTimeline'});\n }\n\n // Listen for an event indicating that the date range has been changed on the\n // UI, and update the date range.\n changeDateRange($event) {\n this.dateRange = $event;\n }\n\n // Saves a snapshot of the graph drawer HTML to the EHR using a FhirService.\n snapshot() {\n html2canvas(document.body).then((canvas) => {\n this.saveDialogRef = this.saveDialog.open(\n ConfirmSaveComponent, {data: canvas, height: '80%'});\n\n this.saveDialogRef.afterClosed().subscribe(result => {\n // Only save the snapshot to the EHR if the user confirmed the save.\n if (result) {\n const date = DateTime.fromJSDate(new Date()).toISO();\n this.fhirService.saveStaticNote(canvas, date).then(res => {\n if (res) {\n this.snackBar.open(\n this.uiConstants.SAVED_TO_POWERCHART,\n this.uiConstants.DISMISS, {\n duration: this.DISPLAY_TIME, // Wait 6 seconds before\n // dismissing the snack bar.\n });\n } else {\n this.snackBar.open(\n this.uiConstants.ERROR_SAVED_TO_POWERCHART,\n this.uiConstants.DISMISS, {\n duration: this.DISPLAY_TIME, // Wait 6 seconds before\n // dismissing the snack bar.\n });\n }\n });\n\n\n recordGoogleAnalyticsEvent(\n 'saveStaticSnapshot', 'save', new Date().toDateString());\n }\n });\n });\n }\n\n // Listen for an event indicating that a \"delete\" button has been clicked on a\n // card currently displayed, and update the displayed concepts\n // accordingly after asking for confirmation of deletion.\n removeDisplayedCard($event) {\n const index = this.displayedConcepts.map(x => x.id).indexOf($event.id);\n const concept = this.displayedConcepts[index];\n concept.value = $event.value;\n this.deleteDialogRef = this.deleteDialog.open(DeleteDialogComponent);\n this.deleteDialogRef.afterClosed().subscribe(result => {\n // The user wishes to delete the card.\n if (result) {\n this.displayedConcepts.splice(index, 1);\n this.recentlyRemoved = [index, concept];\n this.openSnackBar();\n if (this.eventsForCustomTimelines.get($event.id)) {\n // We only remove the event lines for this CustomTimeline if the user\n // confirms the deletion of the card.\n this.updateEventLines({id: $event.id});\n }\n }\n });\n }\n\n // Open a snack bar allowing for the user to potentially reverse the removal\n // of cards from the page. Only one snack bar can be opened at a time.\n private openSnackBar() {\n const message = this.uiConstants.CARD_REMOVED;\n const snackBarRef = this.snackBar.open(message, this.uiConstants.UNDO, {\n duration:\n this.DISPLAY_TIME, // Wait 6 seconds before dismissing the snack bar.\n });\n // Undo the most recent deletion according to what is stored in\n // recentlyRemoved.\n snackBarRef.onAction().subscribe(() => {\n const index = this.recentlyRemoved[0];\n this.displayedConcepts.splice(index, 0, this.recentlyRemoved[1]);\n if (this.displayedConcepts[index].concept === 'customTimeline') {\n this.updateEventLines({\n id: this.displayedConcepts[0].id,\n data: this.displayedConcepts[0].value\n });\n }\n recordGoogleAnalyticsEvent(\n 'undoDelete', 'deleteCard',\n Array.from(this.recentlyRemoved.values()).toString());\n });\n }\n\n /**\n * Listens for an event indicating that the user has selected to add the\n * concept card from the top toolbar. The card is added at the top of the\n * page, or, if the id of the closest card is specified, below the closest\n * card.\n * @param label The label of the new concept to add.\n * @param id The id of the card below which to add the new concept.\n */\n\n addConceptCard(label: string, id?: string) {\n this.originalConcepts.then((concepts) => {\n const graphCardValue = concepts.find(obj => (obj.label === label));\n // Insert the card at the top of the page\n // Insert after the closest card rather than before the card.\n const index =\n id ? (this.displayedConcepts.map(x => x.id).indexOf(id) + 1) : 0;\n this.displayedConcepts.splice(\n index, 0, {id: uuid(), concept: graphCardValue});\n });\n }\n\n /**\n * Listens for an event indicating that the user has edited the points on a\n * custom timeline, and updates the x-axis eventlines displayed on all other\n * charts.\n * @param $event The updated CustomizableData from which we calculate event\n * lines for each chart to display, along with the id of the updated.\n *\n */\n\n updateEventLines($event) {\n let times = [];\n if ($event.data) {\n times = Array.from($event.data.annotations.keys()).map(x => Number(x));\n }\n const eventlines = times.map(x => {\n return {\n value: x,\n text: $event.data.annotations.get(x).title,\n color: $event.data.annotations.get(x).color.hex()\n };\n });\n this.eventsForCustomTimelines.set($event.id, eventlines);\n\n // Consolidate all event lines from all custom timelines.\n let allEvents = [];\n for (const events of Array.from(this.eventsForCustomTimelines.values())) {\n allEvents = allEvents.concat(events);\n }\n this.eventlines = allEvents;\n }\n}\n","module.exports = \".mat-card {\\n cursor: -webkit-grab;\\n cursor: grab;\\n margin-top:0px;\\n margin-bottom:0px;\\n margin-left: 35px; /* Leave space for the \\\"add card\\\" button. */\\n padding-top: 0px;\\n padding-bottom: 0px;\\n padding-right: 20px;\\n padding-left: 0px;\\n transition: box-shadow .1s;\\n background-color: rgb(248, 248, 248);\\n flex-direction: row; /* For IE10 */\\n display: flex;\\n display: -ms-flexbox; /* For IE10 */\\n flex: 1 1 0%;\\n -ms-flex: 1 1 0%; /* For IE10 */\\n width: 100%;\\n max-width: 100%;\\n}\\n\\n::ng-deep .inEditMode .mat-card {\\n background-color: rgb(226, 226, 226) !important;\\n}\\n\\n.mat-card:hover {\\n background-color: rgb(240, 240, 240);\\n box-shadow: 0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);\\n}\\n\\n.colorbar {\\n margin-right: 6px;\\n min-width: 24px;\\n border-top-left-radius: 4px;\\n border-bottom-left-radius: 4px;\\n flex-direction: column; /* For IE10 */\\n display: flex;\\n display: -ms-flexbox; /* For IE10 */\\n flex: 0 0 0%;\\n -ms-flex: 0 0 0%; /* For IE10 */\\n align-content: center;\\n -ms-flex-line-pack: center; /* Align content: center conversion for IE10 */\\n justify-content: center;\\n -ms-flex-pack: center; /* Justify content: center conversion for IE10 */\\n align-self: stretch;\\n -ms-flex-item-align: stretch; /* Align self: stretch conversion for IE10 */\\n}\\n\\n.mat-icon {\\n color: rgb(34, 44, 66);\\n cursor: pointer;\\n opacity: .3;\\n transition: opacity .3s;\\n}\\n\\n.removeCardButton {\\n opacity: 0;\\n}\\n\\n.mat-card:hover .mat-icon {\\n opacity: .8;\\n}\\n\\n.mat-card:hover .dragCardIcon.mat-icon {\\n opacity: .4;\\n}\\n\\n.dragCardIcon {\\n opacity: 0;\\n margin-bottom: 15px;\\n}\\n\\n.labelColumn {\\n padding: 3px;\\n flex-direction: column; /* For IE10 */\\n display: flex;\\n display: -ms-flexbox; /* For IE10 */\\n flex: 0 0 auto;\\n -ms-flex: 0 0 auto; /* For IE10 */\\n}\\n\\n.label {\\n width: 100%;\\n word-wrap: break-word;\\n flex: 1 1 auto;\\n -ms-flex: 1 1 auto; /* For IE10 */\\n font-family: 'Montserrat', sans-serif;\\n}\\n\\n::ng-deep .mat-input-element:disabled{\\n color: rgb(0,0,0, .7) !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FyZHR5cGVzL2NhcmQvY2FyZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usb0JBQVk7RUFBWixZQUFZO0VBQ1osY0FBYztFQUNkLGlCQUFpQjtFQUNqQixpQkFBaUIsRUFBRSwyQ0FBMkM7RUFDOUQsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLDBCQUEwQjtFQUMxQixvQ0FBb0M7RUFDcEMsbUJBQW1CLEVBQ00sYUFBYTtFQUN0QyxhQUFhO0VBQ2Isb0JBQW9CLEVBQUUsYUFBYTtFQUNuQyxZQUFZO0VBQ1osZ0JBQWdCLEVBQUUsYUFBYTtFQUMvQixXQUFXO0VBQ1gsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLCtDQUErQztBQUNqRDs7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyw4REFBOEQ7QUFDaEU7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsZUFBZTtFQUNmLDJCQUEyQjtFQUMzQiw4QkFBOEI7RUFDOUIsc0JBQXNCLEVBQ00sYUFBYTtFQUN6QyxhQUFhO0VBQ2Isb0JBQW9CLEVBQUUsYUFBYTtFQUNuQyxZQUFZO0VBQ1osZ0JBQWdCLEVBQUUsYUFBYTtFQUMvQixxQkFBcUI7RUFDckIsMEJBQTBCLEVBQUUsOENBQThDO0VBQzFFLHVCQUF1QjtFQUN2QixxQkFBcUIsR0FBRyxnREFBZ0Q7RUFDeEUsbUJBQW1CO0VBQ25CLDRCQUE0QixHQUFHLDRDQUE0QztBQUM3RTs7QUFFQTtFQUNFLHNCQUFzQjtFQUN0QixlQUFlO0VBQ2YsV0FBVztFQUNYLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFVBQVU7RUFDVixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxZQUFZO0VBQ1osc0JBQXNCLEVBQ00sYUFBYTtFQUN6QyxhQUFhO0VBQ2Isb0JBQW9CLEVBQUUsYUFBYTtFQUNuQyxjQUFjO0VBQ2Qsa0JBQWtCLEVBQUUsYUFBYTtBQUNuQzs7QUFFQTtFQUNFLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsY0FBYztFQUNkLGtCQUFrQixFQUFFLGFBQWE7RUFDakMscUNBQXFDO0FBQ3ZDOztBQUVBO0VBQ0UsZ0NBQWdDO0FBQ2xDIiwiZmlsZSI6InNyYy9hcHAvY2FyZHR5cGVzL2NhcmQvY2FyZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1hdC1jYXJkIHtcbiAgY3Vyc29yOiBncmFiO1xuICBtYXJnaW4tdG9wOjBweDtcbiAgbWFyZ2luLWJvdHRvbTowcHg7XG4gIG1hcmdpbi1sZWZ0OiAzNXB4OyAvKiBMZWF2ZSBzcGFjZSBmb3IgdGhlIFwiYWRkIGNhcmRcIiBidXR0b24uICovXG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4xcztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0OCwgMjQ4LCAyNDgpO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsgLyogRm9yIElFMTAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8qIEZvciBJRTEwICovXG4gIGZsZXg6IDEgMSAwJTtcbiAgLW1zLWZsZXg6IDEgMSAwJTsgLyogRm9yIElFMTAgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuOjpuZy1kZWVwIC5pbkVkaXRNb2RlIC5tYXQtY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjYsIDIyNiwgMjI2KSAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLDAsMCwuMTgpLDAgOHB4IDE2cHggcmdiYSgwLDAsMCwuMzYpO1xufVxuXG4uY29sb3JiYXIge1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgbWluLXdpZHRoOiAyNHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIEZvciBJRTEwICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvKiBGb3IgSUUxMCAqL1xuICBmbGV4OiAwIDAgMCU7XG4gIC1tcy1mbGV4OiAwIDAgMCU7IC8qIEZvciBJRTEwICovXG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXI7IC8qIEFsaWduIGNvbnRlbnQ6IGNlbnRlciBjb252ZXJzaW9uIGZvciBJRTEwICovXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7ICAvKiBKdXN0aWZ5IGNvbnRlbnQ6IGNlbnRlciBjb252ZXJzaW9uIGZvciBJRTEwICovXG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2g7ICAvKiBBbGlnbiBzZWxmOiBzdHJldGNoIGNvbnZlcnNpb24gZm9yIElFMTAgKi9cbn1cblxuLm1hdC1pY29uIHtcbiAgY29sb3I6IHJnYigzNCwgNDQsIDY2KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAuMztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG59XG5cbi5yZW1vdmVDYXJkQnV0dG9uIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLm1hdC1jYXJkOmhvdmVyIC5tYXQtaWNvbiB7XG4gIG9wYWNpdHk6IC44O1xufVxuXG4ubWF0LWNhcmQ6aG92ZXIgLmRyYWdDYXJkSWNvbi5tYXQtaWNvbiB7XG4gIG9wYWNpdHk6IC40O1xufVxuXG4uZHJhZ0NhcmRJY29uIHtcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmxhYmVsQ29sdW1uIHtcbiAgcGFkZGluZzogM3B4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogRm9yIElFMTAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8qIEZvciBJRTEwICovXG4gIGZsZXg6IDAgMCBhdXRvO1xuICAtbXMtZmxleDogMCAwIGF1dG87IC8qIEZvciBJRTEwICovXG59XG5cbi5sYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICAtbXMtZmxleDogMSAxIGF1dG87IC8qIEZvciBJRTEwICovXG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG59XG5cbjo6bmctZGVlcCAubWF0LWlucHV0LWVsZW1lbnQ6ZGlzYWJsZWR7XG4gIGNvbG9yOiByZ2IoMCwwLDAsIC43KSAhaW1wb3J0YW50O1xufVxuIl19 */\"","module.exports = \"\\n\\n
\\n clear\\n \\n \\n drag_handle\\n \\n \\n \\n
\\n
\\n
{{label}}
\\n \\n \\n
\\n \\n \\n \\n \\n edit\\n \\n save\\n \\n\\n\"","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport {Component, EventEmitter, Inject, Input, Output} from '@angular/core';\nimport * as Color from 'color';\nimport * as Colors from 'src/app/theme/verily_colors';\nimport {UI_CONSTANTS_TOKEN} from 'src/constants';\n\n/**\n * This is the base template for all the cards in this app. It will show a\n * colored bar on the left hand side with icons for actions, and then\n * optionally a label and legend, then the contents of the card.\n */\n@Component({\n selector: 'app-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.css']\n})\nexport class CardComponent {\n @Input() color: Color = Colors.BLUE_GREY_500;\n @Input() id: string;\n @Input() label: string;\n @Input() isEditable = false;\n @Input() isRemovable = true;\n\n @Output() renderEvent = new EventEmitter();\n @Output() removeEvent = new EventEmitter();\n @Output() editEvent = new EventEmitter();\n @Output() saveEvent = new EventEmitter();\n\n inEditMode = false;\n\n constructor(@Inject(UI_CONSTANTS_TOKEN) readonly uiConstants: any) {}\n\n // The events below need to get propogated up to the card container.\n\n // Called when the user clicks the trashcan button on the card.\n remove() {\n this.removeEvent.emit(this.id);\n }\n\n // Called when the card resizes.\n resize($event) {\n this.renderEvent.emit($event);\n }\n\n // Called when the user clicks on the edit button.\n edit($event) {\n this.inEditMode = true;\n this.editEvent.emit($event);\n }\n\n // Called when the user hits the save button to exit out of edit mode.\n save($event) {\n this.inEditMode = false;\n this.saveEvent.emit($event);\n }\n}\n","module.exports = \"ngb-timepicker {\\n font-size: 1rem;\\n}\\n\\n::ng-deep fieldset {\\n min-width: 0;\\n padding: 0;\\n margin: 0;\\n border: 0;\\n}\\n\\n::ng-deep .ngb-tp {\\n display: flex;\\n align-items: center;\\n}\\n\\n::ng-deep .ngb-tp-hour, .ngb-tp-meridian, .ngb-tp-minute, .ngb-tp-second {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: space-around;\\n}\\n\\n::ng-deep .ngb-tp-input-container {\\n width: 4em;\\n}\\n\\n::ng-deep .ngb-tp-spacer {\\n width: 50px !important;\\n text-align: center;\\n}\\n\\n::ng-deep .btn-link {\\n font-weight: 400;\\n color: #5E35B1;\\n background-color: transparent;\\n border-width: 1px;\\n cursor: pointer;\\n border-radius: 4px;\\n}\\n\\n::ng-deep .form-control {\\n display: block;\\n width: 100%;\\n padding: .375rem .75rem;\\n font-size: 1rem;\\n line-height: 1.5;\\n color: #495057;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid #ced4da;\\n border-radius: .25rem;\\n}\\n\\n::ng-deep .ngb-tp-input {\\n text-align: center;\\n width: inherit;\\n}\\n\\n::ng-deep .sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0,0,0,0);\\n white-space: nowrap;\\n -webkit-clip-path: inset(50%);\\n clip-path: inset(50%);\\n border: none;\\n}\\n\\n::ng-deep .mat-error {\\n font-size: 12px;\\n}\\n\\n.mockPlaceholder {\\n font-size: 12px;\\n color: grey;\\n margin-top: 18px;\\n}\\n\\n::ng-deep .dateInput {\\n width: 100px !important;\\n}\\n\\n::ng-deep ngb-datepicker {\\n z-index: 4;\\n background-color:white;\\n}\\n\\n::ng-deep .date {\\n display: inline-block;\\n vertical-align: middle;\\n}\\n\\n::ng-deep .time {\\n display: inline-block;\\n margin-left:30px;\\n vertical-align: middle;\\n}\\n\\n::ng-deep .date .mockPlaceholder {\\n margin-bottom: 20px;\\n}\\n\\n::ng-deep .date .dateInput {\\n margin-bottom: 20px;\\n}\\n\\n::ng-deep .mat-dialog-container {\\n max-height: 400px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FyZHR5cGVzL2N1c3RvbWl6YWJsZS10aW1lbGluZS9jdXN0b21pemFibGUtdGltZWxpbmUtZGlhbG9nL2N1c3RvbWl6YWJsZS10aW1lbGluZS1kaWFsb2cuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxZQUFZO0VBQ1osVUFBVTtFQUNWLFNBQVM7RUFDVCxTQUFTO0FBQ1g7O0FBRUE7RUFFRSxhQUFhO0VBRWIsbUJBQW1CO0FBQ3JCOztBQUNBO0VBRUUsYUFBYTtFQUViLHNCQUFzQjtFQUV0QixtQkFBbUI7RUFFbkIsNkJBQTZCO0FBQy9COztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQUVBO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsNkJBQTZCO0VBQzdCLGlCQUFpQjtFQUNqQixlQUFlO0VBQ2Ysa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCx1QkFBdUI7RUFDdkIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2Qsc0JBQXNCO0VBQ3RCLDRCQUE0QjtFQUM1Qix5QkFBeUI7RUFDekIscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLFdBQVc7RUFDWCxVQUFVO0VBQ1YsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsNkJBQTZCO0VBQzdCLHFCQUFxQjtFQUNyQixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsZUFBZTtFQUNmLFdBQVc7RUFDWCxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxVQUFVO0VBQ1Ysc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEIsc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsNEJBQTRCO0FBQzlCIiwiZmlsZSI6InNyYy9hcHAvY2FyZHR5cGVzL2N1c3RvbWl6YWJsZS10aW1lbGluZS9jdXN0b21pemFibGUtdGltZWxpbmUtZGlhbG9nL2N1c3RvbWl6YWJsZS10aW1lbGluZS1kaWFsb2cuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIm5nYi10aW1lcGlja2VyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG46Om5nLWRlZXAgZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG46Om5nLWRlZXAgLm5nYi10cCB7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuOjpuZy1kZWVwIC5uZ2ItdHAtaG91ciwgLm5nYi10cC1tZXJpZGlhbiwgLm5nYi10cC1taW51dGUsIC5uZ2ItdHAtc2Vjb25kIHtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuOjpuZy1kZWVwIC5uZ2ItdHAtaW5wdXQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDRlbTtcbn1cblxuOjpuZy1kZWVwIC5uZ2ItdHAtc3BhY2VyIHtcbiAgd2lkdGg6IDUwcHggIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG46Om5nLWRlZXAgLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM1RTM1QjE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbjo6bmctZGVlcCAuZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAuMzc1cmVtIC43NXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xufVxuXG46Om5nLWRlZXAgLm5nYi10cC1pbnB1dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IGluaGVyaXQ7XG59XG5cbjo6bmctZGVlcCAuc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuOjpuZy1kZWVwIC5tYXQtZXJyb3Ige1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5tb2NrUGxhY2Vob2xkZXIge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiBncmV5O1xuICBtYXJnaW4tdG9wOiAxOHB4O1xufVxuXG46Om5nLWRlZXAgLmRhdGVJbnB1dCB7XG4gIHdpZHRoOiAxMDBweCAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgbmdiLWRhdGVwaWNrZXIge1xuICB6LWluZGV4OiA0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xufVxuXG46Om5nLWRlZXAgLmRhdGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbjo6bmctZGVlcCAudGltZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6MzBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuOjpuZy1kZWVwIC5kYXRlIC5tb2NrUGxhY2Vob2xkZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG46Om5nLWRlZXAgLmRhdGUgLmRhdGVJbnB1dCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbjo6bmctZGVlcCAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiA0MDBweCAhaW1wb3J0YW50O1xufSJdfQ== */\"","module.exports = \"
\\n
\\n
\\n
Date *
\\n \\n
Invalid date
\\n
\\n
\\n
Time *
\\n \\n \\n
Invalid time
\\n
\\n
\\n Caution: Date outside of current range\\n
\\n
\\n
\\n \\n \\n Please enter a title.\\n \\n \\n \\n \\n
\\n Flag color\\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n
\\n
\"","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport {Component, Inject} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {NgbDateAdapter, NgbDateNativeAdapter} from '@ng-bootstrap/ng-bootstrap';\nimport * as Color from 'color';\nimport {DateTime, Interval} from 'luxon';\n// tslint:disable-next-line:max-line-length\nimport {CustomizableGraphAnnotation} from 'src/app/graphtypes/customizable-graph/customizable-graph-annotation';\n// tslint:disable-next-line:max-line-length\nimport * as Colors from 'src/app/theme/verily_colors';\n\n/**\n * A Dialog with a textarea input, used to set the description of points on the\n * CustomizableTimeline.\n */\n@Component({\n selector: 'app-customizable-timeline-dialog',\n templateUrl: './customizable-timeline-dialog.component.html',\n styleUrls: ['./customizable-timeline-dialog.component.css'],\n providers: [{provide: NgbDateAdapter, useClass: NgbDateNativeAdapter}]\n})\nexport class CustomizableTimelineDialogComponent {\n // The text input for this dialog box.\n userTitle: string;\n\n // The list of suggested times to display with the autocomplete.\n listOfTimes = [];\n\n // The list of colors the user will be able to choose from.\n listOfColors = [\n Colors.DEEP_CORAL,\n Colors.DEEP_ORANGE,\n Colors.DEEP_TURQUOISE,\n Colors.DEEP_CYAN,\n Colors.DEEP_PURPLE_600,\n ];\n\n // The selected color in this dialog box.\n selectedColor: string;\n\n // The description input for this dialog box.\n userDescription: string;\n\n // The FormControl handling the time selection for this dialog box.\n timeFormControl: FormControl;\n\n // The date selected for this dialog box.\n date: Date;\n\n // The time selected for this dialog box.\n time: any;\n\n // The date range currently being viewed.\n dateRange: Interval;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.date = new Date(data.date);\n const minutes = this.date.getMinutes();\n const hours = this.date.getHours();\n this.time = {hour: hours, minute: minutes};\n this.timeFormControl =\n new FormControl(this.time, (control: FormControl) => {\n const value = control.value;\n if (!value) {\n return null;\n }\n });\n // Set the default selected color as yellow if unset, or find the BCH Color\n // matching the selected color passed in.\n this.selectedColor = data.color ?\n this.listOfColors.find(c => c.hex() === data.color.hex()) :\n Colors.DEEP_CORAL;\n // Set the title if it is passed in.\n if (data.title) {\n this.userTitle = data.title;\n }\n // Set the description if it is passed in.\n if (data.description) {\n this.userDescription = data.description;\n }\n\n if (data.dateRange) {\n this.dateRange = Interval.fromDateTimes(\n this.data.dateRange.start.toLocal().startOf('day'),\n this.data.dateRange.end.toLocal().endOf('day'));\n }\n }\n\n // Closes the dialog popup without saving the user input.\n onCancel(): void {\n this.dialogRef.close();\n }\n\n // Closes the dialog popup and saves user input.\n onSave(): void {\n this.dialogRef.close(new CustomizableGraphAnnotation(\n DateTime.fromJSDate(this.getSelectedDate()),\n this.userTitle.trim(),\n this.userDescription,\n Color.rgb(this.selectedColor),\n ));\n }\n\n // Constructs a new Date based on user input.\n private getSelectedDate(): Date {\n const dateTime = new Date(this.date);\n if (!this.time || !this.timeFormControl.value) {\n return undefined;\n }\n // For date parsing to work in IE, we must remove all extraneous non-ASCII\n // characters added, and manually change the time.\n dateTime.setHours(this.time.hour, this.time.minute);\n return dateTime;\n }\n\n // Finds incomplete fields that are required and disables saving.\n findIncompleteFields() {\n return !this.userTitle ||\n (this.userTitle && this.userTitle.trim().length === 0) ||\n this.date === null || this.isInvalidDate() ||\n this.timeFormControl.hasError('required') ||\n this.timeFormControl.invalid;\n }\n\n // Returns whether the date input has an invalid date.\n isInvalidDate(): boolean {\n return isNaN(DateTime.fromJSDate(this.date).toMillis());\n }\n\n // Returns whether the date selected by the user falls outside the current\n // date range.\n dateNotInRange(): boolean {\n const dateTime = DateTime.fromJSDate(this.getSelectedDate());\n if (!this.dateRange) {\n return false;\n }\n return !(this.dateRange.contains(dateTime));\n }\n}\n","module.exports = \"::ng-deep [class*=\\\"timeline\\\"] .c3-xgrid-focus {\\n visibility: visible !important;\\n}\\n\\n::ng-deep .timeline .c3 {\\n cursor: default !important;\\n}\\n\\n::ng-deep .inEditMode .timeline .c3 {\\n cursor: pointer !important;\\n}\\n\\n/* Only display icons on flags in the CustomizableGraph if in edit mode. */\\n\\n::ng-deep app-customizable-graph.inEditMode .showIcon {\\n visibility: visible !important;\\n}\\n\\n::ng-deep [class*=\\\"tooltip-custom\\\"] {\\n position: absolute;\\n display: block;\\n font-size: 11px;\\n border-style: solid;\\n padding: 3px;\\n border-width: 1px;\\n border-color: grey;\\n border-radius: 3px;\\n min-height: 25px;\\n width: 200px;\\n max-height: 100px;\\n background-color: white;\\n overflow: auto;\\n color: white;\\n}\\n\\n::ng-deep [class*=\\\"tooltip-whole\\\"] {\\n position: absolute;\\n display: block;\\n min-height: 25px;\\n width: 0px;\\n max-height: 100px;\\n border-left-style: solid;\\n border-width: 1px;\\n}\\n\\n::ng-deep [class*=\\\"tooltip-title-custom\\\"] {\\n margin: 0px;\\n font-size: small;\\n text-align: center;\\n max-width: 120px;\\n display: inline-block;\\n vertical-align: bottom;\\n min-width: 120px;\\n overflow: auto;\\n margin-top: 5px;\\n overflow-wrap: break-word;\\n}\\n\\n::ng-deep [class*=\\\"tooltip-details-custom\\\"] {\\n display: none;\\n overflow: auto;\\n text-align: center;\\n overflow-wrap: break-word;\\n max-width: 120px;\\n}\\n\\n::ng-deep [id*=\\\"expand\\\"] {\\n visibility: hidden;\\n vertical-align: middle;\\n}\\n\\n::ng-deep [id*=\\\"delete\\\"] {\\n visibility: hidden;\\n vertical-align: middle;\\n}\\n\\n::ng-deep [id*=\\\"edit\\\"] {\\n visibility: hidden;\\n margin-top: 8px;\\n}\\n\\n.contents-block {\\n flex-direction: column;\\n display: flex;\\n display: -ms-flexbox;\\n flex: 1 1 100%;\\n -ms-flex: 1 1 100%; /* For IE10 */\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FyZHR5cGVzL2N1c3RvbWl6YWJsZS10aW1lbGluZS9jdXN0b21pemFibGUtdGltZWxpbmUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtBQUNoQzs7QUFFQTtFQUNFLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLDBCQUEwQjtBQUM1Qjs7QUFFQSwwRUFBMEU7O0FBQzFFO0VBQ0UsOEJBQThCO0FBQ2hDOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQix1QkFBdUI7RUFDdkIsY0FBYztFQUNkLFlBQVk7QUFDZDs7QUFHQTtFQUNFLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLFVBQVU7RUFDVixpQkFBaUI7RUFDakIsd0JBQXdCO0VBQ3hCLGlCQUFpQjtBQUNuQjs7QUFHQTtFQUNFLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsZUFBZTtFQUNmLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLGFBQWE7RUFDYixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLHlCQUF5QjtFQUN6QixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLHNCQUFzQjtBQUN4Qjs7QUFDQTtFQUNFLGtCQUFrQjtFQUNsQixlQUFlO0FBQ2pCOztBQUVBO0VBQ0Usc0JBQXNCO0VBRXRCLGFBQWE7RUFDYixvQkFBb0I7RUFDcEIsY0FBYztFQUNkLGtCQUFrQixFQUFFLGFBQWE7QUFDbkMiLCJmaWxlIjoic3JjL2FwcC9jYXJkdHlwZXMvY3VzdG9taXphYmxlLXRpbWVsaW5lL2N1c3RvbWl6YWJsZS10aW1lbGluZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOjpuZy1kZWVwIFtjbGFzcyo9XCJ0aW1lbGluZVwiXSAuYzMteGdyaWQtZm9jdXMge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCAudGltZWxpbmUgLmMzIHtcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCAuaW5FZGl0TW9kZSAudGltZWxpbmUgLmMzIHtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG59XG5cbi8qIE9ubHkgZGlzcGxheSBpY29ucyBvbiBmbGFncyBpbiB0aGUgQ3VzdG9taXphYmxlR3JhcGggaWYgaW4gZWRpdCBtb2RlLiAqL1xuOjpuZy1kZWVwIGFwcC1jdXN0b21pemFibGUtZ3JhcGguaW5FZGl0TW9kZSAuc2hvd0ljb24ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCBbY2xhc3MqPVwidG9vbHRpcC1jdXN0b21cIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDExcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIHBhZGRpbmc6IDNweDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogZ3JleTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBtaW4taGVpZ2h0OiAyNXB4O1xuICB3aWR0aDogMjAwcHg7XG4gIG1heC1oZWlnaHQ6IDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuXG46Om5nLWRlZXAgW2NsYXNzKj1cInRvb2x0aXAtd2hvbGVcIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAyNXB4O1xuICB3aWR0aDogMHB4O1xuICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbn1cblxuXG46Om5nLWRlZXAgW2NsYXNzKj1cInRvb2x0aXAtdGl0bGUtY3VzdG9tXCJdIHtcbiAgbWFyZ2luOiAwcHg7XG4gIGZvbnQtc2l6ZTogc21hbGw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAxMjBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBtaW4td2lkdGg6IDEyMHB4O1xuICBvdmVyZmxvdzogYXV0bztcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG46Om5nLWRlZXAgW2NsYXNzKj1cInRvb2x0aXAtZGV0YWlscy1jdXN0b21cIl0ge1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICBtYXgtd2lkdGg6IDEyMHB4O1xufVxuXG46Om5nLWRlZXAgW2lkKj1cImV4cGFuZFwiXSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuOjpuZy1kZWVwIFtpZCo9XCJkZWxldGVcIl0ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG46Om5nLWRlZXAgW2lkKj1cImVkaXRcIl0ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmNvbnRlbnRzLWJsb2NrIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBmbGV4OiAxIDEgMTAwJTtcbiAgLW1zLWZsZXg6IDEgMSAxMDAlOyAvKiBGb3IgSUUxMCAqL1xufVxuIl19 */\"","module.exports = \"\\n \\n
\\n\\n\"","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// tslint:disable-next-line:max-line-length\nimport {Component, EventEmitter, Inject, Input, OnChanges, Output, SimpleChanges, ViewChild} from '@angular/core';\nimport {Interval} from 'luxon';\nimport {FhirService} from 'src/app/fhir.service';\nimport {CustomizableData} from 'src/app/graphdatatypes/customizabledata';\nimport {GraphData} from 'src/app/graphdatatypes/graphdata';\nimport {GraphComponent} from 'src/app/graphtypes/graph/graph.component';\nimport {recordGoogleAnalyticsEvent, UI_CONSTANTS_TOKEN} from 'src/constants';\n\n/**\n * The customizable timeline lets the user plot any events they'd like to keep\n * track of as little flags along a timeline.\n */\n@Component({\n selector: 'app-customizable-timeline',\n templateUrl: './customizable-timeline.component.html',\n styleUrls: ['./customizable-timeline.component.css']\n})\nexport class CustomizableTimelineComponent implements OnChanges {\n // The GraphComponent this card holds.\n @ViewChild(GraphComponent) containedGraph!: GraphComponent;\n\n // The unique ID for this displayed card.\n @Input() id: string;\n\n /**\n * The x-axis for this card.\n */\n @Input() dateRange: Interval;\n // Data stored before deletion of the card. This is separate from this.data\n // to avoid unnecessary re-rendering of the graph.\n @Input() deletedData: any;\n\n // An event indicating that the event lines displayed on all other charts need\n // to be updated.\n @Output()\n updateEventLines =\n new EventEmitter<{[key: string]: string | CustomizableData}>();\n\n /** Propogate remove events up to the card container. */\n @Output() removeEvent = new EventEmitter();\n\n // The data for the graph contained.\n data: CustomizableData;\n\n // Whether or not this CustomizableTimeline is being edited.\n inEditMode = false;\n\n constructor(\n private fhirService: FhirService,\n @Inject(UI_CONSTANTS_TOKEN) readonly uiConstants: any) {\n this.data = CustomizableData.defaultEmptySeries();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.deletedData && changes.deletedData.currentValue) {\n this.data = this.deletedData;\n this.containedGraph.data = this.data;\n }\n }\n\n // Listens for an event indicating that the points on the CustomizableGraph\n // have been changed, and emits an event with the modified eventlines\n // displayed on all other charts.\n pointsChanged($event) {\n this.updateEventLines.emit({data: this.data, id: this.id});\n }\n\n // Called when the user clicks the trashcan button on the card.\n remove() {\n this.removeEvent.emit({id: this.id, value: this.data});\n recordGoogleAnalyticsEvent(\n 'deleteCustomTimeline', 'deleteCard', new Date().toDateString());\n }\n}\n","module.exports = \".legend {\\n cursor: pointer;\\n}\\n\\n/* This is the color swatch for the legends.*/\\n\\n.legend span {\\n border-style: solid !important;\\n height: 7px;\\n margin: 3px;\\n vertical-align: center;\\n width: 7px;\\n}\\n\\n/* This is a specific style for MultiGraphCard. */\\n\\n.contents-block {\\n flex-direction: column; /* For IE10 */\\n display: flex;\\n display: -ms-flexbox; /* For IE10 */\\n flex: 1 1 0%;\\n -ms-flex: 1 1 0%; /* For IE10 */\\n}\\n\\n.axis {\\n flex: 0 0 auto;\\n -ms-flex: 0 0 auto; /* For IE10 */\\n}\\n\\n.mat-body {\\n font-family: 'Work Sans', sans-serif;\\n font-size: 14px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FyZHR5cGVzL2xlZ2VuZHN0eWxlcy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBLDZDQUE2Qzs7QUFDN0M7RUFDRSw4QkFBOEI7RUFDOUIsV0FBVztFQUNYLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsVUFBVTtBQUNaOztBQUVBLGlEQUFpRDs7QUFDakQ7RUFDRSxzQkFBc0IsRUFDTSxhQUFhO0VBQ3pDLGFBQWE7RUFDYixvQkFBb0IsRUFBRSxhQUFhO0VBQ25DLFlBQVk7RUFDWixnQkFBZ0IsRUFBRSxhQUFhO0FBQ2pDOztBQUVBO0VBQ0UsY0FBYztFQUNkLGtCQUFrQixFQUFFLGFBQWE7QUFDbkM7O0FBRUE7RUFDRSxvQ0FBb0M7RUFDcEMsZUFBZTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL2NhcmR0eXBlcy9sZWdlbmRzdHlsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxlZ2VuZCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogVGhpcyBpcyB0aGUgY29sb3Igc3dhdGNoIGZvciB0aGUgbGVnZW5kcy4qL1xuLmxlZ2VuZCBzcGFuIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDdweDtcbiAgbWFyZ2luOiAzcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA3cHg7XG59XG5cbi8qIFRoaXMgaXMgYSBzcGVjaWZpYyBzdHlsZSBmb3IgTXVsdGlHcmFwaENhcmQuICovXG4uY29udGVudHMtYmxvY2sge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogRm9yIElFMTAgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8qIEZvciBJRTEwICovXG4gIGZsZXg6IDEgMSAwJTtcbiAgLW1zLWZsZXg6IDEgMSAwJTsgLyogRm9yIElFMTAgKi9cbn1cblxuLmF4aXMge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgLW1zLWZsZXg6IDAgMCBhdXRvOyAvKiBGb3IgSUUxMCAqL1xufVxuXG4ubWF0LWJvZHkge1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn0iXX0= */\"","module.exports = \"\\n.card-error {\\n white-space: pre-wrap;\\n word-break: break-all;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FyZHR5cGVzL211bHRpZ3JhcGhjYXJkL211bHRpZ3JhcGhjYXJkLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0VBQ0UscUJBQXFCO0VBQ3JCLHFCQUFxQjtBQUN2QiIsImZpbGUiOiJzcmMvYXBwL2NhcmR0eXBlcy9tdWx0aWdyYXBoY2FyZC9tdWx0aWdyYXBoY2FyZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG4uY2FyZC1lcnJvciB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuIl19 */\"","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// tslint:disable-next-line:max-line-length\nimport {Component, EventEmitter, Input, OnChanges, OnInit, Output, QueryList, SimpleChanges, ViewChildren} from '@angular/core';\nimport * as Color from 'color';\nimport {DateTime, Interval} from 'luxon';\nimport {GraphData} from 'src/app/graphdatatypes/graphdata';\nimport {LabeledSeries} from 'src/app/graphdatatypes/labeled-series';\nimport {AxisGroup} from 'src/app/graphtypes/axis-group';\nimport {LegendInfo} from 'src/app/graphtypes/legend-info';\nimport {recordGoogleAnalyticsEvent} from 'src/constants';\n\nimport {ChartType, GraphComponent} from '../../graphtypes/graph/graph.component';\nimport {LineGraphComponent} from '../../graphtypes/linegraph/linegraph.component';\nimport * as Colors from '../../theme/verily_colors';\n\n/**\n * This card holds a label, one or more graphs on one or more axes, and a\n * dragger handle.\n */\n@Component({\n selector: 'app-multigraphcard',\n styleUrls: ['../legendstyles.css', './multigraphcard.component.css'],\n templateUrl: './multigraphcard.html',\n})\nexport class MultiGraphCardComponent implements OnChanges, OnInit {\n /** The GraphComponents this card holds. */\n @ViewChildren(GraphComponent)\n containedGraphs!: QueryList>;\n\n @Input() id: string;\n\n /**\n * The date range to use for graphs in this card\n */\n @Input() dateRange: Interval;\n\n /**\n * The AxisGroup displayed on this card.\n */\n @Input() axisGroup: AxisGroup;\n\n /**\n * The format of each object in the array is an object representing a line\n * drawn on the chart, that has a value, text, and class field. The value\n * field represents the x-position of the line to be drawn, while the class\n * represents the class name, and the text represents the text displayed near\n * the line.\n */\n @Input() eventlines: Array<{[key: string]: number | string}>;\n\n /** The x-regions to draw for this graph. */\n xRegions: Array<[DateTime, DateTime]>;\n\n /** Propogate remove events up to the card container. */\n @Output() removeEvent = new EventEmitter();\n\n /**\n * The label for this graphcard.\n */\n label: string;\n\n /**\n * The units text for this card. Blank if the axes have more than one unit.\n */\n unitsLabel = '';\n\n /** Holds the color corresponding to this card. */\n color: Color = Colors.BLUE_GREY_500; // Default color for a card component.\n\n /** Hold an instance of this enum so the HTML template can reference it. */\n ChartType: typeof ChartType = ChartType;\n\n /**\n * Maps legend categories to the corresponding series so that when you hover\n * over a legend category, it can highlight all the corresponding series.\n */\n readonly legendToSeries = new Map();\n\n /**\n * Sets up the class variables that are dependent on the @Input parameter to\n * this component, resourceCodeGroups.\n * @throws An Error if ResourceCodeGroups is undefined or contains mixed\n * clinical concepts.\n */\n ngOnInit() {\n if (!this.axisGroup) {\n throw Error(\n 'All MultiGraphCardComponents are expected to have an AxisGroup ' +\n ' as the data source, but none provided for card id ' + this.id);\n }\n this.label = this.axisGroup.label;\n this.color = this.axisGroup.displayGroup.fill;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const dateRange = changes.dateRange;\n if (dateRange && dateRange.previousValue !== dateRange.currentValue) {\n this.loadNewData();\n }\n }\n\n private addSeriesToLegendMap(series: LabeledSeries) {\n // We do not want to add the normalBound series to the legend\n if (series.legendInfo.label ===\n LineGraphComponent.NORMAL_BOUND_SERIES_NAME) {\n return;\n }\n if (!this.legendToSeries.has(series.legendInfo)) {\n this.legendToSeries.set(series.legendInfo, []);\n }\n const added: LabeledSeries[] = this.legendToSeries.get(series.legendInfo);\n added.push(series);\n\n this.legendToSeries.set(series.legendInfo, added);\n }\n\n private loadNewData() {\n Promise\n .all(this.axisGroup.axes.map(\n axis => axis.updateDateRange(this.dateRange)))\n .then(axisData => {\n this.getLabelText().then(lblText => {\n this.unitsLabel = lblText;\n });\n\n // Gather a list of all the unique legends and series displayed.\n this.legendToSeries.clear();\n for (const data of axisData) {\n for (const series of data.series) {\n this.addSeriesToLegendMap(series);\n }\n }\n\n // Kick off the promise to get all the x-regions. It will update\n // the class variable and then everything bound to it will update,\n // too.\n this.getAllXRegions();\n });\n }\n\n /**\n * Gets the label text for this card. If the axes have all matching units,\n * it returns the units; otherwise it returns a blank string.\n */\n private getLabelText(): Promise {\n return Promise\n .all(this.axisGroup.axes.map(\n axis => axis.updateDateRange(this.dateRange)))\n .then(dataArray => dataArray.map(data => data.series))\n .then(seriesNestedArray => {\n const flattened: LabeledSeries[] = [].concat(...seriesNestedArray);\n return flattened.map(series => series.unit)\n .filter(v => v !== undefined);\n })\n .then(allUnits => {\n const units = new Set(allUnits);\n if (units.size === 1 && allUnits[0] !== undefined) {\n return ' (' + allUnits[0] + ')';\n } else {\n this.updateAxisLabels();\n return '';\n }\n });\n }\n\n /**\n * Gets all the X regions for the axes contained in this group.\n */\n private getAllXRegions() {\n return Promise.all(this.axisGroup.axes.map(axis => axis.getXRegions()))\n .then(nestedXRegions => {\n this.xRegions = [].concat(...nestedXRegions);\n });\n }\n\n /**\n * If the axes on this card have different units, make sure that each\n * axis displays its units on the y-axis, for clarity.\n */\n private updateAxisLabels() {\n for (const axis of this.axisGroup.axes) {\n axis.updateDateRange(this.dateRange).then(axisData => {\n if (axisData && axis.label && axisData.series &&\n axisData.series.length > 0 && axisData.series[0].unit) {\n const units = ' (' + axisData.series[0].unit + ')';\n // Only add units if not done so already.\n if (axis.label.indexOf(units) === -1) {\n axis.label += units;\n }\n }\n });\n }\n }\n\n /**\n * Returns true if any of the LabeledSeries passed in has a datapoint\n * in the time range.\n * This is just a convenience function because this can't be evaluated\n * directly in the Angular template.\n */\n hasData(labeledSeries: LabeledSeries[]) {\n return labeledSeries.map(s => s.hasPointInRange(this.dateRange))\n .some(s => s === true);\n }\n\n /**\n * Highlights the listed series in any graph they appear in for this card.\n */\n focusOnSeries(labeledSeries: LabeledSeries[]) {\n this.containedGraphs.forEach(graph => {\n graph.focusOnSeries(labeledSeries);\n });\n }\n\n /**\n * Removes highlight from any series on this card.\n */\n resetChart() {\n this.containedGraphs.forEach(graph => {\n graph.resetChart();\n });\n }\n\n // The events below need to get propogated up to the card container.\n\n /**\n * Called when the user clicks the trashcan button on the card.\n */\n remove() {\n // We do not add a 'value' field because there is no internal value that\n // needs to be restored when the user reverts a deletion.\n this.removeEvent.emit({id: this.id});\n recordGoogleAnalyticsEvent('deleteConcept', 'deleteCard', this.label);\n }\n}\n","module.exports = \"\\n 1\\\" class=\\\"legends-block\\\">\\n \\n
\\n\"","module.exports = \"\\n \\n \\n \\n {{getHintText()}} \\n \\n \\n\\n\"","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport {Component, ElementRef, EventEmitter, Inject, Input, Output, ViewChild} from '@angular/core';\nimport {recordGoogleAnalyticsEvent, UI_CONSTANTS_TOKEN} from 'src/constants';\n\n/**\n * A Material Card that displays a label, a textbox, and a draggable handle\n * in a row.\n */\n@Component({\n selector: 'app-textboxcard',\n templateUrl: './textboxcard.component.html',\n})\nexport class TextboxcardComponent {\n @ViewChild('textArea') textAreaElement: ElementRef;\n @Input() id: string;\n\n /** Propogate remove events up to the card container. */\n @Output() removeEvent = new EventEmitter();\n\n // Holds the text typed in the input field of the textbox.\n @Input() noteString: string;\n\n inEditMode = false;\n\n\n constructor(@Inject(UI_CONSTANTS_TOKEN) readonly uiConstants: any) {}\n\n updateValue() {\n this.textAreaElement.nativeElement.innerHTML = this.noteString;\n }\n\n // The events below need to get propogated up to the card container.\n\n // Called when the user clicks the trashcan button on the card.\n remove() {\n // We pass a 'value' field with the contents of the textbox so that, in case\n // of restoration of a deleted textbox, the previous value can be displayed.\n this.removeEvent.emit({id: this.id, value: this.noteString});\n\n recordGoogleAnalyticsEvent(\n 'deleteTextbox', 'deleteCard', new Date().toDateString());\n }\n\n edit() {\n this.inEditMode = true;\n }\n\n save() {\n this.inEditMode = false;\n }\n\n getHintText() {\n if (this.inEditMode) {\n return this.uiConstants.SAVE_TEXT_HINT;\n } else {\n return this.uiConstants.EDIT_TEXT_HINT;\n }\n }\n}\n","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport {Interval} from 'luxon';\nimport {APP_TIMESPAN} from 'src/constants';\n\nimport {AnnotatedMicrobioReport} from '../fhir-data-classes/annotated-microbio-report';\nimport {MicrobioReport} from '../fhir-data-classes/microbio-report';\nimport {FhirService} from '../fhir.service';\n\nimport {AbstractResourceCodeGroup, ResourceCode} from './resource-code-group';\n\n/**\n * Holds BCHMicrobioCode codes. BCH provides a custom mapping for their\n * microbiology data since retrieving it is not yet supported in the Cerner\n * FHIR API implementation.\n */\nexport class BCHMicrobioCode extends ResourceCode {\n static readonly CODING_STRING = 'http://cerner.com/bch_mapping/';\n\n dataAvailableInAppTimeScope(fhirService: FhirService): Promise {\n // This is not an elegant way of implementing this function but since it's\n // a non-standard API server we aren't going to put much effort into\n // developing it further at this point.\n return fhirService.microbioReportsPresentWithCodes(\n new BCHMicrobioCodeGroup(\n fhirService, this.label, [this], undefined, undefined),\n APP_TIMESPAN);\n }\n}\n\n/**\n * Represents one or more LOINC codes that should be displayed together. In the\n * case of multiple LOINC codes in a group, you should provide a label for that\n * group.\n */\nexport class BCHMicrobioCodeGroup extends\n AbstractResourceCodeGroup {\n /**\n * Gets a list of MicrobioReports corresponding to this code group. Each\n * item in the list has the same specimen type as the label of this group, and\n * each report's list of results has a code that is in this group's list of\n * codes.\n */\n getResourceFromFhir(dateRange: Interval): Promise {\n return this.fhirService.getMicrobioReports(this, dateRange)\n .then(\n reports =>\n reports.map(report => new AnnotatedMicrobioReport(report)));\n }\n\n formatRawResults(rawResults: AnnotatedMicrobioReport[]):\n Promise {\n const microbioReports = rawResults.map(result => result.report);\n return Promise.resolve(microbioReports);\n }\n\n /**\n * Returns whether there is any data available for this ResourceCode within\n * the fixed timescope of this app.\n * @override\n */\n dataAvailableInAppTimeScope(): Promise {\n return this.fhirService.microbioReportsPresentWithCodes(this, APP_TIMESPAN);\n }\n}\n","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport {Interval} from 'luxon';\nimport {APP_TIMESPAN} from 'src/constants';\n\nimport {AnnotatedDiagnosticReport} from '../fhir-data-classes/annotated-diagnostic-report';\nimport {FhirService} from '../fhir.service';\n\nimport {AbstractResourceCodeGroup, ResourceCode} from './resource-code-group';\n\n/**\n * Holds DiagnosticReport codes, which are technically LOINC codes. This is\n * not grouped with LOINC codes because Observations and DiagnosticReports\n * are inherently different in the Fhir and Cerner implementations.\n */\nexport class DiagnosticReportCode extends ResourceCode {\n static readonly CODING_STRING =\n 'http://hl7.org/fhir/dstu2/valueset-report-codes.html';\n // CODING_STRING could also equal http://loinc.org\n\n dataAvailableInAppTimeScope(fhirService: FhirService): Promise {\n // Currently utilizing code that is very similar to BCHMicrobioCode\n return fhirService.diagnosticReportsPresentWithCodes(\n new DiagnosticReportCodeGroup(\n fhirService, this.label, [this], undefined, undefined),\n APP_TIMESPAN);\n }\n}\n\n/**\n * Represents one or more DiagnosticReport codes that should be displayed\n * together. In the case of multiple DiagnosticReport codes in a group, you\n * should provide a label for that group.\n */\nexport class DiagnosticReportCodeGroup extends AbstractResourceCodeGroup<\n AnnotatedDiagnosticReport, AnnotatedDiagnosticReport> {\n /**\n * Gets a list of AnnotatedDiagnosticReports corresponding to this code group.\n */\n getResourceFromFhir(dateRange: Interval):\n Promise {\n return this.fhirService.getAnnotatedDiagnosticReports(this, dateRange);\n }\n\n formatRawResults(rawResults: AnnotatedDiagnosticReport[]):\n Promise {\n return Promise.resolve(rawResults);\n }\n\n /**\n * Returns whether there is any data available for this ResourceCode within\n * the fixed timescope of this app.\n * @override\n */\n dataAvailableInAppTimeScope(): Promise {\n return this.fhirService.diagnosticReportsPresentWithCodes(\n this, APP_TIMESPAN);\n }\n}\n","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport * as Color from 'color';\nimport * as Colors from '../theme/verily_colors';\n\nexport const ALL_DISPLAY_GROUPS_MAP = new Map();\n\n/**\n * Represents the category that a certain chart's data might fall into, for\n * example a MedicationConcept such as \"Antibiotic\" or a ClinicalConcept such as\n * \"Lab result\"\n */\nexport class DisplayGrouping {\n static colorIdx = 0;\n fill: Color;\n outline: Color;\n\n constructor(readonly label: string, color?: Color, outline?: Color) {\n let tempColor: Color = color;\n if (color === undefined) {\n tempColor = Colors.getDataColors()[DisplayGrouping.colorIdx];\n DisplayGrouping.colorIdx =\n (DisplayGrouping.colorIdx + 1) % Colors.getDataColors().length;\n }\n this.fill = tempColor;\n this.outline = outline ? outline : tempColor;\n ALL_DISPLAY_GROUPS_MAP.set(label, this);\n }\n}\n\nexport const labResult = new DisplayGrouping('Lab Results', Colors.LIME);\nexport const vitalSign = new DisplayGrouping('Vital Signs', Colors.ORANGE);\nexport const antibiotics = new DisplayGrouping('Antibiotics', Colors.TURQUOISE);\nexport const antivirals = new DisplayGrouping('Antivirals', Colors.GOLD);\nexport const antifungals = new DisplayGrouping('Antifungals', Colors.GREEN);\nexport const microbio = new DisplayGrouping('Microbiology', Colors.CYAN);\n// We declare more DisplayGroupings related to Microbiology results that are\n// used to classify points on the Microbiology chart.\nexport const posPrelimMB = new DisplayGrouping(\n 'Check Result Preliminary', Color('#e4e2e2'), Colors.ABNORMAL);\nexport const negPrelimMB = new DisplayGrouping(\n 'Negative Preliminary', Color('#e4e2e2'), Colors.BLUE_A700);\nexport const posFinalMB =\n new DisplayGrouping('Check Result Final', Colors.ABNORMAL);\nexport const negFinalMB =\n new DisplayGrouping('Negative Final', Colors.BLUE_A700);\n// We declare DisplayGroupings that correspond to report statuses that we might\n// encounter rarely.\nexport const posOtherNB =\n new DisplayGrouping('Check Result, Other', Colors.DEEP_GOLD);\nexport const negOtherMB =\n new DisplayGrouping('Negative, Other', Colors.DEEP_GOLD);\n// Radiology Report categories\nexport const radiology = new DisplayGrouping('Radiology', Colors.PINK_900);\n","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport {Interval} from 'luxon';\nimport {APP_TIMESPAN} from 'src/constants';\n\nimport {AnnotatedObservation} from '../fhir-data-classes/annotated-observation';\nimport {Observation} from '../fhir-data-classes/observation';\nimport {ObservationSet} from '../fhir-data-classes/observation-set';\nimport {FhirService} from '../fhir.service';\nimport {ChartType} from '../graphtypes/graph/graph.component';\n\nimport {DisplayGrouping} from './display-grouping';\nimport {ResourceCode} from './resource-code-group';\nimport {AbstractResourceCodeGroup} from './resource-code-group';\n\n/**\n * Holds LOINC codes.\n */\nexport class LOINCCode extends ResourceCode {\n static readonly CODING_STRING = 'http://loinc.org';\n\n dataAvailableInAppTimeScope(fhirService: FhirService): Promise {\n return fhirService.observationsPresentWithCode(this, APP_TIMESPAN);\n }\n}\n\n/**\n * Represents one or more LOINC codes that should be displayed together. In the\n * case of multiple LOINC codes in a group, you should provide a label for that\n * group.\n */\nexport class LOINCCodeGroup extends\n AbstractResourceCodeGroup {\n constructor(\n /** FHIR service for retrieving data */\n readonly fhirService: FhirService,\n /** The label for this resource code group. */\n readonly label: string,\n /** The resource codes to display on this Axis. */\n readonly resourceCodes: ResourceCode[],\n /** The display grouping for this resource code group. */\n readonly displayGrouping: DisplayGrouping,\n /** The chart type for this Axis. */\n readonly chartType: ChartType,\n /**\n * The (optional) function that will make an observation into an\n * AnnotatedObservation so that the graph can show the appropriate\n * tooltip.\n */\n private makeAnnotated?: (observation: Observation, dateRange: Interval) =>\n Promise) {\n super(fhirService, label, resourceCodes, displayGrouping, chartType);\n }\n\n setMakeAnnotated(\n makeAnnotatedFunction: (observation: Observation, dateRange: Interval) =>\n Promise) {\n this.makeAnnotated = makeAnnotatedFunction;\n }\n\n /**\n * Gets one ObservationSet for each LOINCCode in the rawResults, and returns\n * a list of those ObservationSets.\n * @param rawResults: List of AnnotatedObservations to group into\n * ObservationSets\n * @returns: list of ObservationSets. One ObservationSet for each LOINCCode\n * found in the rawResults.\n */\n formatRawResults(rawResults: AnnotatedObservation[]):\n Promise {\n const mapObs = new Map();\n let maxPrecision = 0;\n for (const annotatedObservation of rawResults) {\n const observation = annotatedObservation.observation;\n // From this point on, each observation should have a value,\n // result, or interpretation. All observations that just had\n // innerComponents have been flattened out.\n let obsList = mapObs.get(observation.label);\n if (!obsList) {\n obsList = new Array();\n }\n obsList.push(annotatedObservation);\n if (observation.precision > maxPrecision) {\n maxPrecision = observation.precision;\n }\n mapObs.set(observation.label, obsList);\n }\n this.precision = maxPrecision;\n const doubleAnnotationArray = Array.from(mapObs.values());\n\n return Promise.all(doubleAnnotationArray.map(\n singleAnnotationArray =>\n Promise.all(singleAnnotationArray)\n .then(\n resolvedAnnotations =>\n new ObservationSet(resolvedAnnotations))));\n }\n\n /**\n * Gets list of Observations from the FHIR server and makes them annotated\n * if makeAnnotated function is defined.\n * If an Observation contains \"inner components\", this returns separate\n * Observations for those.\n * @param dateRange: date range to get results from FHIR for\n * @returns: List of Annotated Observations\n */\n getResourceFromFhir(dateRange: Interval): Promise {\n return this.fhirService.getObservationsForCodeGroup(this, dateRange)\n .then(\n observationDoubleArray => {\n // Unnest the inner and outer observations into one flattened\n // array per concept group.\n return observationDoubleArray.map(\n obsSingleArray =>\n Array.from(obsSingleArray)\n .reduce((acc: Observation[], observation) => {\n // The outer component may not have a\n // value or result.\n if (observation.value || observation.result ||\n observation.interpretation) {\n acc.push(observation);\n }\n // Add separate ObservationLists for\n // each inner component.\n if (observation.innerComponents.length > 0) {\n for (const innerComponent of\n observation.innerComponents) {\n acc.push(innerComponent);\n }\n }\n return acc;\n }, []));\n },\n rejection => {\n // If there is any error with constructing an Observation for any\n // code in this code group, throw the error.\n throw rejection;\n })\n .then(flattened => {\n const resultList = new Array>();\n flattened.forEach(conceptList => {\n for (const observation of conceptList) {\n if (this.makeAnnotated) {\n resultList.push(this.makeAnnotated(observation, dateRange));\n } else {\n resultList.push(\n Promise.resolve(new AnnotatedObservation(observation)));\n }\n }\n });\n return Promise.all(resultList);\n });\n }\n}\n","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport {Interval} from 'luxon';\n\nimport {TimestampedObject} from '../fhir-resource-set';\nimport {FhirService} from '../fhir.service';\nimport {ChartType} from '../graphtypes/graph/graph.component';\nimport {DisplayGrouping} from './display-grouping';\n\n/**\n * A code specifying the medication or observation type as well as the specific\n * medication or observation.\n */\nexport abstract class ResourceCode {\n /**\n * The string that holds the FHIR address for the coding system. Every\n * extending class should override this constant, although there is no way\n * we can syntactically enforce this in Typescript.\n */\n static readonly CODING_STRING;\n\n private static readonly CODE_STRING_TO_CODE:\n {[code: string]: ResourceCode} = {};\n\n static fromCodeString(code: string): ResourceCode {\n return ResourceCode.CODE_STRING_TO_CODE[code];\n }\n\n constructor(\n readonly codeString: string, readonly displayGrouping: DisplayGrouping,\n readonly label: string, readonly showByDefault = false,\n /* Absolute axis bounds for the graph displaying this ResourceCode. */\n readonly displayBounds?: [number, number],\n /* Whether or not to force the axis bounds, even if a smaller range\n containing all the data can be calculated. */\n readonly forceDisplayBounds = false) {\n const matchingCode = ResourceCode.CODE_STRING_TO_CODE[codeString];\n if (matchingCode && matchingCode.label !== label) {\n throw Error(\n 'A Resource Code has already been created with this code string but a different label: ' +\n codeString);\n }\n ResourceCode.CODE_STRING_TO_CODE[codeString] = matchingCode || this;\n }\n\n /**\n * Returns whether there is any data available for this ResourceCode within\n * the fixed timescope of this app.\n */\n abstract dataAvailableInAppTimeScope(fhirService: FhirService):\n Promise;\n}\n\n/**\n * A class that holds a group of resource codes that should be displayed on\n * the same Axis together.\n */\nexport class ResourceCodeGroup {\n /* Whether or not to show this ResourceCodeGroup by default. This is true\n * when any ResourceCode in the group should be shown as default.*/\n readonly showByDefault: boolean;\n\n // The number of decimal places to show for any value associated with this\n // resource group. The default is 0, to minimize errors caused by unnecessary\n // trailing zeros.\n precision = 0;\n\n /**\n * When we've decided whether this resource code group has data available\n * in the app, it doesn't change over the course of the app lifetime, so we\n * cache it.\n */\n resolvedDataAvailableInAppTimeScope: boolean = undefined;\n\n constructor(\n readonly fhirService: FhirService,\n /** The label for this resource code group. */\n readonly label: string,\n /** The resource codes to display on this Axis. */\n readonly resourceCodes: ResourceCode[],\n /** The display grouping for this resource code group. */\n readonly displayGrouping: DisplayGrouping,\n /** The chart type for this Axis. */\n readonly chartType: ChartType) {\n this.showByDefault = this.resourceCodes.some(code => code.showByDefault);\n }\n\n /**\n * Returns whether there is any data available for this ResourceCode within\n * the fixed timescope of this app.\n */\n dataAvailableInAppTimeScope(): Promise {\n if (this.resolvedDataAvailableInAppTimeScope !== undefined) {\n return Promise.resolve(this.resolvedDataAvailableInAppTimeScope);\n }\n return Promise\n .all(this.resourceCodes.map(\n rc => rc.dataAvailableInAppTimeScope(this.fhirService)))\n .then(bools => {\n this.resolvedDataAvailableInAppTimeScope =\n bools.reduce((result, next) => result = result || next);\n return this.resolvedDataAvailableInAppTimeScope;\n });\n }\n}\n\nexport abstract class AbstractResourceCodeGroup<\n T, R extends TimestampedObject> extends ResourceCodeGroup {\n /**\n * Looks in the cache to see if data for this time interval exists. If not,\n * calls the implementing class's getResourceFromFhir function and caches\n * its data, then returns the data for the given time interval.\n */\n getResourceSet(dateRange: Interval): Promise {\n return this.getResourceFromFhir(dateRange).then(rawResults => {\n return this.formatRawResults(rawResults);\n });\n }\n\n /**\n * Formats raw results from the cache to results expected by the rendering\n * code.\n *\n * Note: This should really be a private method and never called by anything\n * except for getResourceSet. Since it is abstract though, we cannot make it\n * private.\n *\n * @param rawResults raw results from the cache that should be formatted.\n */\n abstract formatRawResults(rawResults: R[]): Promise;\n\n /**\n * This function should make the FHIR calls to get promises for the\n * resources corresponding to this resource code group.\n */\n abstract getResourceFromFhir(dateRange: Interval): Promise;\n}\n","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport {Interval} from 'luxon';\n\nimport {AbstractResourceCodeGroup} from '../clinicalconcepts/resource-code-group';\nimport {MedicationAdministration} from '../fhir-data-classes/medication-administration';\nimport {AnnotatedMedicationOrder, MedicationOrder, MedicationOrderSet, MedicationOrderStatus} from '../fhir-data-classes/medication-order';\n\nimport {RxNormCode} from './rx-norm';\n\n/**\n * Represents one or more RxNorm codes that should be displayed together. In the\n * case of multiple RxNorm codes in a group, you should provide a label for that\n * group.\n */\nexport class RxNormCodeGroup extends\n AbstractResourceCodeGroup {\n medicationOrderCache = new Map();\n\n /**\n * Gets all Medication Administrations in this group from FHIR for the given\n * date range.\n * @param dateRange date range to get medication administrations for\n */\n getResourceFromFhir(dateRange: Interval):\n Promise {\n return this.fhirService.getMedicationAdministrationsWithCodeGroup(\n this, dateRange);\n }\n\n /**\n * Fills out the order and administration information for each\n * RxNormCode in this group, and returns a list of the populated RxNormCodes.\n * This is a roundabout process because the Cerner implementation of the\n * FHIR standard doesn't allow for searching MedicationOrders by RxNorm code,\n * so we have to search for MedicationAdministrations by RxNorm code and work\n * up from there.\n */\n formatRawResults(rawResults: MedicationAdministration[]):\n Promise {\n const groupedByOrder = this.groupAdministrationsByOrderId(rawResults);\n return this.getMedicationOrdersAndMapToMed(groupedByOrder);\n }\n\n /**\n * Takes a list of lists of MedicationAdministrations and groups them by their\n * order IDs. Each list represents a set of MedicationAdministrations for a\n * specific RxNorm, but they're not arranged by order. For example:\n *\n * [[admin1_rxnorm1_orderA, admin2_rxnorm1_orderB, admin3_rxnorm1_orderB],\n * [admin1_rxnorm2_orderC, admin2_rxnorm2_orderC],\n * [admin1_rxnorm3_orderD]]\n *\n * would yield:\n *\n * {orderA: [admin1_rxnorm1_orderA],\n * orderB: [admin2_rxnorm1_orderB, admin3_rxnorm1_orderB],\n * orderC: [admin1_rxnorm2_orderC, admin2_rxnorm2_orderC],\n * orderD: [admin1_rxnorm3_orderD]\n * }\n * @param medAdmins A list of lists of MedicationAdministrations. See above.\n * @returns A map of order IDs to a list of corresponding\n * MedicationAdministrations.\n */\n private groupAdministrationsByOrderId(medAdmins: MedicationAdministration[]):\n Map {\n let groupedByOrder = new Map();\n // Group medication administrations by medication order.\n groupedByOrder = medAdmins.reduce(\n (groups: Map,\n medAdmin: MedicationAdministration) => {\n // Append this administration to whatever order list it belongs to.\n const orderId: string = medAdmin.medicationOrderId;\n if (!groups.has(orderId)) {\n groups.set(orderId, new Array());\n }\n groups.set(orderId, groups.get(orderId).concat(medAdmin));\n return groups;\n },\n // Use whatever existed in groupedByOrder prior to this iteration as\n // the basis for the reducer to add to.\n groupedByOrder);\n\n return groupedByOrder;\n }\n\n /**\n * Transforms a map with keys of MedicationOrder IDs and values of\n * MedicationAdministrations to a list of RxNormCodes, with the RxNormCodes\n * containing their corresponding MedicationOrders, and the medicationOrders\n * containing their corresponding MedicationAdministrations. For example:\n *\n * {orderA: [admin1_rxnorm1_orderA],\n * orderB: [admin2_rxnorm1_orderB, admin3_rxnorm1_orderB],\n * orderC: [admin1_rxnorm2_orderC, admin2_rxnorm2_orderC],\n * orderD: [admin1_rxnorm3_orderD]\n * }\n *\n * would yield:\n *\n * [RxNorm1 = {orders:\n * [OrderA {administrationsForOrder: [admin1_rxnorm1_orderA]},\n * OrderB {administrationsForOrder: [admin2_rxnorm1_orderB,\n * admin3_rxnorm1_orderB]}]}\n * RxNorm2 = {orders:\n * [OrderC {administrationsForOrder: [admin1_rxnorm2_orderC,\n * admin2_rxnorm2_orderC]}]}\n * RxNorm3 = {orders:\n * [OrderD {administrationsForOrder: [admin1_rxnorm3_orderD]}]}\n *\n * @param groupedByOrder A map with keys of MedicationOrder IDs and values of\n * MedicationAdministrations for those MedicationOrders.\n * @returns A list of RxNormCodes with orders populated\n * @throws Error if the incoming parameter has medication administrations that\n * did not come from the same order for the same med\n */\n private getMedicationOrdersAndMapToMed(\n groupedByOrder: Map):\n Promise {\n const allPromises = Array.from(groupedByOrder.keys()).map(orderId => {\n if (this.medicationOrderCache.has(orderId)) {\n return Promise.resolve(this.medicationOrderCache.get(orderId));\n } else {\n return this.fhirService.getMedicationOrderWithId(orderId).then(\n order => {\n this.medicationOrderCache.set(orderId, order);\n return order;\n },\n rejection => {\n // If there are any errors getting a MedicationOrder for\n // this RxNormCode[], throw the error.\n throw rejection;\n });\n }\n });\n\n // Resolve all the promises and set the corresponding orders for each\n // RxNorm.\n const groupedByMed = new Map();\n return Promise.all(allPromises)\n .then(orders => {\n orders.map(\n (order: MedicationOrder) => {\n const orderId = order.orderId;\n const medicationAdminsForOrder =\n Array.from(groupedByOrder.get(orderId).values());\n // Verify all the administrations have the same RxNormCode and\n // same Order ID.\n const rxNormCodeSet = new Set(\n medicationAdminsForOrder.map(admin => admin.rxNormCode));\n if (rxNormCodeSet.size !== 1) {\n throw Error(\n 'Administrations for order ' + orderId +\n ' are for multiple RxNorms: ' +\n Array.from(rxNormCodeSet.values()));\n }\n\n const orderSet = new Set(medicationAdminsForOrder.map(\n admin => admin.medicationOrderId));\n if (rxNormCodeSet.size !== 1) {\n throw Error(\n 'Administrations for order ' + orderId +\n ' report multiple order IDs: ' + Array.from(orderSet));\n }\n\n // Add the order to the map for the RxNorm code.\n const rxCode = rxNormCodeSet.values().next().value;\n const annotatedOrder = new AnnotatedMedicationOrder(\n order, medicationAdminsForOrder);\n if (groupedByMed.has(rxCode)) {\n groupedByMed.set(\n rxCode, groupedByMed.get(rxCode).concat(annotatedOrder));\n } else {\n groupedByMed.set(rxCode, new Array(annotatedOrder));\n }\n },\n rejection => {\n // If there are any errors constructing MedicationOrders for\n // this RxNormCode[], throw the error.\n throw rejection;\n });\n })\n .then(\n _ => {\n Array.from(groupedByMed.entries()).forEach(medEntry => {\n const rxNorm = medEntry[0];\n const medOrders = medEntry[1];\n rxNorm.orders = new MedicationOrderSet(medOrders);\n });\n // Return all the populated RxNorms.\n return Array.from(groupedByMed.keys());\n },\n rejection => {\n // If any promise is rejected, throw the same rejection.\n throw rejection;\n });\n }\n}\n","// Copyright 2018 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport {APP_TIMESPAN} from 'src/constants';\n\nimport {ResourceCode} from '../clinicalconcepts/resource-code-group';\nimport {MedicationOrderSet} from '../fhir-data-classes/medication-order';\nimport {FhirService} from '../fhir.service';\nimport * as Colors from '../theme/verily_colors';\n\nimport {DisplayGrouping} from './display-grouping';\n\nexport class MedicationConceptGroup extends DisplayGrouping {}\n\nexport const ANTIBIOTIC =\n new MedicationConceptGroup('Antibiotic', Colors.DEEP_TURQUOISE);\n\nexport const MEDICATION_GROUPS = [ANTIBIOTIC];\n\n/**\n * Holds RXNorm codes and orders corresponding to them.\n */\nexport class RxNormCode extends ResourceCode {\n static readonly CODING_STRING = 'http://www.nlm.nih.gov/research/umls/rxnorm';\n\n /* Contains a set of medication orders for this RxNorm code. */\n orders: MedicationOrderSet;\n\n dataAvailableInAppTimeScope(fhirService: FhirService): Promise {\n return fhirService.medicationsPresentWithCode(this, APP_TIMESPAN);\n }\n}\n","import {Interval} from 'luxon';\n\nimport {LOINCCodeGroup} from '../clinicalconcepts/loinc-code';\nimport {RxNormCodeGroup} from '../clinicalconcepts/rx-norm-group';\nimport {AnnotatedObservation} from '../fhir-data-classes/annotated-observation';\nimport {Observation} from '../fhir-data-classes/observation';\n\n/**\n * Returns the function to annotate a Blood Pressure Resource group with\n * a Blood Pressure Location.\n *\n * @param The LOINCCodeGroup for the 'Blood Pressure Details' group\n */\nfunction getBloodPressureAnnotationFunction(\n bpDetailsResourceGroup: LOINCCodeGroup) {\n return (observation: Observation,\n dateRange: Interval): Promise => {\n return bpDetailsResourceGroup.getResourceSet(dateRange).then(obsSet => {\n return AnnotatedObservation.forBloodPressure(\n observation,\n // We only pass in the first ObservationSet, since we\n // know there is only one code whose observations we\n // care about.\n obsSet[0]);\n });\n };\n}\n\n/**\n * Returns the function to annotate a Medication Monitoring Resource group with\n * Medication Administration information.\n *\n * @param The RxNormCode for the Medication Resource group\n */\nfunction getMedicationMonitoringAnnotationFunction(\n rxNormGroup: RxNormCodeGroup) {\n return (observation: Observation,\n dateRange: Interval): Promise => {\n return rxNormGroup.getResourceSet(dateRange).then(rxNorms => {\n // We know that we're only pushing in one RxNorm\n // so it's safe to grab the first (and only) one in\n // the list.\n return AnnotatedObservation.forMedicationMonitoring(\n observation, rxNorms[0].orders);\n });\n };\n}\n\n/**\n * List of Configurations for Resource Groups that should have a makeAnnotated\n * function set.\n *\n * Each element in the list should be a JSON object with the following\n * properties:\n * - groupName: should be the name of the ResourceCodeGroup that should have\n * its makeAnnotated attribute set.\n * - makeAnnotatedFunction: a function that takes a reference\n * ResourceCodeGroup and returns a function that should be assigned to the\n * makeAnnotated attribute.\n * - refGroup: the name of the ResourceCodeGroup that needs to be referenced\n * in order to create the makeAnnotated attribute function.\n *\n */\nexport const ANNOTATION_CONFIGURATION = [\n {\n 'groupName': 'Blood Pressure',\n 'makeAnnotatedFunction': (refGroup) =>\n getBloodPressureAnnotationFunction(refGroup),\n 'refGroup': 'Blood Pressure Details'\n },\n {\n 'groupName': 'Vancomycin monitoring',\n 'makeAnnotatedFunction': (refGroup) =>\n getMedicationMonitoringAnnotationFunction(refGroup),\n 'refGroup': 'Vancomycin'\n }\n];\n","// Copyright 2019 Verily Life Sciences Inc.\n//\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\nimport {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\n\nimport {environment} from '../../environments/environment';\nimport {BCHMicrobioCode} from '../clinicalconcepts/bch-microbio-code';\nimport {DiagnosticReportCode} from '../clinicalconcepts/diagnostic-report-code';\nimport {antibiotics, antifungals, antivirals, DisplayGrouping, labResult, microbio, radiology, vitalSign} from '../clinicalconcepts/display-grouping';\nimport {LOINCCode} from '../clinicalconcepts/loinc-code';\nimport {ResourceCode} from '../clinicalconcepts/resource-code-group';\nimport {RxNormCode} from '../clinicalconcepts/rx-norm';\nimport {ChartType} from '../graphtypes/graph/graph.component';\n\n\n/**\n * Holds basic configuration information for clinical concept groups.\n */\nexport class GroupConfiguration {\n constructor(\n readonly groupName: string, readonly chartType: ChartType,\n readonly showOnSameAxis: boolean,\n readonly displayGrouping: DisplayGrouping) {}\n}\n\n/**\n * Responsible for reading in the configuration files defined in this\n * environment and parsing them into clinical concepts and their\n * corresponding groups.\n */\n@Injectable()\nexport class ResourceCodeCreator {\n constructor(private http: HttpClient) {}\n\n private static assetPath = './assets/' + environment.conceptsFolder;\n\n private static stringToChartType = {\n 'SCATTER': ChartType.SCATTER,\n 'STEP': ChartType.STEP,\n 'MICROBIO': ChartType.MICROBIO,\n 'DIAGNOSTIC': ChartType.DIAGNOSTIC,\n 'LINE': ChartType.LINE\n };\n\n\n /**\n * Map from DisplayGrouping to a tuple of file names that describe the groups\n * and concepts that belong to that grouping.\n * First file is the Group json file. Second file is the Concept json file.\n * These files should be located within the directory of the assetPath.\n */\n private readonly fileMap = new Map([\n [vitalSign, [environment.vitalGroupFile, environment.vitalConceptsFile]],\n [labResult, [environment.labGroupFile, environment.labConceptsFile]],\n [\n radiology,\n [environment.radiologyGroupFile, environment.radiologyConceptsFile]\n ],\n [\n antibiotics,\n [environment.antibioticGroupFile, environment.antibioticConceptsFile]\n ],\n [\n antivirals,\n [environment.antiviralGroupFile, environment.antiviralConceptsFile]\n ],\n [\n antifungals,\n [environment.antifungalGroupFile, environment.antifungalConceptsFile]\n ],\n [\n microbio,\n [environment.microbioGroupFile, environment.microbioConceptsFile]\n ]\n ]);\n\n /**\n * Loads in configuration for all the display groupings, including the\n * grouping name, the chart type for the grouping, whether it's displayed\n * by default\n */\n private loadAllGroups: Promise