Skip to content

Commit

Permalink
Update static UI to support cures
Browse files Browse the repository at this point in the history
  • Loading branch information
drbgfc committed May 29, 2020
1 parent 8338858 commit 3b3840b
Show file tree
Hide file tree
Showing 2 changed files with 165 additions and 144 deletions.
20 changes: 16 additions & 4 deletions src/main/webapp/static/js/validator_controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,27 @@ angular
var receiverGitHubUrl = 'https://api.github.com/repos/onc-healthit/2015-certification-ccda-testdata/contents/Receiver SUT Test Data';
var validationError;
var self = this;
$scope.validationTypes = [
{
name: '2015 Certification',
value: false
},
{
name: 'Cures Update',
value: true
}
];
$scope.severityLevels = [
{ name: 'INFO' },
{ name: 'WARNING' },
{ name: 'ERROR' }
];
$scope.selectedSeverityLevel = $scope.severityLevels[0]
];
self.validationModel = {
selectedObjective : '',
selectedReferenceFileName : '',
file : ''
file : '',
selectedValidationType : $scope.validationTypes[0]
selectedSeverityLevel : $scope.severityLevels[0]
};
self.toggleMessageType = toggleMessageType;
self.getReferenceFiles = getReferenceFiles;
Expand All @@ -44,7 +55,8 @@ angular
'validationObjective' : $scope.validationModel.selectedObjective.name,
'referenceFileName' : $scope.validationModel.selectedReferenceFileName.name,
'ccdaFile' : file,
'severityLevel' : $scope.selectedSeverityLevel.name
'curesUpdate' : $scope.validationModel.selectedValidationType.value,
'severityLevel' : $scope.validationModel.selectedSeverityLevel.name
}
}).then(
function(resp) {
Expand Down
289 changes: 149 additions & 140 deletions src/main/webapp/static/validationui.html
Original file line number Diff line number Diff line change
@@ -1,140 +1,149 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin="anonymous">
<link rel="stylesheet" href="css/shCore.css">
<link rel="stylesheet" href="css/shThemeDefault.css">
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/angular-block-ui.min.css">
<meta charset="ISO-8859-1">
<title>Reference C-CDA Validator</title>
</head>
<body ng-app="referenceValidator">
<div class="container">
<form name="validationForm"
ng-controller="ValidationController as vCtrl">
<ol>
<li>Select whether your system is a Sender of C-CDA's or
Receiver of C-CDA's.
<div class="form-group">
<button class="btn btn-primary" ng-model="radioModel"
uib-btn-radio="'sender'" ng-click="vCtrl.toggleMessageType()">Sender</button>
<button class="btn btn-primary" ng-model="radioModel"
uib-btn-radio="'reciever'" ng-click="vCtrl.toggleMessageType()">Reciever</button>
</div>
</li>
<li>Select ONC 2015 Edition S&CC objective or other C-CDA IG
conformance criteria from the list below.
<div class="form-group">
<select id="validation_objectives" name="validation_objectives"
class="form-control" tabindex="1"
ng-model="validationModel.selectedObjective"
ng-options="objective.name for objective in objectives track by objective.url"
ng-change="vCtrl.getReferenceFiles()" required></select>
</div>
</li>
<li>Select the scenario file that you used to generate the
C-CDA, if you are testing a C-CDA generated without using any of
the scenario files in the drop down, select "No scenario File".
<div class="form-group">
<select id="CCDAR2_refdocsfordocumenttype"
name="CCDAR2_refdocsfordocumenttype" class="form-control"
tabindex="1" ng-model="validationModel.selectedReferenceFileName"
ng-options="referenceFileName.name for referenceFileName in referenceFileNames track by referenceFileName.url"
required></select>
</div>
</li>
<li>Select a severity level. Selecting 'INFO' processes all
available result types (info, errors, and warnings). Selecting
'WARNING' processes info and warnings only. Selecting 'ERROR'
processes errors only and is the most performant (runs the fastest)
but provides the lowest level of detail. Selecting 'INFO' is the
least performant (runs the slowest) but provides the highest level
of detail and is the default option.
<div class="form-group">
<select id="CCDAR2_severity_levels" name="CCDAR2_severity_levels"
class="form-control" tabindex="1"
ng-model="selectedSeverityLevel"
ng-options="severityLevel.name for severityLevel in severityLevels">
</select>
</div>
</li>
<li>Upload generated C-CDA file to validate.
<div class="btn btn-primary start" ngf-select
ng-model="validationModel.file" name="file">Select</div>
</li>
<li>Validate {{validationModel.file.name}}
<div>
<button id="CCDAR2_0FormSubmit" class="btn btn-primary start"
tabindex="1" ng-disabled="validationForm.$invalid"
ng-click="vCtrl.validate()">Submit</button>
</div>

</li>
</ol>
</form>


<div class="modal modal-wide fade" id="resultModal" tabindex="-1"
role="dialog" aria-labelledby="resultModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<ul class="nav nav-tabs" id="resultModalTabs">
<li><a href="#tabs-1" data-toggle="tab">Validation
Result</a></li>
<li><a href="#tabs-2" data-toggle="tab">Original C-CDA</a></li>
<li class="pull-right"><button type="button"
class="btn btn-default closeResultsBtn" data-dismiss="modal">Close
Results</button></li>
</ul>
</div>
<div class="modal-body">
<div id="ValidationResult">
<div class="tab-content" id="resultTabContent">
<div class="tab-pane" id="tabs-1"></div>
<div class="tab-pane" id="tabs-2"></div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default closeResultsBtn"
data-dismiss="modal">Close Results</button>
</div>
</div>
</div>
</div>
</div>

<script src="https://code.jquery.com/jquery-3.1.0.min.js"
integrity="sha256-cCueBR6CsyA4/9szpPfrX3s49M9vUU5BgtiJj06wt/s="
crossorigin="anonymous"></script>
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-route.min.js"></script>
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-sanitize.min.js"></script>
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-animate.min.js"></script>
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-cookies.min.js"></script>
<script src="js/vendor/ui-bootstrap-tpls-2.1.3.min.js"></script>
<script src="js/vendor/ng-file-upload-shim.min.js"></script>
<script src="js/vendor/ng-file-upload.min.js"></script>
<script src="js/vendor/angular-block-ui.min.js"></script>
<script src="js/app.js"></script>
<script src="js/validator_service.js"></script>
<script src="js/validator_controller.js"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin="anonymous"></script>
<script src="js/vendor/shCore.js"></script>
<script src="js/vendor/shBrushXml.js"></script>

</body>
</html>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin="anonymous">
<link rel="stylesheet" href="css/shCore.css">
<link rel="stylesheet" href="css/shThemeDefault.css">
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/angular-block-ui.min.css">
<meta charset="ISO-8859-1">
<title>Reference C-CDA Validator</title>
</head>
<body ng-app="referenceValidator">
<div class="container">
<form name="validationForm"
ng-controller="ValidationController as vCtrl">
<ol>
<li>
<div class="form-group">
<select id="CCDAR2_validation_type" name="CCDAR2_validation_type"
class="form-control" tabindex="1"
ng-model="selectedValidationType"
ng-options="validationType.name for validationType in validationTypes">
</select>
</div>
</li>
<li>Select whether your system is a Sender of C-CDA's or
Receiver of C-CDA's.
<div class="form-group">
<button class="btn btn-primary" ng-model="radioModel"
uib-btn-radio="'sender'" ng-click="vCtrl.toggleMessageType()">Sender</button>
<button class="btn btn-primary" ng-model="radioModel"
uib-btn-radio="'reciever'" ng-click="vCtrl.toggleMessageType()">Reciever</button>
</div>
</li>
<li>Select ONC 2015 Edition S&CC objective or other C-CDA IG
conformance criteria from the list below.
<div class="form-group">
<select id="validation_objectives" name="validation_objectives"
class="form-control" tabindex="1"
ng-model="validationModel.selectedObjective"
ng-options="objective.name for objective in objectives track by objective.url"
ng-change="vCtrl.getReferenceFiles()" required></select>
</div>
</li>
<li>Select the scenario file that you used to generate the
C-CDA, if you are testing a C-CDA generated without using any of
the scenario files in the drop down, select "No scenario File".
<div class="form-group">
<select id="CCDAR2_refdocsfordocumenttype"
name="CCDAR2_refdocsfordocumenttype" class="form-control"
tabindex="1" ng-model="validationModel.selectedReferenceFileName"
ng-options="referenceFileName.name for referenceFileName in referenceFileNames track by referenceFileName.url"
required></select>
</div>
</li>
<li>Select a severity level. Selecting 'INFO' processes all
available result types (info, errors, and warnings). Selecting
'WARNING' processes info and warnings only. Selecting 'ERROR'
processes errors only and is the most performant (runs the fastest)
but provides the lowest level of detail. Selecting 'INFO' is the
least performant (runs the slowest) but provides the highest level
of detail and is the default option.
<div class="form-group">
<select id="CCDAR2_severity_levels" name="CCDAR2_severity_levels"
class="form-control" tabindex="1"
ng-model="selectedSeverityLevel"
ng-options="severityLevel.name for severityLevel in severityLevels">
</select>
</div>
</li>
<li>Upload generated C-CDA file to validate.
<div class="btn btn-primary start" ngf-select
ng-model="validationModel.file" name="file">Select</div>
</li>
<li>Validate {{validationModel.file.name}}
<div>
<button id="CCDAR2_0FormSubmit" class="btn btn-primary start"
tabindex="1" ng-disabled="validationForm.$invalid"
ng-click="vCtrl.validate()">Submit</button>
</div>

</li>
</ol>
</form>


<div class="modal modal-wide fade" id="resultModal" tabindex="-1"
role="dialog" aria-labelledby="resultModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<ul class="nav nav-tabs" id="resultModalTabs">
<li><a href="#tabs-1" data-toggle="tab">Validation
Result</a></li>
<li><a href="#tabs-2" data-toggle="tab">Original C-CDA</a></li>
<li class="pull-right"><button type="button"
class="btn btn-default closeResultsBtn" data-dismiss="modal">Close
Results</button></li>
</ul>
</div>
<div class="modal-body">
<div id="ValidationResult">
<div class="tab-content" id="resultTabContent">
<div class="tab-pane" id="tabs-1"></div>
<div class="tab-pane" id="tabs-2"></div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default closeResultsBtn"
data-dismiss="modal">Close Results</button>
</div>
</div>
</div>
</div>
</div>

<script src="https://code.jquery.com/jquery-3.1.0.min.js"
integrity="sha256-cCueBR6CsyA4/9szpPfrX3s49M9vUU5BgtiJj06wt/s="
crossorigin="anonymous"></script>
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-route.min.js"></script>
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-sanitize.min.js"></script>
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-animate.min.js"></script>
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-cookies.min.js"></script>
<script src="js/vendor/ui-bootstrap-tpls-2.1.3.min.js"></script>
<script src="js/vendor/ng-file-upload-shim.min.js"></script>
<script src="js/vendor/ng-file-upload.min.js"></script>
<script src="js/vendor/angular-block-ui.min.js"></script>
<script src="js/app.js"></script>
<script src="js/validator_service.js"></script>
<script src="js/validator_controller.js"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin="anonymous"></script>
<script src="js/vendor/shCore.js"></script>
<script src="js/vendor/shBrushXml.js"></script>

</body>
</html>

0 comments on commit 3b3840b

Please sign in to comment.