diff --git a/api/src/main/java/org/openmrs/module/kenyaemr/metadata/VMMCMetadata.java b/api/src/main/java/org/openmrs/module/kenyaemr/metadata/VMMCMetadata.java
index 506842a06b..14215b074e 100644
--- a/api/src/main/java/org/openmrs/module/kenyaemr/metadata/VMMCMetadata.java
+++ b/api/src/main/java/org/openmrs/module/kenyaemr/metadata/VMMCMetadata.java
@@ -65,7 +65,7 @@ public void install() {
install(form("VMMC Enrollment Form", null, _EncounterType.VMMC_ENROLLMENT, "1", _Form.VMMC_ENROLLMENT_FORM));
install(form("VMMC Discontinuation Form", null, _EncounterType.VMMC_DISCONTINUATION, "1", _Form.VMMC_DISCONTINUATION_FORM));
- install(form("VMMC Procedure Form", null, _EncounterType.VMMC_PROCEDURE, "1", _Form.VMMC_PROCEDURE_FORM));
+ install(form("VMMC Circumcision Procedure Form", null, _EncounterType.VMMC_PROCEDURE, "1", _Form.VMMC_PROCEDURE_FORM));
install(form("VMMC Medical History and Examination Form", null, _EncounterType.VMMC_MEDICAL_HISTORY_EXAMINATION, "1", _Form.VMMC_MEDICAL_HISTORY_EXAMINATION_FORM));
install(form("VMMC Client Follow-Up Form", null, _EncounterType.VMMC_CLIENT_FOLLOWUP, "1", _Form.VMMC_CLIENT_FOLLOWUP_FORM));
install(form("VMMC Immediate Post-Operation Assessment Form", null, _EncounterType.VMMC_POST_OPERATION, "1", _Form.VMMC_POST_OPERATION_FORM));
diff --git a/api/src/main/resources/content/kenyaemr.vmmc.xml b/api/src/main/resources/content/kenyaemr.vmmc.xml
index 771678f1f0..dcb6bfd6a5 100644
--- a/api/src/main/resources/content/kenyaemr.vmmc.xml
+++ b/api/src/main/resources/content/kenyaemr.vmmc.xml
@@ -83,7 +83,7 @@
-
+
diff --git a/omod/src/main/webapp/resources/htmlforms/vmmc/vmmcCircumcisionProcedure.html b/omod/src/main/webapp/resources/htmlforms/vmmc/vmmcCircumcisionProcedure.html
index 427f8e4dc6..a0da6206dc 100644
--- a/omod/src/main/webapp/resources/htmlforms/vmmc/vmmcCircumcisionProcedure.html
+++ b/omod/src/main/webapp/resources/htmlforms/vmmc/vmmcCircumcisionProcedure.html
@@ -41,6 +41,29 @@
jq('#tbl-device-circumcision').hide();
jq('#tbl-other-agent').hide();
+ jq('#event-description-pain').prop('disabled', true);
+ jq('#event-description-bleeding').prop('disabled', true);
+ jq('#event-description-anaesthetic').prop('disabled', true);
+ jq('#event-description-skin').prop('disabled', true);
+ jq('#event-description-damage').prop('disabled', true);
+ jq('#severity-pain select').prop('disabled', true);
+ jq('#severity-bleeding select').prop('disabled', true);
+ jq('#severity-anaesthetic select').prop('disabled', true);
+ jq('#severity-skin select').prop('disabled', true);
+ jq('#severity-damage select').prop('disabled', true);
+
+ jq('#event-description-pain').change(adverseEventPainSelected);
+ jq('#event-description-bleeding').change(adverseEventBleedingSelected);
+ jq('#event-description-anaesthetic').change(adverseEventAnaestheticSelected);
+ jq('#event-description-skin').change(adverseEventSkinSelected);
+ jq('#event-description-damage').change(adverseEventDamageSelected);
+
+ jq('#adverse-event-pain :input[type=checkbox]').change(onPainSelected);
+ jq('#adverse-event-bleeding :input[type=checkbox]').change(onBleedingSelected);
+ jq('#adverse-event-anaesthetic :input[type=checkbox]').change(onAnaestheticSelected);
+ jq('#adverse-event-skin :input[type=checkbox]').change(onSkinSelected);
+ jq('#adverse-event-damage :input[type=checkbox]').change(onDamageSelected);
+
//Check if conventional checked
jq("#circumcision-method :input[type=radio]").change(onMethodSelected);
@@ -138,6 +161,158 @@
}
}
+ // Adverse event pain selected
+ var adverseEventPainSelected = function () {
+ var val = jq(this).val();
+ if (val == "pain-moderate") {
+ getField('severity-pain.value').prop("selectedIndex", 0);
+ }
+ if (val == "pain-severe") {
+ getField('severity-pain.value').prop("selectedIndex", 1);
+ }
+ if (val == "pain-none") {
+ getField('severity-pain.value').prop("selectedIndex", 0);
+ }
+
+ }
+
+ // Adverse event bleeding selected
+ var adverseEventBleedingSelected = function () {
+ var val = jq(this).val();
+ if (val == "bleeding-mild") {
+ getField('severity-bleeding.value').prop("selectedIndex", 3);
+ }
+ if (val == "bleeding-moderate") {
+ getField('severity-bleeding.value').prop("selectedIndex", 2);
+ }
+ if (val == "bleeding-severe") {
+ getField('severity-bleeding.value').prop("selectedIndex", 1);
+ }
+ if (val == "bleeding-none") {
+ getField('severity-bleeding.value').prop("selectedIndex", 0);
+ }
+ }
+
+ // Adverse event anaesthetic selected
+ var adverseEventAnaestheticSelected = function () {
+ var val = jq(this).val();
+ if (val == "anaesthetic-mild") {
+ getField('severity-anaesthetic.value').prop("selectedIndex", 3);
+ }
+ if (val == "anaesthetic-moderate") {
+ getField('severity-anaesthetic.value').prop("selectedIndex", 2);
+ }
+ if (val == "anaesthetic-severe") {
+ getField('severity-anaesthetic.value').prop("selectedIndex", 1);
+ }
+ if (val == "anaesthetic-none") {
+ getField('severity-anaesthetic.value').prop("selectedIndex", 0);
+ }
+ }
+
+ // Adverse event skin selected
+ var adverseEventSkinSelected = function () {
+ var val = jq(this).val();
+ if (val == "skin-mild") {
+ getField('severity-skin.value').prop("selectedIndex", 3);
+ }
+ if (val == "skin-moderate") {
+ getField('severity-skin.value').prop("selectedIndex", 2);
+ }
+ if (val == "skin-severe") {
+ getField('severity-skin.value').prop("selectedIndex", 1);
+ }
+ if (val == "skin-none") {
+ getField('severity-skin.value').prop("selectedIndex", 0);
+ }
+ }
+
+ // Adverse event damage selected
+ var adverseEventDamageSelected = function () {
+ var val = jq(this).val();
+ if (val == "damage-mild") {
+ getField('severity-damage.value').prop("selectedIndex", 3);
+ }
+ if (val == "damage-moderate") {
+ getField('severity-damage.value').prop("selectedIndex", 2);
+ }
+ if (val == "damage-severe") {
+ getField('severity-damage.value').prop("selectedIndex", 1);
+ }
+ if (val == "damage-none") {
+ getField('severity-damage.value').prop("selectedIndex", 0);
+ }
+ }
+
+ var onPainSelected = function(){
+ var val = jq(this).val();
+ var painChecked = jq("#adverse-event-pain input:checkbox:checked");
+ if(val == 114403){
+ jq('#event-description-pain').prop('disabled', false);
+ jq('#severity-pain select').prop('disabled', false);
+ jq('#severity-pain').attr("style", "pointer-events:none;");
+ }else {
+ jq('#event-description-pain').prop('disabled', true);
+ jq('#severity-pain select').prop('disabled', true);
+ }
+ }
+
+ var onBleedingSelected = function(){
+ var val = jq(this).val();
+ var bleedingChecked = jq("#adverse-event-bleeding input:checkbox:checked");
+ if(val == 147241){
+ jq('#event-description-bleeding').prop('disabled', false);
+ jq('#severity-bleeding select').prop('disabled', false);
+ jq('#severity-bleeding').attr("style", "pointer-events:none;");
+ }else {
+ jq('#event-description-bleeding').prop('disabled', true);
+ jq('#severity-pain select').prop('disabled', true);
+ }
+
+ }
+
+ var onAnaestheticSelected = function(){
+ var val = jq(this).val();
+ var anaestheticChecked = jq("#adverse-event-anaesthetic input:checkbox:checked");
+ if(val == 135693){
+ jq('#event-description-anaesthetic').prop('disabled', false);
+ jq('#severity-anaesthetic select').prop('disabled', false);
+ jq('#severity-anaesthetic').attr("style", "pointer-events:none;");
+ }else {
+ jq('#event-description-anaesthetic').prop('disabled', true);
+ jq('#severity-anaesthetic select').prop('disabled', true);
+ }
+
+ }
+
+ var onSkinSelected = function(){
+ var val = jq(this).val();
+ var skinChecked = jq("#adverse-event-skin input:checkbox:checked");
+ if(val == 110094){
+ jq('#event-description-skin').prop('disabled', false);
+ jq('#severity-skin select').prop('disabled', false);
+ jq('#severity-skin').attr("style", "pointer-events:none;");
+ }else {
+ jq('#event-description-skin').prop('disabled', true);
+ jq('#severity-skin select').prop('disabled', true);
+ }
+
+ }
+
+ var onDamageSelected = function(){
+ var val = jq(this).val();
+ var damageChecked = jq("#adverse-event-damage input:checkbox:checked");
+ if(val == 156911){
+ jq('#event-description-damage').prop('disabled', false);
+ jq('#severity-damage select').prop('disabled', false);
+ jq('#severity-damage').attr("style", "pointer-events:none;");
+ }else {
+ jq('#event-description-damage').prop('disabled', true);
+ jq('#severity-damage select').prop('disabled', true);
+ }
+
+ }
+
//Clear hidden sections
clearHiddenSections = function(parentObj) {
parentObj.find('input[type=radio]').each(function() {
@@ -254,8 +429,6 @@
getField('theatre_number.error').html('Please specify the theatre number').hide();
}
-console.log("assistantClinician", assistantClinician);
-
// if assistant clinician, assistant clinician cadre is mandatory
if(assistantClinician != "" && assistantClinicianCadre == ""){
getField('assistant_clinician_cadre.error').html('Please specify the assistant clinician cadre').show();
@@ -546,48 +719,122 @@
Description of adverse event |
Severity |
-
-
-
-
-
-
- |
-
-
- |
-
-
- |
-
-
-
-
-
-
-
-
-
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+