diff --git a/package-lock.json b/package-lock.json index 821af5d..d207896 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "mcode-extraction-ui", "version": "0.0.1", "license": "Apache-2.0", "dependencies": { @@ -4599,8 +4600,8 @@ } }, "node_modules/mcode-extraction-framework": { - "version": "1.0.1", - "resolved": "git+ssh://git@github.com/mcode/mcode-extraction-framework.git#a92a233df44b59529fd3bd2ba2f0aac3aa3f649e", + "version": "1.1.0", + "resolved": "git+ssh://git@github.com/mcode/mcode-extraction-framework.git#806d3bcd60cdbd64a1a35508b7de26a19263f464", "license": "Apache-2.0", "dependencies": { "ajv": "^6.12.6", @@ -4613,7 +4614,6 @@ "lodash": "^4.17.21", "moment": "^2.26.0", "nodemailer": "^6.4.16", - "sha.js": "^2.4.9", "winston": "^3.2.1" } }, @@ -6419,17 +6419,6 @@ "dev": true, "license": "ISC" }, - "node_modules/sha.js": { - "version": "2.4.11", - "license": "(MIT AND BSD-3-Clause)", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "dev": true, @@ -10754,7 +10743,7 @@ } }, "mcode-extraction-framework": { - "version": "git+ssh://git@github.com/mcode/mcode-extraction-framework.git#a92a233df44b59529fd3bd2ba2f0aac3aa3f649e", + "version": "git+ssh://git@github.com/mcode/mcode-extraction-framework.git#806d3bcd60cdbd64a1a35508b7de26a19263f464", "from": "mcode-extraction-framework@github:mcode/mcode-extraction-framework#develop", "requires": { "ajv": "^6.12.6", @@ -10767,7 +10756,6 @@ "lodash": "^4.17.21", "moment": "^2.26.0", "nodemailer": "^6.4.16", - "sha.js": "^2.4.9", "winston": "^3.2.1" }, "dependencies": { @@ -11955,13 +11943,6 @@ "version": "2.0.0", "dev": true }, - "sha.js": { - "version": "2.4.11", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, "shebang-command": { "version": "2.0.0", "dev": true, diff --git a/react-app/src/components/Extractor.js b/react-app/src/components/Extractor.js index b154bfa..c97c76f 100644 --- a/react-app/src/components/Extractor.js +++ b/react-app/src/components/Extractor.js @@ -57,12 +57,29 @@ function Extractor(props) { validExtractors: ['CSVCancerDiseaseStatusExtractor'], }, { - mask: props.formData.constructorArgs.mask ? props.formData.constructorArgs.mask : '', + mask: props.formData.constructorArgs.mask ? props.formData.constructorArgs.mask : [], label: 'Masked Fields', type: 'dropdown', included: false, key: 'mask', - options: ['gender', 'mrn', 'name', 'address', 'birthDate', 'language', 'ethnicity', 'birthsex', 'race'], + options: [ + 'gender', + 'mrn', + 'name', + 'address', + 'birthDate', + 'language', + 'ethnicity', + 'birthsex', + 'race', + 'telecom', + 'multipleBirth', + 'photo', + 'contact', + 'generalPractitioner', + 'managingOrganization', + 'link', + ], validExtractors: ['CSVPatientExtractor'], }, ]; @@ -87,6 +104,17 @@ function Extractor(props) { props.onArgsChange(constructorArgs); } + // Handles updates to multi-select arg fields such as "mask" + function updateOptions(argObj, changedValue, propertyName) { + const currentOptions = argObj[propertyName]; + const changedIndex = currentOptions.indexOf(changedValue); + if (changedIndex > -1) { + currentOptions.splice(changedIndex, 1); + } else { + currentOptions.push(changedValue); + } + } + const getArg = (newArgs, key) => newArgs.find((temp) => key === temp.key); function getArgsJSX() { @@ -202,25 +230,9 @@ function Extractor(props) { case 'dropdown': return (