From dc3b75a3f63b0a40d65e3ea130ff7fdf7f37e1ce Mon Sep 17 00:00:00 2001 From: mmatheka <99263785+mmatheka@users.noreply.github.com> Date: Mon, 30 Sep 2024 17:09:02 +0300 Subject: [PATCH] Update HTS Retest to revised tools (#798) --- configuration/ampathforms/HTS_Retest.json | 575 ++++++++++++++++------ 1 file changed, 416 insertions(+), 159 deletions(-) diff --git a/configuration/ampathforms/HTS_Retest.json b/configuration/ampathforms/HTS_Retest.json index eae575b7..70f488ff 100644 --- a/configuration/ampathforms/HTS_Retest.json +++ b/configuration/ampathforms/HTS_Retest.json @@ -1,7 +1,7 @@ { "name": "HTS Retest Form", "description": "Form for HTS testing services", - "version": "1", + "version": "2.1", "published": true, "uuid": "b08471f6-0892-4bf7-ab2b-bf79797b8ea4", "retired": false, @@ -57,10 +57,10 @@ "isExpanded": "true", "questions": [ { - "label": "Population type", + "label": "Population Type :", "type": "obs", "questionOptions": { - "rendering": "radio", + "rendering": "select", "concept": "cf543666-ce76-4e91-8b8d-c0b54a436a2e", "answers": [ { @@ -69,154 +69,183 @@ }, { "concept": "bf850dd4-309b-4cbd-9470-9d8110ea5550", - "label": "Key Population" - }, + "label": "Key and Vulnerble Population" + } + ] + }, + "id": "populationType", + "required": "true", + "hide": { + "hideWhenExpression": "age < 15" + } + }, + { + "label": "Population Type :", + "type": "obs", + "id": "populationTypechild", + "required": "true", + "questionOptions": { + "rendering": "radio", + "concept": "cf543666-ce76-4e91-8b8d-c0b54a436a2e", + "answers": [ { - "concept": "138643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Priority Population" + "concept": "5d308c8c-ad49-45e1-9885-e5d09a8e5587", + "label": "General Population" } ] }, - "id": "populationType" + "hide": { + "hideWhenExpression": "age > 15" + } }, { - "label": "Please indicate Key population type :", + "label": "Key and Vulnerble Population Type :", "type": "obs", + "id": "kpTypeFemale", + "required": "true", "questionOptions": { - "rendering": "select", "concept": "160581AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "rendering": "select", "answers": [ { "concept": "105AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "label": "People who inject drugs" }, + { + "concept": "160666AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "People who use drugs" + }, { "concept": "160579AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "label": "Female sex Worker" }, + { + "concept": "160549AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Adolescent and young girls" + }, { "concept": "162277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "People in prison and other closed settings" + "label": "People in prison" }, { - "concept": "165100AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Transgender" + "concept": "159674AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Fisher folk" }, { - "concept": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Others" + "concept": "162198AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Truck driver" + }, + { + "concept": "6096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Discordant Couple" } ] }, - "id": "femaleKeyPopTypes", "hide": { - "hideWhenExpression": "isEmpty(populationType) || populationType != 'bf850dd4-309b-4cbd-9470-9d8110ea5550' || sex !== 'F'" + "hideWhenExpression": "populationType !== 'bf850dd4-309b-4cbd-9470-9d8110ea5550' || age < 15 || sex != 'F'" } }, { - "label": "Please indicate Key population type :", + "label": "Key and Vulnerble Population Type :", "type": "obs", + "id": "kpTypeMale", + "required": "true", "questionOptions": { - "rendering": "select", "concept": "160581AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "rendering": "select", "answers": [ { "concept": "105AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "label": "People who inject drugs" }, + { + "concept": "160666AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "People who use drugs" + }, + { + "concept": "973e5b6c-ae5e-4d6a-a624-2d259763771f", + "label": "Male Sex Worker" + }, { "concept": "160578AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "label": "Men who have sex with men" }, { "concept": "162277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "People in prison and other closed settings" + "label": "People in prison" }, { - "concept": "165100AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Transgender" + "concept": "159674AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Fisher folk" }, { - "concept": "5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Others" + "concept": "162198AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Truck driver" + }, + { + "concept": "6096AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Discordant Couple" } ] }, - "id": "maleKeyPopTypes", "hide": { - "hideWhenExpression": "isEmpty(populationType) || populationType != 'bf850dd4-309b-4cbd-9470-9d8110ea5550' || sex !== 'M'" + "hideWhenExpression": "populationType !== 'bf850dd4-309b-4cbd-9470-9d8110ea5550' || age < 15 || sex != 'M'" } }, { - "label": "Please indicate Priority Population :", + "label": "People in prison", "type": "obs", + "id": "PPleInPrionF", + "required": "true", "questionOptions": { - "rendering": "select", - "concept": "160581AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "rendering": "radio", + "concept": "c67be9a5-f497-4082-af81-11753f65ed4b", "answers": [ { - "concept": "159674AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Fisher folk" + "label": "Inmates", + "concept": "2ad718de-8020-49e9-a129-a00b07752d4e" }, { - "concept": "162198AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Truck driver" + "label": "Staff", + "concept": "1142AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { - "concept": "160549AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Adolescent and young girls" - }, - { - "concept": "162277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Prisoner" - }, - { - "concept": "253b40ec-54da-4e92-9ab1-2d99075b19e8", - "label": "Military and other uniformed services" - }, - { - "concept": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Not Applicable" + "concept": "163488AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Community" } ] }, - "id": "femalePriorityPopulation", + "validators": [], "hide": { - "hideWhenExpression": "isEmpty(populationType) || populationType != '138643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' || sex !== 'F'" + "hideWhenExpression": "isEmpty(kpTypeFemale) || kpTypeFemale !== '162277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' || age < 15 || sex !== 'F'" } }, { - "label": "Please indicate Priority Population :", + "label": "People in prison", "type": "obs", + "id": "PPleInPrionM", + "required": "true", "questionOptions": { - "rendering": "select", - "concept": "160581AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "rendering": "radio", + "concept": "c67be9a5-f497-4082-af81-11753f65ed4b", "answers": [ { - "concept": "159674AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Fisher folk" - }, - { - "concept": "162198AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Truck driver" - }, - { - "concept": "162277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Prisoner" + "label": "Inmates", + "concept": "2ad718de-8020-49e9-a129-a00b07752d4e" }, { - "concept": "253b40ec-54da-4e92-9ab1-2d99075b19e8", - "label": "Military and other uniformed services" + "label": "Staff", + "concept": "1142AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, { - "concept": "1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Not Applicable" + "concept": "163488AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Community" } ] }, - "id": "malePriorityPopulation", + "validators": [], "hide": { - "hideWhenExpression": "isEmpty(populationType) || populationType !== '138643AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' || sex !== 'M'" + "hideWhenExpression": "isEmpty(kpTypeMale) || kpTypeMale !== '162277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' || age < 15 || sex !== 'M'" } }, { @@ -224,63 +253,19 @@ "type": "obs", "questionOptions": { "rendering": "radio", - "concept": "91a87033-8f75-4f08-9f15-0d8ae66bd9d9", + "concept": "162558AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "answers": [ { "concept": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Yes", - "conceptMappings": [ - { - "type": "PIH", - "value": "1065" - }, - { - "type": "PIH Malawi", - "value": "Malawi: 1065" - }, - { - "type": "AMPATH", - "value": "1065" - }, - { - "type": "CIEL", - "value": "1065" - }, - { - "type": "SNOMED CT", - "value": "CT: 373066001" - } - ] + "label": "Yes" }, { "concept": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "No", - "conceptMappings": [ - { - "type": "PIH", - "value": "1066" - }, - { - "type": "SNOMED CT", - "value": "CT: 373067005" - }, - { - "type": "PIH Malawi", - "value": "Malawi: 1066" - }, - { - "type": "CIEL", - "value": "1066" - }, - { - "type": "AMPATH", - "value": "1066" - } - ] + "label": "No" } ] }, - "id": "clientDisability" + "id": "DisabilityClienT" }, { "label": "Please indicated the type of disability :", @@ -311,21 +296,21 @@ } ] }, - "id": "disabilityTypes", + "id": "disaBilityTypes", "hide": { - "hideWhenExpression": "isEmpty(clientDisability) || clientDisability !== '1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'" + "hideWhenExpression": "isEmpty(DisabilityClienT) || DisabilityClienT != '1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'" } }, { "label": "Specify", "type": "obs", - "id": "specifyOtherDisability", "questionOptions": { "rendering": "text", "concept": "160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, + "id": "specifyOtherDisability", "hide": { - "hideWhenExpression": "isEmpty(disabilityTypes) || !arrayContains(['5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'], disabilityTypes)" + "hideWhenExpression": "isEmpty(disaBilityTypes) || !arrayContins(['5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'], disaBilityTypes) " } } ] @@ -633,7 +618,7 @@ "label": "HTS Approach: ", "type": "obs", "questionOptions": { - "rendering": "radio", + "rendering": "select", "concept": "163556AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "answers": [ { @@ -999,25 +984,75 @@ } }, { - "label": "HIV Test(s)", + "label": "HIV Test", "type": "obsGroup", "questionOptions": { "rendering": "group", "concept": "164410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, - "id": "hivTest", + "id": "hivTest1", "validators": [], "hide": { "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true'" }, "questions": [ { - "label": "Kit Name 1", + "label": "Kit 1 Name", + "type": "obs", + "questionOptions": { + "rendering": "select", + "concept": "214c83f9-435d-44f5-9ae6-d5757b7b4c7f", + "answers": [ + { + "concept": "9c4011c2-2579-49cf-ab53-93d009f03e7b", + "label": "Trinscreen" + }, + { + "concept": "7cf927f8-e734-474f-b71a-1459bb566aa2", + "label": "Determine" + } + ] + }, + "id": "kitName", + "validators": [], + "hide": { + "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true' || sex != 'M'" + } + }, + { + "label": "Kit 1 Name", "type": "obs", "questionOptions": { "rendering": "select", "concept": "214c83f9-435d-44f5-9ae6-d5757b7b4c7f", "answers": [ + { + "concept": "9c4011c2-2579-49cf-ab53-93d009f03e7b", + "label": "Trinscreen" + }, + { + "concept": "7cf927f8-e734-474f-b71a-1459bb566aa2", + "label": "Determine" + } + ] + }, + "id": "kitNameFe", + "validators": [], + "hide": { + "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true' || sex != 'F' || (age > 9)" + } + }, + { + "label": "Kit 1 Name", + "type": "obs", + "questionOptions": { + "rendering": "select", + "concept": "214c83f9-435d-44f5-9ae6-d5757b7b4c7f", + "answers": [ + { + "concept": "9c4011c2-2579-49cf-ab53-93d009f03e7b", + "label": "Trinscreen" + }, { "concept": "7cf927f8-e734-474f-b71a-1459bb566aa2", "label": "Determine" @@ -1028,10 +1063,10 @@ } ] }, - "id": "kitName", + "id": "kitNameA", "validators": [], "hide": { - "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true'" + "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true' || sex != 'F' || (age < 9)" } }, { @@ -1044,7 +1079,7 @@ "id": "lotNumber", "validators": [], "hide": { - "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true'" + "hideWhenExpression": "isEmpty(kitName) && isEmpty(kitNameA) && isEmpty(kitNameFe)" } }, { @@ -1054,6 +1089,11 @@ { "type": "date", "allowFutureDates": "true" + }, + { + "type": "js_expression", + "failsWhenExpression": "(new moment(encDate)).isAfter((new moment(myValue)), 'day') || (new moment(encDate)).isSame((new moment(myValue)), 'day')", + "message": "Expiry date should be greater than the encounter date." } ], "questionOptions": { @@ -1063,11 +1103,11 @@ }, "id": "expiryDate", "hide": { - "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true'" + "hideWhenExpression": "isEmpty(kitName) && isEmpty(kitNameA) && isEmpty(kitNameFe)" } }, { - "label": "HIV Test Results:", + "label": "HIV Test 1 Results:", "type": "obs", "questionOptions": { "rendering": "select", @@ -1090,37 +1130,226 @@ "id": "testResults", "validators": [], "hide": { - "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true'" + "hideWhenExpression": "isEmpty(kitName) && isEmpty(kitNameA) && isEmpty(kitNameFe)" + } + } + ] + }, + { + "label": "HIV Test(s)", + "type": "obsGroup", + "questionOptions": { + "rendering": "group", + "concept": "164410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "id": "hivTest2", + "validators": [], + "hide": { + "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true'" + }, + "questions": [ + { + "label": "Kit 2 Name", + "type": "obs", + "questionOptions": { + "rendering": "select", + "concept": "214c83f9-435d-44f5-9ae6-d5757b7b4c7f", + "answers": [ + { + "concept": "3de9db8a-32a2-4518-8887-c8f25208dade", + "label": "One Step" + }, + { + "concept": "59ef8c87-eb66-4f9e-a459-7227c01f682e", + "label": "First Response" + } + ] + }, + "id": "kitNameB", + "validators": [], + "hide": { + "hideWhenExpression": "isEmpty(testResults) || testResults !== '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'" + } + }, + { + "label": "Lot Number", + "type": "obs", + "questionOptions": { + "rendering": "text", + "concept": "3d4f9e8e-46cc-4024-a1c4-d0167f2c84a4" + }, + "id": "lotNumberB", + "validators": [], + "hide": { + "hideWhenExpression": "isEmpty(kitNameB)" + } + }, + { + "label": "Expiry Date", + "type": "obs", + "validators": [ + { + "type": "date", + "allowFutureDates": "true" + }, + { + "type": "js_expression", + "failsWhenExpression": "(new moment(encDate)).isAfter((new moment(myValue)), 'day') || (new moment(encDate)).isSame((new moment(myValue)), 'day')", + "message": "Expiry date should be greater than the encounter date." + } + ], + "questionOptions": { + "rendering": "date", + "concept": "162502AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "weeksList": "" + }, + "id": "expiryDateB", + "hide": { + "hideWhenExpression": "isEmpty(kitNameB)" } }, { - "label": "Syphilis Results:", + "label": "HIV Test 2 Results:", "type": "obs", - "id": "syphilisTestResults", "questionOptions": { - "concept": "299AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "rendering": "select", + "concept": "1326AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "answers": [ { - "concept": "1229AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "concept": "703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Positive" + }, + { + "concept": "664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "label": "Negative" }, { - "concept": "1228AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "concept": "163611AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Invalid" + } + ] + }, + "id": "testResultsB", + "validators": [], + "hide": { + "hideWhenExpression": "isEmpty(kitNameB)" + } + } + ] + }, + { + "label": "HIV Test", + "type": "obsGroup", + "questionOptions": { + "rendering": "group", + "concept": "164410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "id": "hivTestA2", + "validators": [], + "hide": { + "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true'" + }, + "questions": [ + { + "label": "Kit 1 Name", + "type": "obs", + "questionOptions": { + "rendering": "select", + "concept": "214c83f9-435d-44f5-9ae6-d5757b7b4c7f", + "answers": [ + { + "concept": "9c4011c2-2579-49cf-ab53-93d009f03e7b", + "label": "Trinscreen" + } + ] + }, + "id": "kitNameD", + "validators": [], + "hide": { + "hideWhenExpression": "isEmpty(testResultsB) || testResultsB !== '664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' || kitName ==='7cf927f8-e734-474f-b71a-1459bb566aa2' && kitNameB === '59ef8c87-eb66-4f9e-a459-7227c01f682e'" + } + }, + { + "label": "Lot Number", + "type": "obs", + "questionOptions": { + "rendering": "text", + "concept": "3d4f9e8e-46cc-4024-a1c4-d0167f2c84a4" + }, + "id": "lotNumberD", + "validators": [], + "hide": { + "hideWhenExpression": "isEmpty(kitNameD)" + } + }, + { + "label": "Expiry Date", + "type": "obs", + "validators": [ + { + "type": "date", + "allowFutureDates": "true" + }, + { + "type": "js_expression", + "failsWhenExpression": "(new moment(encDate)).isAfter((new moment(myValue)), 'day') || (new moment(encDate)).isSame((new moment(myValue)), 'day')", + "message": "Expiry date should be greater than the encounter date." + } + ], + "questionOptions": { + "rendering": "date", + "concept": "162502AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "weeksList": "" + }, + "id": "expiryDateD", + "hide": { + "hideWhenExpression": "isEmpty(kitNameD)" + } + }, + { + "label": "HIV Test 3 Results:", + "type": "obs", + "questionOptions": { + "rendering": "select", + "concept": "1326AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "answers": [ + { + "concept": "703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "label": "Positive" }, { - "concept": "1304AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "label": "Poor Sample quality" + "concept": "664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Negative" + }, + { + "concept": "163611AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Invalid" } ] }, + "id": "testResultsD", + "validators": [], "hide": { - "hideWhenExpression": "isEmpty(kitName) || kitName !== '2f5a80fa-6f26-4832-b8a8-f47649bb60de'" + "hideWhenExpression": "isEmpty(kitNameD)" } - }, + } + ] + }, + { + "label": "HIV Test", + "type": "obsGroup", + "questionOptions": { + "rendering": "group", + "concept": "164410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "id": "hivTest3", + "validators": [], + "hide": { + "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true'" + }, + "questions": [ { - "label": "Kit Name 2", + "label": "Kit 3 Name", "type": "obs", "questionOptions": { "rendering": "select", @@ -1130,13 +1359,12 @@ "concept": "59ef8c87-eb66-4f9e-a459-7227c01f682e", "label": "First Response" } - ] }, - "id": "kitNameB", + "id": "kitNameC", "validators": [], "hide": { - "hideWhenExpression": "isEmpty(testResults) || testResults !== '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'" + "hideWhenExpression": "isEmpty(testResultsB) || testResultsB !== '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' || kitName ==='7cf927f8-e734-474f-b71a-1459bb566aa2' && kitNameB === '59ef8c87-eb66-4f9e-a459-7227c01f682e'" } }, { @@ -1146,10 +1374,10 @@ "rendering": "text", "concept": "3d4f9e8e-46cc-4024-a1c4-d0167f2c84a4" }, - "id": "lotNumberB", + "id": "lotNumberC", "validators": [], "hide": { - "hideWhenExpression": "isEmpty(testResults) || testResults !== '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'" + "hideWhenExpression": "isEmpty(kitNameC)" } }, { @@ -1159,6 +1387,11 @@ { "type": "date", "allowFutureDates": "true" + }, + { + "type": "js_expression", + "failsWhenExpression": "(new moment(encDate)).isAfter((new moment(myValue)), 'day') || (new moment(encDate)).isSame((new moment(myValue)), 'day')", + "message": "Expiry date should be greater than the encounter date." } ], "questionOptions": { @@ -1166,17 +1399,17 @@ "concept": "162502AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "weeksList": "" }, - "id": "expiryDateB", + "id": "expiryDateC", "hide": { - "hideWhenExpression": "isEmpty(testResults) || testResults !== '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'" + "hideWhenExpression": "isEmpty(kitNameC)" } }, { - "label": "HIV Test Results:", + "label": "HIV Test 3 Results:", "type": "obs", "questionOptions": { "rendering": "select", - "concept": "1040AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "concept": "83038d41-e832-498b-928f-974ec5bb23dc", "answers": [ { "concept": "703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", @@ -1192,10 +1425,10 @@ } ] }, - "id": "testResultsB", + "id": "testResultsC", "validators": [], "hide": { - "hideWhenExpression": "isEmpty(testResults) || testResults !== '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'" + "hideWhenExpression": "isEmpty(kitNameC)" } } ] @@ -1224,10 +1457,40 @@ } ] }, + "id": "hivFinalResultOld", + "validators": [], + "hide": { + "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true' || kitName === '9c4011c2-2579-49cf-ab53-93d009f03e7b' || kitNameFe === '9c4011c2-2579-49cf-ab53-93d009f03e7b' || kitNameA === '9c4011c2-2579-49cf-ab53-93d009f03e7b'" + } + }, + { + "label": "Final Results:", + "type": "obs", + "questionOptions": { + "rendering": "select", + "concept": "159427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "calculate": { + "calculateExpression": "String(testResults) === '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' && String(testResultsB) === '163611AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' ? '1138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' : String(testResults) === '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' && String(testResultsB) === '664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' && String(testResultsD) === '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' ? '1138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' : String(testResults) === '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' && String(testResultsB) === '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' && String(testResultsC) === '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' ? '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' : String(testResults) === '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' && String(testResultsB) === '664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' && String(testResultsC) === '664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' ? '664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' : String(testResults) === '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' && String(testResultsB) === '664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' && String(testResultsD) === '664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' ? '664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' : String(testResults) === '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' && String(testResultsB) === '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' && String(testResultsC) === '664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' ? '1138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' : String(testResults) === '664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' ? '664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' : String(testResults) === '163611AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' || String(testResultsB) === '163611AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' || String(testResultsC) === '163611AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' || String(testResultsD) === '163611AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' ? '1138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' : ''" + }, + "answers": [ + { + "concept": "703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Positive" + }, + { + "concept": "664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Negative" + }, + { + "concept": "1138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "label": "Inconclusive" + } + ] + }, "id": "hivFinalResult", "validators": [], "hide": { - "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true'" + "hideWhenExpression": "isEmpty(consentGiven) || consentGiven !== 'true' || kitName ==='7cf927f8-e734-474f-b71a-1459bb566aa2' || kitNameB === '59ef8c87-eb66-4f9e-a459-7227c01f682e'" } }, { @@ -1318,11 +1581,6 @@ } ], "answers": [ - { - "concept": "c3eba392-6f4d-4990-809f-91000503afbc", - "label": "Couple", - "disableWhenExpression": "myValue === '1175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'" - }, { "concept": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "label": "Yes", @@ -1502,10 +1760,9 @@ "rendering": "radio", "concept": "1887AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "calculate": { - "calculateExpression": "String(hivFinalResult) === '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' ? '162050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' : ''" + "calculateExpression": "String(hivFinalResult) === '703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' ? '08657979-0a23-411d-be18-2ddceeb2f346' : ''" }, "answers": [ - { "concept": "162050AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "label": "Comprehensive care center"