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 - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +